在ping期间,数据包捕获显示对于不同的硬件集,Ip碎片的发生方式不同,这是预期的

时间:2018-02-28 14:22:24

标签: networking network-programming

我对此很新,我对ping过程中的IP碎片有疑问。我为其中一个接口设置了一个200的mtu大小,并对数据包大小为700进行ping操作。我已经捕获了pcap并且可以看到以下内容

对于其中一个硬件变体,我得到5个大小的数据包(218 * 4,64)5个ipv4片段(708个字节):#50(176),#51(176),#52(176),#53 (176),#54(4)和其他硬件变体我得到4个大小的数据包(218 * 3,222)。 4 ipv4片段(708字节):#74(176),#75(176),#76(176),#77(180)

最后一个片段是180而不是176这个行为的差异是否正常?在任何一种情况下,请你解释为什么以及这里发生了什么。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

对于MTU大小200且没有IPv4选项,IPv4标头大小为20.因此,最大有效负载大小为180.

IP片段偏移以8字节块为单位进行测量。这意味着所有片段有效载荷长度(除了最后一个)必须是8的乘法。 资料来源:Wikipedia

因此,两种情况都是正确的,但后一种情况更为理想。