IP分片
最大传输单元(MTU):
网络链路存在MTU (最大传输单元)—链路层数据帧可封装数据的上限
不同链路的MTU不同大IP分组向较小MTU链路转发时,可以被“分片” (fragmented)
1个IP分组分为多片IP分 组
IP分片到达目的主机后进行“重组”
IP首部的相关字段用于标识分片以及确定分片的相对顺序——总长度、标识、标志位和片偏移
标识字段占16位:标识一个IP分组
IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组的标识
标志位字段占3位:
DF
(Don’t Fragment):不分组
MF
(More Fragment):是否为分组的最后一个
DF =1:禁止分片;
DF =0:允许分片;
MF =1:非最后一片;
MF =0:最后一片(或未分片)
片偏移字段占13位:一个IP分组分片封装原IP分组数据的相对偏移量
片偏移字段以8字节为单位
IP分片过程
假设原IP分组总长度为L,待转发链路的MTU为M;
若L>M,且DF=0,则可以/需要分片
分片时每个分片的标识复制原IP分组的标识
通常分片时,除最后一个分片,其他分片均分为MTU允许的最大分片
一个最大分片可封装的数据应该是8的倍数,因此,一个最大分片可封装的数据为:
M减去20除以8,向下取整,再乘8
需要的总片数为:
L减去20除以d,向上取整