美文网首页程序员
计算机网络基础之TCP/IP协议层 与 DNS协议,IP协议,A

计算机网络基础之TCP/IP协议层 与 DNS协议,IP协议,A

作者: shandamengcheng | 来源:发表于2020-05-05 23:19 被阅读0次

    协议

    什么是协议?我觉得要理解什么是协议,首先要知道他是属于计算机中的术语。另一方面,也要清楚认识到,计算机是“傻瓜式”的,他不会做什么多余的工作的,它会按照我们给他的命令执行工作。对于要实现在两台计算机之间实现数据传输,我们要给计算机设置好命令,比如,如何建立连接,怎么样进行传输,怎样结束连接等等。因此,协议就可以理解为我们给计算机设置的一系列规则。

    TCP/IP协议族

    定义

    根据《图解HTTP》中的理解,TCP/IP协议族是指与网络通信有关的所有协议的集合。

    特点

    TCP/IP协议族最大的特点是实现结构上的分层

    为什么要进行分层?

    假设我们在整个数据传输的过程中只使用一个协议,那么如果此时我想对数据传输的某一个过程进行优化时,比如我想要在数据传输的过程中进行数据的加密,这时候使用一个协议统筹的话,可能要替换整个协议。相反,采用分层结构之后,对于不同的层使用不同的协议,这样的话,如果进行某一层的优化不会影响其他层,且各层分工明确又相互协作,提交了效率。

    层次结构:4层

    • 应用层:向应用程序提供系统服务。主要协议有:HTTP,FTP,DNS
    • 传输层:提供处于网络连接之中的两台计算机之间的数据传输,主要协议有TCP,UDP
    • 网络层:处理网络中的流动的数据包。该层规定了数据包通过怎样的路径到达对方计算机。如果两台计算机之间的数据传输需要通过路由器等中转站时,该层的作用是从多条路线中选择一条合适的路线。
    • 数据链路层:处理网络连接中的硬件部分。主要是通过MAC地址进行两台主机之间的数据帧的传输。

    具体传输流程

    发送端:

    • 在传输层构造HTTP请求,并将请求报文发送给传输层
    • 在传输层,为了传输效率考虑,TCP协议将请求报文分割成以数据报为单位的数据包,并给每个数据包依次加上序号及端口号
    • 在网络层,IP协议通过IP寻址和路由选择传送至数据链路层
    • 在数据链路层,通过ARP协议获得在网络层获取到的接下来要传输的目标主机或路由器的MAC地址,通过MAC地址实现数据帧的传输。

    接收端:

    • 数据链路层
    • 网络层
    • 传输层
    • 应用层


      image.png

    要注意的是,在发送的时候,每经过一层就会在请求头部加上该层专有的首部信息,同样,接收端在接收时每经过一层就删除所属该层的首部信息。

    DNS协议

    DNS,全名叫“域名解析系统”,提供IP地址和域名之间的双向解析服务。

    DNS的解析过程

    域名的层级结构如下:

    主机名. 次级域名. 顶级域名. 根域名

    以查询zh.wikipedia.org为例:

    • 客户端首先会将查询报文发送至本地DNS服务器,DNS服务器会首先检查自身缓存,如果存在记录则直接返回结果。
    • 如果缓存过期或者缓存不存在:
      • DNS服务器会发送查询报文到根域名服务器,获取其对应的顶级域名.org对应的根域名服务器地址。
      • DNS服务器发送查询报文到顶级域名.org的权威域名服务器,获取其对应的次级域名.wikipedia.org的权威域名服务器的地址
      • DNS服务器发送查询报文到次级域名wikipedia.org的权威域名服务器,获得主机zh的A记录(主机记录,用于将主机名映射为相应的IP地址),存入自身缓存并返回给客户端。

    查询的类型

    • 递归查询:主要是客户端的查询方式。 客户端发送查询报文到本地DNS服务器 ——> 获得最终结果
    • 迭代查询:一般是DNS服务器之间的查询方式。主要是本地DNS服务器查询主机IP地址的过程。

    IP协议

    要注意,IP协议和IP地址的区别。IP协议是指一种协议,是规则。IP地址是节点被分配到的地址。

    功能

    • IP寻址:对网络层而言,通过IP地址进行相互之间的通信。
    • 路由选择
      • 对于处于同一局域网的计算机之间的通信,通过数据链路层就可以完成相互通信。对于不同的网络之间的通信,需要借助路由器等第三方设备。
      • 当需要借助第三方设备即需要路由选择时,在传输转送的过程中,计算机和路由器只知道粗略的传输路线。就像发快递,到达一个转运点后,由那个转运点决定下一站发到哪里。

    ARP协议

    地址解析协议,指将目标IP地址转换为目标MAC地址的过程。主要功能为MAC寻址。

    • 同一局域网中,两台计算机通过MAC地址就可以实现通信。
    • 非同一局域网中,即使知道了目标主机的MAC地址也不能进行直接通信,必须经过路由转发才可以。此时,发送端获取到的不是真正的目的主机的MAC地址,而是路由器的MAC地址。然后,将数据帧发送给路由器,由路由器继续进行数据的转发。

    参考文档

    • 维基百科
    • 阮一峰老师
    • 图解HTTP

    相关文章

      网友评论

        本文标题:计算机网络基础之TCP/IP协议层 与 DNS协议,IP协议,A

        本文链接:https://www.haomeiwen.com/subject/nojbghtx.html