我有一个设备“X”,IP为192.168.0.5,子网掩码 - 255.255.255.0 设置为在多播IP-239.0.0.0,目标端口-5001发送UDP多播帧 我正在将笔记本电脑直接连接到此设备 - 笔记本电脑IP为192.168.0.100 首先,我根本看不到任何组播帧;我正在使用wireshark来监控网络。中间没有切换 - 只是我的笔记本电脑运行wireshark和设备“X”。 然后,当我在“X”中定义一个网关地址时,比如192.168.0.24 - 我开始在wireshark上看到UDP多播帧。 我的问题是: 为什么需要在设备“X”中定义网关?是不是简单地将多播UDP帧发送出定义多播目的地址的端口,因为UDP不需要在数据流之前建立连接? 此外,下面的框架没有提到任何网关地址,那么设备“X”依赖于网关地址的原因是什么:
![Wireshark Frame] [1] 在设备中实现多播UDP是否有问题? 以下问题是关于多播TCP / UDP帧: 1.由于我的PC不是多播组的一部分(239.0.0.0),它不会看到任何目标为239.0.0.0的帧 - 那为什么我在wireshark上看到帧?是因为没有机制来过滤这些帧吗?如果我使用带有IGMP的交换机,如果我的PC不是239.0.0.0的一部分,我就不会看到那些组播帧? 2.我读到组播IP映射到第2层组播MAC。另外,从上面的wireshark帧我可以看到有一个IPv4_multicast MAC。问题是:如何查看我的PC将要接受并转发到上层的MAC地址列表? 谢谢你的回答。
无法发布wireshark图片,因为我没有声誉:(
答案 0 :(得分:0)
我的猜测是你有多个网络接口,当你设置默认网关时,它会优先移动该接口,这就是你开始看到数据包的原因。检查加入多播组时使用的多播选项。您可以指定要加入的网络接口。根据您使用的操作系统,您可以为组播添加静态路由,或者您可以尝试优先移动组播接口。