当发送大于MTU大小的UDP数据报时,只将UDP数据报的最后一个片段放到目的地。其余的片段被默默地丢弃。 Sendto()返回sendlength(无错误)。 Envirenment: 操作系统:vxWorks6.8 CPU:ARM9 MTU:1500 vxWorks板通过以太网电缆直接连接到Win7 PC(带有wireshark)。 DF标志未设置。
示例1: 发送1400字节 wireshark显示:udp与1400 Databytes4
示例2: 发送1800字节 wireshark显示:分段的IP协议(proto = udp 0x11,off = 1496,id0a00) - >数据(312字节)
示例3: 发送4000字节 wireshark显示:分段的IP协议(proto = udp 0x11,off = 1496,id0a00) - >数据(1016字节)
示例4: 发送到7800字节 wireshark显示:分段的IP协议(proto = udp 0x11,off = 1496,id0a00) - >数据(328字节)
我在第二个带有CPU PPC的vxworks板上使用相同的测试,这项工作正常,ip-fragmentation正常工作。
为什么总是丢弃udp数据包的第一个fregments? 非常感谢