我的 LAN 网段上有 3 台主机(h1、h2、h3)和一个启用了 IGMP 的路由器。
现在主机 h3 想加入多播组(例如 239.0.0.2)
- 主机 h3 将向 239.0.0.2 发送成员报告(正确/错误)
- 所有其他主机(h1,h2)将抑制他们的成员报告,因为他们也在收听这个组(正确/错误)
- 路由器如何接收在第 1 部分中发起的这个请求(因为路由器只在所有路由器地址 224.0.0.2 处侦听)?
我的 LAN 网段上有 3 台主机(h1、h2、h3)和一个启用了 IGMP 的路由器。
现在主机 h3 想加入多播组(例如 239.0.0.2)
IGMP 的具体工作方式取决于使用的 IGMP 版本。Cisco 有一些文档与不同 IGMP 版本的一般工作方式有关,特别是在 Cisco 设备上的工作方式。例如,IP 组播技术概述、域内组播协议、互联网组管理协议 (IGMP)。真正的答案可以在 RFC 中找到:
主机将向多播路由器发送 IGMP 成员报告,多播路由器将定期发送多播成员查询,以查看 LAN 上的任何主机是否仍然对多播组流量感兴趣。除此之外,它取决于 IGMP 版本。
我不知道你为什么认为路由器只听224.0.0.2;路由器也只是 LAN 上的主机,虽然它们必须侦听该多播组,但它们还必须侦听224.0.0.1以及您配置它们侦听的任何其他多播组。在路由器上配置多播路由时,其中一部分是在将要使用的接口上设置 IGMP。