所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

CloudEngine 8800, 7800, 6800, 5800 V200R002C50 配置指南-IP组播

本文档介绍了IP组播的配置,具体包括IP组播基础、IGMP配置、MLD配置、PIM(IPv4)配置、PIM(IPv6)配置、MSDP配置、组播VPN配置、组播路由管理(IPv4)配置、组播路由管理(IPv6)配置、IGMP Snooping配置、MLD Snooping配置、静态组播MAC地址配置、组播VLAN配置和组播网管配置。
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
MLD Snooping

MLD Snooping

基本原理

MLD Snooping是IPv6二层组播的基本功能,可以实现组播数据在数据链路层的转发和控制。当主机和上游三层设备之间传递的MLD协议报文通过二层设备时,MLD Snooping分析报文携带的信息,根据这些信息建立和维护二层组播转发表,从而指导组播数据在数据链路层按需转发。

图10-2所示,在PIM(IPv6)网络中,当组播数据从三层组播设备Router转发下来以后,处于接入边缘的二层设备Switch负责将组播信息转发给用户,使用户收看所点播的节目。当二层设备没有运行MLD Snooping时,组播数据在二层被广播;当二层设备运行了MLD Snooping后,已知组播组的组播数据不会在二层广播,而是会被组播发送给指定的接收者。

使能MLD Snooping功能后,二层设备会侦听主机和上游三层设备之间交互的MLD报文,通过分析报文中携带的信息(报文类型、组播组地址、接收报文的接口等),建立和维护二层组播转发表,从而指导组播数据在数据链路层按需转发。

图10-2 二层设备运行MLD Snooping前后对比

基本概念

图10-3所示,三层设备Router连接组播源,在二层设备SwitchA和SwitchB上分别运行MLD Snooping,HostA、HostB和HostC为接收者主机(即组播组成员)。

图10-3 MLD Snooping相关端口

结合图10-3,介绍MLD Snooping中相关端口的概念。

表10-1 MLD Snooping中的端口角色

端口角色

作用

如何生成

路由器端口(Router Port)

说明:

路由器端口都是指二层设备上朝向组播路由器的接口,而不是指路由器上的接口。

二层设备上朝向三层组播设备(DR或MLD查询器)一侧的接口,二层设备从此接口接收组播数据报文。

  • 由协议生成的路由器端口叫做动态路由器端口。收到源地址不为0::0的MLD普遍组查询报文或IPv6 PIM Hello报文(三层组播设备PIM接口向外发送的用于发现并维持邻居关系的报文)的接口都将被视为动态路由器端口。

  • 手工配置的路由器端口叫做静态路由端口。

成员端口(Member Port)

又称组播组成员端口,表示二层设备上朝向组播组成员一侧的端口,二层设备往此接口发送组播数据报文。

  • 由协议生成的成员端口叫做动态成员端口。收到MLD报告报文的接口,二层设备会将其标识为动态成员端口。

  • 由手工配置的成员端口叫做静态成员端口。

路由器端口和成员端口,是二层组播转发表项中的一个重要信息:出接口。其中路由器端口相当于上游接口,成员端口相当于下游接口。通过协议报文学习到的端口,对应的为动态表项;而手工配置的端口,对应的为静态表项。

除了出接口外,每条表项还包括组播组地址和VLAN编号。
  • 组播组地址,可以为组播IP地址,也可以为组播IP地址映射后的组播MAC地址。按照IP地址转发的模式可以避免MAC地址转发模式中的地址重复问题。
  • VLAN编号,指定了二层广播域范围。

工作机制

二层设备运行了MLD Snooping后,收到不同的MLD协议报文会进行不同的处理,并在此过程中建立起二层组播转发表项。

表10-2 MLD Snooping对不同报文的处理方式

MLD工作阶段

二层设备收到的报文类型

处理方式

普遍组查询

MLD查询器定期向本地网段内的所有主机与路由器(FF02::1)发送MLD普遍组查询报文,以查询该网段有哪些组播组的成员。

MLD普遍组查询报文

向VLAN内除接收接口外的其他所有接口转发,并对接收接口做如下处理:
  • 如果路由器端口列表中已包含该动态路由器端口,则重置老化定时器。
  • 如果路由器端口列表中尚未包含该接口,则将其添加进去,并启动老化定时器。
说明:

动态路由器端口的老化定时器缺省为180秒,可以通过命令行配置。

成员报告关系

有两种情况:
  • 成员收到MLD普遍组查询报文后,回应MLD报告报文。
  • 成员主动向MLD查询器发送MLD报告报文以声明加入该组播组。

MLD报告报文

向VLAN内所有路由器端口转发。从报文中解析出主机要加入的组播组地址,并对接收接口做如下处理:
  • 如果不存在该组对应的转发表项,则创建转发表项,将该接口作为动态成员端口添加到出接口列表中,并启动老化定时器。
  • 如果已存在该组对应的转发表项,但出接口列表中未包含该接口,则将该接口作为动态成员端口添加到出接口列表,并启动老化定时器。
  • 如果已存在该组所对应的转发表项,且出接口列表中已包含该动态成员端口,则重置其老化定时器。
说明:

动态成员端口的老化时间 = 健壮系数 x 普遍组查询间隔 + 最大响应时间。

成员离开组播组

有两个阶段:
  1. 成员发送MLD离开报文,以通知组播路由器自己离开了某个组播组。
  2. MLD查询器收到MLD离开报文后,从中解析出组播组地址,并通过接收接口向该组播组发送MLD最后侦听者查询报文/MLD特定源组查询报文。

MLD离开报文

判断离开的组是否存在对应的转发表项,以及转发表项出接口列表是否包含报文的接收接口:
  • 如果不存在该组对应的转发表项,或者该组对应转发表项的出接口列表中不包含接收接口,二层设备不转发该报文,将其直接丢弃。
  • 如果存在该组对应的转发表项,且转发表项的出接口列表中包含该接口,二层设备会将报文向VLAN内所有路由器端口转发。
对于MLD离开报文的接收接口(假定为动态成员端口),二层设备在其老化时间内:
  • 如果从该接口收到了主机响应该特定组查询的MLD报告报文,表示接口下还有该组的成员,于是重置其老化定时器。
  • 如果没有从该接口收到主机响应特定组查询的MLD报告报文,则表示接口下已没有该组成员,则在老化时间超时后,将接口从该组的转发表项出接口列表中删除。

MLD最后侦听者查询报文/MLD特定源组查询报文

向VLAN内除接收接口外的其他所有接口转发。

此外,当二层设备收到IPv6 PIM Hello报文时,向VLAN内除接收接口外的其他所有接口转发,并对接收接口做如下处理:
  • 如果路由器端口列表中已包含该动态路由器端口,则重置老化定时器。
  • 如果路由器端口列表中尚未包含该接口,则将其添加进去,并启动老化定时器。
说明:

收到IPv6 PIM Hello报文时,动态路由器端口的老化时间为Hello报文中Holdtime字段的值。

如果是静态配置路由器端口,二层设备收到MLD报告和离开报文也会向静态路由器端口转发。如果配置了静态成员端口,则转发表项中会添加该接口为出接口。

当二层设备上建立了二层组播转发表项以后,二层设备接收到组播数据报文时,依据报文所属VLAN和报文的目的地址(即IPv6组播组地址)查找转发表项是否存在对应的“出接口信息”。如果存在,则将报文发送到所有组播组成员端口;如果不存在,则丢弃该报文或将报文在VLAN内广播。

翻译
下载文档
更新时间:2019-03-20

文档编号:EDOC1000166616

浏览量:63615

下载量:242

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页