多播和多播地址

我对多播地址有困惑,我读过一个例子。

假设已经构build了两个应用程序来通过networking发送audio。 一个应用程序接受并数字化audioinputstream,然后通过networking将结果帧发送到其他应用程序。 第二个应用程序接收来自networking的数字化audio,将其转换回audio信号并通过扬声器播放结果。 除非两个应用程序使用广播发送帧,否则networking上的其他计算机将不会收到该帧的副本。 多播为允许一些计算机参与audio传输的问题提供了一个很好的解决scheme。 要使用多播,必须为audio应用程序select一个多播地址 。 接收应用程序将多播地址传递给networking接口。 接口开始接受发送到该地址的数据包。

问:如何select这个多播地址,接收应用程序如何知道发送者使用这个特定的目的地址作为audio帧。

组播地址在239.0.0.0/8范围之外任意select(如果应用程序至less是企业内部的)。 然后在源和所有用户上configuration。

因此,networking中一般不存在“目录服务”,它依靠人为交互来正确configuration应用程序。

首先让我说多点传播是邪恶的。 这是非常困难的设置和真正棘手有效的故障排除。

话虽如此,我会试着回答你的问题。 发件人select使用什么组播IP地址发送stream量。 组播IP地址的保留范围为224.0.0.0〜239.255.255.255。

大多数互联网服务提供商不支持在公共互联网上进行多播,所以如果你想在多个地点之间进行多播,你需要在它们之间build立某种VPN。 每个路由器的组播横贯将需要configuration为组播。

如果您正在configuration您自己的设备,我将尝试提供有关过程的概述,但有关详细信息,您需要进行一些阅读。 幸运的是,维基百科在IP多播方面有着不错的文章。 发送设备发出组播stream量,您需要设置您希望组播stream量通过的每个networking设备(路由器,交换机,防火墙等)。 每个制造商的设备将会有所不同,所以我不能提供关于如何专门设置的input。

然后,您需要设置每个想要通过Internet组pipe理协议(IGMP)接收组播stream量的客户端,这通常会构build到客户端为组播应用程序运行的任何软件包中。 IGMP所做的是出去它的本地networking设备,并通知它,客户端有兴趣接收来自特定多播地址的多播stream量。 因此,例如,您的发送设置为在224.10.10.123上发送,想要监听的客户端将设置IGMP以连接到本地networking设备,并请求在224.10.10.123上发送到该设备的任何组播stream量。

为了减less不必要的组播stream量,您可能还需要查看协议无关组播(PIM)。 您在您的networking设备上设置PIM。 PIM所做的是跟踪连接到该networking设备的任何人是否实际上正在侦听多播,如果没有人,则会修剪stream量。 如果你有一个拥有多播多播源的大型networking,你一定要考虑实现PIM。

Windows Media Services可以select通过多播广播实时事件。 正如劳埃德·贝克(Lloyd Baker)指出的那样,这最终会成为networking本地化的一部分。 在我们的大学networking上,我们将多播诸如总统的开始和演讲,这将允许networking上的任何人调谐(可能是成千上万),而不会从媒体服务器本身敲出来。 那些在校外的人将被单播卡住,以获得直播。

我们select用于实况广播的IP是从RFC3171发起的多播范围中select的。 239/8块用于“内部”使用,不通过互联网路由,类似RFC1918地址。 当您的networking为其devise时,多点传送效果最佳。 这是因为我们长期以来一直依赖于服务定位协议 ,这是一个基于多播的协议。

一旦我们为我们的广播select一个地址,我们就为它分配一个DNS名称。 在这一点上,发布广播很简单,不pipe是全校园邮件还是发布到我们网页的前面。