一些常见的协议详解

TCP/IP 协议族里面有众多的协议,分别分布在各个不同的层次上。现将跟 TCP 有关的部分协议详解如下:

ARP协议

ARP 协议处于 TCP/IP 协议族的最底层,即网络接口层。它的主要用途就是实现一台主机的 IP 地址到 MAC 地址的转换。

以太网 ARP 请求/应答报文的格式如下图所示:

ARP 协议的工作过程如下:

DNS 协议

我们平常访问网站时都是直接输入域名的,而因特网上的主机都是通过 IP 地址来标示的。所以就需要 DNS 协议来实现域名到 IP 地址的转换工作。

DNS 是一套分布式的域名解析系统。工作原理如下:

需要声明的是,DNS 底层采用的是 UDP 协议。

DNS 服务器的查询有两个方式:迭代和递归。

迭代方式就是当该 DNS 服务器上没有该域名对应的 IP 地址时,DNS 服务器就返回给客户程序另一台 DNS 服务器的地址,告诉客户程序到这台 DNS 服务器上去查询。

递归方式就是当该 DNS 服务器上没有该域名对应的 IP 地址时,DNS 服务器自身去另一台 DNS 服务器上去查询,查到之后再返回给客户程序。

IP 协议

IP 协议处于网络层,几乎所有上层协议都会使用到 IP 协议。

IP协议的报文格式如下:

解释如下:

IP分片

当要发送的数据大于 MTU 的时候,通常需要进行 IP 分片,将数据分成多个 IP 数据报发送。MTU 一般为 1500 字节。

由上文可知,在 3 位的标志字段中,如果允许分片,则相同的 16 位的标识字段标识这些分片属于同一个数据块,片偏移标识这些分片的先后顺序。

【完】