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

07-IP组播配置指导

目录

12-IPv6组播路由与转发配置

本章节下载 12-IPv6组播路由与转发配置  (543.37 KB)

12-IPv6组播路由与转发配置


1 IPv6组播路由与转发

1.1  IPv6组播路由与转发简介

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

1.1.1  RPF检查机制

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

1. RPF检查过程

执行RPF检查的过程如下:

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

说明 

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

·     如果当前报文沿从组播源到接收者或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组播配置指导”中的“IPv6 PIM”。

 

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

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

¡     选择前缀长度最长的路由。

¡     如果前缀长度相同,则选择路由优先级最高的路由。

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

¡     如果存在等价路由,则选择下一跳的IPv6地址较大者。

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

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

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

¡     如果存在等价路由,则选择下一跳的IPv6地址较大者。

说明

RPF路由中包含有RPF接口和RPF邻居的信息,不论RPF路由为IPv6单播路由还是IPv6 MBGP路由,该路由表项的出接口都是RPF接口,下一跳都是RPF邻居。

 

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

·     相同,RPF检查通过。

·     不同,RPF检查失败。

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

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

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

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

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

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

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

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

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

图1-1 RPF检查过程

 

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

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

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

1.1.2  跨IPv6单播网段的IPv6组播转发

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

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

 

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

说明

IPv6组播数据暂不支持通过6to4隧道进行传输。

 

1.1.3  IPv6组播路径跟踪

IPv6 Mtrace功能可以用来跟踪IPv6组播数据在组播网络中经过的路径。

1. 角色介绍

·     LHR(Last-hop Router,最后一跳路由器):在指定组播网络中,如果某路由器有一个接口的IPv6地址与指定目的端IPv6地址在同一个网段内,且能够向该网段转发特定的组播流,则称该路由器为最后一跳路由器。

·     FHR(First-hop Router,第一跳路由器):与组播源直连的路由器。

·     Client(客户端):触发组播路径跟踪的路由器。

2. 执行过程

(1)     客户端向指定目的端发送最大TTL的查询报文(Query Message)。

(2)     最后一跳路由器收到查询报文后,在该报文上添加本地转发信息,将其转换成请求报文(Request Message),并向上游邻居转发该请求报文。

(3)     路径中的每台路由器都在收到的请求报文后添加本地转发信息,并向上游邻居发送。

(4)     第一跳路由器在收到请求报文后,同样添加本地转发信息,然后将其报文类型改为回应报文(Reply Message),向客户端发送。

(5)     客户端收到回应报文后解析其中的转发信息并显示该信息。

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

通过ISSU方式对多个成员设备组成的IRF组网环境进行版本升级时,若三层组播路由入接口包含非本设备上的成员端口,在升级过程中重启该设备无法保证流量不中断。

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

IPv6组播路由与转发配置任务如下:

(1)     使能IPv6组播路由

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

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

(4)     (可选)配置IPv6组播负载分担

(5)     (可选)配置IPv6组播流策略

(6)     (可选)配置IPv6组播转发边界

(7)     (可选)配置IPv6组播路径跟踪功能

(8)     (可选)配置缓存未知IPv6组播数据报文的最大数目

(9)     (可选)配置IPv6组播FRR

(10)     (可选)配置IPv6组播报文软转发复制数量的最大值

(11)     (可选)配置跨VPN的IPv6组播转发路由选路策略

1.4  配置准备

在配置IPv6组播路由与转发之前,需配置任一IPv6单播路由协议,实现域内网络层互通。

1.5  使能IPv6组播路由

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

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

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

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

1.6  配置IPv6组播静态路由

1. 功能简介

通过配置IPv6组播静态路由,可以为来自特定IPv6组播源的组播报文指定RPF接口或RPF邻居。

2. 配置限制和指导

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置IPv6组播静态路由。

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

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

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

可以通过undo ipv6 rpf-route-static命令删除指定的IPv6组播静态路由外,也可以通过delete ipv6 rpf-route-static命令删除所有的IPv6组播静态路由。

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

1. 功能简介

在未配置按照最长匹配选择RPF路由之前,RPF检查以最优路由作为RPF路由。在配置按照最长匹配选择RPF路由之后,RPF检查将按照最长匹配选择RPF路由。有关RPF路由选择的详细介绍,请参见“1.1.1  1. RPF检查过程”。

(1)     进入系统视图。

system-view

(2)     进入IPv6 MRIB视图。

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

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

longest-match

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

1.8  配置IPv6组播负载分担

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IPv6 MRIB视图。

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

(3)     配置对IPv6组播流量进行负载分担。

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

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

1.9  配置IPv6组播流策略

1.9.1  功能简介

当下游设备与上游设备之间存在多条等价路由,且IPv6组播流量的负载分担方式为flow-ucmp(通过load-splitting命令配置)时,通过配置IPv6组播流策略,可以指定组播源组符合ACL匹配规则的IPv6组播流预计带宽。下游设备在选择上游入口设备时,将选择根据IPv6组播流预计带宽计算得到的IPv6组播流带宽利用率最小的那条的链路,如果IPv6组播流带宽利用率相同,则选择下一跳IPv6地址大的链路。IPv6组播流带宽利用率=(已使用带宽+组播流预计带宽)/(接口总带宽*(1-单播预留带宽))。其中:

·     组播流预计带宽值通过IPv6组播流策略视图下的bandwidth命令配置。

·     接口总带宽通过接口视图下的bandwidth命令配置。

·     单播预留带宽通过flow-ucmp unicast reserve-bandwidthipv6 multicast flow-ucmp unicast reserve-bandwidth命令配置。

1.9.2  配置限制和指导

配置本功能的同时,请通过load-splitting命令将组播流量负载分担方式配置为flow-ucmp,否则配置不生效。

新增、删除和修改组播流策略,以及修改组播流策略下的配置,都不会影响已有组播流的选路结果,只影响新增组播流的选路。因此,在将组播流量负载分担方式配置为flow-ucmp前,需要规划并完成组播流策略视图下的配置和单播预留带宽比的配置。

链路自身带宽配置变化、等价链路数量变化等不影响已有组播流量的选路结果。

组播源侧的选路、IPv6 PIM DM模式选路、IPv6 PIM SM模式的RPT选路、本地RP选路均不受本配置影响。

当网络中同时存在IPv4和IPv6组播流量时,请适当提高单播预留带宽比,以免造成链路拥塞。

1.9.3  创建IPv6组播流策略

(1)     进入系统视图。

system-view

(2)     进入IPv6 MRIB视图。

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

(3)     配置IPv6组播流策略或缺省IPv6组播流策略。

¡     配置IPv6组播流策略。

flow-policy name policy-name

¡     配置缺省IPv6组播流策略。

flow-policy default

缺省情况下,不存在IPv6组播流策略。

1.9.4  配置IPv6组播流策略生效的组播组范围

1. 功能简介

本功能用来配置IPv6组播流策略生效的组播组范围。若某个组播源组与某个组播流策略中的ACL规则匹配,则认为该组播源组对应的组播流的预计带宽值为IPv6组播流策略视图下bandwidth命令配置的值。

2. 配置限制和指导

IPv6缺省组播流策略视图下不支持配置本功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IPv6 MRIB视图。

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

(3)     进入IPv6组播流策略视图。

flow-policy { default | name policy-name }

(4)     配置IPv6组播流策略生效的组播源组范围。

acl { ipv6-acl-number | name ipv6-acl-name }

缺省情况下,未配置IPv6组播流策略生效的组播源组范围,即IPv6组播流策略对所有的组播源组均不生效。

1.9.5  配置IPv6组播流的预计带宽

1. 功能简介

IPv6组播流预计带宽的选择过程如下:

(1)     若IPv6组播流量所属的组播源组与某个组播流策略中的ACL规则匹配,则该IPv6组播流预计带宽值为IPv6组播流策略视图下的bandwidth命令配置的值。

(2)     若IPv6组播流量所属的组播源组没有与任何组播流策略中的ACL规则匹配,则该IPv6组播流预计带宽值为IPv6缺省组播流策略视图下的bandwidth命令配置的值。

(3)     若IPv6缺省组播流策略未配置或者IPv6缺省组播流策略视图下也未配置IPv6组播流预计带宽,则认为IPv6组播流预计带宽为0。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入IPv6 MRIB视图。

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

(3)     进入IPv6组播流策略视图。

flow-policy { default | name policy-name }

(4)     配置IPv6组播流的预计带宽。

bandwidth bandwidth { gbps | kbps | mbps }

缺省情况下,未配置IPv6组播流的预计带宽,预计带宽为0。

1.9.6  配置IPv6单播流量预留带宽比

1. 功能简介

网络中IPv6单播流量和IPv6组播流量共存,可以通过本功能为IPv6单播流量配置预留带宽比。根据接口带宽以及本命令配置的IPv6单播预留带宽比,可以计算出接口组播流量的可用总带宽。比如,接口的总带宽为100Kbps,IPv6单播预留带宽比为20%(即20Kbps),则接口IPv6组播流量的可用总带宽为80Kbps。

2. 配置限制和指导

配置本功能的同时,请通过load-splitting命令将组播流量负载分担方式配置为flow-ucmp,否则配置不生效。

flow-ucmp unicast reserve-bandwidth命令与ipv6 multicast flow-ucmp unicast reserve-bandwidth命令的功能相同,只是作用范围不同:IPv6 MRIB视图下的全局配置对所有接口都有效,接口视图下的配置只对当前接口有效,后者的配置优先级较高。

3. 全局配置IPv6单播流量预留带宽比

(1)     进入系统视图。

system-view

(2)     进入IPv6 MRIB视图。

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

(3)     全局配置IPv6单播流量预留带宽比。

flow-ucmp unicast reserve-bandwidth percentage

缺省情况下,全局未配置IPv6单播流量预留带宽比。

4. 接口上配置IPv6单播流量预留带宽比

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     在接口上配置IPv6单播流量预留带宽比。

ipv6 multicast flow-ucmp unicast reserve-bandwidth percentage

缺省情况下,未在接口上配置IPv6单播流量预留带宽比。

1.10  配置IPv6组播转发边界

1. 功能简介

IPv6组播信息在网络中的转发并不是漫无边际的,每个IPv6组播组对应的IPv6组播信息都必须在确定的范围内传递。IPv6组播转发边界可以限制IPv6组播协议报文的收发,为指定范围或Scope值的IPv6组播组划定了边界条件。如果IPv6组播报文的目的地址与边界条件匹配,就停止转发。当在一个接口上配置了IPv6组播转发边界后,将不能从该接口转发IPv6组播报文(包括本机发出的IPv6组播报文),并丢弃该接口接收到的IPv6组播报文。

2. 配置限制和指导

本配置不需要使能IPv6组播路由。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置IPv6组播转发边界。

ipv6 multicast boundary { ipv6-group-address prefix-length | scope { scope-id | admin-local | global | organization-local | site-local } }

缺省情况下,接口上未配置任何IPv6组播组的转发边界。

1.11  配置IPv6组播路径跟踪功能

1. 配置限制和指导

跟踪路径上所有设备必须配置相同的UDP端口号,并保证UDP端口号没有被其他业务使用。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置IPv6 Mtrace服务使用的UDP端口号。

ipv6 mtrace-service port number

缺省情况下,IPv6 Mtrace服务使用的UDP端口号为10240。

(3)     利用IPv6 Mtrace功能跟踪IPv6组播数据的传输路径。

mtrace v2 ipv6 [ vpn-instance vpn-instance-name ] { source-address | group-address } * [ destination address | port number | wait-time time | max-hop count ] * [ verbose ]

本命令指定的端口号与上一条命令配置的UDP端口号相同。

1.12  配置缓存未知IPv6组播数据报文的最大数目

1. 功能简介

接收到IPv6组播数据报文后,如果没有查找到对应的IPv6组播转发表项,则设备会缓存该报文。若在一定时间内建立了该报文对应的IPv6组播转发表项,则转发该报文,以确保在组播转发表项建立的过程中不会丢弃匹配该表项的组播报文。

可以通过以下两种方式控制设备缓存的未知IPv6组播数据报文数目:

·     设置对于同一个(S,G)表项,可缓存的最大未知IPv6组播数据报文数目。

·     设置内存中可缓存的未知IPv6组播数据报文的最大数目。

2. 配置限制和指导

建议配置ipv6 multicast forwarding-table cache-unknown total的值要远远大于ipv6 multicast forwarding-table cache-unknown per-entry配置的值。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     设置对于同一个(S,G)表项,可缓存的最大未知IPv6组播数据报文数目。

ipv6 multicast forwarding-table cache-unknown per-entry per-entry-limit

缺省情况下,对于同一个(S,G)表项,可缓存的最大未知IPv6组播数据报文数目为1。

(3)     设置内存中可缓存的未知IPv6组播数据报文的最大数目。

ipv6 multicast forwarding-table cache-unknown total total-limit

缺省情况下,内存中可缓存的未知IPv6组播数据报文的最大数目为1024。

1.13  配置IPv6组播FRR

1.13.1  配置限制和指导

S6520X-EI-G系列交换机和WS6520-WiNet系列交换机不支持配置本功能。

1.13.2  配置IPv6组播FRR的工作模式

1. 功能简介

当设备上开启IPv6组播FRR(Fast Reroute,快速重路由)功能后,同一个(S,G)或(*,G)表项将会存在主备入接口,同时将会周期性检测主备入接口的组播流量。当检测到组播流量未从主入接口到达,表示主入接口存在故障,此时会将该表项的入接口切换到备份入接口。

IPv6组播FRR有按表项检测和按入接口检测两种工作模式。在不同的工作模式下,对于主备入接口组播流量的检测方式不同,具体差异为:

·     按表项检测模式:在此模式下,当开启了IPv6组播FRR功能后,设备将周期性的针对每条表项进行主备入接口流量的检测。

·     按入接口检测模式:在此模式下,当开启了IPv6组播FRR功能后,设备会将主备入接口均相同的组播表项划分为一组,然后周期性对这组表项进行主备入接口流量的检测。

2. 配置限制和指导

目前只有PIM支持IPv6组播FRR。关于PIM FRR的详细介绍,请参见“IP组播配置指导”中的“IPv6 PIM”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置IPv6组播FRR的工作模式。

ipv6 multicast frr mode [ by-entry | by-iif ]

缺省情况下,IPv6组播FRR的工作模式为按表项检测模式。

 

 

1.13.3  IPv6组播FRR监测主备链路状态的周期

1. 功能简介

当连接组播源的设备发生故障时,为了加快组播业务收敛速度,可以在连接接收者的设备上开启IPv6组播FRR功能。设备上开启IPv6组播FRR功能后,设备将为同一个(S,G)或(*,G)表项保存主备两个入接口,并周期性检测主备入接口的组播流量。如果检测到组播流量未从主入接口到达,则表示主链路存在故障,此时连接接收者的设备将选择接收从备份链路发来的组播流量。通过功能,可以配置IPv6组播FRR监测主备链路状态的周期。

2. 配置限制和指导

在配置本功能前,请先通过rpf-frr enablec-multicast frr命令开启公网或私网的IPv6组播FRR功能。有关rpf-frr enablec-multicast frr命令的详细介绍,请分别参见“IP组播命令参考”中的“IPv6 PIM”和“组播VPN”。

组播转发表项较多时,建议将监测主备链路状态的周期调大,避免在短时间内监测过多的组播表项对应的组播流量,导致CPU负载过重;当组播流量速率比较小时,也建议将监测主备链路状态的周期调大,避免监测周期过短监测过于频繁,造成链路故障的误判。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置IPv6组播FRR监测主备链路状态的周期。

ipv6 multicast frr monitor cycle monitor-time

缺省情况下,IPv6组播FRR监测主备链路状态的周期为200毫秒。

 

1.13.4  配置IPv6组播FRR中组播流量从备份链路回切到主链路功能

1. 功能简介

连接接收者的设备上开启IPv6组播FRR功能后,设备检测到主链路发生故障时,设备会选择接收备份链路的组播流量。当主链路故障恢复后,可以通过本功能用来配置是否需要将组播流量从备份链路切换到主链路,以及切换的延迟时间。

2. 配置限制和指导

在配置本功能前,请先通过rpf-frr enablec-multicast frr命令开启公网或私网的IPv6组播FRR功能。有关rpf-frr enablec-multicast frr命令的详细介绍,请分别参见“IP组播命令参考”中的“IPv6 PIM”和“组播VPN”。

建议配置的IPv6组播FRR中组播流量从备份链路回切到主链路的等待时间不要过短,以免在主链路完成组播表项建立前,将组播流量回切到主链路,导致组播流量转发失败。

组播流量回切过程中,可能会导致部分组播业务出现多包或者丢包。在组播业务可靠性要求较高的场景下,建议配置为不回切。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置IPv6组播FRR中组播流量从备份链路回切到主链路功能。

ipv6 multicast frr wtr { wtr-time | disable }

缺省情况下,IPv6组播FRR中组播流量从备份链路回切到主链路功能处于开启状态,回切的等待时间为600秒。

 

1.14  配置跨VPN的IPv6组播转发路由选路策略

1.14.1  功能简介

配置跨VPN组播转发路由的RPF选路策略,可以实现组播源和组播接收者位于不同的VPN网络之间的组播转发。

1.14.2  配置限制和指导

源VPN和接收者VPN必须运行相同的PIM模式,目前支持PIM-SM和PIM-SSM。

只支持一次跨VPN组播转发,接收VPN不能同时作为源VPN。

采用PIM-SM方式,对于同一个组播组地址,只能配置一条指定VPN实例的组播路由的RPF选路策略。

如果在接收者VPN中配置了跨VPN的IPv6组播路由的RPF选路策略,且该策略只指定了组播组地址,那么该VPN原先相同的VPN实例的组播流量转发将中断。

如果在RPF选路策略中指定了组播源,则需同时配置两条RPF选路策略:

·     如果未指定组播组,那么其中一条是以服务于有跨VPN需求的组播组的RP地址作为源地址,另一条是源VPN里的组播源作为源地址。

·     如果指定了组播组,那么其中一条是以服务于有跨VPN需求的组播组的RP地址作为源地址,有跨VPN需求的组播组作为组地址;另一条是源VPN里的组播源作为源地址,有跨VPN需求的组播组作为组地址。且此时两条策略中的组播组地址必须完全相同。否则不能实现跨VPN转发。

1.14.3  跨VPN的IPv6组播路由的RPF选路策略

(1)     进入系统视图。

system-view

(2)     进入IPv6 MRIB实例视图。

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

(3)     跨VPN的IPv6组播路由的RPF选路策略。

ipv6 multicast extranet select-rpf { vpn-instance vpn-instance-name } { source ipv6-source-address prefix-length | group ipv6-group-address  prefix-length }*

缺省情况下,没有配置IPv6跨VPN组播路由的RPF选路策略。

1.15  配置IPv6组播报文软转发复制数量的最大值

1. 配置限制和指导

注意

请您在工程师指导下谨慎使用该功能,不要自行配置。

 

若IPv6组播报文软转发复制数量的最大值配置过大,会导致CPU占用率过高,影响设备的转发性能;若配置过小,会导致IPv6组播报文转发出现丢包。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置IPv6组播报文软转发复制数量的最大值。

ipv6 multicast cpu-forwarding max-copy-count count

IPv6组播报文软转发复制数量的最大值为5。

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

注意

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

 

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

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

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

操作

命令

显示IPv6 MRIB维护的接口信息

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

显示IPv6组播边界的信息

display ipv6 multicast [ vpn-instance vpn-instance-name ] boundary { group [ ipv6-group-address [ prefix-length ] ] | scope [ scope-id ] } [ interface interface-type interface-number ]

显示IPv6组播快速转发表项信息

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

显示IPv6组播转发的事件统计信息

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

显示IPv6组播转发表的信息

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

显示IPv6组播路由表的信息

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

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

display ipv6 multicast [ vpn-instance vpn-instance-name ] routing-table static [ ipv6-source-address [ prefix-length ] ]

显示IPv6组播源的RPF信息

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

基于IPv6组播流策略的选路信息

display ipv6 multicast [ vpn-instance vpn-instance-name ] flow-policy info [ interface interface-type interface-number | source source-address | group group-address | policy { default | name policy-name } ] *

清除IPv6组播快速转发表中的转发项

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

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

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

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

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

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

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

 

说明

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

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

 

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

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

1. 组网需求

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

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

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

2. 组网图

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

 

3. 配置准备

按照组网图配置各接口的IPv6地址和前缀长度,并在各交换机上配置OSPFv3协议(不发布或引入组播源所在接口前缀)。

4. 配置步骤

(1)     配置GRE隧道

# 在Switch A上创建业务环回组1,并指定其业务类型为Tunnel类型。

<SwitchA> system-view

[SwitchA] service-loopback group 1 type tunnel

# 将Switch A的端口Ten-GigabitEthernet1/0/3(该端口不属于VLAN 100和101)加入业务环回组1。

[SwitchA] interface ten-gigabitethernet 1/0/3

[SwitchA-Ten-GigabitEthernet1/0/3] port service-loopback group 1

[SwitchA-Ten-GigabitEthernet1/0/3] quit

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

[SwitchA] interface tunnel 2 mode gre ipv6

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

[SwitchA-Tunnel2] ipv6 address 5001::1 64

[SwitchA-Tunnel2] source 2001::1

[SwitchA-Tunnel2] destination 3001::2

[SwitchA-Tunnel2] quit

# 在Switch C上创建业务环回组1,并指定其业务类型为Tunnel类型。

<SwitchC> system-view

[SwitchC] service-loopback group 1 type tunnel

# 将Switch C的端口Ten-GigabitEthernet1/0/3(该端口不属于VLAN 200和102)加入业务环回组1。

[SwitchC] interface ten-gigabitethernet 1/0/3

[SwitchC-Ten-GigabitEthernet1/0/3] port service-loopback group 1

[SwitchC-Ten-GigabitEthernet1/0/3] quit

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

[SwitchC] interface tunnel 2 mode gre ipv6

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

[SwitchC-Tunnel2] ipv6 address 5001::2 64

[SwitchC-Tunnel2] source 3001::2

[SwitchC-Tunnel2] destination 2001::1

[SwitchC-Tunnel2] quit

(2)     使能IPv6组播路由,并使能IPv6 PIM-DM和MLD

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

[SwitchA] ipv6 multicast routing

[SwitchA-mrib6] quit

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ipv6 pim dm

[SwitchA-Vlan-interface100] quit

[SwitchA] interface vlan-interface 101

[SwitchA-Vlan-interface101] ipv6 pim dm

[SwitchA-Vlan-interface101] quit

[SwitchA] interface tunnel 2

[SwitchA-Tunnel2] ipv6 pim dm

[SwitchA-Tunnel2] quit

# 在Switch C上使能IPv6组播路由,在主机侧接口Vlan-interface200上使能MLD,并在其它接口上使能IPv6 PIM-DM。

[SwitchC] ipv6 multicast routing

[SwitchC-mrib6] quit

[SwitchC] interface vlan-interface 200

[SwitchC-Vlan-interface200] mld enable

[SwitchC-Vlan-interface200] quit

[SwitchC] interface vlan-interface 102

[SwitchC-Vlan-interface102] ipv6 pim dm

[SwitchC-Vlan-interface102] quit

[SwitchC] interface tunnel 2

[SwitchC-Tunnel2] ipv6 pim dm

[SwitchC-Tunnel2] quit

(3)     配置IPv6静态路由

# 在Switch C上配置IPv6静态路由,该路由的目的地址为1001::1/64,下一跳地址为Tunnel2。

[SwitchC] ipv6 route-static 1001::1 64 tunnel 2

5. 验证配置

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

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

[SwitchC] display ipv6 pim routing-table

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

 

 (*, FF1E::101)

     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: Vlan-interface200

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

 

 (1001::100, FF1E::101)

     Protocol: pim-dm, Flag: ACT

     UpTime: 00:06:14

     Upstream interface: Tunnel2

         Upstream neighbor: FE80::A01:101:1

         RPF prime neighbor: FE80::A01:101:1

     Downstream interface(s) information:

     Total number of downstreams: 1

         1: Vlan-interface200

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

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

1.17.2  改变IPv6 RPF路由配置举例

1. 组网需求

·     网络中运行IPv6 PIM-DM,所有交换机都支持组播功能;

·     Switch A、Switch B和Switch C之间运行OSPFv3协议;

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

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

2. 组网图

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

 

3. 配置准备

 

按照图1-4配置各接口的IPv6地址和前缀长度,并在各交换机上配置OSPFv3协议,具体配置过程略。

4. 配置步骤

(1)     使能IPv6组播路由,并使能IPv6 PIM-DM和MLD

# 在Switch B上使能IPv6组播路由,在主机侧接口Vlan-interface100上使能MLD,并在其它接口上使能IPv6 PIM-DM。

<SwitchB> system-view

[SwitchB] ipv6 multicast routing

[SwitchB-mrib6] quit

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] mld enable

[SwitchB-Vlan-interface100] quit

[SwitchB] interface vlan-interface 101

[SwitchB-Vlan-interface101] ipv6 pim dm

[SwitchB-Vlan-interface101] quit

[SwitchB] interface vlan-interface 102

[SwitchB-Vlan-interface102] ipv6 pim dm

[SwitchB-Vlan-interface102] quit

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

<SwitchA> system-view

[SwitchA] ipv6 multicast routing

[SwitchA-mrib6] quit

[SwitchA] interface vlan-interface 200

[SwitchA-Vlan-interface200] ipv6 pim dm

[SwitchA-Vlan-interface200] quit

[SwitchA] interface vlan-interface 102

[SwitchA-Vlan-interface102] ipv6 pim dm

[SwitchA-Vlan-interface102] quit

[SwitchA] interface vlan-interface 103

[SwitchA-Vlan-interface103] ipv6 pim dm

[SwitchA-Vlan-interface103] quit

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

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

[SwitchB] display ipv6 multicast rpf-info 500::100

 RPF information about source 500::100:

     RPF interface: Vlan-interface102, RPF neighbor: 300::2

     Referenced prefix/prefix length: 500::/64

     Referenced route type: igp

     Route selection rule: preference-preferred

     Load splitting rule: disable

     Source AS: 0

     C-multicast route target: 0x0000000000000000

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

(2)     配置IPv6组播静态路由

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

[SwitchB] ipv6 rpf-route-static 500::100 64 200::2

5. 验证配置

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

[SwitchB] display ipv6 multicast rpf-info 500::100

 RPF information about source 500::100:

     RPF interface: Vlan-interface101, RPF neighbor: 200::2

     Referenced prefix/prefix length: 500::/64

     Referenced route type: multicast static

     Route selection rule: preference-preferred

     Load splitting rule: disable

     Source AS: 0

     C-multicast route target: 0x0000000000000000

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

1.17.3  衔接IPv6 RPF路由配置举例

1. 组网需求

·     网络中运行IPv6 PIM-DM,所有交换机都支持组播功能;

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

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

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

2. 组网图

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

 

3. 配置准备

 

按照组网图配置各接口的IPv6地址和前缀长度,并在Switch B和Switch C上配置OSPFv3协议。

4. 配置步骤

(1)     使能IPv6组播路由,并使能IPv6 PIM-DM和MLD

# 在Switch C上使能IPv6组播路由,在接口Vlan-interface101上使能IPv6 PIM-DM,并在主机侧接口Vlan-interface100上使能MLD。

<SwitchC> system-view

[SwitchC] ipv6 multicast routing

[SwitchC-mrib6] quit

[SwitchC] interface vlan-interface 100

[SwitchC-Vlan-interface100] mld enable

[SwitchC-Vlan-interface100] quit

[SwitchC] interface vlan-interface 101

[SwitchC-Vlan-interface101] ipv6 pim dm

[SwitchC-Vlan-interface101] quit

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

<SwitchA> system-view

[SwitchA] ipv6 multicast routing

[SwitchA-mrib6] quit

[SwitchA] interface vlan-interface 300

[SwitchA-Vlan-interface300] ipv6 pim dm

[SwitchA-Vlan-interface300] quit

[SwitchA] interface vlan-interface 102

[SwitchA-Vlan-interface102] ipv6 pim dm

[SwitchA-Vlan-interface102] quit

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

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

[SwitchB] display ipv6 multicast rpf-info 500::100

[SwitchC] display ipv6 multicast rpf-info 500::100

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

(2)     配置IPv6组播静态路由

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

[SwitchB] ipv6 rpf-route-static 500::100 64 300::2

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

[SwitchC] ipv6 rpf-route-static 500::100 64 200::2

5. 验证配置

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

[SwitchB] display ipv6 multicast rpf-info 500::100

 RPF information about source 50::100:

     RPF interface: Vlan-interface102, RPF neighbor: 300::2

     Referenced prefix/prefix length: 500::/64

     Referenced route type: multicast static

     Route selection rule: preference-preferred

     Load splitting rule: disable

     Source AS: 0

     C-multicast route target: 0x0000000000000000

[SwitchC] display ipv6 multicast rpf-info 500::100

 RPF information about source 500::100:

     RPF interface: Vlan-interface101, RPF neighbor: 200::2

     Referenced prefix/prefix length: 500::/64

     Referenced route type: multicast static

     Route selection rule: preference-preferred

     Load splitting rule: disable

     Source AS: 0

     C-multicast route target: 0x0000000000000000

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

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

新华三官网
联系我们