我试图了解多播实际上是如何工作的,并且阅读了大量文章和维基页面,并收集了以下内容:
多播地址占据成员路由器上的状态,这是一个可扩展性问题
有一些命令可以查看 Windows 机器上的多播状态
IPv6 需要多播,因为广播不再是一种选择。
问题:
谁能告诉我一台机器如何向路由器“注册”以表明它想成为多播组的一部分?
主机如何找到适合自己的多播组?(例如,多播组 1 是 VOIP,多播组 2 是文件传输。服务器如何发现需要哪个 IP)
机器如何离开群组?
答案1
1:谁能告诉我一台机器如何向路由器“注册”以表明它想成为多播组的一部分?
这是通过 Internet 组管理协议 (IGMPv1,IGMPv2和IGMPv3) 用于 IPv4 和多播侦听器发现 (MLDv1和MLDv2)一般来说,多播路由器会查询本地网络上的节点,本地节点会报告自己对哪些多播组感兴趣。
2:主机如何找到适合自己的多播组?(例如,多播组 1 是 VOIP,多播组 2 是文件传输。服务器如何发现需要哪个 IP)
视情况而定。有些协议有众所周知的多播组。请参阅IPv4 多播地址空间注册表和IPv6 多播地址空间注册表在 IANA。其他多播组使用其他协议、URL、配置文件等进行通信。
3:机器如何离开群组?
使用旧版本的 IGMP 和 MLD 时,当客户端停止发送其感兴趣的报告时,路由器将知道客户端不再对多播组感兴趣。将出现超时,并且当网络上没有客户端对特定多播组感兴趣时,路由器将停止转发该组的多播数据包。新版本的 IGMP 和 MLD 还允许客户端明确告知路由器他们想要离开该组。然后,路由器查询本地网络的其余部分,如果没有更多侦听器,它将停止。
奖金
在以太网上,多播数据包被发送到特定的多播 MAC 地址。数据包到这些地址的传送取决于以太网适配器正在监听的 MAC 地址。因此,为了接收多播流量,客户端需要计算要监听的 MAC 地址,配置以太网适配器,然后让路由器知道它想要哪些多播流量。
多播中最困难的部分是如何在路由器之间转发多播流量。这里的风险是路由器开始互相转发相同的多播流量,从而形成循环。有多种协议可用于此目的。常见的有PIM-DM(密集模式),PIM-SM(稀疏模式)和PIM-SSM(源特定组播)。