![UDP 多播在 Windows 10 中有时有效,有时无效](https://linux22.com/image/794565/UDP%20%E5%A4%9A%E6%92%AD%E5%9C%A8%20Windows%2010%20%E4%B8%AD%E6%9C%89%E6%97%B6%E6%9C%89%E6%95%88%EF%BC%8C%E6%9C%89%E6%97%B6%E6%97%A0%E6%95%88.png)
我有一个非常小的网络,在设备之间运行 IEEE 1588 PTP。该协议通过 224.0.1.129 上的 UDP 多播进行通信,我在 Windows 10 计算机上有一个 PTP NIC,有时可以看到这些多播消息,但有时看不到。我在 NIC 上安装了“可靠多播协议”,我认为这有助于它有时看到消息,但我仍然有时会启动而 NIC 看不到消息。如果我重新启动计算机或重新启动 NIC,有时这将有助于它开始看到消息。
当我说 NIC 没有看到消息时,我的意思是,如果我在应该接收多播消息的 NIC 上运行 Wireshark,如果我在 Wireshark 设置中关闭混杂模式来观察该连接,有时我会看到来自网络上其他设备的多播消息,有时我看不到来自网络上其他设备的多播消息。如果我在 Wireshark 设置中打开混杂模式来观察连接,那么我总是会看到来自其他设备的多播消息。由于在混杂模式下运行时消息总是会显示,我知道这些消息对 NIC 是“可用的”,但我原本以为,如果在该 NIC 上安装了可靠多播协议,它就能够在不以混杂模式运行的情况下看到多播消息。
我还能做些什么来更可靠地使这些多播消息对该 NIC 可见,还是最好的选择只是强制 NIC 进入混杂模式并以此方式运行?我真的希望我可以避免在混杂模式下运行,因为网络上有很多其他流量,我不希望它浪费时间处理那些绝对不是该 NIC 打算处理的流量。