|
在理想情况下,整个数据报被封装在一个物理帧中,可以提高物理网络上的效率。由于IP数据包经常在许多类型的物理网络上传送,而每种物理网络所能够传送的帧的长度是有限的,例如以太网是1500字节,FDDI是4470字节,这个限制称为网络最大传送单元(Maximum Transmission Unit,MTU)。这就使得IP协议在设计上不得不处理这样的矛盾:当数据报通过一个可传送更大帧的网络时,如果数据报大小限制为整个最小的MTU,就会浪费网络带宽资源;但如果数据报大小大于最小的MTU,就可能出现无法封装的问题。为了有效地解决这个问题,IP协议采用了分片和重装配机制来解决。
|
|
|
|
|
|
为了能够减少中途路由器的工作,降低出错,重装配工作是直到目的主机时才进行的,也就是分片后,遇到MTU更大的网络时并不重装配,而且保持小分组,直到目的主机接收完整后再一次性重装配。
|
|
|
|
(1)第一个字段是报文ID字段,它唯一标识了某个站某个协议层发出的数据。
|
|
|
|
(3)第三个字段是偏置值,即分片在原来数据报中的位置以8字节的倍数计算。
|
|
|
(4)第四个是M标志,用来标识是否为最后一个分片。
|
|
|
|
(1)对数据块的分片必须在64位(8B)的边界上划分,因而除最后一段外,其他段长都是64位的整数倍。
|
|
|
(2)对得到的每一个分片都加上原来的数据报的IP头,组成短报文。
|
|
|
(3)每一个短报文的长度字段修改为它实际包含的字节数。
|
|
|
(4)第一个短报文的偏置值设置为0,其他的偏置值为其前面所有报文长度之和除以8。
|
|
|
(5)最后一个报文的M标志置0(False),其他报文的M标志置为1(True)。
|
|
|
|
|
|