MLD (Multicast Listener Discovery)
干什么用的
和 IGMP 一样:主机告诉路由器「我要这个组」。
★★★ 但实现方式不同 —— MLD 不是独立协议,它是 ICMPv6 的几个消息类型(130 查询、131 报告、132 离开)。
★★ 版本对应关系:MLDv1 ≈ IGMPv2,MLDv2 ≈ IGMPv3(支持指定源)。
★ 为什么它比 IGMP 更要紧
★★★ 因为 IPv6 大量使用组播:NDP 的邻居请求是组播、路由器通告是组播、DAD 是组播 —— 这些是基础功能,不是可选的应用。
★★★ 交换机不做 MLD snooping 的话,这些组播全都会泛洪 ——于是 IPv6 精心设计的「用组播代替广播」的好处一点都拿不到。
★★ IPv4 里不开 IGMP snooping 只影响组播应用;IPv6 里不开会影响基础寻址。
★ 常见误解
★★★ 「IPv6 没有广播,所以不用担心泛洪」 —— 它是用组播替代了广播,但交换机不做 MLD snooping 的话组播就是泛洪,效果一样糟。
★★★ 「MLD 是独立协议,可以单独拦」 —— 它就是 ICMPv6 的类型 130~132。拦 ICMPv6 会连它一起拦掉。
★★ 「只有跑 IPTV 才需要 MLD」 —— 不对,NDP 就在用组播,所以任何 IPv6 网络都需要它工作正常。