首页 理论教育计算机网络技术:分片和重装配入门

计算机网络技术:分片和重装配入门

【摘要】:为了有效解决这个问题,IP 协议采取了分片和重装配的机制。重装配为了能够减少中途路由器的工作,降低出错率,重装配的工作是到目的主机才进行的。也就是说,分片后遇到MTU 更大的网络时,并不重装配,而是保持小分组,直到主机接收完整后再进行重装配。IP 协议使用4 个字段来处理分片和重装配问题:第一个字段是报文ID 字段,它唯一标识了某个站某个协议层发出的数据。

在理想情况下,整个数据报被封装在一个物理帧中,在物理网络上进行传送。由于IP 数据报经常需要在许多不同类型的物理网络上传输,而每个物理网络所能够传送的帧的长度是有限的,例如,以太网是1 500 字节,FDDI 网络是4 470 字节,这个限制称为网络最大传送单元MTU(Maximum Transmission Unit)。这使得IP 协议在设计时必须处理这样的矛盾:当数据报通过一个可传送更大帧的网络时,如果数据报大小限制为最小的MTU,就会浪费网络带宽资源;如果数据报大小大于最小的MTU,就可能出现无法封装的问题。为了有效解决这个问题,IP 协议采取了分片和重装配的机制。

(1)分片

IP 协议采用的是遇到MTU 更小的网络时进行分片。

(2)重装配

为了能够减少中途路由器的工作,降低出错率,重装配的工作是到目的主机才进行的。也就是说,分片后遇到MTU 更大的网络时,并不重装配,而是保持小分组,直到主机接收完整后再进行重装配。

IP 协议使用4 个字段来处理分片和重装配问题:

第一个字段是报文ID 字段,它唯一标识了某个站某个协议层发出的数据。

第二个字段是数据长度,即字节数。

第三个字段是片偏移值,即分片在原来数据报中的位置(以8 个字节的倍数计算)。(www.chuimin.cn)

第四个字段是M 标志,用来标识是否为最后一个分片。

数据报分片的步骤如下:

第一步,将大的数据报划分成多个分组。对数据报的分片必须在64 位(8 字节)的边界上划分,因此,除了最后一段外,其他段长都是64 位的整数倍。

第二步,添加首部信息。对得到的每一个分片都加上原来的数据报的IP 头,组成分组。

第三步,修改长度字段。每一个分组的长度字段修改为它实际包含的字节数。

第四步,设置偏移值。第一个分组的偏移值设置为“0”,其他的偏移值为前面所有报文长度之和除以8。

第五步,设置M 标志。最后一个分组的M 标志置“0”,其他分组的M 标志置为“1”。