在具有相同IP地址的多台计算机上接收多播

时间:2018-08-02 08:17:21

标签: c# networking multicast

构建一些自动配置IP地址的代码,当它们启动时都具有相同的IP,此软件使用多播来查找网络上的其他设备,并使用该信息来计算自己的IP配置。 / p>

但是,如果它们具有相同的IP,它们将停止接收多播数据包,但是如果我强制它们具有不同的IP,则多播将重新开始工作。是将多播绑定到IP地址,还是可以将多个具有相同IP的设备接收多播。

我们不能使用API​​PA /本地链接地址。

谢谢, 丹

1 个答案:

答案 0 :(得分:2)

多播并不意味着广播。多播意味着仅向先前请求该多播组的设备发送数据。

您不能使用多播来访问任何以前未配置的计算机。为此,您必须使用广播(即255.255.255.255)。

多播依赖IGMP协议,而IGMP协议又依赖于有效的IP单播设置,该设置又要求所有设备都可以通过其IP地址来唯一标识。 IGMP消息包含发送设备的单播IP地址。

在您的设置中,路径上所有网络组件(路由器,交换机以及设备本身)中的所有精美优化算法均将失败,因为它们无法识别请求多播组的目标。它们可能会以任何随机方式失败。完全不确定具有相同IP地址的多个设备的行为。

在您的情况下,某些网络组件决定不需要将多播数据包分发到所涉及的端口,因为没有唯一的接收方连接到该端口。 (我只是在这里推测。任何其他答案也将是正确的。仅是一个示例,说明它如何表现出您所看到的方式。)