关于IP组播的问题?

时间:2009-02-03 12:15:58

标签: networking udp

您好我正在创建流媒体应用程序。因为我正在使用IP多播。

告诉我如何验证客户端,然后再将其添加到组中。

是否与IGMP有关?

3 个答案:

答案 0 :(得分:9)

您不能使用您的应用程序。

IGMP是一种互联网层协议,它甚至可能无法访问您的应用程序。

每当一个单元想要接收到某个地址的多播时,它就会发送一个IGMP请求加入一个组。路由器接收请求并记住该用户想要属于该组。

每当路由器收到一个发往该地址的多播包时,它就会将其路由到所有组成员,可能会考虑一些访问控制限制。

所有组操作都由路由器执行。您只需将UDP数据包发送到多播地址(即224/4),路由器就会决定是否将其路由到用户。

如果要限制多播数据包的目的地,请在路由器上进行。

您应该理解,上面的“路由”一词意味着路由器将数据包发送到appripriate接口,其中Ethernet标头中的多播目标地址和{中的多播目标地址{1}}标题。连接到接口的以太网交换机(如果有)将通过所有活动端口分发数据包。由于它对互联网路由一无所知,因此只会看到IP标头中设置的广播/多播位并采取相应措施。

但是,有些Ethernet设备(以太网交换机)会查看link layer标头并限制多播到订阅单元。这称为network layer。其中一些人也可以控制访问。

答案 1 :(得分:1)

好的,有合理的需要来控制谁可以加入多播组。我能看到完成的唯一方法是在路由器接口上过滤入站的IGMP数据包。如果“允许的订阅者”列表足够静态,这将起作用,但如果有很多变化,它将很快变得站不住脚。

如果(并且仅当)有管理控制一直到“客户放置”路由器,我怀疑可以在那里做一些事情,以限制设备可见的组,但这严重依赖于环境(在“来自单一提供商的宽带和多播视频”场景中,可能会出现使用提供商管理的DSL路由器的合同要求。)

答案 2 :(得分:0)

除了Quassnoi关于多播如何工作的评论之外,我不得不怀疑...为什么要在将收件人添加到组之前限制多播成员身份和/或验证收件人?