![IPv6 SSM 多播:它是内置的还是必须使用其他协议(如 PIM-SM)?](https://linux22.com/image/1299784/IPv6%20SSM%20%E5%A4%9A%E6%92%AD%EF%BC%9A%E5%AE%83%E6%98%AF%E5%86%85%E7%BD%AE%E7%9A%84%E8%BF%98%E6%98%AF%E5%BF%85%E9%A1%BB%E4%BD%BF%E7%94%A8%E5%85%B6%E4%BB%96%E5%8D%8F%E8%AE%AE%EF%BC%88%E5%A6%82%20PIM-SM%EF%BC%89%EF%BC%9F.png)
我想了解 SSM 多播与 IPv6 的集成程度。它是内置的并且仅通过 ICMPv6 消息发送,还是必须运行一些额外的程序,例如 PIM-SM?我之所以这样认为,是因为我看到有些地方说多播只使用 ICMPv6,而其他地方则谈论除了 IPv6 之外还运行协议独立多播软件。
那么,对于 IPv6 第 3 层 SSM,IPv6 协议是否具备其所需的全部功能,还是也必须使用 PIM-SM 等其他协议?
答案1
基本上,IP 多播(IPv4 或 IPv6)需要两种类型的通信:
- 主机多播路由器
- 多播路由器-多播路由器
两种类型都有不同的需求。
主机多播路由器 通信由 ICMP 或 MLD 处理,它们都只是为了使多播路由器拥有一个实际的数据库,其中包含哪个本地主机想要哪个多播数据包。
另一种类型的沟通——多播路由器-多播路由器- 更为复杂,涉及完全不同的问题。多播路由器需要向需要这些消息的其他路由器发送多播消息,并接收其客户端需要的组的消息。鉴于没有人必须订阅 IP 多播组才能向其发送数据包,这是相当困难的事情,甚至没有提到环境的动态性,最重要的是,多播组地址没有层次结构来帮助您路由(原则上它们不能)。这就是 PIM 和类似协议发挥作用的地方。
因此,简而言之,正如 Timothy 所说:
如果只有一个多播路由器,则只需要 ICMP 或 MLD。如果有两个或更多路由器,则还需要在所有多播路由器上使用 PIM 或类似协议的路由软件。
这是适用于 IPv6 和 IPv4 的主要内容。
答案2
您需要一个多播路由协议(如 PIM-SM 等)来通过 2 个或更多路由器发送和多播流量。对于单个路由器、本地链路或边缘路由器与其上游之间的路由器,ICMPv6 就足够了