MLD和谈测试实操(JDB电子原创文章)
一、简介
一、简介
1. MLD简介
MLD
· Multicast Listener Discovery Protocol
· 组播侦听者发现和谈
?
职能
· 在终端主机和与其直接相邻的组播路由器之间成立/守护组播组成员关系
?
尺度
· RFC2710: MLD, 1999.10
· RFC3810: MLDv2, 2004.06
?
其界说是:组播侦听者发现和谈MLD(Multicast Listener Discovery)是掌管IPv6组播成员治理的和谈,用来在IPv6成员主机和与其直接相邻的组播路由器之间成立和守护组播组成员关系。MLD通过在成员主机和组播路由器之间交互MLD报文实现组成员治理职能,MLD报文封装在IPv6报文中。
?
在职能上:出现于IPv4时期的组播技术,有效解决了单点发送、多点接管的问题,实现了网络中点到多点的高效数据传送,可能大量节约网络带宽、降低网络负载。在IPv6网络中,组播技术的利用得到了进一步的丰硕和加强。MLD能够理解为IGMP的IPv6版本,两者的和谈行为齐全一样,区别仅仅在于报文体式。
?
因而,MLD界说了一个IPv6网段内组播路由器与成员主机之间若何成立和守护组成员关系
?
2.???????IGMP与MLD
MLDv1的工作机造与IGMPv2一样,基于查问和响应机造实现对IPv6组播组成员的治理。MLDv2在MLDv1的基础上,增长的重要职能是成员主机能够指定接管或不接管某些组播源的报文。MLD两个版本在演进过程中对和谈报文的处置是向前兼容的,即运行MLDv2的组播路由器能够鉴别MLDv1的和谈报文。

?
?
?
这里,我们以MLDv1进行举例:
3.???????MLDv1工作道理
MLDv1重要基于查问和响应机造实现对IPv6组播组成员的治理
· 查问器选举机造
· 参与IPv6组播组机造
· 脱离IPv6组播组机造
?
MLDv1蕴含四种报文
· 普遍组查问报文(General Query):查问器向共享网络上所有主机和路由器发送的查问报文,用于相识哪些组播组存在成员;
· 特定组查问报文(Multicast Address Specific Query):查问器向共享网段内指定组播组发送的查问报文,用于查问该组播组是否存在成员;
· 成员汇报报文(Multicast Listener Report):主机向查问器发送的汇报报文,用于申请参与某个组播组或者应答查问报文;
· 成员脱离报文(Multicast Listener Done):主机脱离组播组时自动向查问器发送的报文,用于宣告自己脱离了某个组播组。
?
4.???????MLDv1:查问器选举机造
网段内有多个IPv6组播组路由器时,必要确定一台路由器作为查问器发送查问报文
· 所有Router都网络中发送MLD普遍查问报文;
· 收到其他router的普遍查问报文后,自行与自己的IPv6地址比力,地址最幼的成为查问器;
· 所有非查问器上会启动一个按时器(Other Querier Present Timer)。在按时器超时前收到来自查问器的MLD查问报文,则沉置该按时器;不然,以为查问器失效,并提议新的查问器选举。

5.???????MLDv1:普遍组查问和响应机造
通过普遍组查问和响应,MLD查问器能够相识到该网段内那些组播组存在成员
· MLD查问器发送主张地址为FF02::1的普遍查问报文,收到该查问报文的组成员启动按时器;
· 第一个按时器查实的组成员发送针对该组的汇报报文;
· 其余组成员收到此汇报报文后,终场按时器,不再发送针对该组的汇报报文,此职能被抑造;
· MLD查问器收到组成员汇报报文后,知路本网段内存在组播组G1的成员,并由IPv6组播路由和谈天生(*,G1)组播转颁发项,一旦有组播组G1的数据达到路由器,就向该网段转发。

?
?
6.???????MLDv1:参与IPv6组播组机造
网段内有新成员必要参与组播组时,会自动向MLD查问器发送汇报报文,不用期待普遍查问报文的到来
· 右图三个主机别离向G1、G2发送汇报报文,MLD查问器接管到成员汇报报文后,相识到网段中有G1 和G2的成员,IPv6路由组播和谈天生(*,G1)和(*,G2)组播转颁发项
· MLD查问器周期性地以组播方式向本网段的所有主机和路由器发送普遍查问报文,主机别离响应G1和G2的查问,HostC被HostB的组成员关系汇报报文抑造,不发送成员关系汇报报文

?
?
7.???????MLDv1:脱离IPv6组播组机造
通过脱离组机造,MLD查问器能够实时相识到网段内哪些组播组已不存在成员,从而实时更新组成员关系,削减网络中冗余的组播流量
· Host B向网段内所有组播路由器发送针对组G1的脱离报文;
· MLD查问器收到脱离报文,会发送针对组G1的特定组查问报文,同时查问器启动组成员关系按时器(Timer-Membership);
· 网段内还存在组G1的其他成员Host C,Host C收到特定组查问报文后会当即发送针对组G1的汇报报文,查问器收到汇报报文后会持续守护该组成员关系;
· 若是网段内不存在组G1的其他成员,查问器将不会收到针对组G1的汇报报文,在组成员关系按时器(Timer-Membership)超时后,查问器将删除纪录的(*,G1)组信息。

?
?
二、测试用例(以BigTao-V网络测试仪为例)
MLD测试用例
测试主张
· 验证DUT根基的MLD职能
· 验证组播流量转发职能
?
测试步骤
· 按图衔接好拓扑
· 测试仪端口T1衔接DUT的G 0/0/1接口
· DUT的G 0/0/1接口配置MLD
· 测试仪端口T2衔接DUT的G 0/0/2接口,构建组播数据流量,T1可能接管到组播数据流量
· DUT的G 0/0/2接口配置PIM IPv6 SM,转发组播数据流量
?
预期了局
· 测试仪端口T1仿照的主机能够成功参与组播组
· DUT可能查到组播成员
· 测试仪T1端口可能收到T2发送的流量
· 终场MLD和谈仿真,测试仪T1端口不能收到T2发送的流量

三、DUT配置
1. 使用案例
#
vlan batch 500 600
#
multicast ipv6 routing-enable
#
interface Vlanif500
?ipv6 enable
?ipv6 address 2010::2/64
?mld enable
#
interface Vlanif600
?ipv6 enable
?ipv6 address 2020::2/64
?pim ipv6 sm
#
?
#
interface GigabitEthernet0/0/21
?port link-type access
?port default vlan 500
#
interface GigabitEthernet0/0/22
?port link-type access
?port default vlan 600
#
?
四、测试仪配置
1. 筹备工作: 增长机框

?
2.???????筹备工作: 预约端口

?
3.???????增长Interface


?
4.???????批改Interface
· 使能“启用网关MAC地址进建”
· 地址数量,代表仿照的主机个数
· IPv6地址,代表主机的肇始IP
· IPv6网关地址,代表对接端口的IPv6地址
· IPv6 Link Local地址,链路本地地址

![]()
?
?
?
· 源MAC填写肆意单播地址(也能够不批改);目MAC填写对应组播组的MAC地址,好比ff1e::1对应的组播MAC地址是3333-0000-0001
· 源IPv6和DUT对端IPv6设置成同网段,本例中编纂为2020::10;主张IPv6填写T1所添·加的组播组的IP地址ff1e::1
?
· 可在DUT上查看参与组播组状态,发送汇报报文的主机是FE80::200:10FF:FE00:1,参与的组播组是FF1E::1
?
?
?
?
?
流量不通,注明主机脱离了组播组ff1e::1,与预期了局一致
?
?










