我在StackOverflow上发布了这篇文章,并被告知在这里可能更合适。
我很难理解多播地址是如何工作的。
首先,如果我有N个客户机或节点在不同的网络上工作,它们都订阅同一个多播组,并且这个组允许任何源发送消息,这些节点/主机都可以通过这个组相互通信吗?(听起来像黑魔法!)
其次,我听说IANA控制/管理多播地址的暗示。那么,您是否必须请求/要求IANA为您的项目/公司提供特定的多播地址?这是怎么回事?我搞错了吗?你能为我澄清多播网络吗?
非常感谢!
发布于 2011-04-11 15:03:15
是的,你的理解在某种程度上是真实的。理论上,它的工作方式如下:您的应用程序绑定到多播地址,操作系统获得此地址并订阅多播组中的计算机。当其他计算机向该地址发送数据包时,它们会到达您的计算机,直到所有应用程序从该地址解除绑定,并且操作系统将计算机从多播组中移除。
神奇的是IGMP和皮姆的结合。IGMP在操作系统和最近的路由器之间使用,它允许OS告诉路由器它正在进入或离开一个多播组,并且它对接收该地址的数据包感兴趣。在路由器之间使用PIM来发现和交换多播组数据,并在发送寻址到该组的数据包时查找和到达组播组的所有订阅者。
IANA规范多播地址(以及Internet中的几乎所有其他内容)。如果要在Internet上使用多播,则需要像处理单播地址一样分配多播地址:
如果要在本地网络中使用多播,而不路由到外部Internet,则在RFC 2365中定义了用于私有用途的管理范围范围。地址范围为239.192.0.0/14。
发布于 2011-04-11 12:45:40
多播的工作方式和你想的一样,只是网络上的交换机都必须“理解”客户端想要什么。这意味着它只对专用网络有用,而且不需要涉及IANA。这也意味着您需要设置多播交换机才能正确工作;如果您只有一个交换机或一个交换机堆栈,这通常是相当容易的。如果您有多个堆栈,特别是如果您有不同的品牌,这可能会变得相当复杂。
https://serverfault.com/questions/258237
复制相似问题