UDPpacket发送到多台PC声明的IP时的行为是什么

时间:2014-02-10 18:00:30

标签: udp ip-address

我知道解决实际问题应该解决原来的问题(具有相同IP的多台PC) 但我想知道是否通过UDP规范指定了当你将UDP数据包发送到nw中多台机器使用的某些IP时会发生什么情况,并且所有这些数据包都在侦听数据包被“寻址”到的端口:

- 所有PC都获得数据包
- 他们中的任何人都得到了包裹 -some(0到n)得到数据包
- 未定义数量的PC获得msg,或者可能出现未定义的行为(当发生这种情况时,您的操作系统将格式化您的SSD

2 个答案:

答案 0 :(得分:2)

行为不是特定于UDP,而是针对IP。除非您有多播目标,否则PC会尝试通过ARP(地址解析协议)请求来查找IP的MAC地址(例如网卡)(广播:“是否有人拥有此IP?”)。响应的计算机(“我在MAC ......我有你要求的IP”)被放入ARP表中,每当系统尝试向IP发送内容时,它从ARP表中获取条目并发送它在那里(一段时间后条目过期)。

如果您有多台机器使用相同的MAC,它取决于操作系统:有些只是覆盖ARP表中的条目,如果他们收到一个,即使他们没有要求ARP响应(在这种情况下机器赢得哪些回复)最后是ARP请求),其他人只保存第一个响应(在这种情况下第一台机器获胜)等等。没有发生的是数据被发送到多台机器。

答案 1 :(得分:0)

这里你想要的是发送UDP多播流(服务器)并让所有客户端订阅它(ip:port)。