组播-MLD

MLD(multicast listener discover)组播侦听者发现协议,主要是ipv6路由器在其直连网段上发现组播侦听者。

路由器使用IPv6单播链路本地地址作为源地址发送MLD报文。MLD使用ICMPv6(Internet Control Message Protocol for IPv6,针对IPv6的互联网控制报文协议)报文类型。和IGMP协议一样,所有的MLD报文被限制在本地链路上,跳数为1。解释一下:单播链路本地地址前缀为FE80::/64,这个概念类似于ipv4中,当DHCP分配失败时自动生成的169.254.XXX.XXX这样的地址,凡是源地址或目的地址中含有link-local address的报文,路由器都不应当转发它。这样的报文只能在一个LAN中互通。

简单介绍一下MLD两个版本:MLDv1和MLDv2,详见百度。

MLDv1协议是从IGMPv2协议中派生出来的,其运行机制和IGMPv2协议相同,专门用于IPv6组播群组的管理,其主要是应用于ASM(Any Specific Multicast)模式组播路由协议的组管理工作。主要功能有查询路由器的选举、查询报文、响应抑制、报告报文、离开报文、特定组查询报文、快速离开。

MLDv2从IGMPv3中发展过来,和MLDv1相比,增加了源过滤功能,不仅能够支持ASM模式组播路由协议,而且还能够支持基于IPv6的SSM(Source Specific Multieast)模式组播路由协议。

重点介绍一下如何测试MLD Snooping?针对我们自研的RTK switch

MLDv1测试环境搭建——采用vlc

vlc的一些版本支持ipv6组播服务器的搭建与点播,步骤和ipv4组播服务器的搭建一样,只需要将ipv4的组播地址改成ipv6组播地址,在客户端上输入的网络url格式为rtp://@[ff1e::1]:5004这样的即可。

这里涉及到ipv6的组播地址,要想了解ipv6组播地址更多内容请参见文章《IPv6的组播地址(掌握IPv6通信原理的关键知识点)》http://blog.51cto.com/7658423/1337745

上图这套环境看着像我们的RTK switch是个proxy,实际不然。因为我们的RTK switch现在不支持MLD Query,所以只好借助于H3C带有MLD Query功能的交换机来搭vlc的环境,让RTK Switch可以转发query报文。并且我们的RTK Switch也不支持proxy功能。

MLDv1测试环境搭建——采用TSC

1、MLD Querier device建立

2、MLD客户端device建立

3、在MLD Querier device端口上建立一条绑定流

4、开启device,开始发流吧

你可能感兴趣的:(组播-MLD)