前言:
我有一个我目前正在测试的应用程序在RHEL 6
. 我的测试设置是安装在嵌入式设备上的应用程序,通过以太网电缆连接到 PC,该 PC 与运行 Linux 的 PC 上的虚拟机通信。pc 上的虚拟机(在 VMWare 工作站上)和嵌入式设备都具有静态 IP 地址,因为它们需要通过以太网电缆相互通信。
在这种情况下,应用程序需要使用pub-sub
工具进行通信RTI DDS
。这已经在无线环境和另一个有线环境中使用不同的 PC 但相同的虚拟机进行了测试,并且在这两个环境中 pub-sub 都有效。
问题:
在当前设置上测试 pub-sub 时,我们可以看到wireshark
从嵌入式设备传递的所有碎片数据包都传递到 PC 的主操作系统(本例中为 windows)。但是,当碎片数据包从主操作系统发送到虚拟机操作系统时,虚拟机只接收如中所示接收到的最后一个数据包,wireshark
其余数据包被丢弃。
到目前为止,我们已经尝试禁用firewalls
和pinging
设备,这些设备都可以正常工作并且没有问题。因此,我们无法深入了解数据包被丢弃的原因。
有什么方法可以调试网络数据包被丢弃的方式和原因,甚至可以通过wireshark来调试,因为我们目前正在使用该工具?