交换机组播协议-二层组播/三层组播总结

一、组播介绍:

       组播技术解决的是以最小的网络开销实现单点发送,多点接收的问题。就实现点对多点数据传输问题,比广播/单播传输更高效,更能节省网络带宽,降低网络负载。

       ip网络中某Rx主机需要接收信息时,若采用组播方式,组播源tx仅需要发送一份信息,借助组播路由协议建立组播分发树,被传递的信息在距离组播源尽可能远的网络节点才开始复制和分发。复制分发节点如下图所示:

图一

组播的优势简单归纳:(单点到多点数据传输问题)

       相比单播来说,组播的优势在于:由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。

       相比广播来说,组播的优势在于:由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性;另外,广播只能在同一广播域中进行,而组播可以实现跨域的传输。

二、组播协议:

       通常,我们把工作在网络层的IP组播成为“三层组播”,相应的组播协议称为“三层组播协议”,包括IGMP, PIM/ IPv6PIM ,MSDP等;

       我们把工作在数据链路层的IP组播成为“二层组播”,相应的组播协议称为“二层组播协议”,包括IGMP Snooping /MLD Snooping ,PIM Snooping等。

1、三层组播协议:

 三层组播协议包括组播组管理协议和组播路由协议

1)、组播组管理协议

在主机和与其直接相连的三层组播设备之间通常采用组播组的管理协议 IGMPInternet GroupManagement Protocol,互联网组管理协议)或 MLDMulticast Listener Discovery Protocol,组播侦听者发现协议),该协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。(加组离组报文监听,并管理组播组)

IGMP自带有查询器功能,工作机制是同网段内组播路由器之间竞争选举,选举出的查询器会发送普通组查询报文。

2)、组播路由协议

组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效的转发组播数据包。组播路由建立了从单点源端到多点接收端的数据传输路径,这个路径我们也称之为“组播分发树”---参考图一

对应的协议,也是我们实验并应用的,即:PIM SM  (这里还有其他协议如PIM DMmsdp)

 

2、二层组播协议:

1)、常用协议

常用如IGMP Snooping/MLD Snooping, PIM Snooping

我们验证并在项目中使用的是IGMP Snooping,它是运行在二层设备上,通过侦听三层设备和主机之间的IGMP报文来生成二层组播转发表,从而管理和控制组播数据报文的转发,实现组播数据报文在二层的按需分发。

IGMP通过监听加组/退组报文,来管理维护组播组与交换机端口/(或者说)设备mac地址间的映射关系,即二层的转发表项。该表项的维护有一个自动老化机制,在交换机主动查询主机是否在组,主机无应答的情景下,超过一定时间交换机会将该主机从转发表中移除。加组动作会导致老化定时器重新计数,即保证在老化时间内应答交换机的查询或主动加组,都可以保证组播转发表项的正常存在,进而组播正常转发。

1)关键配置汇总:

全局模式下的igmp snooping使能

Vlan视图下:

               使能igmp snooping

               未知组播丢弃(有的型号只能在全局模式下配置该项)

端口视图下:

               端口快速离组

               未知单播丢弃

如果是两台及以上交换机级联,其中核心交换机上除了以上配置外,还需要配置使能查询器功能。

另外,考虑到管理和业务分离,需要划分vlan,一个管理vlan,一个业务vlan

 

三、交换机支持三层组播路由功能的配置总结

1.原理及关键配置说明:

       基于我们自有的产品线net-bnet-h系列,要想通过交换机实现三层组播路由转发,与交换机而言需要两点:a.vlan的单播路由功能;b.vlan的组播路由功能,且ab的前提条件。

       基于上述条件,在配置交换机时的思路也应该是首先确保跨vlan的单播路由得通,进而在配置时,一般也是先配置三层的单播路由相关配置,在通的基础上再进行配置三层的组播相关配置。

1.1单播路由功能:

       接口vlanif配置:

       不同的vlan,都要对相应的接口vlanif配置,需要在对应的vlanif下配置对应vlan接口的ip信息,此ip即为接入到该vlan下所有设备的网关信息。

       ospf配置:

       ospf是一种内部网关协议,会根据配置的子网信息,生成并维护一套路由表信息,进而实现跨子网的单播传输。

       这里的配置需要将每个接口vlanifip,作为一个子网信息配置到ospf下,并根据子网的掩码信息设定此网络域的大小。

       如:vlanif 1  ip192.168.1.1 255.255.255.0

              vlanif 2  ip10.208.1.1 255.255.255.252

       要实现vlan 1(192.168.1.111)vlan 2(10.208.1.2)两个设备互通,除了需要对应vlan下的设备需要和对应vlanifip同一网段外,还需要配置交换机的ospf协议,如下:

       #

       ospf 100

 area 0.0.0.0

 network 192.168.1.0  0.0.0.255   (广播域的大小描述,此处的值为掩码的反码)

 network 10.208.1.0   0.0.0.3

这样在vlan 1下的设备ip 192.168.1.x 就能够pingvlan 2下的设备ip10.208.1.y (y:[0:3])

1.2组播路由功能:

       在单播路由能通的条件下,必须要使能交换机的组播路由功能(这里需要注意并不是所有交换机都支持组播路由功能,交换机选型时需要注意);

       必须在vlanif下是能pim sm(管理组播路由表)和是能igmp(管理组播组)功能;

       在不启用动态rp的条件下,必须要在所有使能了组播路由功能的交换机上,设定相同的静态rp

1.3组播路由功能配置中必须继承的原来二层的配置

       仅有1.11.2的配置虽然能够建立组播组成功,但是在接收者所在的子网内会有广播现象。所有原来走二层的配置部分必须要保留,保留如下:

  1. 全局igmp-snooping使能
  2. 业务vlan下的igmp-snooping使能
  3. 业务vlan下的未知组播丢弃功能
  4. 华三交换机按照端口的快速离组功能,华为的业务vlanhost-based快速离组功能。

1.4组播路由功能配置其他注意事项

       原来二层配置中有关于端口的未知单播抑制功能的配置,如果在路由功能的配置中如果增加了此配置,路由功能是不通的,原因在于ping一个其他子网的ip时,源所在的子网认为是一个目的未知的单播数据,此时抑制功能生效。

       原来二层配置中关于在核心上需要开启查询器相关的配置,在这里要去掉。

1.5思考问题:

         在三层级联的情景中,在接入层交换机有多台,且是属于同一个vlan域,在不需要走路由器的条件下,我们是否需要在汇聚交换机上配置查询器的问题。

         因为pim本身是维护的路由器间的组播关系,涉及到多台接入交换机到汇聚层属于同一vlan域时,这时候是不需要pim的,且这种场景的在原来二层配置中是需要加查询器的,目前在生产的实验和net-b环境都没有测试到。

答案:实验证明此处不需要配置查询器。

2、配置实例:

2.1实例网络拓扑

         NET-B的测试环境,三台华为s5720,其中一台华为s5720交换机做网络核心交换机;剩余两台华为s5720做汇聚交换机;最后h3c s5700做接入交换机;网络拓扑如下图,

需要实现,如图所示,vlan101/vlan102/vlan103内部视频流走组播;vlan101/102/103可以实现跨vlan建组

介绍三层组播路由功能配置:网络拓扑图如下

核心1_1:

         VLAN划分:

                   vlan103:普通GE口1-28

                   vlan300:BAGG1

                   vlan301:BAGG2

         聚合划分:

                   BAGG1:XGE1-2

                   BAGG2:XGE3-4

汇聚1_2:

         Vlan划分:

                   Vlan101:1-28口;BAGG2

                   Vlan300:BAGG1

         聚合划分:

                   BAGG1:XGE1-2

                   BAGG2:XGE3-4

汇聚2_3:

         Vlan划分:

                   Vlan102:1-28口;BAGG2

                   Vlan301:BAGG1

         聚合划分:

                   BAGG1:XGE1-2

                   BAGG2:XGE3-4       

接入1_4:

         Vlan101:1-28口;BAGG1

接入2_5:

         Vlan102:1-28口;BAGG1

 

2.2配置思路:

         拓扑中属于业务应用的vlan有vlan101,vlan102,vlan103,核心1_1和汇聚1-2通过vlan300互通,核心1-1和汇聚2-3通过vlan301互通,其中核心中包含三个不同vlan:vlan103/vlan300/vlan301,配置ospf使能,其通过对于主干域内配置的子网信息计算最短路径,实现单播路由转发功能。汇聚1_2中Vlan101/Vlan300同理配置ospf使能。汇聚2_3中的Vlan102/ vlan301同理配置ospf使能。

         核心1-1/汇聚1-2/汇聚2-3需要使能组播路由功能,并且在对应的vlan接口下配置vlanif的ip和掩码信息,使能pim sm,使能igmp。(可以对用到的所有的vlan接口统一配置。这里的网关需要网络规划人员提前规划,在配置子网信息的时候要注意,这里的值是掩码的反码)。

         使能pim,并在pim下  指定静态rp,这三台交换机上必须要指定相同的静态rp,其rp地址是核心交换机中的某个vlan接口的ip。(c-rp c-bsr的指定后会被优先使用,即会自举)

         核心1-1/汇聚1-2/汇聚2-3在配置完相关组播路由相关内容后,还需要在所有业务vlan下使能igmp-snooping,未知组播丢弃功能,快速退组功能

         接入1-4和接入2-5,按照二层组播配置,使能全局igmp-snooping,对应vlan下使能igmp-snooping,未知组播丢弃功能,快速退组功能。

         之前对交换机的配置中涉及到端口的未知单播抑制功能的配置,在走三层路由的环境配置中,需要去掉,否则在验证路由链路的时候ping不通。

2.3配置过程说明:

以核心1_1和汇聚1_2的配置为例说明配置和验证过程:

单播路由配置过程

1、配置单播路由

核心1-1:

       设定交换机名称:

           登录并进入系统模式,配置系统名:

           Sysname hexin1_1

       划分vlan:

           系统视图下配置

           #

                    vlan batch 103 300 to 301 

           #

           分别给vlan 103 300 301 分配交换机端口 //三个vlan,vlan103给本地千兆,vlan300给万兆1-2用于和汇聚1_2级联使用;vlan301用于和汇聚2-3级联使用,便于我们制造三个独立的vlan 101/102/103参考网络拓扑图

       配置聚合:

           先创建两个聚合组

interface Eth-Trunk1

interface Eth-Trunk2

将聚合组分配给端口

#                                        

interface XGigabitEthernet0/0/1

 eth-trunk 1

#

interface XGigabitEthernet0/0/2

 eth-trunk 1

#

interface XGigabitEthernet0/0/3

 eth-trunk 2

#

interface XGigabitEthernet0/0/4

 eth-trunk 2

    #

           配置聚合聚合组属性

#

interface Eth-Trunk1

 port link-type access

 port default vlan 300

 mode lacp

#

interface Eth-Trunk2

 port link-type access

 port default vlan 301

 mode lacp

           #

       分别配置vlan接口信息

#

        interface Vlanif103

        ip address 10.208.3.1 255.255.255.0

         #

         interface Vlanif300

         ip address 10.20.1.2 255.255.255.0

         #

         interface Vlanif301

         ip address 10.20.2.1 255.255.255.0      

        #

配置ospf:

#

ospf 100

 area 0.0.0.0

  network 10.20.1.0 0.0.0.255

  network 10.208.1.0 0.0.0.255

  network 10.208.3.0 0.0.0.255

           #

汇聚1_2:

       设定交换机名称:

           登录并进入系统模式,配置系统名:

           Sysname huiju1_2

       划分vlan:

         #

         vlan batch 101 300 

         #

         把端口分配到对应vlan,其中vlan101包含本交换机的多有千兆口;vlan300用于上联通讯

         #

         interface range GigabitEthernet 0/0/1 to 0/0/28

        port default vlan 101

         #

       配置聚合:

#

         interface Eth-Trunk1

         interface Eth-Trunk2   //分别创建这两个聚合组

#

聚合组分配

#

interface XGigabitEthernet0/0/1

 eth-trunk 1

#                                        

interface XGigabitEthernet0/0/2

 eth-trunk 1

#

interface XGigabitEthernet0/0/3

 eth-trunk 2

#

interface XGigabitEthernet0/0/4

 eth-trunk 2

#

聚合组属性配置

#

interface Eth-Trunk1

 port link-type access

 port default vlan 300                   

 mode lacp

#

interface Eth-Trunk2

 port link-type trunk

 port trunk allow-pass vlan 101 to 103

 mode lacp

#

配置vlan接口信息

#

interface Vlanif101

 ip address 10.208.1.1 255.255.255.0

 pim sm

 igmp enable

#

interface Vlanif300

 ip address 10.20.1.1 255.255.255.0

 pim sm

 igmp enable

#

配置ospf

#

ospf 100

 area 0.0.0.0

  network 10.20.1.0 0.0.0.255

  network 10.208.1.0 0.0.0.255

  network 10.208.3.0 0.0.0.255

#

2、验证单播路由

登录到hexin1-1,然后任意模式下,去ping vlan 102的接口ip这时应该是能通的就表示没问题。

组播路由配置

配置

<hexin1_1>

组播路由功能:

#

multicast routing-enable

#

使能pim并添加静态rp:

#//一定是所有使能组播路由功能的交换机上配置相同的静态rp

pim

 static-rp 10.20.2.1 preferred

#

接口vlan下配置pim sm和igmp

#

interface Vlanif103

 ip address 10.208.3.1 255.255.255.0  //配置单播路由时已配置,不动它,下同

 pim sm

 igmp enable

#

interface Vlanif300

 ip address 10.20.1.2 255.255.255.0

 pim sm

 igmp enable

#

interface Vlanif301

 ip address 10.20.2.1 255.255.255.0      

 pim sm

 igmp enable

#

二层组播igmp-snooping相关配置

#

igmp-snooping enable

#

#

vlan 103

 multicast drop-unknown

 igmp-snooping enable    

 igmp-snooping host-based prompt-leave

vlan 300

 multicast drop-unknown

 igmp-snooping enable   

 igmp-snooping host-based prompt-leave

vlan 301

 multicast drop-unknown

 igmp-snooping enable    

 igmp-snooping host-based prompt-leave

#

<huiju1_2>

组播路由功能:

#

multicast routing-enable

#

使能pim并添加静态rp:

#//一定是所有使能组播路由功能的交换机上配置相同的静态rp

pim

 static-rp 10.20.2.1 preferred

#

接口vlan下配置pim sm和igmp

#

interface Vlanif101

 ip address 10.208.1.1 255.255.255.0

 pim sm

 igmp enable

#

interface Vlanif300

 ip address 10.20.1.1 255.255.255.0

 pim sm

 igmp enable

#

二层组播igmp-snooping相关配置

#

igmp-snooping enable

#

#

vlan 101

 multicast drop-unknown

 igmp-snooping enable

 igmp-snooping host-based prompt-leave

vlan 300

 multicast drop-unknown

 igmp-snooping enable

 igmp-snooping host-based prompt-leave

#

验证

1、将我们的发送设备接入vlan101 修改ip 10.208.1.10

2、将接收设备接入vlan103修改ip 10.208.3.10

3、通过-b控制端去切换建组

验证是否出图。如果不出图参考“异常问题以及定位手段”

 

4、注意验证是一定要双向验证,即将发送设备接入到vlan103,改ip;接收设备接入到vlan101,改ip,建组验证。

5、一定要注意,我们设备接入到对应vlan下交换机端口后(如vlan101),一定要确认设备的ip和vlan属于同一个子网,否则跨子网的组播/单播都不通

2.4最终配置:

<hexin1_1>关键配置如下

#

sysname hexin1_1

#

vlan batch 103 300 to 301

#

multicast routing-enable

#

igmp-snooping enable

#

vlan 103

 multicast drop-unknown

 igmp-snooping enable     /*先配置对应接口vlan信息下pim和igmp使能再配置此处*/

 igmp-snooping host-based prompt-leave

vlan 300

 multicast drop-unknown

 igmp-snooping enable     /*先配置对应接口vlan信息下pim和igmp使能再配置此处*/

 igmp-snooping host-based prompt-leave

vlan 301

 multicast drop-unknown

 igmp-snooping enable     /*先配置对应接口vlan信息下pim和igmp使能再配置此处*/

 igmp-snooping host-based prompt-leave

#

interface Vlanif1

 ip address 191.1.1.1 255.255.255.0

#

interface Vlanif103

 ip address 10.208.3.1 255.255.255.0

 pim sm

 igmp enable

#

interface Vlanif300

 ip address 10.20.1.2 255.255.255.0

 pim sm

 igmp enable

#

interface Vlanif301

 ip address 10.20.2.1 255.255.255.0      

 pim sm

 igmp enable

#

interface Eth-Trunk1

 port link-type access

 port default vlan 300

 mode lacp

#

interface Eth-Trunk2

 port link-type access

 port default vlan 301

 mode lacp

#

interface range GigabitEthernet 0/0/1 to 0/0/28

 port default vlan 103

#                                        

interface XGigabitEthernet0/0/1

 eth-trunk 1

#

interface XGigabitEthernet0/0/2

 eth-trunk 1

#

interface XGigabitEthernet0/0/3

 eth-trunk 2

#

interface XGigabitEthernet0/0/4

 eth-trunk 2

#

ospf 100

 area 0.0.0.0

  network 10.20.1.0 0.0.0.255

  network 10.20.2.0 0.0.0.255

  network 10.208.1.0 0.0.0.255

  network 10.208.2.0 0.0.0.255

  network 10.208.3.0 0.0.0.255

  network 191.1.1.0 0.0.0.255

#

pim

 static-rp 10.20.2.1 preferred

#

--------------------------------------------------------------------

<huiju1_2>关键配置如下:

#

sysname huiju1_2

#

vlan batch 101 300

#

multicast routing-enable

#

igmp-snooping enable

#

vlan 101

 multicast drop-unknown

 igmp-snooping enable

 igmp-snooping host-based prompt-leave

vlan 300

 multicast drop-unknown

 igmp-snooping enable

 igmp-snooping host-based prompt-leave

#

interface Vlanif1

 ip address 191.1.1.2 255.255.255.0

#

interface Vlanif101

 ip address 10.208.1.1 255.255.255.0

 pim sm

 igmp enable

#

interface Vlanif300

 ip address 10.20.1.1 255.255.255.0

 pim sm

 igmp enable

#

interface Eth-Trunk1

 port link-type access

 port default vlan 300                   

 mode lacp

#

interface Eth-Trunk2

 port link-type trunk

 port trunk allow-pass vlan 101 to 103

 mode lacp

#

interface range GigabitEthernet 0/0/1 to 0/0/28

 port default vlan 101

#

interface XGigabitEthernet0/0/1

 eth-trunk 1

#                                         

interface XGigabitEthernet0/0/2

 eth-trunk 1

#

interface XGigabitEthernet0/0/3

 eth-trunk 2

#

interface XGigabitEthernet0/0/4

 eth-trunk 2

#

ospf 100

 area 0.0.0.0

  network 10.20.1.0 0.0.0.255

  network 10.20.2.0 0.0.0.255

  network 10.208.1.0 0.0.0.255

  network 10.208.2.0 0.0.0.255

  network 10.208.3.0 0.0.0.255

  network 191.1.1.0 0.0.0.255

#

pim

 static-rp 10.20.2.1 preferred

#

--------------------------------------------------------------------

<huiju2_3>关键配置如下:

#

sysname huiju2_3

#

vlan batch 102 301

#

multicast routing-enable

#

igmp-snooping enable

#

vlan 102

 multicast drop-unknown

 igmp-snooping enable

 igmp-snooping host-based prompt-leave

vlan 301

 multicast drop-unknown

 igmp-snooping enable

 igmp-snooping host-based prompt-leave

#

interface Vlanif1

 ip address 191.1.1.3 255.255.255.0

#

interface Vlanif102

 ip address 10.208.2.1 255.255.255.0

 pim sm

 igmp enable

#

interface Vlanif301

 ip address 10.20.2.2 255.255.255.0

 pim sm

 igmp enable

#

interface Eth-Trunk1

 port link-type access

 port default vlan 301

 mode lacp

#                                        

interface Eth-Trunk2

 port link-type trunk

 port trunk allow-pass vlan 101 to 103

 mode lacp

#

interface range GigabitEthernet 0/0/1 to 0/0/28

 port default vlan 102

#

interface XGigabitEthernet0/0/1

 eth-trunk 1

#

interface XGigabitEthernet0/0/2

 eth-trunk 1

#

interface XGigabitEthernet0/0/3          

 eth-trunk 2

#

interface XGigabitEthernet0/0/4

 eth-trunk 2

#

ospf 100

 area 0.0.0.0

  network 10.20.1.0 0.0.0.255

  network 10.20.2.0 0.0.0.255

  network 10.208.1.0 0.0.0.255

  network 10.208.2.0 0.0.0.255

  network 10.208.3.0 0.0.0.255

  network 191.1.1.0 0.0.0.255

#

pim

 static-rp 10.20.2.1 preferred

#

--------------------------------------------------------------------

<jieru1_4>关键配置如下:

#

vlan batch 101

#

igmp-snooping enable

#

vlan 101

 multicast drop-unknown

 igmp-snooping enable

 igmp-snooping host-based prompt-leave

#

interface Vlanif1

 ip address 191.1.1.4 255.255.255.0

#

interface Eth-Trunk1

 port link-type trunk

 port trunk allow-pass vlan 101 to 103

 mode lacp

#

interface range GigabitEthernet 0/0/1 to 0/0/28

 port default vlan 101

#

interface XGigabitEthernet0/0/1

 eth-trunk 1

#

interface XGigabitEthernet0/0/2

 eth-trunk 1

 

--------------------------------------------------------------------

<jieru2_5>关键配置如下:

#

vlan batch 102

#

igmp-snooping enable

#

vlan 102

 multicast drop-unknown

 igmp-snooping enable

 igmp-snooping host-based prompt-leave

#

interface Vlanif1

 ip address 191.1.1.5 255.255.255.0

#

interface Eth-Trunk1

 port link-type trunk

 port trunk allow-pass vlan 101 to 103

 mode lacp

#

interface range GigabitEthernet 0/0/1 to 0/0/28

 port default vlan 102

#

interface XGigabitEthernet0/0/1

 eth-trunk 1

#

interface XGigabitEthernet0/0/2

 eth-trunk 1

 

 

3.常见异常问题以及定位手段总结(三层问题定位)

         2.1PIM-SM网络中RPT无法正常转发数据

         现象:接收者无法接受组播数据(-H显示绿屏,-B显示no vedio)

本类故障的常见原因主要包括:

  • 组播设备到RP的单播路由不通
  • 各组播设备的RP地址不一致
  • 组播设备的下游接口没有收到(*,G)加入
  • 接口没有使能PIM-SM
  • RPRPF路由不正确(举例:单播路由环路)
  • 配置问题(举例:MTU或组播边界配置不当等)

操作步骤

a.检查PIM路由表中是否存在正确的(*,G)表项

在设备上执行display pim routing-table group-address命令,查看PIM路由表中是否存在到所需组播组G的(*,G)表项。

    • 如果PIM路由表中的(*,G)表项存在且信息完全正确,则每隔15秒执行display multicast forwarding-table group-address命令,查看转发表中是否存在与(*,G)对应的(S,G)表项,并查看显示信息中的“Matched”计数是否保持增长。
      • 如果转发表中存在(S,G)表项且“Matched”计数保持增长,则表明上游设备到此设备的组播数据转发正常,但是由于某种原因导致无法向下游转发,可能是由于数据报文的TTL过小或转发问题。
      • 如果转发表中不存在(S,G)表项或“Matched”计数停止:
        • 如果当前设备不是RP,则表明当前设备没有收到组播数据,故障可能出在上游设备,请检查上游设备的PIM路由表中是否存在正确的(S,G)表项。
        • 如果当前设备已经是RP,则表明RPT已成功建立,但由于某种原因导致RP未收到组播源发出的组播数据。故障可能是由于源DR没有注册成功。
    • 如果PIM路由表中不存在正确的(*,G)表项,请执行步骤2

b. 检查上游设备的下游接口是否收到Join信息

在设备上执行display pim control-message counters interface interface-type interface-number message-type join-prune命令,查看下游接口收到的Join/Prune报文计数是否增加。

    • 如果设备的下游接口收到的Join/Prune报文计数没有增加,在其下游邻居上执行display pim control-message counters interface interface-type interface-number message-type join-prune命令,查看下游是否向上游发出了Join/Prune报文。
      • 如果计数增加,则表明下游已经发出了Join/Prune报文,则PIM邻居间通信有问题。
      • 如果计数没有增加,则下游设备有问题,请排查下游设备的故障。
    • 如果下游接口收到的Join/Prune报文计数增加,请执行步骤3

c.检查接口是否使能PIM-SM

以下接口未使能PIM-SM是常见的故障原因:

    • 到达RPRPF邻居接口
    • 到达RPRPF接口
    • 直连用户主机网段的接口(组成员端DR的下游接口)

在设备上执行display pim interface verbose命令,查看接口的PIM信息。请重点检查上述接口是否使能PIM-SM

    • 如果在接口上使能PIM-SM时出现提示信息:“Error: Please enable multicast in the system view first.”,则首先在系统视图下使用multicast routing-enable命令使能组播功能。然后在接口上使能PIM-SM
    • 如果设备的所有接口均已使能PIM-SM,请执行步骤4

d.检查RP信息是否正确

在设备上执行display pim rp-info命令,查看设备是否已经学习到了为某组播组服务的RP信息,并且与其它所有设备为此组播组服务的RP信息一致。

    • 如果设备上没有RP信息或RP信息与其他设备不同:
      • 如果网络中使用静态RP,请执行static-rp命令在所有设备上将为某组播组服务的RP地址配置为一致。
    • 如果所有设备为某组播组服务的RP信息已保持一致,请执行步骤5

e.检查是否存在到达RP的RPF路由

在设备上执行display multicast rpf-info source-address命令,查看是否存在到达RPRPF路由。

    • 如果显示信息中不存在到RPRPF路由,检查单播路由配置。请在设备与RP上分别执行ping命令,检查是否能够ping通对方。
    • 如果显示信息中存在到RPRPF路由:
      • 如果显示信息表明RPF路由为组播静态路由,执行display current-configuration命令查看组播静态路由配置是否合理。
      • 如果显示信息表明RPF路由为单播路由,执行display ip routing-table命令查看单播路由是否与RPF路由一致。
    • 如果显示信息中存在到RPRPF路由,且路由配置合理,请执行步骤6

f.检查转发组播数据的接口是否为组成员端DR

在设备上执行display pim interface interface-type interface-number命令,查看转发组播数据的接口是否为组成员端DR

    • 如果显示信息中没有local标记,请根据显示信息中的DR地址在DR设备上执行步骤7
    • 如果显示信息中有local标记,请执行步骤7

g.检查接口是否配置组播边界

在设备上执行display current-configuration interface interface-type interface-number命令,查看接口是否配置了组播边界。

    • 如果某接口的配置信息中出现“multicast boundary”,表明该接口配置了组播边界。建议执行undo multicast boundary { group-address { mask | mask-length } | all }命令删除该配置或重新进行网络规划,确保RPF接口和RPF邻居接口没有配置组播边界。
    • 如果接口没有配置组播边界,请执行步骤8

h.检查是否配置了source-policy

在设备上执行display current-configuration configuration pim命令,查看PIM视图下的当前配置信息。

    • 如果配置信息中出现“source-policy acl-number”,则表明配置了源过滤规则。如果接收到的组播数据不在ACL允许的范围之内,则将被丢弃。建议执行undo source-policy命令删除该配置或重新配置ACL规则,确保用户需要的组播数据正常转发。

四、交换机支持二层组播配置总结

1.单台交换机场景

使能全局igmp-snooping

业务vlan下:

                    使能igmp-snooping

                    未知组播丢弃

                    如果是华为交换机,这里需要配置快速离组功能;(注意,华为是vlan下host-based 快速离组;华三在端口上配置快速离组)

端口上配置:

                    未知单播抑制

                    (如果是华三设备,这里需要在端口配置快速离组)

                    交换机在启用stp的情况下,必须配置边缘端口,缩短交换机端口由down到up的主动阻塞时间。

2.两台交换机场景

聚合:(可以根据实际交互带宽决定是否配置)

           动态聚合

           Link-type设置为trunk模式

           聚合链路运行控制vlan/业务vlan数据通过

 

使能全局igmp-snooping

业务vlan下:

                    使能igmp-snooping

                    未知组播丢弃

                    如果是华为交换机,这里需要配置快速离组功能;(注意,华为是vlan下host-based 快速离组;华三在端口上配置快速离组)

端口上配置:

                    未知单播抑制

                    (华三设备,在端口配置快速离组)

                    交换机在启用stp的情况下,必须配置边缘端口,缩短交换机端口由down到up的主动阻塞时间。

 

以上是两台通用配置,

差异性配置: 指定其中一台为主设备,在上面配置查询器,并指定通用ip,ip地址一定是局域网络中不冲突的ip地址,一般选用其接口vlanif的ip地址

 

3.三台做两级级联

级联方式:  A-B-C 链式连接,一般我们定中间交换机B为核心交换机,A/C为接入;

关键配置如下:

核心B交换机配置:

           使能全局igmp-snooping

           增加业务vlan:

                    使能igmp-snooping

                    未知组播丢弃

                    //快速离组功能(在h3c S650万兆交换机中存在此功能bug,所以在盒式交换机中做核心应用场景中,目前都是默认不配置此功能的)                        

           使能配置查询器,并指定通用查询器ip,ip地址一定是局域网络中不冲突的ip地址,一般选用其vlan接口的ip地址

           聚合:(需根据实际交互带宽决定是否配置)

                    动态聚合

                    Link-type设置为trunk模式

                    聚合链路运行控制vlan/业务vlan数据通过

A/C交换机配置:     

           使能全局igmp-snooping

业务vlan下:

                    使能igmp-snooping

                    未知组播丢弃

                    如果是华为交换机,这里需要配置快速离组功能;(注意,华为是vlan下host-based 快速离组;华三在端口上配置快速离组)

端口上配置:

                    未知单播抑制

                    (华三设备,在端口配置快速离组)

                    交换机在启用stp的情况下,必须配置边缘端口,缩短交换机端口由down到up的主动阻塞时间。

 

4.三级级联

核心交换配置说明

#

igmp-snooping  //使能全局igmp

#

#//使能对应vlan下配置

vlan 1010

 igmp-snooping enable

 igmp-snooping drop-unknown

 igmp-snooping querier

 igmp-snooping general-query source-ip 10.168.1.1     

 igmp-snooping special-query source-ip 10.168.1.1

#

汇聚层交换配置说明:

#

igmp-snooping                                //使能全局igmp

#

#//使能对应vlan下配置

vlan 1010

 igmp-snooping enable

 igmp-snooping drop-unknown

 #

接入层交换配置说明:

#

igmp-snooping //使能全局igmp

#

#//使能对应业务vlan下配置

vlan 1010

 igmp-snooping enable

 igmp-snooping drop-unknown

#

interface GigabitEthernet1/0/1   to  1/0/24

普通端口需要配置

igmp-snooping fast-leave vlan 1010

 

5.交换机相关问题的定位手段:(二层问题定位)

5.1.查看光模块transceiver收发方向的光损耗:

<H3C>display transceiver diagnosis interface Ten-GigabitEthernet 1/0/1
Ten-GigabitEthernet1/0/1 transceiver diagnostic information:
  Current diagnostic parameters:
    Temp.(°C) Voltage(V)  Bias(mA)  RX power(dBm)  TX power(dBm) 
    31         3.31        5.25      -10.89         -1.97     
  Alarm thresholds:
    Temp.(°C) Voltage(V)  Bias(mA)  RX power(dBm)  TX power(dBm)
    High  73         3.80        9.90      1.00           0.00
    Low   -3         2.81        1.00      -13.10         -10.30
说明:其中RX/TX power(dBm)为光损耗,其中理论门限值是:1.00到-13.10,现场我们看到正常的值大概在-2到-4之间。上述的中-10.89此值已经接近于告警值,有可能会存在误码。

5.2、查看对应通道有无误码

这里的通道可以是具体的网口,光口或者某个聚合口
<H3C>display interface Bridge-Aggregation 1
这是会显示输入输出方向的errors统计,这里也可以看到各类数据包统计,包转发速率。

5.3、igmp-snooping监听到的IGMP报文统计

主要有加组退组等信息统计
display igmp-snooping statistics

5.4、显示动态组播组的igmp snooping的转发表项:

display igmp-snooping group vlan 1

5.5、查看聚合组状态

包括所有的聚合组,聚合模式,均衡模式,提示中的各个标志等
<H3C>display link-aggregation verbose
以上是现场定位常用指令

5.6、其他:

如图所示

5.7 附件:

h3c ip组播配置指导手册

(双击可打开)

附件是H3C的组播配置指导,包括2/3层配置;文中三层的问题定位写的是华为设备,华三设备可以参考此手册。

五、基本术语介绍:

DR Designated Router,指定路由器)作用是判断网络地址,选择ip路径

BSR Bootstrap Router,自举路由器)是pim-sm域的自动管理核心,一个pim-sm域内只能有一个BSR,但是可以配置多个候选BSR,一旦一个故障,候选可以通过候选成员中自动选举一个产生新的BSR,保证业务不中断。BSR负责收集网络中由C-RP发来的

C-BSR Candidate-BSR,候选BSR

RP Rendezvous Point,汇集点)//我们使用的是static-rp 作用是处理加退组/维护组播路由转发表

C-RP Candidate-RP,候选 RP

PIM-DM:其建立组播转发过程效率较低,并不适合大中型网络。//我们不用,用的pim-sm

PIM-SM: 属于稀疏模式的组播路由协议,通常适用于组播组成员分布相对分散、范围较广的大中型网络。(邻居发现机制)

DR原理以及建组过程:

无论是与组播源相连的网络,还是与接收者相连的网络,都需要选举DR(指定路由器)。接收者侧的DR负责向RP发送加入报文;组播源侧的DR负责向RP发送注册报文-转发表项(S,G)(在充当接收者侧的DR的设备上必须使能IGMP,否则连接在该DR上的接收者将无法通过该DR加入组播组。)

 

  • 24
    点赞
  • 219
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值