我发现当我发送一个被分段的UDP数据报(超过1452字节,MTU = 1500)时,根据tcpdump,所有片段都在目标机器上接收但是套接字上没有收到任何消息。这种情况仅发生在IPv6地址(全局和本地链路)上,IPv4一切都按预期工作(以及非碎片数据报)。 由于数据报被丢弃,因此存在ICMP6消息:
05:10:59.887920 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 69) 2620:52:0:105f::ffff:74 > 2620:52:0:105f::ffff:7b: [icmp6 sum ok] ICMP6, destination unreachable, length 69, unreachable port[|icmp6]
有一些重复的邻居请求/广告正在进行,我看到它到达ARP缓存(通过ip neigh)。 一分钟后,我收到另一条ICMP6消息,说该片段已超时。
设置有什么问题?重新组装的数据包不应该丢弃,当它可以交付时,对吗? 系统是RHEL6 2.6.32-358.11.1.el6.x86_64