首页 理论教育IP数据报格式:了解计算机网络技术中

IP数据报格式:了解计算机网络技术中

【摘要】:IP 数据报由首部和数据部分组成。该字段的最小值为5,即IP 数据报的首部最小长度为20 个字节。表6.4IP 数据报中与分片有关的字段值生存时间TTL生存时间占8 位。IP 数据报首部检验和的计算过程如图6.5所示。图6.5IP 数据报首部检验和计算过程源地址和目的地址这两个字段指出了IP 分组的来源主机和目的主机,各占IP 数据报首部的32 位。

IP 数据报由首部和数据部分组成。IP 数据报的格式如图6.4所示。

图6.4 IP 协议数据报格式

在IP 数据报格式中,各字段的定义如下:

(1)版本

该字段长4 位,表示IP 的版本号,目前常用的版本为4,即IPv4。

(2)首部长度

首部长度也称为IHL。该字段长4 位,表示IP 首部的长度(即除了用户数据之外),以一个32 位的字为基本单位,即该IP 首部包含多少个32 位字。该字段的最小值为5,即IP 数据报的首部最小长度为20 个字节。

(3)区分服务

区分服务是用于区分可靠性优先级、延迟和吞吐率的参数。这个字段包括3 位优先权字段(现在已经忽略不用)和4 位服务类型字段。

(4)总长度

总长度字段指明了整个IP 分组的长度,以字节为单位。IP 协议需要进行数据报的分组,处理程序可以利用总长度的值确定哪里是IP 分组的结束。如果没有总长度字段,处理程序则无法识别IP 分组的结束。

(5)标识

标识占16 位。IP 软件产生数据报时,都会为其标识字段赋予一个值,用来标识这个数据报。当数据报由于长度超过MTU 而必须分片时,标识字段的值同时被复制到所有的数据报片的标识字段中。接收端在进行分片重组时,能够据此将这些分片正确地重装为原来的数据报。

(6)标志

标志字段只有3 位,第一位没有意义,必须为“0”;第二位DF 指明了该IP 分组是否可被分片,当DF=0 时才允许分片;第三位MF 指明了当前分片是否为最后一个分片,MF =0 表示这个分片是若干分片中的最后一个。

(7)片偏移

片偏移占13 位。它指出在一个较长的分组分片后,某分片在原来分组中的相对位置。它以8 个字节为偏移单位。(www.chuimin.cn)

【例6.2】已知一数据报的总长度为4 520 字节,其数据部分为4 500 字节(使用固定首部),需要分片为总长度不超过1 500 字节的数据报片。求每个分片的长度、片偏移的值、标志MF 及DF。

【解析】由于IP 数据报首部长度为20 个字节,因此每个分片的数据部分长度不超过1 480个字节。则每个分片的总长度、数据长度、MF 和DF 的值及片偏移见表6.4。

表6.4 IP 数据报中与分片有关的字段值

(8)生存时间TTL

生存时间占8 位。它指明了该IP 分组的生命期,当IP 分组通过一个路由器时,该分组的TTL 值减“1”,如果TTL 为“0”,该IP 分组将被丢弃。这样,可以避免循环路由的问题。

(9)协议

协议占8 位,它指出哪个高层协议在使用IP,以便使目的主机的IP 层能够知道将数据部分上交到某个协议进行处理。

(10)首部检验和

这个字段用于保证首部的完整性。为了减少工作量,它只检验数据报的首部,不对数据部分作差错检测,同时,IP 首部的检验和不采用复杂的CRC 校验码,而采用较简单的计算方式:在发送方,先把IP 数据报首部划分为许多16 位字的序列,并将检验和字段置零。用反码算术运算把所有16 位字相加后,将得到的和的反码写入检验和字段。接收方收到数据报后,将首部的所有16 位字再使用反码算术运算相加一次,将得到的和取反码,即得出接收方检验和的计算结果。若首部未发生任何变化,则结果必为“0”,保留数据报;否则,即认为出错,丢弃数据报。IP 数据报首部检验和的计算过程如图6.5所示。

图6.5 IP 数据报首部检验和计算过程

(11)源地址和目的地址

这两个字段指出了IP 分组的来源主机和目的主机,各占IP 数据报首部的32 位。

(12)可选字段与填充数据

可选字段可以扩充IP 的含义,增加IP 数据报的功能,同时也使得IP 数据报的首部长度成为可变的,因此,增加了每一个路由器处理数据报的开销。目前,虽然有一些可选项的定义,但很少使用这些定义项。由于IP 首部必须是32 位的整数倍,所以在必要时需要可选项的后面填充若干个“0”来保证IP 首部的要求。