IPv6组播路由管理

功能介绍

组播路由管理主要介绍如何通过创建或更改组播路由来控制组播报文转发,以及组播转发路径正确性的检测和维护。主要包括组播静态路由和RPF(Reverse Path Forwarding,逆向路径转发)检查两个特性。其中,组播静态路由用于改变或者衔接组播RPF路由;RPF检查用于保证组播数据在正确的路径上转发。

IPv6组播路由与转发

IPv6组播路由表是由组播网络中各个不同的组播路由协议维护的不同类型的表项(MLD组表项、组播协议路由表、组播路由表和组播转发表)综合而成。最优的IPv6组播路由下发到IPv6硬件转发表中,用于指导IPv6组播数据的转发。同时执行RPF机制确保组播数据在正确的路径上转发。

MLD组表项:由主机发送的MLD Join加入报文触发创建,用于维护组成员信息,并通知组播路由协议创建(S,G)或(*,G)表项。

组播协议路由表:组播路由和转发的基础,是各种组播路由协议(PIM协议应用最广泛)维护的表项。

组播路由表:由组播路由管理模块生成,用于下发组播硬件转发表。支持多种组播路由协议汇总成一个优选路由。

组播硬件转发表:由路由表信息生成,用于指导组播数据的转发。

RPF检查

RPF检查基本原理

在单播路由与转发中,设备只需要考虑最终目的地址即可知道报文转发的出接口。组播路由与转发则不同,组播报文的目的地址为组播地址,无法通过目的地址确定接收者的位置。但是组播报文的源地址是确定的,通过源地址可以保证组播报文转发路径的正确性。

组播设备在收到组播报文后,通过报文的源地址查找到达组播源的单播路由,检查该单播路由的出接口是否与收到组播报文的入接口一致。如果一致,则认为该组播报文的转发路径是正确的,收到组播报文的入接口称为RPF接口。

RFP检查过程

单播路由、MBGP路由和组播静态路由都是RPF检查的依据。如果组播设备上这三种路由表都存在,在收到组播报文后依次进行如下检查:

通过报文源地址,三种路由表中各选出一条最优路由。

单播路由出接口为RPF接口,下一跳为RPF邻居。

MBGP路由出接口为RPF接口,下一跳为RPF邻居。

组播静态路由为手工配置的组播路由,已明确RPF接口和邻居。

从三条最优路由中选取一条作为RPF路由,选取原则如下:

未配置按照最长匹配选择RPF路由,则从三条路由中选择优先级最高的路由;如果优先级相同,则按照组播静态路由、MBGP路由和单播路由的顺序选择。

如果配置了按照最长匹配选择RPF路由,则优先选择最长匹配的路由;如果掩码一样长,则选择优先级最好的路由;如果优先级相同,则按照组播静态路由、MBGP路由和单播路由的顺序选择。

比较RPF路由的RPF接口与组播报文的入接口。

比较结果一致,则RPF检查通过,向下游设备转发组播报文。

比较结果不一致,则RPF检查失败,收到的组播报文被丢弃。

组播设备上的路由检查表

Network

Interface

1000::/64

Interface0

2000::/64

Interface1

3000::/64

Interface2

如图1-1所示,组播设备的Interface0收到来自组播源1000::1的组播数据。如表1-1所示,发现到达组播源1000::1的路由出口也为Interface0,两者一致,RPF检查成功,组播数据被成功转发。

RPF检查成功示意图

image.png

如图1-2所示,组播设备的Interface1收到来自组播源1000::1的组播数据。而到达该组播源1000::1的路由出口为Interface0,两者不一致,RPF检查失败,组播数据被丢弃。

RPF检查失败示意图

image.png

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

组播设备通过RPF检查机制来保证组播数据的正确转发,同时可以避免转发路径上环路的产生。但是在实际应用中如果每收到一份组播报文都进行RPF检查的话,将会给组播设备造成太大负担。因此组播设备在收到组播报文时首先检查是否有对应的(S,G)转发表项,而不是先进行RPF检查。过程如下:

不存在(S,G)转发表项,则进行RPF检查,将RPF接口作为入接口创建组播路由表并下发到组播转发表中。

RPF检查成功,则表明组播报文接收口与RPF接口一致,向转发表中所有出接口转发组播报文;

RPF检查失败,则表明组播报文接收口与RPF接口不一致,丢弃接收到的组播报文。

存在(S,G)转发表项,则比较转发表项入接口与组播报文接收口是否一致。

一致,则往所有出接口转发该组播报文。

不一致,则进行RPF检查。检查结果中,RPF接口与转发表项入接口一致,则表明报文来源路径错误,(S,G)表项正确,报文丢弃;RPF接口与转发表项入接口不一致,则说明(S,G)表项过期,表项中的入接口更新为RPF接口。再判断RPF接口与报文接收口是否一致,一致则向转发表的所有出接口转发该组播报文,否则丢弃该组播报文。

协议规范

RFC 2710:Multicast Listener Discovery (MLDv1) for IPv6

RFC 3810:Multicast Listener Discovery Version 2 (MLDv2) for IPv6

RFC 4601:Protocol Independent Multicast-Sparse Mode (PIM-SM)

RFC 5059:Bootstrap Router (BSR) Mechanism for Protocol Independent Multicast (PIM)

RFC 4607:Source-Specific Multicast for IP

配置任务概览

IPv6组播路由管理配置任务如下:

配置IPv6组播基本功能

(可选)配置IPv6组播路由表条目数量的上限

(可选)配置IPv6组播边界

(可选)配置IPv6组播静态路由

(可选)配置组播强制软件转发机制

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

(可选)配置组播不间断转发参数

(可选)开启组播流量负载分担功能

配置准备

组播网络中各个节点IPv6单播路由可达。

配置IPv6组播基本功能。

配置IPv6组播基本功能

功能简介

开启本地网络的组播路由功能,建立PIM网络,向网络内的数据源和用户终端提供IPv6组播服务。

设备通过执行IPv6组播路由协议(如PIM-SMv6)来维护转发组播报文的路由表,通过MLDv1/v2协议来学习在直连网段上组成员的状态。主机通过发送MLD REPORT消息来加入特定的IPv6组播组。

配置限制与指导

应在每台组播设备上开启IPv6组播路由功能。

先开启IPv6组播路由功能,再开启各种IPv6组播协议。

IPv6组播路由功能和MLD Snooping功能是互斥的。

应在组播网络中的各个接口开启IPv6组播协议功能。

当在Private VLAN和Super VLAN上开启三层组播后,当Sub VLAN内存在组播源时,由于组播转发时需要进行入口合法性检查,此时需要多复制一条表项,入口为组播流进入的Sub VLAN。造成的影响是多占用一条组播硬件表项,组播容量减少1。

配置准备

组播网络中的各个节点IPv6单播路由可达。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

开启IPv6组播路由功能。

ipv6 multicast-routing

缺省情况下,IPv6组播路由功能处于关闭状态。

进入接口配置模式。

进入三层以太网接口配置模式。

interface ethernet-type interface-number

进入三层聚合接口配置模式。

interface aggregateport interface-number

进入三层以太网子接口配置模式。

interface ethernet-type interface-number.subnumber

进入三层聚合子接口配置模式。

interface aggregateport interface-number.subnumber

进入SVI接口配置模式。

interface vlan interface-number

进入环回口配置模式。

interface loopback interface-number

配置IPv6组播协议。

ipv6 pim dense-mode

缺省情况下,IPv6组播协议处于关闭状态。

配置IPv6组播路由表条目数量的上限

功能简介

设备上每个收到的组播数据报文都维护相应的IPv6组播路由转发表项。但是,过量的组播路由表项可能会耗尽设备内存,从而导致设备性能下降。用户可以根据实际组网情况和业务性能要求对IPv6组播路由表中的表项数量进行限制。

配置限制与指导

因为受到硬件资源的限制,超过硬件允许范围的路由表项只能由软件转发,使性能下降。

配置准备

配置IPv6组播基本功能。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

配置IPv6组播路由表条目数量的上限。

ipv6 multicast route-limit limit [ threshold ]

缺省情况下,能够加入到IPv6组播路由中的数量为8000个。

配置的threshold的值必须小于等于配置的limit的值。

配置IPv6组播边界

功能简介

配置IPv6组播边界,限定组播报文的传递范围。当在一个接口上配置了组播转发边界后,将不能从该接口转发组播报文(包括本机发出的组播报文),也不能从该接口接收组播报文。

配置限制与指导

该命令可以对和该IPv6组范围相关的MLD和PIM-SMv6协议报文进行过滤,组播数据流不会从该组播边界接口流入和流出。

配置准备

配置IPv6组播基本功能。

配置IPv6组播边界前,需保证对应的ACL访问控制列表已经创建并指定组播组范围。关于ACL配置的详细介绍,请参见“ACL和QOS配置指南”中的“ACL”。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

进入接口配置模式。

进入三层以太网接口配置模式。

interface ethernet-type interface-number

进入三层聚合接口配置模式。

interface aggregateport interface-number

进入三层以太网子接口配置模式。

interface ethernet-type interface-number.subnumber

进入三层聚合子接口配置模式。

interface aggregateport interface-number.subnumber

进入SVI接口配置模式。

interface vlan interface-number

进入环回口配置模式。

interface loopback interface-number

开启IPv6组播路由功能。

ipv6 multicast boundary acl-name [ in | out ]

缺省情况下,未配置IPv6组播边界。

配置IPv6组播静态路由

功能简介

通过配置IPv6组播静态路由,可以为来自特定组播源的组播报文指定RPF接口或RPF邻居。主要作用是改变RPF路由和衔接RPF路由。

改变RPF路由:设备希望通过特定接口接收组播源发出的组播报文,但是RPF检查的结果不是该特定接口,此时需要配置组播静态路由,指定该特定接口为RPF接口。当设备收到组播源发过来的组播报文时会进行RPF检查,不是通过该特定接口上接收的报文在RPF检查时不通过。

衔接RPF路由:单播路由被阻断时,RPF路由失败。此时可通过配置组播静态路由指定RPF接口来完成RPF检查,实现组播报文转发。

配置限制与指导

如果要指定IPv6静态组播路由的出接口而非下一跳IP地址,那么该出接口必须为点对点类型。

配置准备

配置IPv6组播基本功能。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

配置IPv6组播静态路由。

ipv6 mroute ipv6-address/prefix-length [ protocol ] { ipv6-rpf-addrress | interface-type interface-number } [ distance ]

缺省情况下,未配置IPv6组播静态路由功能。

配置组播强制软件转发机制

功能简介

配置完之后,送CPU的IPv6组播数据报文都软件转发出去。

配置限制与指导

软件转发的缓存机制和转发性能问题,导致在组播流较大的情况下可能会出现报文乱序。一般情况下不建议配置此命令。

配置准备

配置IPv6组播基本功能。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

配置组播强制软件转发机制。

msf6 force-forwarding

缺省情况下,上送CPU的IPv6组播数据报文强制软件转发功能处于关闭状态。

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

功能简介

在组播路由环境中,可能会存在多种路由表,如组播静态路由表、MBGP路由表和单播路由表。配置按照最长匹配选择RPF路由后,从多种路由表的最优路由中选取掩码最长匹配的路由,作为RPF路由。如果掩码一样长,从多条最优路由中选择优先级最高的路由;如果优先级相同,则按照组播静态路由、MBGP路由和单播路由的顺序选择。

配置限制与指导

若无特殊要求,建议在每台设备上配置按照最长匹配选择RPF路由。

配置准备

配置IPv6组播基本功能。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

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

ipv6 multicast rpf longest-match

缺省情况下,选择优先级最高的路由作为RPF路由。如果优先级相同,则按照IPv6组播静态路由、IPv6 MBGP路由和IPv6单播路由的顺序进行选择。

配置组播不间断转发参数

功能简介

在某些主备切换的场景中,主备切换过程中组播协议(PIM-SMv6、MLD Snooping等)存在一个协议重新收敛的过程。配置组播不间断转发参数用于保证在组播协议重新收敛的这段时间内,组播数据流的转发不间断。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

配置组播不间断转发参数。

msf6 nsf { convergence-time convergence-time | leak interval }

缺省情况下,等待组播协议收敛的最大时间为20秒,报文组播泄漏的时间为30秒。

当协议收敛时间超时后,在协议收敛时间内未被更新过的所有组播转发表项将被删除。

开启组播流量负载分担功能

功能简介

当组播类业务的出接口为聚合接口时,组播流量应均衡地分担到聚合接口的各个成员口上进行转发。未开启组播流量负载分担功能时,由设备硬件对组播流量进行负载分担。开启组播流量负载分担功能后,则设备软件会基于哈希算法进一步提高组播流量负载分担的均衡效果。

配置限制与指导

组播流量负载分担功能的开启状态发生变化时,会出现少量报文丢失或报文重发。

本命令同时对IPv4组播流量和IPv6组播流量生效。

配置步骤

进入特权模式。

enable

进入全局配置模式。

configure terminal

开启组播流量负载分担功能。

ip multicast aggregateport load-balance member

缺省情况下,组播流量负载分担功能处于关闭状态。

监视与维护

可以通过show命令行查看功能配置后的运行情况以验证配置效果。

也可以通过debug命令行列举输出的各种调试信息。

注意

输出调试信息,会占用系统资源。使用完毕后,请立即关闭调试开关。

同时还可以通过执行clear命令来清除各类信息。

注意

在设备运行过程中执行clear命令,可能因为重要信息丢失而导致业务中断。

IPv6组播路由管理监视与维护

作用

命令

清除IPv6组播路由表

clear ipv6 mroute { ipv6-group-address [ ipv6-source �Caddress ] | * }

复位IPv6组播路由表统计信息

clear ipv6 mroute statistics { ipv6-group-address [ ipv6-source-address ] | * }

查看IPv6组播路由表信息

show ipv6 mroute [ ipv6-group-address | ipv6-source-address ] * [ sparse ] [ count | summary ]

查看特定IPv6源地址的RPF信息

show ipv6 rpf ipv6-source-address

查看IPv6静态组播路由的信息

show ipv6 mroute static

查看已经配置生效的IPv6组播接口的信息

show ipv6 mvif [ interface-type interface-number ]

查看IPv6三层组播转发表

show ipv6 mrf mfc

查看IPv6组播路由转发表已下发数据的统计信息

show ipv6 mrf6 sync-info

查看IPv6二三层组播转发表

show msf6 msc

查看MSFv6组播转发表项下发硬件时分配的编号和出口

show msf6 mc-grp [ mc-grp-id ]

查看IPv6组播路由管理NSR相关信息

show ipv6 mroute nsr

查看MSFv6 NSR相关信息

show msf6 nsr

查看组播核心的运行过程

debug nsm mcast6 all

查看IPv6组播核心对协议模块进行通信过程

debug nsm mcast6 fib-msg

查看IPv6组播核心关于接口运行过程

debug nsm mcast6 mif

查看IPv6组播核心关于接口和表现统计信息的处理过程

debug nsm mcast6 stats

查看IPv6三层组播报文转发的处理过程

debug ipv6 mrf forwarding

查看IPv6下对三层组播转发表项的操作过程

debug ipv6 mrf mfc

查看IPv6下关于三层组播转发事件的处理过程

debug ipv6 mrf event

查看IPv6二三层组播报文转发的处理过程

debug msf6 forwarding

查看IPv6下对二三层组播转发表项的操作过程

debug msf6 mfc

查看IPv6二三层组播转发操作底层硬件的处理过程

debug msf6 ssp

查看IPv6二三层组播转发提供的API接口被调用的处理过程

debug msf6 api

查看IPv6下关于二三层组播转发事件的处理过程

debug msf6 event

典型配置举例

IPv6组播静态路由改变RPF路由配置举例

组网需求

如图1-3所示,DeviceA、DeviceB和DeviceC运行OSPF协议,且各接口上都开启PIM-SMv6功能。组播源Source发出的组播数据沿着DeviceA->DeviceB发往HostA。为了减轻DeviceA->DeviceB链路的负担分离组播和单播数据流,要求从组播源Source发出的组播数据沿着DeviceA->DeviceC-> DeviceB路径进行传输。

组网图

IPv6组播静态路由改变RPF路由配置组网图

image.png

配置要点

如图1-3所示,通过在DeviceB配置组播静态路由改变接收组播数据的RPF接口,可实现途中所示的组播和单播业务分离。单播数据走DeviceA->DeviceB通路,组播数据走DeviceA->DeviceC->DeviceB通路。具体的配置方法如下:

在组播设备上配置IPv6地址和单播路由协议。单播路由可达是组播协议正常工作的基础。

在所有组播设备上开启IPv6组播路由功能,在组播设备相连的接口上、连接用户主机和组播源的接口上开启PIM-SMv6功能;在DeviceC上配置C-BSR和C-RP。

在DeviceB上配置RPF组播静态路由,指定RPF邻居为DeviceC,改变组播数据报文的转发路径。

配置步骤

在组播设备上配置IPv6地址和单播路由协议。

# 在DeviceA上配置IPv6地址和单播路由协议。

DeviceA> enable

DeviceA# config terminal

DeviceA(config)# interface GigabitEthernet 0/21

DeviceA(config-if-GigabitEthernet 0/21)# no switchport

DeviceA(config-if-GigabitEthernet 0/21)# ipv6 address 1000::1/64

DeviceA(config-if-GigabitEthernet 0/21)# ipv6 ospf 4949 area 0

DeviceA(config-if-GigabitEthernet 0/21)# exit

DeviceA(config)# interface GigabitEthernet 0/23

DeviceA(config-if-GigabitEthernet 0/23)# no switchport

DeviceA(config-if-GigabitEthernet 0/23)# ipv6 address 3000::1/64

DeviceA(config-if-GigabitEthernet 0/23)# ipv6 ospf 4949 area 0

DeviceA(config-if-GigabitEthernet 0/23)# exit

DeviceA(config)# interface GigabitEthernet 0/24

DeviceA(config-if-GigabitEthernet 0/24)# no switchport

DeviceA(config-if-GigabitEthernet 0/24)# ipv6 address 2000::1/64

DeviceA(config-if-GigabitEthernet 0/24)# ipv6 ospf 4949 area 0

DeviceA(config-if-GigabitEthernet 0/24)# ipv6 pim sparse-mode

DeviceA(config-if-GigabitEthernet 0/24)# exit

DeviceA(config)# ipv6 router ospf 4949

# 在DeviceB上配置IPv6地址和单播路由协议。

DeviceB> enable

DeviceB# config terminal

DeviceB(config)# interface GigabitEthernet 0/30

DeviceB(config-if-GigabitEthernet 0/30)# no switchport

DeviceB(config-if-GigabitEthernet 0/30)# ipv6 address 8000::1/64

DeviceB(config-if-GigabitEthernet 0/30)# ipv6 ospf 4949 area 0

DeviceB(config-if-GigabitEthernet 0/30)# exit

DeviceB(config)# interface GigabitEthernet 0/31

DeviceB(config-if-GigabitEthernet 0/31)# no switchport

DeviceB(config-if-GigabitEthernet 0/31)# ipv6 address 2000::2/64

DeviceB(config-if-GigabitEthernet 0/31)# ipv6 ospf 4949 area 0

DeviceB(config-if-GigabitEthernet 0/31)# exit

DeviceB(config)# interface GigabitEthernet 0/32

DeviceB(config-if-GigabitEthernet 0/32)# no switchport

DeviceB(config-if-GigabitEthernet 0/32)# ipv6 address 5000::2/64

DeviceB(config-if-GigabitEthernet 0/32)# exit

DeviceB(config)# interface Loopback 49

DeviceB(config-if-Loopback 49)# ipv6 address 4949::4949/128

DeviceB(config-if-Loopback 49)# ipv6 ospf 4949 area 0

DeviceB(config-if-Loopback 49)# exit

DeviceB(config)# ipv6 router ospf 4949

# 在DeviceC上配置IPv6地址和单播路由协议。

DeviceC> enable

DeviceC# config terminal

DeviceC(config)# interface GigabitEthernet 0/20

DeviceC(config-if-GigabitEthernet 0/20)# no switchport

DeviceC(config-if-GigabitEthernet 0/20)# ipv6 address 5000::1/64

DeviceC(config-if-GigabitEthernet 0/20)# ipv6 ospf 4949 area 0

DeviceC(config-if-GigabitEthernet 0/20)# exit

DeviceC(config)# interface GigabitEthernet 0/21

DeviceC(config-if-GigabitEthernet 0/21)# no switchport

DeviceC(config-if-GigabitEthernet 0/21)# ipv6 address 3000::2/64

DeviceC(config-if-GigabitEthernet 0/21)# ipv6 ospf 4949 area 0

DeviceC(config-if-GigabitEthernet 0/21)# exit

DeviceC(config)# interface Loopback 50

DeviceC(config-if-Loopback 50)# ipv6 address 5050::5050/128

DeviceC(config-if-Loopback 50)# ipv6 ospf 4949 area 0

DeviceC(config-if-Loopback 50)# exit

DeviceC(config)# ipv6 router ospf 4949

在所有组播设备上开启IPv6组播路由功能,在组播设备相连的接口上、连接用户主机和组播源的接口上开启PIM-SMv6功能;在DeviceC上配置C-BSR和C-RP。

# 在DeviceA上开启组播路由和PIM-SMv6相关功能。

DeviceA> enable

DeviceA# config terminal

DeviceA(config)# ipv6 multicast-routing

DeviceA(config)# interface GigabitEthernet 0/21

DeviceA(config-if-GigabitEthernet 0/21)# ipv6 pim sparse-mode

DeviceA(config-if-GigabitEthernet 0/21)# exit

DeviceA(config)# interface GigabitEthernet 0/23

DeviceA(config-if-GigabitEthernet 0/23)# ipv6 pim sparse-mode

DeviceA(config-if-GigabitEthernet 0/23)# exit

DeviceA(config)# interface GigabitEthernet 0/24

DeviceA(config-if-GigabitEthernet 0/24)# ipv6 pim sparse-mode

DeviceA(config-if-GigabitEthernet 0/24)# exit

# 在DeviceB上开启组播路由和PIM-SMv6相关功能。

DeviceB> enable

DeviceB# config terminal

DeviceB(config)# ipv6 multicast-routing

DeviceB(config)# interface GigabitEthernet 0/30

DeviceB(config-if-GigabitEthernet 0/30)# ipv6 pim sparse-mode

DeviceB(config-if-GigabitEthernet 0/30)# exit

DeviceB(config)# interface GigabitEthernet 0/31

DeviceB(config-if-GigabitEthernet 0/31)# ipv6 pim sparse-mode

DeviceB(config-if-GigabitEthernet 0/31)# exit

DeviceB(config)# interface GigabitEthernet 0/32

DeviceB(config-if-GigabitEthernet 0/32)# ipv6 pim sparse-mode

DeviceB(config-if-GigabitEthernet 0/32)# exit

DeviceB(config)# interface Loopback 49

DeviceB(config-if-Loopback 49)# ipv6 pim sparse-mode

DeviceB(config-if-Loopback 49)# exit

# 在DeviceC上开启组播路由和PIM-SMv6相关功能。

DeviceC> enable

DeviceC# config terminal

DeviceC(config)# ipv6 multicast-routing

DeviceC(config)# ipv6 multicast-routing

DeviceC(config)# interface GigabitEthernet 0/20

DeviceC(config-if-GigabitEthernet 0/20)# ipv6 pim sparse-mode

DeviceC(config-if-GigabitEthernet 0/20)# exit

DeviceC(config)# interface GigabitEthernet 0/21

DeviceC(config-if-GigabitEthernet 0/21)# ipv6 pim sparse-mode

DeviceC(config-if-GigabitEthernet 0/21)# exit

DeviceC(config)# interface Loopback 50

DeviceC(config-if-Loopback 50)# ipv6 pim sparse-mode

DeviceC(config-if-Loopback 50)# exit

# 在DeviceA上配置C-BSR和C-RP。

DeviceA> enable

DeviceA# config terminal

DeviceA(config)# ipv6 pim bsr-candidate GigabitEthernet 0/21

DeviceA(config)# ipv6 pim rp-candidate GigabitEthernet 0/21

在DeviceB上配置RPF组播静态路由,指定RPF邻居为DeviceC,改变组播数据报文的转发路径。

DeviceB> enable

DeviceB# config terminal

DeviceB(config)# ipv6  mroute 1000::/64 5000::1

验证配置结果

通过在设备DeviceB上show ipv6 mld groups查看HostA加入组播组FF15::11成功,组播源1000::2向组播组FF15::11发送报文。

DeviceB# show ipv6 mld groups

MLD Connected Group Membership

Group Address                           Interface                            Uptime    Expires   Last Reporter

ff15::11                                GigabitEthernet 0/30                 00:12:17  00:03:00  fe80::8205:88ff:fe22:b468

通过show ipv6 mroute在设备DeviceA上查看组播转发表,下一跳是DeviceC,出接口为GigabitEthernet 0/23。

DeviceA# show ipv6 mroute

IPv6 Multicast Routing Table

Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed,

R - RPT, S - SPT, s - SSM Group

Timers: Uptime/Stat Expiry

Interface State: Interface

(1000::2, ff15::11), uptime 00:08:53, stat expires 00:03:12

Owner PIMSMV6, Flags: TFS

Incoming interface: GigabitEthernet 0/21

Outgoing interface list:

GigabitEthernet 0/23

通过show ipv6 rpf命令在DeviceB上查看到组播源的下一跳为DeviceC,RPF接口为GigabitEthernet 0/32。

DeviceB# show ipv6 rpf 1000::

RPF information for 1000::

RPF interface: GigabitEthernet 0/32

RPF neighbor: 5000::1

RPF route: 1000::/64

RPF type: static

RPF recursion count: 0

Doing distance-preferred lookups across tables

Distance: 0

Metric: 0

配置文件

DeviceA的配置文件

hostname DeviceA

!

ipv6 multicast-routing

!

interface GigabitEthernet 0/21

no switchport

ipv6 address 1000::1/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/23

no switchport

ipv6 address 3000::1/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/24

no switchport

ipv6 address 2000::1/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

ipv6 router ospf 4949

graceful-restart

!

ipv6 pim bsr-candidate GigabitEthernet 0/21

ipv6 pim rp-candidate GigabitEthernet 0/21

!

DeviceB的配置文件

hostname DeviceB

!

ipv6 multicast-routing

!

ipv6 mroute 1000::/64 5000::1

!

interface GigabitEthernet 0/30

no switchport

ipv6 address 8000::1/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/31

no switchport

ipv6 address 2000::2/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/32

no switchport

ipv6 address 5000::2/64

ipv6 pim sparse-mode

!

interface Loopback 49

ipv6 address 4949::4949/128

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

ipv6 router ospf 4949

graceful-restart

!

DeviceC的配置文件

hostname DeviceC

!

ipv6 multicast-routing

!

interface GigabitEthernet 0/20

no switchport

ipv6 address 5000::1/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/21

no switchport

ipv6 address 3000::2/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface Loopback 50

ipv6 address 5050::5050/128

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

ipv6 router ospf 4949

graceful-restart

!

常见错误

IPv6单播路由配置错误。

某台组播设备没有开启IPv6组播路由。

某个接口没有开启IPv6组播协议。

组播静态路由衔接RPF路由配置举例

组网需求

如图1-4所示,DeviceB和DeviceC之间运行OSPF协议,与DeviceA单播路由隔离。DeviceA、DeviceB和DeviceC上的接口均开启PIM-SMv6功能。HostA能够正常接收Source2的信息,要求HostA也能接收Source1的组播数据报文。

组网图

IPv6组播静态路由衔接RPF路由配置组网图

image.png

配置要点

通过配置组播静态路由,沿DeviceB->DeviceC->DeviceA这条路径建立能够到达组播源Source1的RPF路由。具体配置方法如下:

配置各个设备的接口IPv6地址,在DeviceB和DeviceC上配置OSPF路由协议,与DeviceA单播路由隔离。

开启IPv6组播路由功能,在所有设备的各个三层接口上配置PIM-SMv6协议并配置C-BSR和C-RP,在与主机相连的接口配置MLD功能。

在DeviceB和DeviceC上配置达到组播源Source1的组播静态路由。

配置步骤

配置各个设备的接口IPv6地址,在DeviceB和DeviceC上配置OSPF路由协议,与DeviceA单播路由隔离。

# 在DeviceA上配置接口IPv6地址。

DeviceA> enable

DeviceA# configure terminal

DeviceA(config)# interface GigabitEthernet 0/21

DeviceA(config-if-GigabitEthernet 0/21)# no switchport

DeviceA(config-if-GigabitEthernet 0/21)# ipv6 address 1000::1/64

DeviceA(config-if-GigabitEthernet 0/21)# exit

DeviceA(config)# interface GigabitEthernet 0/23

DeviceA(config-if-GigabitEthernet 0/23)# no switchport

DeviceA(config-if-GigabitEthernet 0/23)# ipv6 address 3000::1/64

DeviceA(config-if-GigabitEthernet 0/23)# exit

DeviceA(config)# ipv6 route 5050::5050/128 3000::2

# 在DeviceB上配置接口IPv6地址和OSPF路由协议。

DeviceB> enable

DeviceB# configure terminal

DeviceB(config)# interface GigabitEthernet 0/30

DeviceB(config-if-GigabitEthernet 0/30)# no switchport

DeviceB(config-if-GigabitEthernet 0/30)# ipv6 address 8000::1/64

DeviceB(config-if-GigabitEthernet 0/30)# ipv6 ospf 4949 area 0

DeviceB(config-if-GigabitEthernet 0/30)# exit

DeviceB(config)# interface GigabitEthernet 0/32

DeviceB(config-if-GigabitEthernet 0/32)# no switchport

DeviceB(config-if-GigabitEthernet 0/32)# ipv6 address 5000::2/64

DeviceB(config-if-GigabitEthernet 0/32)# ipv6 ospf 4949 area 0

DeviceB(config-if-GigabitEthernet 0/32)# exit

DeviceB(config)# interface Loopback 49

DeviceB(config-if-Loopback 49)# ipv6 address 4949::4949/128

DeviceB(config-if-Loopback 49)# ipv6 ospf 4949 area 0

DeviceB(config-if-Loopback 49)# exit

DeviceB(config)# ipv6 router ospf 4949

DeviceB(config-router)# exit

# 在DeviceC上配置接口IPv6地址和OSPF路由协议。

DeviceC> enable

DeviceC# configure terminal

DeviceC(config)# interface GigabitEthernet 0/18

DeviceC(config-if-GigabitEthernet 0/18)# no switchport

DeviceC(config-if-GigabitEthernet 0/18)# ipv6 address 1012::1/64

DeviceC(config-if-GigabitEthernet 0/18)# ipv6 ospf 4949 area 0

DeviceC(config-if-GigabitEthernet 0/18)# exit

DeviceC(config)# interface GigabitEthernet 0/20

DeviceC(config-if-GigabitEthernet 0/20)# no switchport

DeviceC(config-if-GigabitEthernet 0/20)# ipv6 address 5000::1/64

DeviceC(config-if-GigabitEthernet 0/20)# ipv6 ospf 4949 area 0

DeviceC(config-if-GigabitEthernet 0/20)# exit

DeviceC(config)# interface GigabitEthernet 0/21

DeviceC(config-if-GigabitEthernet 0/21)# no switchport

DeviceC(config-if-GigabitEthernet 0/21)# ipv6 address 3000::2/64

DeviceC(config-if-GigabitEthernet 0/21)# ipv6 ospf 4949 area 0

DeviceC(config-if-GigabitEthernet 0/21)# exit

DeviceC(config)# interface Loopback 50

DeviceC(config-if-Loopback 50)# ipv6 address 5050::5050/128

DeviceC(config-if-Loopback 50)# ipv6 ospf 4949 area 0

DeviceC(config-if-Loopback 50)# exit

DeviceC(config)# ipv6 router ospf 4949

DeviceC(config-router)# exit

开启IPv6组播路由功能,在所有设备的各个三层接口上配置PIM-SMv6协议并配置C-BSR和C-RP,在与主机相连的接口配置MLD功能。

# 在DeviceA上开启IPv6组播路由功能和PIM-SMv6协议。

DeviceA> enable

DeviceA# configure terminal

DeviceA(config)# ipv6 multicast-routing

DeviceA(config)# interface GigabitEthernet 0/21

DeviceA(config-if-GigabitEthernet 0/21)# ipv6 pim sparse-mode

DeviceA(config-if-GigabitEthernet 0/21)# exit

DeviceA(config)# interface GigabitEthernet 0/23

DeviceA(config-if-GigabitEthernet 0/23)# ipv6 pim sparse-mode

DeviceA(config-if-GigabitEthernet 0/23)# exit

# 在DeviceB上开启IPv6组播路由功能和PIM-SMv6协议。

DeviceB> enable

DeviceB# configure terminal

DeviceB(config)# ipv6 multicast-routing

DeviceB(config)# interface GigabitEthernet 0/30

DeviceB(config-if-GigabitEthernet 0/30)# ipv6 pim sparse-mode

DeviceB(config-if-GigabitEthernet 0/30)# exit

DeviceB(config)# interface GigabitEthernet 0/32

DeviceB(config-if-GigabitEthernet 0/32)# ipv6 pim sparse-mode

DeviceB(config-if-GigabitEthernet 0/32)# exit

DeviceB(config)# interface Loopback 49

DeviceB(config-if-Loopback 49)# ipv6 pim sparse-mode

DeviceB(config-if-Loopback 49)# exit

# 在DeviceC上开启IPv6组播路由功能和PIM-SMv6协议相关功能。

DeviceC> enable

DeviceC# configure terminal

DeviceC(config)# ipv6 multicast-routing

DeviceC(config)# interface GigabitEthernet 0/18

DeviceC(config-if-GigabitEthernet 0/18)# ipv6 pim sparse-mode

DeviceC(config-if-GigabitEthernet 0/18)# exit

DeviceC(config)# interface GigabitEthernet 0/20

DeviceC(config-if-GigabitEthernet 0/20)# ipv6 pim sparse-mode

DeviceC(config-if-GigabitEthernet 0/20)# exit

DeviceC(config)# interface GigabitEthernet 0/21

DeviceC(config-if-GigabitEthernet 0/21)# ipv6 pim sparse-mode

DeviceC(config-if-GigabitEthernet 0/21)# exit

DeviceC(config)# interface Loopback 50

DeviceC(config-if-Loopback 50)# ipv6 pim sparse-mode

DeviceC(config-if-Loopback 50)# exit

DeviceC(config)# ipv6 pim bsr-candidate Loopback 50

DeviceC(config)# ipv6 pim rp-candidate Loopback 50

# Source1(1000::2/64)和Source2(1012::2/64)都向组播组(FF14::10)发送组播数据报文。HostA加入组播组FF14::10,能够收到Source2发送的组播数据报文,收不到Source1发出的组播数据报文。

# 在DeviceC上执行show ipv6 rpf 1000::2命令,显示路由不存在。说明DeviceC没有到Source1的RPF路由。

在DeviceB和DeviceC上配置达到组播源Source1的组播静态路由。

# 在DeviceB上配置RPF组播静态路由,到Source1的RPF邻居为DeviceC。

DeviceB> enable

DeviceB# configure terminal

DeviceB(config)# ipv6 mroute 1000::/64 5000::1

# 在DeviceC上配置RPF组播静态路由,到Source1的RPF邻居为DeviceA。

DeviceC> enable

DeviceC# configure terminal

DeviceC(config)# ipv6 mroute 1000::/64 3000::1

验证配置结果

# 在DeviceB上执行show ipv6 rpf 1000::2命令,查看Source1的RPF信息。RPF信息显示如下。

DeviceB# show ipv6 rpf 1000::2

RPF information for 1000::2

RPF interface: GigabitEthernet 0/32

RPF neighbor: 5000::1

RPF route: 1000::/64

RPF type: static

RPF recursion count: 0

Doing distance-preferred lookups across tables

Distance: 0

Metric: 0

# 在DeviceC上执行show ipv6 rpf 1000::2命令,查看Source1的RPF信息。RPF信息显示如下。

DeviceC# show ipv6 rpf 1000::2

RPF information for 1000::2

RPF interface: GigabitEthernet 0/21

RPF neighbor: 3000::1

RPF route: 1000::/64

RPF type: static

RPF recursion count: 0

Doing distance-preferred lookups across tables

Distance: 0

Metric: 0

# 组播源Source1和Source2都向组播组FF14::10发送组播报文,HostA加入组播组FF14::10。

# DeviceC上show ipv6 pim sparse-mode mroute命令查看路由表信息。DeviceC上存在Source1的组播表项。HostA正常接收来自Source1的组播数据报文。

DeviceC# show ipv6 pim sparse-mode mroute

IPv6 Multicast Routing Table

(*,*,RP) Entries: 0

(*,G) Entries: 1

(S,G) Entries: 2

(S,G,rpt) Entries: 2

FCR Entries: 0

REG Entries: 0

(*, ff14::10)

RP: 5050::5050

RPF nbr: ::

RPF idx: None

Upstream State: JOINED

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Local

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Joined

0  .  .  .  j  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Asserted

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

FCR:

(1000::2, ff14::10)

RPF nbr: fe80::2d0:f8ff:fe22:358d

RPF idx: GigabitEthernet 0/21

SPT bit: 1

Upstream State: JOINED

jt_timer expires in 11 seconds

kat expires in 209 seconds

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Local

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Joined

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Asserted

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Outgoing

0  .  .  .  o  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

(1000::2, ff14::10, rpt)

RP: 5050::5050

RPF nbr: ::

RPF idx: None

Upstream State: PRUNED

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Local

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Pruned

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Outgoing

0  .  .  .  o  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

(1012::2, ff14::10)

RPF nbr: fe80::2d0:f8ff:fe22:363d

RPF idx: GigabitEthernet 0/18

SPT bit: 1

Upstream State: JOINED

jt_timer expires in 19 seconds

kat expires in 147 seconds

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Local

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Joined

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Asserted

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Outgoing

0  .  .  .  o  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

(1012::2, ff14::10, rpt)

RP: 5050::5050

RPF nbr: ::

RPF idx: None

Upstream State: PRUNED

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Local

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Pruned

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Outgoing

0  .  .  .  o  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

# DeviceB上show ipv6 pim sparse-mode mroute命令查看路由表信息。DeviceB上存在Source1的组播表项。HostA正常接收来自Source1的组播数据报文。

DeviceB> enable

DeviceB# show ipv6 pim sparse-mode mroute

IPv6 Multicast Routing Table

(*,*,RP) Entries: 0

(*,G) Entries: 1

(S,G) Entries: 0

(S,G,rpt) Entries: 0

FCR Entries: 2

REG Entries: 0

(*, ff14::10)

RP: 5050::5050

RPF nbr: fe80::274:9cff:feee:f49f

RPF idx: GigabitEthernet 0/32

Upstream State: JOINED

jt_timer expires in 58 seconds

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Local

0  .  i  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Joined

0  .  j  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

Asserted

0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

FCR:

Source: 1000::2

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Outgoing

0  .  0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

KAT timer running, 120 seconds remaining

Packet count 1

Source: 1012::2

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Outgoing

0  .  0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

1  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

3  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

4  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

5  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

6  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

7  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

KAT timer running, 99 seconds remaining

Packet count 1

配置文件

DeviceA的配置文件

hostname DeviceA

!

ipv6 multicast-routing

!

interface GigabitEthernet 0/21

no switchport

ipv6 address 1000::1/64

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/23

no switchport

ipv6 address 3000::1/64

ipv6 pim sparse-mode

!

ipv6 route 5050::5050/128 3000::2

!

DeviceB的配置文件

hostname DeviceB

!

ipv6 multicast-routing

!

ipv6 mroute 1000::/64 5000::1

!

interface GigabitEthernet 0/30

no switchport

ipv6 address 8000::1/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/32

no switchport

ipv6 address 5000::2/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

ipv6 router ospf 4949

graceful-restart

!

DeviceC的配置文件

hostname DeviceC

!

ipv6 multicast-routing

!

ipv6 mroute 1000::/64 3000::1

!

interface GigabitEthernet 0/18

no switchport

ipv6 address 1012::1/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/20

no switchport

ipv6 address 5000::1/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface GigabitEthernet 0/21

no switchport

ipv6 address 3000::2/64

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

interface Loopback 50

ipv6 address 5050::5050/128

ipv6 ospf 4949 area 0

ipv6 pim sparse-mode

!

ipv6 router ospf 4949

graceful-restart

!

ipv6 pim bsr-candidate Loopback 50

ipv6 pim rp-candidate Loopback 50

!

常见错误

IPv6单播路由配置错误。