为什么需要IPv4数据报碎片? 不同的网络可能具有不同的最大传输单元(MTU),例如,由于LAN技术的不同。当一个网络想要将数据报传输到具有较小MTU的网络时,路径上的路由器可能会对数据报进行分段和重新组装。
如何实现碎片化? 当路由器接收到数据包时,会检查目的地址并确定MTU。如果数据包的大小大于MTU,且报头中的“不分段(DF)”位设置为0,则数据包被分段并逐个发送。每个片段的最大大小是MTU减去IP头大小(最小20字节,最大60字节)。
每个片段都被转换为一个数据包,数据报头中会发生以下变化:
- “总长度”字段将更改为片段的大小。
- 除最后一个片段包外,所有片段包都设置了更多片段位(MF位)。
- 根据正在设置的片段数量和MTU设置片段偏移字段。
- 重新计算报头校验和。
例子: 对于4000字节的数据包和1500字节的MTU,我们有3980字节的实际数据要传输,1480字节是允许发送的最大数据大小。因此,将有3个片段: 对于第一个片段,数据大小=1480字节,偏移量=0,MF标志=1 对于第二个片段,数据大小=1480字节,偏移量=1480,MF标志=1 对于第三个片段,数据大小=1020字节,偏移量=2960,MF标志=0
这里需要注意的一个重要点是,所有片段都将具有相同的标识号,从而表明所有片段都属于相同的父数据包。
延误—— 处理延迟:路由器处理数据包头所花费的时间。
排队延迟:数据包在路由队列中所花费的时间。
传输延迟:将数据包加载到传输通道所需的时间 D T =不适用, N:要传输的比特数 R:信道的速率或传输速度
传播延迟–数据包从源到达目的地所花费的时间
D P =D/S, D:源和目标之间的距离 S:是传播的速度
在之前的GATE考试中,就上述主题提出了以下问题。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论