UDP广播还是IP组播?

10

如果你需要实现网络广播,你会在新的应用程序中使用UDP广播还是IP组播?为什么?

你遇到的每种方法的利弊如何?(特别是涉及VPN、不同子网、各种路由器等问题)

3个回答

9
多播的缺点在于路由器和NAT不支持得很好。如果所有客户端都在同一个网络上,只有简单的桥接,那么多播效果很好,并且避免了对不属于组的机器进行广播寻址的开销。如果路由器支持IGMP并正确传播TTL,则可以在本地网络上工作。已经尝试在Internet上进行多播,例如Mbone,其成功程度各不相同。它们中的大多数使用某种隧道来绕过桥接和不符合规范的路由器。
然而,多播数据包的一个警告是,如果有任何WiFi连接访问点将使用最慢的可能比特率用于多播数据包,并要求所有客户端(即使不属于多播组)都发送确认。非参与客户端和电池寿命也存在缺点。

3
关于在802.11中使用组播的文章非常有趣,但它已经近十年了。 有没有参考资料可以解释这是否在新版本的802.11标准系列中仍然是一个实际问题? - Drew Noakes
该文章现在不再可用。 - Christophe De Troyer

1

选择哪种方式最合适取决于应用程序的性质和网络配置 - 没有硬性规定。

因此,我不会强制执行任何一种方式 - 我会允许广播地址的配置。

如果用户在224.0.0.0/4范围内配置了某些内容,则为多播,否则为广播。


0

组播的行为方式几乎与其他类型的网络流量完全不同,但并非完全不同。如果强制使用它,您的系统和网络管理员可能会对您不感激。这通常是巫术,如果可以避免最好。


5
你应该在这里透露实情:多播会强制网络节点中断更高层级的IP堆栈,并查看是否有任何应用程序对接收到的多播数据包感兴趣,并在每个节点上每次进行多播发送。这就是为什么网络管理员讨厌它的原因。 - alphazero

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接