我正在尝试理解在发送UDP数据包的上下文中所看到的一些行为。
我有两个小的Java程序:一个传输UDP数据包,另一个接收它们。我在我的网络上使用单个交换机连接的两台计算机上本地运行它们。
网卡的MTU设置(由/sbin/ifconfig报告)都是1500。
- 如果我发送大小小于1500的数据包,则会接收到它们。预期。
- 如果我发送1500 < 大小 < 24258的数据包,我会收到它们。预期。 我已通过wireshark确认IP层正在对它们进行分段。
- 如果我发送大小> 24258的数据包,则它们会丢失。 不是预期的。当我在接收端运行wireshark时,我看不到这些数据包。
我能够看到ping -s也有类似的行为。
ping -s 24258 hostA
可以工作但是
ping -s 24259 hostA
失败。
是否有人了解可能发生的情况,或者有什么想法,我应该寻找什么?
两台电脑都运行CentOS 5 64位。 我正在使用1.6 JDK,但我不认为这是编程问题,而是网络或操作系统问题。