• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

08-IP组播配置指导

目录

05-组播路由与转发配置

本章节下载 05-组播路由与转发配置  (428.60 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/CR/CR16000-F/Configure/Operation_Manual/H3C_CR16000-F_CG-R7655PXX-6W761/08/201708/1024663_30005_0.htm

05-组播路由与转发配置


1 组播路由与转发

1.1  组播路由与转发简介

每个组播路由协议都有一个自身的路由表,它们与静态配置的组播路由综合成一个总的组播路由表,由一系列(S,G)和(*,G)表项组成,即由组播源S向组播组G发送组播数据的组播路由信息。其中最优组播路由下发到组播转发表中,控制组播数据的转发。组播传输路径上的设备根据组播转发表转发组播数据的同时还需执行RPF(Reverse Path Forwarding,逆向路径转发)机制确保组播数据沿正确路径传输。

1.1.1  RPF检查机制

组播路由协议在创建和维护组播路由表项时,运用了RPF检查机制,以确保组播数据能够沿正确的路径传输,同时还能避免由于各种原因而造成的环路。

1. RPF检查过程

执行RPF检查的过程如下:

(1)     首先,以“报文源”的IP地址为目的地址,分别从单播路由表、MBGP路由表和组播静态路由表中各选出一条最优路由。

说明

根据组播报文传输的具体情况不同,“报文源”所代表的具体含义也不同:

·     如果当前报文沿从组播源到接收者或RP(Rendezvous Point,汇集点)的SPT(Shortest Path Tree,最短路径树)进行传输,则以组播源为“报文源”进行RPF检查。

·     如果当前报文沿从RP到接收者的RPT(Rendezvous Point Tree,共享树)进行传输,或者沿从组播源到RP的组播源侧RPT进行传输,则都以RP为“报文源”进行RPF检查。

·     如果当前报文为BSR(Bootstrap Router,自举路由器)报文,沿从BSR到各路由器的路径进行传输,则以BSR为“报文源”进行RPF检查。

有关SPT、RPT、组播源侧RPT、RP和BSR的详细介绍,请参见“IP组播配置指导”中的“PIM”。

 

(2)     然后,从这些最优路由中再选出一条作为RPF路由。选取规则如下:

·     如果配置了按照最长匹配选择路由,则:

¡     选择掩码匹配最长的路由。

¡     如果掩码相同,则选择路由优先级最高的路由。

¡     如果路由优先级也相同,则按照组播静态路由、MBGP路由、单播路由的顺序进行选择。

·     如果没有配置按照最长匹配选择路由,则:

¡     选择路由优先级最高的路由。

¡     如果路由优先级相同,则按照组播静态路由、MBGP路由、单播路由的顺序进行选择。

RPF路由中包含有RPF接口和RPF邻居的信息:

·     如果RPF路由为单播路由或MBGP路由,则该路由表项的出接口就是RPF接口,下一跳就是RPF邻居。

·     如果RPF路由为组播静态路由,则该路由表项中会明确指定RPF接口和RPF邻居。

 

(3)     最后,判断报文实际到达的接口与RPF接口是否相同:

·     相同,RPF检查通过。

·     不同,RPF检查失败。

2. RPF检查在组播转发中的应用

对每一个收到的组播数据报文都进行RPF检查会给路由器带来较大负担,而利用组播转发表可以解决这个问题。在建立组播路由和转发表时,会把组播数据报文(S,G)的RPF接口记录为(S,G)表项的入接口。当路由器收到组播数据报文(S,G)后,查找组播转发表:

·     如果组播转发表中不存在(S,G)表项,则对该报文执行RPF检查,将其RPF接口作为入接口,结合相关路由信息创建相应的表项,并下发到组播转发表中:

¡     若该报文实际到达的接口正是其RPF接口,则RPF检查通过,向所有的出接口转发该报文;

¡     若该报文实际到达的接口不是其RPF接口,则RPF检查失败,丢弃该报文。

·     如果组播转发表中已存在(S,G)表项,且该报文实际到达的接口与入接口相匹配,则向所有的出接口转发该报文。

·     如果组播转发表中已存在(S,G)表项,但该报文实际到达的接口与入接口不匹配,则对此报文执行RPF检查:

¡     若其RPF接口与入接口一致,则说明(S,G)表项正确,丢弃这个来自错误路径的报文;

¡     若其RPF接口与入接口不符,则说明(S,G)表项已过时,于是把入接口更新为RPF接口。如果该报文实际到达的接口正是其RPF接口,则向所有的出接口转发该报文,否则将其丢弃。

图1-1 RPF检查过程

 

图1-1所示,假设网络中单播路由畅通,未配置MBGP,Device C上也未配置组播静态路由。组播报文(S,G)沿从组播源(Source)到接收者(Receiver)的SPT进行传输。假定Device C上的组播转发表中已存在(S,G)表项,其记录的入接口为GigabitEthernet1/0/2:

·     如果该组播报文从接口GigabitEthernet1/0/2到达Device C,与(S,G)表项的入接口相匹配,则向所有的出接口转发该报文。

·     如果该组播报文从接口GigabitEthernet1/0/1到达Device C,与(S,G)表项的入接口不匹配,则对其执行RPF检查:通过查找单播路由表发现到达Source的出接口(即RPF接口)是GigabitEthernet1/0/2,与(S,G)表项的入接口一致。这说明(S,G)表项是正确的,该报文来自错误的路径,RPF检查失败,于是丢弃该报文。

1.1.2  组播静态路由的用途

组播静态路由有两种主要用途:改变RPF路由和衔接RPF路由。

1. 改变RPF路由

通常,组播的网络拓扑结构与单播相同,组播数据的传输路径也与单播相同。可以通过配置组播静态路由以改变RPF路由,从而为组播数据创建一条与单播不同的传输路径。

图1-2 改变RPF路由示意图

 

图1-2所示,当网络中没有配置组播静态路由时,Device C到组播源(Source)的RPF邻居为Device A,从Source发出的组播信息沿Device A—Device C的路径传输,与单播路径一致;当在Device C上配置了组播静态路由,指定从Device C到Source的RPF邻居为Device B之后,从Source发出的组播信息将改变传输路径,沿Device A—Device B—Device C的新路径传输。

2. 衔接RPF路由

当网络中的单播路由被阻断时,由于没有RPF路由而无法进行包括组播数据在内的数据转发。可以通过配置组播静态路由以生成RPF路由,从而创建组播路由表项以指导组播数据的转发。

图1-3 衔接RPF路由示意图

 

图1-3所示,RIP域与OSPF域之间实行单播路由隔离。当网络中没有配置组播静态路由时,OSPF域内的接收者(Receiver)不能收到RIP域内的组播源(Source)所发出的组播信息;当在Device C和Device D上均配置了组播静态路由,分别指定从Device C到Source的RPF邻居为Device B、从Device D到Source的RPF邻居为Device C之后,Receiver便能收到Source发出的组播信息了。

1.1.3  跨单播网段的组播转发

网络中可能存在不支持组播协议的路由器,从组播源发出的组播数据沿组播路由器逐跳转发,当下一跳路由器不支持组播协议时,组播转发路径将被阻断。而通过在处于单播网段两端的组播路由器之间建立隧道,则可以实现跨单播网段的组播数据转发。

图1-4 使用隧道传输组播数据

 

图1-4所示,在组播路由器Device A和Device B之间建立隧道。Device A将组播数据封装在单播报文中,通过单播路由器转发至隧道另一端的Device B,再由Device B将单播报文头剥掉后继续进行组播传输。

若要将该隧道专用于组播数据传输,可以在隧道两端只配置组播静态路由而不配置单播静态路由,从而使单播数据报文无法利用此隧道进行传输。

1.2  组播路由与转发配置限制和指导

当一个接口配置有从IP地址或借用了其它接口的IP地址时,组播数据并不能通过从IP地址或借来的IP地址进行路由和转发,而只能通过该接口的主IP地址进行路由与转发。有关主、从IP地址以及IP地址借用的详细介绍,请参见“三层技术-IP业务配置指导”中的“IP地址”。

VLAN接口不支持组播入GRE功能,所以当通过GRE隧道封装组播报文时,请不要使用VLAN接口作为设备上组播报文的入接口。关于GRE的介绍请参见“三层技术-IP业务”中的“GRE”。

1.3  组播路由与转发配置任务简介

表1-1 组播路由与转发配置任务简介

配置任务

说明

详细配置

使能IP组播路由

必选

1.5 

配置组播静态路由

可选

1.6 

配置按照最长匹配选择RPF路由

可选

1.7 

配置对组播流量进行负载分担

可选

1.8 

配置组播转发边界

可选

1.9 

配置在所有VLAN内泛洪RPF检查失败的组播数据报文

可选

1.10.1 

配置在特定VLAN内组播RPF检查失败的组播数据报文

可选

1.10.2 

配置RPF检查失败报文上送CPU处理

可选

1.10.3 

 

1.4  配置准备

在配置组播路由与转发之前,需完成以下任务:

·     配置任一单播路由协议,实现域内网络层互通

·     配置PIM-DM或PIM-SM

1.5  使能IP组播路由

在公网实例或VPN实例中配置各项三层组播功能之前,必须先在该实例中使能IP组播路由。

表1-2 使能IP组播路由

操作

命令

说明

进入系统视图

system-view

-

使能IP组播路由,并进入MRIB(Multicast Routing Information Base,组播路由信息库)视图

multicast routing [ vpn-instance vpn-instance-name ]

缺省情况下,IP组播路由处于关闭状态

 

1.6  配置组播静态路由

通过配置组播静态路由,可以为来自特定组播源的组播报文指定RPF接口或RPF邻居。在删除已配置好的组播静态路由时,除了可以通过undo ip rpf-route-static命令删除指定的组播静态路由外,还可以通过delete ip rpf-route-static命令删除所有的组播静态路由。

组播静态路由仅在所配置的组播路由器上生效,不会以任何方式被广播或者引入给其它路由器。

表1-3 配置组播静态路由

操作

命令

说明

进入系统视图

system-view

-

配置组播静态路由

ip rpf-route-static [ vpn-instance vpn-instance-name ] source-address { mask-length | mask } { rpf-nbr-address | interface-type interface-number } [ preference preference ]

缺省情况下,不存在任何组播静态路由

(可选)删除所有组播静态路由

delete ip rpf-route-static [ vpn-instance vpn-instance-name ]

-

 

1.7  配置按照最长匹配选择RPF路由

用户可以配置组播路由器按照最长匹配原则来选择RPF路由,有关RPF路由选择的详细介绍,请参见“1.1.1  1. RPF检查过程”一节。

表1-4 配置按照最长匹配选择RPF路由

操作

命令

说明

进入系统视图

system-view

-

进入MRIB视图

multicast routing [ vpn-instance vpn-instance-name ]

-

配置按照最长匹配选择RPF路由

longest-match

缺省情况下,选择路由优先级最高的路由作为RPF路由

 

1.8  配置对组播流量进行负载分担

用户通过配置根据组播源或组播源组进行组播流量的负载分担,可以优化存在多条组播数据流时的网络流量。

表1-5 配置对组播流量进行负载分担

操作

命令

说明

进入系统视图

system-view

-

进入MRIB视图

multicast routing [ vpn-instance vpn-instance-name ]

-

配置对组播流量进行负载分担

load-splitting { balance | source | source-group | ucmp }

缺省情况下,不对组播流量进行负载分担

 

1.9  配置组播转发边界

组播信息在网络中的转发并不是漫无边际的,每个组播组对应的组播信息都必须在确定的范围内传递。组播转发边界为指定范围的组播组划定了边界条件,如果组播报文的目的地址与边界条件匹配,就停止转发。当在一个接口上配置了组播转发边界后,将不能从该接口转发组播报文(包括本机发出的组播报文),也不能从该接口接收组播报文。进行本配置不需要使能IP组播路由。

表1-6 配置组播转发边界

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置组播转发边界

multicast boundary group-address { mask-length | mask }

缺省情况下,接口不是任何组播组的转发边界

 

1.10  处理RPF检查失败的组播数据报文

在不同情形下,需要对RPF检查失败的组播数据报文进行不同的处理,而不仅仅是简单地将其丢弃。进行本配置不需要使能IP组播路由。

1.10.1  配置在所有VLAN内泛洪RPF检查失败的组播数据报文

1. 功能介绍

在某些特定组网环境下,会出现RPF检查失败的VLAN接口所对应VLAN内存在接收者的情况,为了让这些接收者也能收到RPF检查失败的组播数据报文,可以将这些报文在所有VLAN内泛洪。

2. 配置步骤

表1-7 配置在所有VLAN内泛洪RPF检查失败的组播数据报文

操作

命令

说明

进入系统视图

system-view

-

配置在所有VLAN内泛洪RPF检查失败的组播数据报文

multicast rpf-fail-pkt flooding

缺省情况下,不在VLAN内泛洪RPF检查失败的组播数据报文

退回用户视图

quit

-

清除组播转发表中的转发项

reset multicast [ vpn-instance vpn-instance-name ] forwarding-table { { source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface { interface-type interface-number } } * | all }

执行本命令后,multicast rpf-fail-pkt flooding命令才能生效

 

1.10.2  配置在特定VLAN内组播RPF检查失败的组播数据报文

1. 功能介绍

在某些特定组网环境下,会出现RPF检查失败的VLAN接口所对应VLAN内存在接收者的情况,为了让这些接收者也能收到RPF检查失败的组播数据报文,可以将这些报文在特定VLAN内组播。

2. 配置限制和指导

要进行组播RPF检查失败的组播数据报文的VLAN必须使能了IGMP Snooping且对应VLAN接口上配置有三层组播协议(IGMP或PIM)。当VLAN内有相应的IGMP Snooping转发表项时,便在该VLAN内组播。有关reset igmp-snooping group命令的详细介绍,请参见“IP组播命令参考”中的“IGMP Snooping”。

3. 配置步骤

表1-8 配置在特定VLAN内组播RPF检查失败的组播数据报文

操作

命令

说明

进入系统视图

system-view

-

配置在所有VLAN内泛洪RPF检查失败的组播数据报文

multicast rpf-fail-pkt flooding

缺省情况下,不在VLAN内泛洪RPF检查失败的组播数据报文

进入VLAN接口视图

interface vlan-interface vlan-interface-id

-

配置在当前VLAN内组播RPF检查失败的组播数据报文

multicast rpf-fail-pkt bridging

执行本命令前必须执行multicast rpf-fail-pkt flooding命令

缺省情况下,不在VLAN内组播RPF检查失败的组播数据报文

退回系统视图

quit

-

退回用户视图

quit

-

清除动态IGMP Snooping转发表的信息。

reset igmp-snooping group { group-address [ source-address ] | all } [ vlan vlan-id | vsi vsi-name ]

执行本命令后,multicast rpf-fail-pkt bridging命令才能生效

 

1.10.3  配置将RPF检查失败的组播数据报文上送给CPU进行处理

1. 功能介绍

在以下两种情况下,需要将RPF检查失败的组播数据报文上送给CPU进行处理:

·     如果组播数据报文从组播转发表项的出接口到达,则RPF检查失败,需要将该报文上送给CPU进行处理,以触发Assert机制剪枝多余的组播流量。

·     在RPT向SPT切换时,如果SPT与RPT在DR(Designated Router,指定路由器)上的入接口不同,为了使DR能感知到SPT上组播流量的到达,就需要将到达SPT入接口但RPF检查失败(剪枝RPT前的RPF接口是RPT的入接口)的组播数据报文上送给CPU进行处理。

有关Assert机制、DR以及RPT向SPT切换的详细介绍,请参见“IP组播配置指导”中的“PIM”。

2. 配置步骤

表1-9 配置将RPF检查失败的组播数据报文上送给CPU进行处理

操作

命令

说明

进入系统视图

system-view

-

配置把RPF检查失败的组播数据报文上送CPU处理

multicast rpf-fail-pkt trap-to-cpu

缺省情况下,不把RPF检查失败的组播数据报文上送CPU处理

退回用户视图

quit

-

清除组播转发表中的转发项

reset multicast [ vpn-instance vpn-instance-name ] forwarding-table { { source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface { interface-type interface-number } } * | all }

执行本命令后,multicast rpf-fail-pkt trap-to-cpu命令才能生效

 

1.11  组播路由与转发显示和维护

注意

执行reset命令清除组播路由表或组播转发表中的信息,可能导致组播信息无法正常传输。

 

在完成上述配置后,在任意视图下执行display命令可以显示配置后组播路由与转发的信息,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除组播路由与转发的统计信息。

表1-10 组播路由与转发显示和维护

操作

命令

显示MRIB维护的接口信息

display mrib [ vpn-instance vpn-instance-name ] interface [ interface-type interface-number ]

显示组播边界的信息

display multicast [ vpn-instance vpn-instance-name ] boundary [ group-address [ mask-length | mask ] ] [ interface interface-type interface-number ]

显示组播快速转发表信息(独立运行模式)

display multicast [ vpn-instance vpn-instance-name ] fast-forwarding cache [ source-address | group-address ] * [ slot slot-number ]

显示组播快速转发表信息(IRF模式)

display multicast [ vpn-instance vpn-instance-name ] fast-forwarding cache [ source-address | group-address ] * [chassis chassis-number slot slot-number ]

显示组播转发的事件统计信息(独立运行模式)

display multicast [ vpn-instance vpn-instance-name ] forwarding event [ slot slot-number ]

显示组播转发的事件统计信息(IRF模式)

display multicast [ vpn-instance vpn-instance-name ] forwarding event [ chassis chassis-number slot slot-number ]

显示组播转发表的信息(独立运行模式)

display multicast [ vpn-instance vpn-instance-name ] forwarding-table [ source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface interface-type interface-number | outgoing-interface { exclude | include | match } interface-type interface-number | slot slot-number | statistics ] *

显示组播转发表的信息(IRF模式)

display multicast [ vpn-instance vpn-instance-name ] forwarding-table [ source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | chassis chassis-number slot slot-number | incoming-interface interface-type interface-number | outgoing-interface { exclude | include | match } interface-type interface-number | statistics ] *

显示组播路由表的信息

display multicast [ vpn-instance vpn-instance-name ] routing-table [ source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface interface-type interface-number | outgoing-interface { exclude | include | match } interface-type interface-number ] *

显示组播静态路由表的信息

display multicast [ vpn-instance vpn-instance-name ] routing-table static [ source-address { mask-length | mask } ]

显示组播源的RPF信息

display multicast [ vpn-instance vpn-instance-name ] rpf-info source-address [ group-address ]

清除组播快速转发表中的转发项(独立运行模式)

reset multicast [ vpn-instance vpn-instance-name ] fast-forwarding cache { { source-address | group-address } * | all } [ slot slot-number ]

清除组播快速转发表中的转发项(IRF模式)

reset multicast [ vpn-instance vpn-instance-name ] fast-forwarding cache { { source-address | group-address } * | all } [ chassis chassis-number slot slot-number ]

清除组播转发的事件统计信息

reset multicast [ vpn-instance vpn-instance-name ] forwarding event

清除组播转发表中的转发项

reset multicast [ vpn-instance vpn-instance-name ] forwarding-table { { source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface { interface-type interface-number } } * | all }

清除组播路由表中的路由项

reset multicast [ vpn-instance vpn-instance-name ] routing-table { { source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface interface-type interface-number } * | all }

 

说明

·     清除组播路由表中的路由项后,组播转发表中的相应表项也将随之删除。

·     清除组播转发表中的转发项后,组播路由表中的相应表项也将随之删除。

 

1.12  组播路由与转发典型配置举例

1.12.1  改变RPF路由配置举例

1. 组网需求

·     网络中运行PIM-DM,所有路由器都支持组播功能;

·     Router A、Router B和Router C之间运行OSPF协议;

·     通常情况下,Receiver能通过Router A—Router B这条与单播路径相同的路径接收来自Source的组播信息;

·     要求通过配置,使Receiver能通过Router A—Router C—Router B这条与单播路径不同的路径接收来自Source的组播信息。

2. 组网图

图1-5 改变RPF路由配置举例

3. 配置步骤

(1)     配置IP地址和单播路由协议

请按照图1-5配置各接口的IP地址和掩码,并在各路由器上配置OSPF协议,具体配置过程略。

(2)     使能IP组播路由,并使能PIM-DM和IGMP

# 在Router B上使能IP组播路由,在主机侧接口GigabitEthernet1/0/1上使能IGMP,并在其它接口上使能PIM-DM。

<RouterB> system-view

[RouterB] multicast routing

[RouterB-mrib] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] igmp enable

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] pim dm

[RouterB-GigabitEthernet1/0/2] quit

[RouterB] interface gigabitethernet 1/0/3

[RouterB-GigabitEthernet1/0/3] pim dm

[RouterB-GigabitEthernet1/0/3] quit

# 在Router A上使能IP组播路由,并在各接口上使能PIM-DM。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] pim dm

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] pim dm

[RouterA-GigabitEthernet1/0/2] quit

[RouterA] interface gigabitethernet 1/0/3

[RouterA-GigabitEthernet1/0/3] pim dm

[RouterA-GigabitEthernet1/0/3] quit

Router C上的配置与Router A相似,配置过程略。

# 在Router B上显示到Source的RPF信息。

[RouterB] display multicast rpf-info 50.1.1.100

 RPF information about source 50.1.1.100:

     RPF interface: GigabitEthernet1/0/3, RPF neighbor: 30.1.1.2

     Referenced route/mask: 50.1.1.0/24

     Referenced route type: igp

     Route selection rule: preference-preferred

     Load splitting rule: disable

Router B上当前的RPF路由来源于单播路由,RPF邻居是Router A。

(3)     配置组播静态路由

# 在Router B上配置组播静态路由,指定到Source的RPF邻居为Router C。

[RouterB] ip rpf-route-static 50.1.1.100 24 20.1.1.2

# 在Router B上显示到Source的RPF信息。

[RouterB] display multicast rpf-info 50.1.1.100

 RPF information about source 50.1.1.100:

     RPF interface: GigabitEthernet1/0/2, RPF neighbor: 20.1.1.2

     Referenced route/mask: 50.1.1.0/24

     Referenced route type: multicast static

     Route selection rule: preference-preferred

     Load splitting rule: disable

与配置组播静态路由前相比,Router B上的RPF路由已经产生了变化,其来源变为组播静态路由,RPF邻居变为Router C。

1.12.2  衔接RPF路由配置举例

1. 组网需求

·     网络中运行PIM-DM,所有路由器都支持组播功能;

·     Router B和Router C之间运行OSPF协议,并与Router A单播路由隔离;

·     通常情况下,Receiver能接收来自OSPF域内Source 1的组播信息;

·     要求通过配置,使Receiver也可以接收来自OSPF域外Source 2的组播信息。

2. 组网图

图1-6 衔接RPF路由配置组网图

3. 配置步骤

(1)     配置IP地址和单播路由协议

请按照图1-6配置各接口的IP地址和掩码,并在Router B和Router C上配置OSPF协议,具体配置过程略。

(2)     使能IP组播路由,并使能PIM-DM和IGMP

# 在Router C上使能IP组播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,并在主机侧接口GigabitEthernet1/0/1上使能IGMP。

<RouterC> system-view

[RouterC] multicast routing

[RouterC-mrib] quit

[RouterC] interface gigabitethernet 1/0/1

[RouterC-GigabitEthernet1/0/1] igmp enable

[RouterC-GigabitEthernet1/0/1] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] pim dm

[RouterC-GigabitEthernet1/0/2] quit

# 在Router A上使能IP组播路由,并在各接口上使能PIM-DM。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] pim dm

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] pim dm

[RouterA-GigabitEthernet1/0/2] quit

Router B上的配置与Router A相似,配置过程略。

# 在Router B和Router C上分别显示到Source 2的RPF信息。

[RouterB] display multicast rpf-info 50.1.1.100

[RouterC] display multicast rpf-info 50.1.1.100

没有显示信息输出,说明在Router B和Router C上都没有到Source 2的RPF路由。

(3)     配置组播静态路由

# 在Router B上配置组播静态路由,指定到Source 2的RPF邻居为Router A。

[RouterB] ip rpf-route-static 50.1.1.100 24 30.1.1.2

# 在Router C上配置组播静态路由,指定到Source 2的RPF邻居为Router B。

[RouterC] ip rpf-route-static 50.1.1.100 24 20.1.1.2

4. 验证配置

# 在Router B和Router C上分别显示到Source 2的RPF信息。

[RouterB] display multicast rpf-info 50.1.1.100

 RPF information about source 50.1.1.100:

     RPF interface: GigabitEthernet1/0/3, RPF neighbor: 30.1.1.2

     Referenced route/mask: 50.1.1.0/24

     Referenced route type: multicast static

     Route selection rule: preference-preferred

     Load splitting rule: disable

[RouterC] display multicast rpf-info 50.1.1.100

 RPF information about source 50.1.1.100:

     RPF interface: GigabitEthernet1/0/2, RPF neighbor: 20.1.1.2

     Referenced route/mask: 50.1.1.0/24

     Referenced route type: multicast static

     Route selection rule: preference-preferred

     Load splitting rule: disable

与配置组播静态路由前相比,Router B和Router C上都有了到Source 2的RPF路由,且其均来源于组播静态路由。

1.12.3  利用GRE隧道实现组播转发配置举例

1. 组网需求

·     Router A和Router C支持组播功能并运行PIM-DM,但Router B不支持组播功能;

·     Router A、Router B和Router C之间运行OSPF协议(不发布或引入组播源所在接口前缀);

·     要求通过配置,使Receiver能够接收来自Source的组播信息。

2. 组网图

图1-7 利用GRE隧道实现组播转发配置组网图

 

3. 配置步骤

(1)     配置IP地址和单播路由协议

请按照图1-7配置各接口的IP地址和掩码,并在各路由器上配置OSPF协议(不发布或引入组播源所在接口前缀),具体配置过程略。

(2)     配置GRE隧道

# 在Router A上创建接口Tunnel2,并指定其隧道模式为GRE over IPv4隧道。

<RouterA> system-view

[RouterA] interface tunnel 2 mode gre

# 在Router A上为Tunnel2接口配置IP地址,并指定隧道的源地址和目的地址。

[RouterA-Tunnel2] ip address 50.1.1.1 24

[RouterA-Tunnel2] source 20.1.1.1

[RouterA-Tunnel2] destination 30.1.1.2

[RouterA-Tunnel2] quit

# 在Router C上创建接口Tunnel2,并指定其隧道模式为GRE over IPv4隧道。

<RouterC> system-view

[RouterC] interface tunnel 2 mode gre

# 在Router C上为Tunnel2接口配置IP地址,并指定隧道的源地址和目的地址。

[RouterC-Tunnel2] ip address 50.1.1.2 24

[RouterC-Tunnel2] source 30.1.1.2

[RouterC-Tunnel2] destination 20.1.1.1

[RouterC-Tunnel2] quit

[RouterC-ospf-1] quit

(3)     使能IP组播路由,并使能PIM-DM和IGMP

# 在Router A上使能IP组播路由,并在各接口上使能PIM-DM。

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] pim dm

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] pim dm

[RouterA-GigabitEthernet1/0/2] quit

[RouterA] interface tunnel 2

[RouterA-Tunnel2] pim dm

[RouterA-Tunnel2] quit

# 在Router C上使能IP组播路由,在主机侧接口GigabitEthernet1/0/1上使能IGMP,并在其它接口上使能PIM-DM。

[RouterC] multicast routing

[RouterC-mrib] quit

[RouterC] interface gigabitethernet 1/0/1

[RouterC-GigabitEthernet1/0/1] igmp enable

[RouterC-GigabitEthernet1/0/1] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] pim dm

[RouterC-GigabitEthernet1/0/2] quit

[RouterC] interface tunnel 2

[RouterC-Tunnel2] pim dm

[RouterC-Tunnel2] quit

(4)     配置组播静态路由

# 在Router C上配置组播静态路由,指定到Source的RPF邻居为Router A的Tunnel2接口。

[RouterC] ip rpf-route-static 10.1.1.0 24 50.1.1.1

4. 验证配置

组播源向组播组225.1.1.1发送组播数据,接收者加入该组播组后能够收到组播源发来的组播数据。

# 显示Router C上的PIM路由表信息。

[RouterC] display pim routing-table

 Total 1 (*, G) entry; 1 (S, G) entry

 

 (*, 225.1.1.1)

     Protocol: pim-dm, Flag: WC

     UpTime: 00:04:25

     Upstream interface: NULL

         Upstream neighbor: NULL

         RPF prime neighbor: NULL

     Downstream interface(s) information:

     Total number of downstreams: 1

         1: GigabitEthernet1/0/1

             Protocol: igmp, UpTime: 00:04:25, Expires: -

 

 (10.1.1.100, 225.1.1.1)

     Protocol: pim-dm, Flag: ACT

     UpTime: 00:06:14

     Upstream interface: Tunnel2

         Upstream neighbor: 50.1.1.1

         RPF prime neighbor: 50.1.1.1

     Downstream interface(s) information:

     Total number of downstreams: 1

         1: GigabitEthernet1/0/1

             Protocol: pim-dm, UpTime: 00:04:25, Expires: -

Router C的RPF邻居为Router A,组播数据通过GRE隧道由直接Router A发往Router C。

1.13  组播路由与转发常见故障处理

1.13.1  组播静态路由失败

1. 故障现象

路由器没有配置动态路由协议,接口的物理状态与链路层协议状态都显示为up;但是组播静态路由失败。

2. 故障分析

·     如果没有正确配置或更新与当前网络情况相匹配的组播静态路由,则组播静态路由表中不存在此路由项;

·     如果查询到有比组播静态路由更优的路由,也可能导致组播静态路由失败。

3. 处理过程

(1)     使用display multicast routing-table static命令显示组播静态路由表的信息,以确定是否正确配置了对应的路由并存在于组播静态路由表中。

(2)     检查组播静态路由与RPF邻居相连接口的接口类型,如果不是点到点接口,则RPF邻居必须使用指定地址的形式配置。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们