为什么需要 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
这里需要注意的重要一点是所有分片将具有相同的标识号,从而表明所有分片都属于同一个父数据包。
延误——
处理延迟:路由器处理数据包头所花费的时间。
排队延迟:数据包在路由队列中所花费的时间。
传输延迟:将数据包加载到传输通道所花费的时间
Dt = N/R,
N:要传输的位数
R:信道的速率或传输速度
传播延迟——数据包从源到达目的地所花费的时间
D p = D/S,
D:源和目的地之间的距离
S:是传播速度
以下问题已在之前的 GATE 考试中针对上述主题提出。
- 门CS 2012 |第 42 题
- GATE-CS-2013 |第 65 题
- GATE-CS-2014 设置 3 |第 65 题