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

06-IP组播配置指导

目录

09-组播VPN配置

本章节下载 09-组播VPN配置  (695.55 KB)

09-组播VPN配置


1 组播VPN

1.1  组播VPN简介

组播VPN(Virtual Private Network,虚拟专用网络)是一项在VPN网络中实现组播传输的技术。

图1-1 典型的VPN组网

 

一个VPN网络由运营商的公共网络和用户的各个Site(站点)组成,各Site之间彼此相互孤立,只有借助公共网络才能实现互通。如图1-1所示,由Site 1、Site 3和Site 5组成VPN A网络,由Site 2、Site 4和Site 6组成VPN B网络,其中包括以下三种类型的设备:

·     P(Provider):公共网络核心设备,不与CE直接相连。

·     PE(Provider Edge):公共网络边缘设备,与CE直接相连,负责VPN路由的处理。

·     CE(Customer Edge):用户网络边缘设备,可以是路由器或交换机,也可以是一台主机,负责用户网络路由的发布。

图1-1所示的VPN网络中运行组播VPN时,该网络中将同时承载着三个相互独立的组播业务:公网实例、VPN实例A和VPN实例B。公共网络边缘的PE组播设备支持多实例,相当于多台独立运行的组播设备。各实例之间形成彼此隔离的平面,每个实例对应一个平面,如图1-2所示。

举例来说,图1-1中的PE 1上运行着三个实例:公网实例、VPN实例A和VPN实例B,可以把这三个不同的实例想象成三台独立运行的虚拟设备,分别是PE 1’、PE 1”和PE 1’”,每台虚拟设备则分别对应着一个平面,对应关系如图1-2所示。

图1-2 VPN中基于多实例的组播

 

以VPN实例A为例,组播VPN是指:当VPN A中的组播源向某组播组发送组播数据时,在网络中所有可能的接收者中,只有属于VPN A(即Site 1、Site 3或Site 5中)的组播组成员才能收到该组播源发来的组播数据。组播数据在各Site以及公网中均以组播方式进行传输。

由此分析,实现组播VPN所需具备的网络条件如下:

(1)     在每个Site内支持基于VPN实例的组播。

(2)     在公共网络内支持基于公网实例的组播。

(3)     PE支持多实例组播:

·     通过VPN实例连接Site,支持基于VPN实例的组播;

·     通过公网实例连接公共网络,支持基于公网实例的组播;

·     支持公网实例与VPN实例之间的信息交流和数据转换。

Comware利用MD(Multicast Domain,组播域)方案来实现组播VPN,简称为MD VPN。该方案的最大优点就是仅需要PE支持多实例,而无需升级CE和P,且无需修改CE和P上原有的PIM配置——也就是说,该方案对于CE和P是透明的。

1.1.1  MD VPN概述

1. MD VPN基本概念

MD VPN中所涉及到的基本概念如表1-1所示。

表1-1 MD VPN中的基本概念

概念

全称及中文解释

说明

MD

Multicast Domain,组播域

由各PE上能交互组播报文的相同VPN实例所构成的集合称为MD,不同的VPN实例属于不同的MD

MDT

Multicast Distribution Tree,组播分发树

建立在属于同一VPN内所有PE间的组播分发树,包括Default-MDT和Data-MDT两种

MT

Multicast Tunnel,组播隧道

在MD内将各PE连接到一起的通道称为MT,它用来传输MD内部的私网数据

MTI

Multicast Tunnel Interface,组播隧道接口

MTI是MT的入/出口,相当于MD的入/出口,PE通过MTI连接到MT上。MTI只收发组播报文,而不收发单播报文。MTI在创建VPN实例的MD时自动创建

Default-Group

默认组

每个MD在公网上分配一个独立的组播组,称为Default-Group。它是MD在公网上的唯一标志,用来在公网上建立MD所对应的Default-MDT

Default-MDT

Default-Multicast Distribution Tree,默认组播分发树

以Default-Group为组地址的MDT,称为Default-MDT。VPN使用Default-Group唯一标识一棵Default-MDT。Default-MDT是在配置完成后自动生成的,在公网中将会一直存在,而不论公网或私网中有没有实际的组播业务

Data-Group

数据组

当持续接收到某私网组播数据时,入口PE会为其分配一个独立的组播组,称为Data-Group,并通知其它PE使用该组播组在公网内转发该组播数据流量,从而实现Data-MDT切换

Data-MDT

Data-Multicast Distribution Tree,数据组播分发树

以Data-Group为组地址的MDT,称为Data-MDT。下游存在接收者的PE加入Data-Group,形成一棵Data-MDT,入口PE使用Data-MDT在公网中转发封装后的私网组播数据

 

2. MD VPN实现机制

MD VPN实现机制的要点列举如下:

(1)     运营商构建的公共网络支持组播功能。PE同时支持公网实例和多个VPN实例,每个实例各自运行相互间独立的PIM。PE与CE之间通过VPN实例进行私网组播传输;PE与P之间则通过公网实例进行公网组播传输。

(2)     MD在逻辑上表示某一特定VPN的私网组播数据在公网中的传播范围,在实际中则标识了网络中支持该VPN实例的所有PE。不同的VPN实例对应不同的MD。如图1-2所示,其中每个VPN实例平面的中央椭圆区域表示一个MD,服务于某个特定的VPN,在该VPN中传输的所有私网组播数据,都在此MD内传输。

(3)     在MD内部,私网数据通过MT进行传输。MT传输过程为:本地PE将私网组播报文封装成公网组播数据报文,并在公网内进行组播转发,远端PE收到该报文后通过解封装将其还原成私网报文。

(4)     本地PE将私网数据通过MTI发出,而远端PE则从MTI接收私网数据。如图1-3所示,可以将MD比作一个私网数据的传输池,MTI则是MD的入/出口。本地PE将私网数据从入口(MTI)投入传输池,传输池自动将私网数据复制并传输到MD的所有出口(MTI),任何有需求的远端PE都可以从各自的出口(MTI)“打捞”私网数据。

图1-3 公网实例PIM与VPN实例MD对应关系示意图

 

(5)     一个VPN实例唯一对应一个Default-Group。私网数据信息对于公网来说是透明的,不论私网组播报文属于哪个组播组、是协议报文还是数据报文,PE都统一将其封装为普通的公网组播数据报文,并以Default-Group作为其所属的公网组播组。之后,PE将封装好的公网组播数据报文发送到公网中。

(6)     一个Default-Group唯一对应一个MD,并利用公网资源唯一创建一棵Default-MDT以进行数据转发。在该VPN中传输的所有私网组播报文,无论从哪个PE进入公网,都经由此Default-MDT转发。

(7)     一个MD唯一确定一个Data-Group范围以备进行Data-MDT切换。在进行Data-MDT切换时,从Data-Group范围中选取一个被引用最少的地址,从PE进入公网、流量持续一段时间后的私网组播报文将使用该地址进行封装。

(8)     网络中所有PE都在监测私网组播数据流的转发流量,当某PE上有持续的私网组播数据转发流量时,该PE将作为源端沿Default-MDT向其下游发出切换消息,使用Data-Group在该PE和有接收需求的远端PE之间新建一棵Data-MDT。之后,进行Data-MDT切换:即从该PE进入公网的该私网组播数据流,不再使用Default-Group进行封装,而是被封装成公网的Data-Group组播报文,从Default-MDT切换到新创建的Data-MDT上。

说明

·     一个VPN唯一确定一个MD,而一个MD也只能服务于一个VPN,这种关系称为“一一对应”。VPN、MD、MTI、Default-Group与Data-Group范围两两之间分别一一对应。

·     有关Data-MDT切换的详细介绍,请参见1.2.3  Data-MDT切换”。

 

3. MD VPN中的PIM邻居关系

图1-4 MD VPN中的PIM邻居关系示意图

 

PIM邻居关系建立在直接相连且属于同一网段的两台或多台设备之间。如图1-4所示,在MD VPN中存在如下三种PIM邻居关系:

·     PE-P邻居关系:指PE上公网实例接口与链路对端P上的接口之间所建立的PIM邻居关系。

·     PE-PE邻居关系:指PE上的VPN实例通过MTI收到远端PE上的VPN实例发来的PIM Hello报文后所建立的邻居关系。

·     PE-CE邻居关系:指PE上绑定VPN实例的接口与链路对端CE上的接口之间所建立的PIM邻居关系。

1.1.2  协议规范

与组播VPN相关的协议规范有:

·     RFC 6037:Cisco Systems' Solution for Multicast in BGP/MPLS IP VPNs

1.2  MD VPN实现原理

本节介绍MD VPN技术的实现原理,包括组播分发树的构建和工作过程,以及跨AS的实现方式。

对于VPN实例来说,公网传输是透明的,私网数据的传输在PE上的MTI处完成了无缝连接:VPN实例只知道将私网数据从MTI发出,然后远端就能从MTI接收。其实中间经历了复杂的公网传输过程,即MDT传输过程。

1.2.1  创建Default-MDT

公网中运行的组播路由协议可以是PIM-DM或PIM-SM。在这两种情况下,创建Default-MDT的过程是有区别的。

1. 在PIM-DM网络中创建Default-MDT

图1-5 在PIM-DM网络中创建Default-MDT

 

图1-5所示,公网中运行PIM-DM,PE 1、PE 2和PE 3都支持VPN实例A。Default-MDT的创建过程如下:

(1)     PE 1通过VPN实例A的MTI与其它PE建立PIM邻居关系时,会将私网PIM协议报文封装成公网组播数据报文(封装时以MD源接口的IP地址为源地址、Default-Group为目的地址)在公网中发送。发送时,PE 1以其它支持VPN实例A的PE为组播组成员,在整个公网范围内发起扩散—剪枝过程,在公网沿途各设备上分别创建(11.1.1.1,239.1.1.1)表项,从而形成一棵以PE 1为根、PE 2和PE 3为叶的SPT。

(2)     与此同时,PE 2和PE 3也各自发起类似的扩散—剪枝过程,最终在MD中形成三棵相互独立的SPT。

在PIM-DM网络中,由这三棵相互独立的SPT共同组成了一棵Default-MDT。

2. 在PIM-SM网络中创建Default-MDT

图1-6 在PIM-SM网络中创建Default-MDT

 

图1-6所示,公网中运行PIM-SM,PE 1、PE 2和PE 3都支持VPN实例A。Default-MDT的创建过程如下:

(1)     PE 1通过公网实例向公网RP发起(*,G)加入,以Default-Group为组播组地址,在公网沿途各设备上分别创建(*,239.1.1.1)表项。与此同时,PE 2和PE 3也各自发起类似的加入过程,最终在MD中形成一棵以公网RP为根,PE 1、PE 2和PE 3为叶的RPT。

(2)     PE 1通过VPN实例A的MTI与其它PE建立PIM邻居关系时,会将私网PIM协议报文封装成公网组播数据报文(封装时以MD源接口的IP地址为源地址、Default-Group为目的地址)在公网中发送。发送时,PE 1先向公网RP发起注册过程,再由公网RP向PE 1发起加入,在公网沿途各设备上分别创建(11.1.1.1,239.1.1.1)表项。

(3)     与此同时,PE 2和PE 3也各自发起类似的注册过程,最终在MD中形成三棵相互独立的、连接PE与RP的SPT。

在PIM-SM网络中,由RPT(*,239.1.1.1)和这三棵相互独立的SPT共同组成了一棵Default-MDT。

3. Default-MDT的特点

综前所述,无论公网中运行的是何种PIM模式,Default-MDT都具有以下特点:

·     网络中所有支持VPN实例A的PE都加入该Default-MDT。

·     所有属于VPN A的私网组播报文进入公网后,均沿该Default-MDT向各PE转发,无论PE所连接的Site中是否存在接收者。

1.2.2  基于Default-MDT的传输

Default-MDT构建完成后,就可以进行组播报文的传输。其中,组播协议报文和组播数据报文的传输过程是不同的,下面分别进行介绍。

1. 组播协议报文的传输

当私网组播协议报文需要跨越公网进行传输时,这些报文在本地PE上被封装为普通的公网组播数据并沿Default-MDT进行传输,在远端PE上被解封装,从而继续进行正常的协议交互过程,最终建立一棵跨越公网的组播分发树。组播协议报文的作用可分为以下几种情况:

(1)     当VPN网络中运行PIM-DM或PIM-SSM时:

·     各MTI之间通过交互Hello报文,建立PIM邻居。

·     通过跨越公网发起扩散—剪枝(PIM-DM)或加入(PIM-SSM)以创建SPT。

(2)     当VPN网络中运行PIM-SM时:

·     各MTI之间通过交互Hello报文,建立PIM邻居。

·     如果接收者与私网RP属于不同的Site,通过跨越公网发起加入以创建RPT。

·     如果组播源与私网RP属于不同的Site,通过跨越公网发起注册以创建SPT。

说明

·     在属于同一VPN的所有接口(包括PE上绑定VPN实例的接口和MTI)上必须运行相同模式的PIM协议。

·     下面以公网和VPN网络中均运行PIM-SM、私网接收者跨越公网发起加入为例,介绍基于Default-MDT的组播协议报文的传输过程。

 

图1-7所示,公网和VPN网络中分别运行PIM-SM,属于Site 2的私网组播组G(225.1.1.1)的接收者(Receiver)与CE 2相连;属于Site 1的CE 1作为G的RP;用于公网组播数据转发的Default-Group为239.1.1.1。

图1-7 组播协议报文的传输过程

 

组播协议报文的交互过程如下:

(1)     Receiver向CE 2发送IGMP报告以加入组播组G。CE 2在本地创建(*,225.1.1.1)表项,同时向私网RP(CE 1)发起加入。

(2)     PE 2上的VPN实例收到CE 2发来的加入消息后,在本地创建(*,225.1.1.1)表项,并指定MTI为上游接口,然后对该消息做进一步处理(详见第(3)步)。这时,PE 2上的VPN实例将认为加入消息已从MTI发出。

(3)     PE 2对该加入消息进行GRE(Generic Routing Encapsulation,通用路由封装)封装,以MD源接口的IP地址为源地址、Default-Group为目的地址封装成公网组播数据报文(11.1.2.1,239.1.1.1),然后交给公网实例进行转发。

(4)     组播数据报文(11.1.2.1,239.1.1.1)沿Default-MDT传输给各PE上的公网实例。各PE将其解封装,还原为发往私网RP的加入消息,检查后如果发现要加入的私网RP位于本Site,便将该消息交给VPN实例进行处理,否则将其丢弃。

(5)     PE 1上的VPN实例收到加入消息后,认为是从MTI获得的。在本地创建(*,225.1.1.1)表项,并指定MTI为下游接口、朝向CE 1的接口为上游接口。同时向私网RP发送加入消息。

(6)     CE 1收到PE 1上的VPN实例发来的加入消息后,在本地更新或创建(*,225.1.1.1)表项。至此跨越公网的RPT创建完成。

2. 组播数据报文的传输

当组播分发树创建完成后,组播源通过组播分发树将私网组播数据发送给各Site中的接收者。私网组播数据在本地PE上被封装为公网组播数据并沿Default-MDT传输,在远端PE上被解封装并继续在私网内传输。私网组播数据跨越公网的传输可分为以下几种情况:

(1)     当VPN网络中运行PIM-DM或PIM-SSM时,组播源通过私网SPT跨越公网向接收者发送私网组播数据。

(2)     当VPN网络中运行PIM-SM时:

·     在SPT切换前,如果组播源与私网RP属于不同的Site,组播源先通过其与私网RP间的私网SPT跨越公网向私网RP发送私网组播数据;如果私网RP与接收者也属于不同的Site,私网RP再通过私网RPT跨越公网向接收者继续转发私网组播数据。

·     在SPT切换后,如果组播源与接收者属于不同的Site,组播源通过私网SPT跨越公网向接收者直接发送私网组播数据。

(3)     当VPN网络中运行双向PIM时,如果组播源与私网RP属于不同的Site,组播源先通过其与私网RP间的私网组播源侧RPT跨越公网向私网RP发送私网组播数据;如果私网RP与接收者也属于不同的Site,私网RP再通过私网接收者侧RPT跨越公网向接收者继续转发私网组播数据。

说明

·     有关SPT切换的详细介绍,请参见“IP组播配置指导”中的“PIM”。

·     下面以公网和VPN网络中均运行PIM-DM、沿私网SPT跨越公网传输私网组播数据为例,介绍基于Default-MDT的组播数据报文的传输过程。

 

图1-8所示,公网和VPN网络中分别运行PIM-DM,属于Site 2的私网组播组G(225.1.1.1)的接收者(Receiver)与CE 2相连;属于Site 1的组播源(Source)向G发送组播数据;用于公网组播数据转发的Default-Group为239.1.1.1。

图1-8 组播数据报文的传输过程

 

私网组播数据跨越公网进行传输的过程如下:

(1)     Source发送私网组播数据(192.1.1.1,225.1.1.1)到CE 1。

(2)     CE 1沿SPT将私网组播数据转发给PE 1,PE 1上的VPN实例查找转发表项。如果对应转发表项的出接口列表中包含MTI,则PE 1将对该私网组播数据做进一步处理(详见第(3)步)。这时,PE 1上的VPN实例将认为私网组播数据已从MTI发出。

(3)     PE 1对该私网组播数据进行GRE封装,以MD源接口的IP地址为源地址、Default-Group为目的地址封装成公网组播数据报文(11.1.1.1,239.1.1.1),然后交给公网实例进行转发。

(4)     组播数据报文(11.1.1.1,239.1.1.1)沿Default-MDT传输给各PE上的公网实例。各PE将其解封装,还原为私网组播数据,然后交给相应的VPN实例进行处理。如果该PE上存在SPT的下游接口,则沿SPT转发该私网组播数据,否则将其丢弃。

(5)     PE 2上的VPN实例查找转发表项,最终将私网组播数据送达Receiver。至此跨越公网的私网组播数据传输完成。

1.2.3  Data-MDT切换

1. 由Default-MDT向Data-MDT切换

在公网中通过Default-MDT传送组播数据时,组播报文被传输到支持同一VPN实例的所有PE上,无论该PE所连接的Site内是否存在接收者。当私网中组播数据的传输速率比较大时,可能在公网中造成数据的泛滥。这样即浪费网络带宽,又增加了PE的处理负担。

为了解决上述问题,MD方案对此进行了优化:为进入公网的大流量私网组播数据,在连接有私网接收者和私网组播源的各PE之间,建立起专用的Data-MDT。然后将该组播数据流从Default-MDT切换到Data-MDT,从而实现按需进行组播。

从Default-MDT向Data-MDT切换的过程如下:

(1)     源端PE(如PE 1)周期性地检测私网组播数据的转发流量。发起从Default-MDT向Data-MDT的切换必须同时满足以下两点要求:

·     私网组播数据通过了由Default-MDT向Data-MDT切换的ACL规则的过滤,否则仍沿Default-MDT转发;

·     有私网组播数据转发流量,且维持了一定的时间,否则仍沿Default-MDT转发。

(2)     PE 1从Data-Group范围中分配一个被引用最少的Data-Group,沿Default-MDT向所有下游PE发送切换消息。该消息中包括私网组播源地址、私网组播组地址和Data-Group。

(3)     其它PE收到该消息后,检查自己是否连接有该私网组播数据的接收者:如果有,则加入以PE 1为根的Data-MDT;如果没有,则将该消息缓存起来,等待有接收者时再加入Data-MDT。

(4)     当PE 1发送切换消息一定时间后,PE 1停止使用Default-Group地址对私网组播数据进行封装,并改用Data-Group地址进行封装,组播数据沿Data-MDT向下分发。

(5)     当Default-MDT切换到Data-MDT之后,PE 1会周期性地发送切换消息,以便后续有PE加入Data-MDT。当某下游PE不再连接有接收者时,可以退出Data-MDT。

说明

Data-MDT和Default-MDT都是同一个MD中的转发隧道。Default-MDT由Default-Group唯一确定;Data-MDT则由Data-Group唯一确定。每个Default-Group关联一组Data-Group范围。

 

2. 由Data-MDT向Default-MDT反向切换

当私网组播数据切换到Data-MDT之后,由于情况变化而导致了不满足切换条件,PE 1就会把此私网组播数据从Data-MDT反向切换回Default-MDT,反向切换的触发条件包括(满足其一即可):

·     当更改了Data-Group范围后,用于私网组播数据封装的Data-Group被排除在新范围以外。

·     当控制私网组播数据由Default-MDT向Data-MDT切换的ACL规则发生了变化,从而导致私网组播数据不能通过新ACL规则的过滤。

1.2.4  跨AS的MD VPN

当整个VPN跨越多个AS(Autonomous System,自治系统)时,需要连通分布在不同AS内的各VPN节点。跨AS的MD VPN有以下两种实现方式:

1. VPN实例-VPN实例连接方式

图1-9所示,VPN跨越了AS 1和AS 2两个自治系统,PE 3和PE 4分别是AS 1和AS 2的ASBR。PE 3和PE 4通过各自的VPN实例相连,并互把对方视为CE设备。

图1-9 VPN实例-VPN实例连接方式示意图

 

采用VPN实例-VPN实例方式时,需在每个AS内各建立一个独立的MD,在各MD之间实现私网组播数据跨AS的传输。

说明

由于ASBR之间转发的只是私网组播数据,因此各AS内部运行的公网PIM模式可以不同,但属于同一VPN的所有接口(包括ASBR上绑定VPN实例的接口)上必须运行统一的PIM模式(PIM-DM、PIM-SM、双向PIM或PIM-SSM)。

 

2. Multi-hop EBGP连接方式

图1-10所示,VPN跨越了AS 1和AS 2两个自治系统,PE 3和PE 4分别是AS 1和AS 2的ASBR。PE 3和PE 4通过各自的公网实例相连,并互把对方视为P设备。

图1-10 Multi-hop EBGP连接方式

 

采用Multi-hop EBGP方式时,只需在所有AS内统一建立一个MD即可,在该MD内部实现公网组播数据跨AS的传输。

1.3  组播VPN配置任务简介

表1-2 组播VPN配置任务简介

配置任务

说明

详细配置

配置MD VPN

使能VPN实例中的IP组播路由

必选

1.4.2 

创建VPN实例的MD

必选

1.4.3 

指定Default-Group

必选

1.4.4 

指定MD源接口

必选

1.4.5 

配置Data-MDT切换参数

可选

1.4.6 

打开Data-Group重用日志输出开关

可选

1.4.7 

配置BGP MDT

使能BGP MDT对等体/对等体组

必选

1.5.2 

配置BGP MDT路由反射器

可选

1.5.3 

 

说明

MTI无需用户手工创建,它随MD的创建而自动创建并与VPN实例绑定。需要注意的是:

·     只有在指定了Default-Group和MD源接口,并获取到MD源接口的公网IP地址之后,MTI才会生效。此外,还必须先使用service-loopback group命令创建Multicast tunnel类型的业务环回组,MTI才能正常转发。有关service-loopback group命令的详细介绍,请参见“二层技术-以太网交换命令参考”中的“业务环回组”。

·     MTI上运行的PIM模式与其所属的VPN实例相同。只有当VPN实例中至少一个接口上使能了PIM协议,MTI上的PIM协议才会被使能;当VPN实例中所有接口上都关闭了PIM协议,MTI上的PIM协议也将被关闭。

 

1.4  配置MD VPN

1.4.1  配置准备

在配置MD VPN之前,需完成以下任务:

·     在公网中配置任一单播路由协议

·     在公网中配置MPLS L3VPN

·     在公网中配置PIM-DM或PIM-SM

在配置MD VPN之前,需准备以下数据:

·     VPN实例的名称和RD(Route Distinguisher,路由标识符)

·     Default-Group的地址

·     建立BGP对等体时所使用的源接口

·     Data-Group的范围和切换条件

·     由Default-MDT向Data-MDT切换的延迟时间

·     由Data-MDT向Default-MDT反向切换的延迟时间

1.4.2  使能VPN实例中的IP组播路由

在配置MD VPN的各项功能之前,必须先创建VPN实例并使能该VPN实例中的IP组播路由。

请在PE上进行本配置。

表1-3 使能VPN实例中的IP组播路由

操作

命令

说明

进入系统视图

system-view

-

创建VPN实例,并进入VPN实例视图

ip vpn-instance vpn-instance-name

缺省情况下,设备上不存在任何VPN实例

配置VPN实例的RD

route-distinguisher route-distinguisher

缺省情况下,VPN实例没有RD

退回系统视图

quit

-

使能VPN实例中的IP组播路由,并进入该VPN实例的MRIB视图

multicast routing vpn-instance vpn-instance-name

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

本命令请参见“IP组播命令参考”中的“组播路由与转发”

 

1.4.3  创建VPN实例的MD

可以在PE上为一个或多个VPN实例创建其各自的MD,来为不同的VPN提供服务。在创建VPN实例的MD时,系统会自动创建MTI,并将其与该VPN实例绑定。

请在PE上进行本配置。

表1-4 创建VPN实例的MD

操作

命令

说明

进入系统视图

system-view

-

创建指定VPN实例的MD,并进入MD视图

multicast-domain vpn-instance vpn-instance-name

缺省情况下,VPN实例不存在对应的MD

 

1.4.4  指定Default-Group

MTI在封装私网组播报文时使用Default-Group作为目的地址。需要注意的是:

·     在不同的PE上,应该为相同VPN实例的MD指定相同的Default-Group。

·     不允许指定已被其它MD使用的Default-Group或Data-Group。

请在PE上进行本配置。

表1-5 指定Default-Group

操作

命令

说明

进入系统视图

system-view

-

进入MD视图

multicast-domain vpn-instance vpn-instance-name

-

指定Default-Group

default-group group-address

缺省情况下,没有指定Default-Group

 

1.4.5  指定MD源接口

MTI在封装私网组播报文时使用MD源接口的IP地址作为源地址。

需要注意的是,MD源接口必须与建立BGP对等体时所使用的源接口相同,否则将无法获取正确的路由信息。

请在PE上进行本配置。

表1-6 指定MD源接口

操作

命令

说明

进入系统视图

system-view

-

进入MD视图

multicast-domain vpn-instance vpn-instance-name

-

指定MD源接口

source interface-type interface-number

缺省情况下,没有指定MD源接口

 

1.4.6  配置Data-MDT切换参数

为了避免组播数据流在Default-MDT与Data-MDT之间进行频繁切换:当源端PE设备收到符合ACL过滤规则的第一个私网组播数据报文时,并不立即切换,而是等待Data-Delay时间。在这段时间内如果一直有私网组播数据报文通过,则切换至Data-MDT,否则继续使用Default-MDT进行转发;

请在PE上进行本配置。

表1-7 配置Data-MDT切换参数

操作

命令

说明

进入系统视图

system-view

-

进入MD视图

multicast-domain vpn-instance vpn-instance-name

-

配置Data-Group的范围和切换条件

data-group group-address { mask-length | mask } [ acl acl-number ]

缺省情况下,没有指定Data-Group的范围,也永不向Data-MDT进行切换

配置由Default-MDT向Data-MDT切换的延迟时间

data-delay delay

缺省情况下,由Default-MDT向Data-MDT切换的延迟时间为3秒

 

1.4.7  打开Data-Group重用日志输出开关

在源PE上的VPN实例中,如果需要切换的私网组播数据流的个数超过了Data-Group范围中组地址的个数时,可以重复使用该地址池中的组地址。通过打开Data-Group重用日志输出开关可以记录组地址重用的日志信息。

说明

组地址重用日志信息的级别为informational,隶属于MD模块。有关日志信息的详细介绍,请参见“网络管理和监控配置指导”中的“信息中心”。

 

请在PE上进行本配置。

表1-8 打开Data-Group重用日志输出开关

操作

命令

说明

进入系统视图

system-view

-

进入MD视图

multicast-domain vpn-instance vpn-instance-name

-

打开Data-Group重用日志输出开关

log data-group-reuse

缺省情况下,Data-Group重用日志输出开关处于关闭状态

 

1.5  配置BGP MDT

当在公网中运行PIM-SSM时,需要进行BGP MDT的配置。

1.5.1  配置准备

在配置BGP MDT之前,需完成以下任务:

·     在公网中配置MPLS L3VPN

·     在公网中配置BGP基本功能

·     在公网中配置PIM-SSM

在配置BGP MDT之前,需准备以下数据:

·     MDT对等体的IP地址

·     路由反射器的集群ID

1.5.2  使能BGP MDT对等体/对等体组

只有在BGP IPv4 MDT地址族下使能BGP MDT对等体/对等体组后,本地路由器才能与指定的对等体/对等体组交换MDT信息,该信息包含PE地址及PE所在的Default-Group等信息。在公网中运行PIM-SSM时,组播VPN根据MDT信息在公网上建立以PE为根(即组播源)的Default-MDT。

请在PE上进行本配置。

表1-9 使能BGP MDT对等体/对等体组

操作

命令

说明

进入系统视图

system-view

-

进入BGP实例视图

bgp as-number

-

创建BGP IPv4 MDT地址族,并进入BGP IPv4 MDT地址族视图

address-family ipv4 mdt

缺省情况下,没有创建BGP IPv4 MDT地址族

使能本地路由器与指定对等体/对等体组交换MDT路由信息的能力

peer { group-name | ip-address [ mask-length ] } enable

缺省情况下,本地路由器不具有与指定对等体/对等体组交换MDT路由信息的能力

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”

在执行本命令前,需先在BGP实例视图下创建对等体/对等体组,创建方法请参见“三层技术-IP路由配置指导”中的“BGP”

 

1.5.3  配置BGP MDT路由反射器

为保证位于同一AS内的BGP MDT对等体间的连通性,需要在对等体之间建立全连接关系,而当对等体的数目很多时,建立全连接的开销很大,使用路由反射器则可以解决这个问题。

在配置了路由反射器之后,其它路由器作为客户机与路由反射器建立BGP会话,路由反射器在客户机之间传递(反射)BGP MDT信息,从而使各客户机之间无需建立BGP会话。

如果配置了路由反射器后,由于组网需要在路由反射器的客户机之间建立了全连接,则客户机之间可以直接交换路由信息,客户机到客户机之间的路由反射是没有必要的。此时,不需要修改网络配置或改变网络拓扑,只需在路由反射器上通过undo reflect between-clients命令禁止其在客户机之间反射路由,就可以避免路由反射,减少占用的带宽资源。

路由反射器及其客户机共同组成了一个集群。通常,一个集群中只有一个路由反射器,并通过其Router ID来识别该集群。为了增强网络的可靠性,可在一个集群中配置多个路由反射器,此时应为每个路由反射器配置相同的集群ID,以避免产生路由环路。

请在PE上进行本配置。本配置中各命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

表1-10 配置BGP MDT路由反射器

操作

命令

说明

进入系统视图

system-view

-

进入BGP实例视图

bgp as-number

-

进入BGP IPv4 MDT地址族视图

address-family ipv4 mdt

-

配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机

peer { group-name | ip-address [ mask-length ] } reflect-client

缺省情况下,没有配置路由反射器及其客户机

(可选)禁止路由反射器在客户机之间反射路由

undo reflect between-clients

缺省情况下,允许路由反射器在客户机之间反射路由

(可选)配置路由反射器的集群ID

reflector cluster-id { cluster-id | ip-address }

缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID

 

1.6  组播VPN显示和维护

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

表1-11 组播VPN显示和维护

操作

命令

显示BGP MDT对等体组的信息

display bgp group ipv4 mdt [ group-name group-name ]

显示BGP MDT对等体或对等体组的信息

display bgp peer ipv4 mdt [ ip-address mask-length | { ip-address | group-name group-name } log-info | [ [ ip-address ] verbose ] [ standby slot slot-number ] ]

显示BGP MDT的路由信息

display bgp routing-table ipv4 mdt [ route-distinguisher route-distinguisher ] [ ip-address [ advertise-info ] ] [ standby slot slot-number ]

显示MD中收到的Data-Group信息

display multicast-domain vpn-instance vpn-instance-name data-group receive [ brief | [ active | group group-address | sender source-address | vpn-source-address [ mask { mask-length | mask } ] | vpn-group-address [ mask { mask-length | mask } ] ] * ]

显示MD中发送的Data-Group信息

display multicast-domain vpn-instance vpn-instance-name data-group send [ group group-address | reuse interval | vpn-source-address [ mask { mask-length | mask } ] | vpn-group-address [ mask { mask-length | mask } ] ] *

显示Default-Group的信息

display multicast-domain [ vpn-instance vpn-instance-name ] default-group { local | remote }

复位MDT地址族下的BGP会话

reset bgp { as-number | ip-address [ mask-length ] | all | external | group group-name | internal } ipv4 mdt

 

1.7  组播VPN典型配置举例

1.7.1  单AS内MD VPN配置举例

1. 组网需求

组网需求如表1-12所示。

表1-12 单AS内的MD VPN配置组网需求

项目

组网需求

组播源和接收者

·     VPN a中的组播源为S 1,接收者为R 1、R 2和R 3

·     VPN b中的组播源为S 2,接收者为R 4

·     VPN a中的Default-Group为239.1.1.1,Data-Group范围为225.2.2.0~225.2.2.15

·     VPN b中的Default-Group为239.2.2.2,Data-Group范围为225.4.4.0~225.4.4.15

PE各接口所属实例

·     PE 1:Vlan-interface11和Vlan-interface20接口属于VPN实例a,Vlan-interface12和LoopBack1接口属于公网实例

·     PE 2:Vlan-interface13接口属于VPN实例b,Vlan-interface14接口属于VPN实例a,Vlan-interface15和LoopBack1接口属于公网实例

·     PE 3:Vlan-interface17接口属于VPN实例a,Vlan-interface18和LoopBack2接口属于VPN实例b,Vlan-interface19和LoopBack1接口属于公网实例

单播路由协议和MPLS

·     在公网中配置OSPF,在各PE与CE之间配置RIP

·     在PE 1、PE 2和PE 3各自的LoopBack1接口之间建立BGP对等体来传递私网路由

·     在公网中配置MPLS

IP组播路由功能

·     在P上使能IP组播路由

·     在PE 1、PE 2和PE 3的公网实例中均使能IP组播路由

·     在PE 1、PE 2和PE 3的VPN实例a中均使能IP组播路由

·     在PE 2和PE 3的VPN实例b中均使能IP组播路由

·     在CE a1、CE a2、CE a3、CE b1和CE b2上均使能IP组播路由

IGMP功能

·     在PE 1的Vlan-interface20接口上使能IGMPv2

·     在CE a2的Vlan-interface40、CE a3的Vlan-interface50接口和CE b2的Vlan-interface60接口上分别使能IGMPv2

PIM功能

公网和私网中都运行PIM-SM

·     在P的所有接口上均使能PIM-SM

·     在PE 1、PE 2和PE 3的所有公网和私网接口上均使能PIM-SM

·     在CE a1、CE a2、CE a3、CE b1和CE b2所有不连接接收者的接口上均使能PIM-SM

·     P的LoopBack1接口为公网的C-BSR和C-RP(服务于所有组播组)

·     CE a2的LoopBack1接口为VPN a的C-BSR和C-RP(服务于所有组播组)

·     PE 3的LoopBack2接口为VPN b的C-BSR和C-RP(服务于所有组播组)

 

2. 组网图

图1-11 单AS内MD VPN配置组网图

设备

接口

IP地址

设备

接口

IP地址

S 1

-

10.110.7.2/24

PE 3

Vlan-int19

192.168.8.1/24

S 2

-

10.110.8.2/24

 

Vlan-int17

10.110.5.1/24

R 1

-

10.110.1.2/24

 

Vlan-int18

10.110.6.1/24

R 2

-

10.110.9.2/24

 

Loop1

1.1.1.3/32

R 3

-

10.110.10.2/24

 

Loop2

33.33.33.33/32

R 4

-

10.110.11.2/24

CE a1

Vlan-int10

10.110.7.1/24

P

Vlan-int12

192.168.6.2/24

 

Vlan-int11

10.110.2.2/24

 

Vlan-int15

192.168.7.2/24

CE a2

Vlan-int40

10.110.9.1/24

 

Vlan-int19

192.168.8.2/24

 

Vlan-int14

10.110.4.2/24

 

Loop1

2.2.2.2/32

 

Vlan-int16

10.110.12.1/24

PE 1

Vlan-int12

192.168.6.1/24

 

Loop1

22.22.22.22/32

 

Vlan-int20

10.110.1.1/24

CE a3

Vlan-int50

10.110.10.1/24

 

Vlan-int11

10.110.2.1/24

 

Vlan-int17

10.110.5.2/24

 

Loop1

1.1.1.1/32

 

Vlan-int16

10.110.12.2/24

PE 2

Vlan-int15

192.168.7.1/24

CE b1

Vlan-int30

10.110.8.1/24

 

Vlan-int13

10.110.3.1/24

 

Vlan-int13

10.110.3.2/24

 

Vlan-int14

10.110.4.1/24

CE b2

Vlan-int60

10.110.11.1/24

 

Loop1

1.1.1.2/32

 

Vlan-int18

10.110.6.2/24

 

3. 配置步骤

(1)     配置PE 1

# 配置全局Router ID,并使能公网实例中的IP组播路由。

<PE1> system-view

[PE1] router id 1.1.1.1

[PE1] multicast routing

[PE1-mrib] quit

# 配置LSR ID,并全局使能LDP能力。

[PE1] mpls lsr-id 1.1.1.1

[PE1] mpls ldp

[PE1-ldp] quit

# 创建VPN实例a,并为其配置RD和Route Target。

[PE1] ip vpn-instance a

[PE1-vpn-instance-a] route-distinguisher 100:1

[PE1-vpn-instance-a] vpn-target 100:1 export-extcommunity

[PE1-vpn-instance-a] vpn-target 100:1 import-extcommunity

[PE1-vpn-instance-a] quit

# 创建业务环回组1,并指定其业务类型为Multicast tunnel类型。

[PE1] service-loopback group 1 type multicast-tunnel

# 选择一个未被使用的端口,将其加入业务环回组1。

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

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

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

# 使能VPN实例a中的IP组播路由。

[PE1] multicast routing vpn-instance a

[PE1-mrib-a] quit

# 创建VPN实例a的MD,并指定Default-Group、MD源接口和Data-Group范围。

[PE1] multicast-domain vpn-instance a

[PE1-md-a] default-group 239.1.1.1

[PE1-md-a] source loopback 1

[PE1-md-a] data-group 225.2.2.0 28

[PE1-md-a] quit

# 在公网接口Vlan-interface12上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[PE1] interface vlan-interface 12

[PE1-Vlan-interface12] ip address 192.168.6.1 24

[PE1-Vlan-interface12] pim sm

[PE1-Vlan-interface12] mpls enable

[PE1-Vlan-interface12] mpls ldp enable

[PE1-Vlan-interface12] quit

# 将接口Vlan-interface20与VPN实例a进行关联,配置IP地址,并使能IGMP。

[PE1] interface vlan-interface 20

[PE1-Vlan-interface20] ip binding vpn-instance a

[PE1-Vlan-interface20] ip address 10.110.1.1 24

[PE1-Vlan-interface20] igmp enable

[PE1-Vlan-interface20] quit

# 将接口Vlan-interface11与VPN实例a进行关联,配置IP地址,并使能PIM-SM。

[PE1] interface vlan-interface 11

[PE1-Vlan-interface11] ip binding vpn-instance a

[PE1-Vlan-interface11] ip address 10.110.2.1 24

[PE1-Vlan-interface11] pim sm

[PE1-Vlan-interface11] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[PE1] interface loopback 1

[PE1-LoopBack1] ip address 1.1.1.1 32

[PE1-LoopBack1] pim sm

[PE1-LoopBack1] quit

# 配置BGP协议。

[PE1] bgp 100

[PE1-bgp] group vpn-g internal

[PE1-bgp] peer vpn-g connect-interface loopback 1

[PE1-bgp] peer 1.1.1.2 group vpn-g

[PE1-bgp] peer 1.1.1.3 group vpn-g

[PE1–bgp] ip vpn-instance a

[PE1-bgp-a] address-family ipv4

[PE1-bgp-ipv4-a] import-route rip 2

[PE1-bgp-ipv4-a] import-route direct

[PE1-bgp-ipv4-a] quit

[PE1-bgp-a] quit

[PE1–bgp] address-family vpnv4

[PE1–bgp-vpnv4] peer vpn-g enable

[PE1–bgp-vpnv4] quit

[PE1–bgp] quit

# 配置OSPF协议。

[PE1] ospf 1

[PE1-ospf-1] area 0.0.0.0

[PE1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0

[PE1-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.255.255

[PE1-ospf-1-area-0.0.0.0] quit

[PE1-ospf-1] quit

# 配置RIP协议。

[PE1] rip 2 vpn-instance a

[PE1-rip-2] network 10.0.0.0

[PE1-rip-2] import-route bgp

[PE1-rip-2] return

(2)     配置PE 2

# 配置全局Router ID,并使能公网实例中的IP组播路由。

<PE2> system-view

[PE2] router id 1.1.1.2

[PE2] multicast routing

[PE2-mrib] quit

# 配置LSR ID,并全局使能LDP能力。

[PE2] mpls lsr-id 1.1.1.2

[PE2] mpls ldp

[PE2-ldp] quit

# 创建VPN实例b,并为其配置RD和Route Target。

[PE2] ip vpn-instance b

[PE2-vpn-instance-b] route-distinguisher 200:1

[PE2-vpn-instance-b] vpn-target 200:1 export-extcommunity

[PE2-vpn-instance-b] vpn-target 200:1 import-extcommunity

[PE2-vpn-instance-b] quit

# 创建业务环回组1,并指定其业务类型为Multicast tunnel类型。

[PE2] service-loopback group 1 type multicast-tunnel

# 选择一个未被使用的端口,将其加入业务环回组1。

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

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

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

# 使能VPN实例b中的IP组播路由。

[PE2] multicast routing vpn-instance b

[PE2-mrib-b] quit

# 创建VPN实例b的MD,并指定Default-Group、MD源接口和Data-Group范围。

[PE2] multicast-domain vpn-instance b

[PE2-md-b] default-group 239.2.2.2

[PE2-md-b] source loopback 1

[PE2-md-b] data-group 225.4.4.0 28

[PE2-md-b] quit

# 创建VPN实例a,并为其配置RD和Route Target。

[PE2] ip vpn-instance a

[PE2-vpn-instance-a] route-distinguisher 100:1

[PE2-vpn-instance-a] vpn-target 100:1 export-extcommunity

[PE2-vpn-instance-a] vpn-target 100:1 import-extcommunity

[PE2-vpn-instance-a] quit

# 使能VPN实例a中的IP组播路由。

[PE2] multicast routing vpn-instance a

[PE2-mrib-a] quit

# 创建VPN实例a的MD,并指定Default-Group、MD源接口和Data-Group范围。

[PE2] multicast-domain vpn-instance a

[PE2-md-a] default-group 239.1.1.1

[PE2-md-a] source loopback 1

[PE2-md-a] data-group 225.2.2.0 28

[PE2-md-a] quit

# 在公网接口Vlan-interface15上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[PE2] interface vlan-interface 15

[PE2-Vlan-interface15] ip address 192.168.7.1 24

[PE2-Vlan-interface15] pim sm

[PE2-Vlan-interface15] mpls enable

[PE2-Vlan-interface15] mpls ldp enable

[PE2-Vlan-interface15] quit

# 将接口Vlan-interface13与VPN实例b进行关联,配置IP地址,并使能PIM-SM。

[PE2] interface vlan-interface 13

[PE2-Vlan-interface13] ip binding vpn-instance b

[PE2-Vlan-interface13] ip address 10.110.3.1 24

[PE2-Vlan-interface13] pim sm

[PE2-Vlan-interface13] quit

# 将接口Vlan-interface14与VPN实例a进行关联,配置IP地址,并使能PIM-SM。

[PE2] interface vlan-interface 14

[PE2-Vlan-interface14] ip binding vpn-instance a

[PE2-Vlan-interface14] ip address 10.110.4.1 24

[PE2-Vlan-interface14] pim sm

[PE2-Vlan-interface14] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[PE2] interface loopback 1

[PE2-LoopBack1] ip address 1.1.1.2 32

[PE2-LoopBack1] pim sm

[PE2-LoopBack1] quit

# 配置BGP协议。

[PE2] bgp 100

[PE2-bgp] group vpn-g internal

[PE2-bgp] peer vpn-g connect-interface loopback 1

[PE2-bgp] peer 1.1.1.1 group vpn-g

[PE2-bgp] peer 1.1.1.3 group vpn-g

[PE2–bgp] ip vpn-instance a

[PE2-bgp-a] address-family ipv4

[PE2-bgp-ipv4-a] import-route rip 2

[PE2-bgp-ipv4-a] import-route direct

[PE2-bgp-ipv4-a] quit

[PE2-bgp-a] quit

[PE2–bgp] ip vpn-instance b

[PE2-bgp-b] address-family ipv4

[PE2-bgp-ipv4-b] import-route rip 3

[PE2-bgp-ipv4-b] import-route direct

[PE2-bgp-ipv4-b] quit

[PE2-bgp-b] quit

[PE2–bgp] address-family vpnv4

[PE2–bgp-vpnv4] peer vpn-g enable

[PE2–bgp-vpnv4] quit

[PE2–bgp] quit

# 配置OSPF协议。

[PE2] ospf 1

[PE2-ospf-1] area 0.0.0.0

[PE2-ospf-1-area-0.0.0.0] network 1.1.1.2 0.0.0.0

[PE2-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.255.255

[PE2-ospf-1-area-0.0.0.0] quit

[PE2-ospf-1] quit

# 配置RIP协议。

[PE2] rip 2 vpn-instance a

[PE2-rip-2] network 10.0.0.0

[PE2-rip-2] import-route bgp

[PE2-rip-2] quit

[PE2] rip 3 vpn-instance b

[PE2-rip-3] network 10.0.0.0

[PE2-rip-3] import-route bgp

[PE2-rip-3] return

(3)     配置PE 3

# 配置全局Router ID,并使能公网实例中的IP组播路由。

<PE3> system-view

[PE3] router id 1.1.1.3

[PE3] multicast routing

[PE3-mrib] quit

# 配置LSR ID,并全局使能LDP能力。

[PE3] mpls lsr-id 1.1.1.3

[PE3] mpls ldp

[PE3-ldp] quit

# 创建VPN实例a,并为其配置RD和Route Target。

[PE3] ip vpn-instance a

[PE3-vpn-instance-a] route-distinguisher 100:1

[PE3-vpn-instance-a] vpn-target 100:1 export-extcommunity

[PE3-vpn-instance-a] vpn-target 100:1 import-extcommunity

[PE3-vpn-instance-a] quit

# 使能VPN实例a中的IP组播路由。

[PE3] multicast routing vpn-instance a

[PE3-mrib-a] quit

# 创建VPN实例a的MD,并指定Default-Group、MD源接口和Data-Group范围。

[PE3] multicast-domain vpn-instance a

[PE3-md-a] default-group 239.1.1.1

[PE3-md-a] source loopback 1

[PE3-md-a] data-group 225.2.2.0 28

[PE3-md-a] quit

# 创建VPN实例b,并为其配置RD和Route Target。

[PE3] ip vpn-instance b

[PE3-vpn-instance-b] route-distinguisher 200:1

[PE3-vpn-instance-b] vpn-target 200:1 export-extcommunity

[PE3-vpn-instance-b] vpn-target 200:1 import-extcommunity

[PE3-vpn-instance-b] quit

# 创建业务环回组1,并指定其业务类型为Multicast tunnel类型。

[PE3] service-loopback group 1 type multicast-tunnel

# 选择一个未被使用的端口,将其加入业务环回组1。

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

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

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

# 使能VPN实例b中的IP组播路由。

[PE3] multicast routing vpn-instance b

[PE3-mrib-b] quit

# 创建VPN实例b的MD,并指定,并指定Default-Group、MD源接口和Data-Group范围。

[PE3] multicast-domain vpn-instance b

[PE3-md-b] default-group 239.2.2.2

[PE3-md-b] source loopback 1

[PE3-md-b] data-group 225.4.4.0 28

[PE3-md-b] quit

# 在公网接口Vlan-interface19上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[PE3] interface vlan-interface 19

[PE3-Vlan-interface19] ip address 192.168.8.1 24

[PE3-Vlan-interface19] pim sm

[PE3-Vlan-interface19] mpls enable

[PE3-Vlan-interface19] mpls ldp enable

[PE3-Vlan-interface19] quit

# 将接口Vlan-interface17与VPN实例a进行关联,配置IP地址,并使能PIM-SM。

[PE3] interface vlan-interface 17

[PE3-Vlan-interface17] ip binding vpn-instance a

[PE3-Vlan-interface17] ip address 10.110.5.1 24

[PE3-Vlan-interface17] pim sm

[PE3-Vlan-interface17] quit

# 将接口Vlan-interface18与VPN实例b进行关联,配置IP地址,并使能PIM-SM。

[PE3] interface vlan-interface 18

[PE3-Vlan-interface18] ip binding vpn-instance b

[PE3-Vlan-interface18] ip address 10.110.6.1 24

[PE3-Vlan-interface18] pim sm

[PE3-Vlan-interface18] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[PE3] interface loopback 1

[PE3-LoopBack1] ip address 1.1.1.3 32

[PE3-LoopBack1] pim sm

[PE3-LoopBack1] quit

# 将接口LoopBack2与VPN实例b进行关联,配置IP地址,并使能PIM-SM。

[PE3] interface loopback 2

[PE3-LoopBack2] ip binding vpn-instance b

[PE3-LoopBack2] ip address 33.33.33.33 32

[PE3-LoopBack2] pim sm

[PE3-LoopBack2] quit

# 配置LoopBack2接口为VPN b的C-BSR和C-RP。

[PE3] pim vpn-instance b

[PE3-pim-b] c-bsr 33.33.33.33

[PE3-pim-b] c-rp 33.33.33.33

[PE3-pim-b] quit

# 配置BGP协议。

[PE3] bgp 100

[PE3-bgp] group vpn-g internal

[PE3-bgp] peer vpn-g connect-interface loopback 1

[PE3-bgp] peer 1.1.1.1 group vpn-g

[PE3-bgp] peer 1.1.1.2 group vpn-g

[PE3–bgp] ip vpn-instance a

[PE3-bgp-a] address-family ipv4

[PE3-bgp-ipv4-a] import-route rip 2

[PE3-bgp-ipv4-a] import-route direct

[PE3-bgp-ipv4-a] quit

[PE3-bgp-a] quit

[PE3–bgp] ip vpn-instance b

[PE3-bgp-b] address-family ipv4

[PE3-bgp-ipv4-b] import-route rip 3

[PE3-bgp-ipv4-b] import-route direct

[PE3-bgp-ipv4-b] quit

[PE3-bgp-b] quit

[PE3–bgp] address-family vpnv4

[PE3–bgp-vpnv4] peer vpn-g enable

[PE3–bgp-vpnv4] quit

[PE3–bgp] quit

# 配置OSPF协议。

[PE3] ospf 1

[PE3-ospf-1] area 0.0.0.0

[PE3-ospf-1-area-0.0.0.0] network 1.1.1.3 0.0.0.0

[PE3-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.255.255

[PE3-ospf-1-area-0.0.0.0] quit

[PE3-ospf-1] quit

# 配置RIP协议。

[PE3] rip 2 vpn-instance a

[PE3-rip-2] network 10.0.0.0

[PE3-rip-2] import-route bgp

[PE3-rip-2] quit

[PE3] rip 3 vpn-instance b

[PE3-rip-3] network 10.0.0.0

[PE3-rip-3] network 33.0.0.0

[PE3-rip-3] import-route bgp

[PE3-rip-3] return

(4)     配置P

# 使能公网实例中的IP组播路由。

<P> system-view

[P] multicast routing

[P-mrib] quit

# 配置LSR ID,并全局使能LDP能力。

[P] mpls lsr-id 2.2.2.2

[P] mpls ldp

[P-ldp] quit

# 在公网接口Vlan-interface12上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[P] interface vlan-interface 12

[P-Vlan-interface12] ip address 192.168.6.2 24

[P-Vlan-interface12] pim sm

[P-Vlan-interface12] mpls enable

[P-Vlan-interface12] mpls ldp enable

[P-Vlan-interface12] quit

# 在公网接口Vlan-interface15上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[P] interface vlan-interface 15

[P-Vlan-interface15] ip address 192.168.7.2 24

[P-Vlan-interface15] pim sm

[P-Vlan-interface15] mpls enable

[P-Vlan-interface15] mpls ldp enable

[P-Vlan-interface15] quit

# 在公网接口Vlan-interface19上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[P] interface vlan-interface 19

[P-Vlan-interface19] ip address 192.168.8.2 24

[P-Vlan-interface19] pim sm

[P-Vlan-interface19] mpls enable

[P-Vlan-interface19] mpls ldp enable

[P-Vlan-interface19] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[P] interface loopback 1

[P-LoopBack1] ip address 2.2.2.2 32

[P-LoopBack1] pim sm

[P-LoopBack1] quit

# 配置LoopBack1接口为公网实例的C-BSR和C-RP。

[P] pim

[P-pim] c-bsr 2.2.2.2

[P-pim] c-rp 2.2.2.2

[P-pim] quit

# 配置OSPF协议。

[P] ospf 1

[P-ospf-1] area 0.0.0.0

[P-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0

[P-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.255.255

(5)     配置CE a1

# 使能IP组播路由。

<CEa1> system-view

[CEa1] multicast routing

[CEa1-mrib] quit

# 在接口Vlan-interface10上配置IP地址,并使能PIM-SM。

[CEa1] interface vlan-interface 10

[CEa1-Vlan-interface10] ip address 10.110.7.1 24

[CEa1-Vlan-interface10] pim sm

[CEa1-Vlan-interface10] quit

# 在接口Vlan-interface11上配置IP地址,并使能PIM-SM。

[CEa1] interface vlan-interface 11

[CEa1-Vlan-interface11] ip address 10.110.2.2 24

[CEa1-Vlan-interface11] pim sm

[CEa1-Vlan-interface11] quit

# 配置RIP协议。

[CEa1] rip 2

[CEa1-rip-2] network 10.0.0.0

(6)     配置CE b1

# 使能IP组播路由。

<CEb1> system-view

[CEb1] multicast routing

[CEb1-mrib] quit

# 在接口Vlan-interface30上配置IP地址,并使能PIM-SM。

[CEb1] interface vlan-interface 30

[CEb1-Vlan-interface30] ip address 10.110.8.1 24

[CEb1-Vlan-interface30] pim sm

[CEb1-Vlan-interface30] quit

# 在接口Vlan-interface13上配置IP地址,并使能PIM-SM。

[CEb1] interface vlan-interface 13

[CEb1-Vlan-interface13] ip address 10.110.3.2 24

[CEb1-Vlan-interface13] pim sm

[CEb1-Vlan-interface13] quit

# 配置RIP协议。

[CEb1] rip 3

[CEb1-rip-3] network 10.0.0.0

(7)     配置CE a2

# 使能IP组播路由。

<CEa2> system-view

[CEa2] multicast routing

[CEa2-mrib] quit

# 在接口Vlan-interface40上配置IP地址,并使能IGMP。

[CEa2] interface vlan-interface 40

[CEa2-Vlan-interface40] ip address 10.110.9.1 24

[CEa2-Vlan-interface40] igmp enable

[CEa2-Vlan-interface40] quit

# 在接口Vlan-interface14上配置IP地址,并使能PIM-SM。

[CEa2] interface vlan-interface 14

[CEa2-Vlan-interface14] ip address 10.110.4.2 24

[CEa2-Vlan-interface14] pim sm

[CEa2-Vlan-interface14] quit

# 在接口Vlan-interface16上配置IP地址,并使能PIM-SM。

[CEa2] interface vlan-interface 16

[CEa2-Vlan-interface16] ip address 10.110.12.1 24

[CEa2-Vlan-interface16] pim sm

[CEa2-Vlan-interface16] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[CEa2] interface loopback 1

[CEa2-LoopBack1] ip address 22.22.22.22 32

[CEa2-LoopBack1] pim sm

[CEa2-LoopBack1] quit

# 配置LoopBack1接口为VPN a的BSR和RP。

[CEa2] pim

[CEa2-pim] c-bsr 22.22.22.22

[CEa2-pim] c-rp 22.22.22.22

[CEa2-pim] quit

# 配置RIP协议。

[CEa2] rip 2

[CEa2-rip-2] network 10.0.0.0

[CEa2-rip-2] network 22.0.0.0

(8)     配置CE a3

# 使能IP组播路由。

<CEa3> system-view

[CEa3] multicast routing

[CEa3-mrib] quit

# 在接口Vlan-interface50上配置IP地址,并使能IGMP。

[CEa3] interface vlan-interface 50

[CEa3-Vlan-interface50] ip address 10.110.10.1 24

[CEa3-Vlan-interface50] igmp enable

[CEa3-Vlan-interface50] quit

# 在接口Vlan-interface17上配置IP地址,并使能PIM-SM。

[CEa3] interface vlan-interface 17

[CEa3-Vlan-interface17] ip address 10.110.5.2 24

[CEa3-Vlan-interface17] pim sm

[CEa3-Vlan-interface17] quit

# 在接口Vlan-interface16上配置IP地址,并使能PIM-SM。

[CEa3] interface vlan-interface 16

[CEa3-Vlan-interface16] ip address 10.110.12.2 24

[CEa3-Vlan-interface16] pim sm

[CEa3-Vlan-interface16] quit

# 配置RIP协议。

[CEa3] rip 2

[CEa3-rip-2] network 10.0.0.0

(9)     配置CE b2

# 使能IP组播路由。

<CEb2> system-view

[CEb2] multicast routing

[CEb2-mrib] quit

# 在接口Vlan-interface60上配置IP地址,并使能IGMP。

[CEb2] interface vlan-interface 60

[CEb2-Vlan-interface60] ip address 10.110.11.1 24

[CEb2-Vlan-interface60] igmp enable

[CEb2-Vlan-interface60] quit

# 在接口Vlan-interface18上配置IP地址,并使能PIM-SM。

[CEb2] interface vlan-interface 18

[CEb2-Vlan-interface18] ip address 10.110.6.2 24

[CEb2-Vlan-interface18] pim sm

[CEb2-Vlan-interface18] quit

# 配置RIP协议。

[CEb2] rip 3

[CEb2-rip-3] network 10.0.0.0

4. 验证配置

通过使用display multicast-domain default-group命令可以查看Default-Group的信息。

# 查看PE 1上所有VPN实例中Default-Group的信息。

[PE1] display multicast-domain default-group

 Group address    Source address   Interface     VPN instance

 239.1.1.1        1.1.1.1          MTunnel0      a

# 查看PE 2上所有VPN实例中Default-Group的信息。

[PE2] display multicast-domain default-group

 Group address    Source address   Interface     VPN instance

 239.1.1.1        1.1.1.2          MTunnel0      a

 239.1.1.1        1.1.1.2          MTunnel1      b

# 查看PE 3上所有VPN实例中Default-Group的信息。

[PE3] display multicast-domain default-group

 Group address    Source address   Interface     VPN instance

 239.1.1.1        1.1.1.3          MTunnel0      a

 239.2.2.2        1.1.1.3          MTunnel1      b

1.7.2  跨AS的MD VPN配置举例

1. 组网需求

组网需求如表1-13所示。

表1-13 跨AS的MD VPN配置组网需求

项目

组网需求

组播源和接收者

·     VPN a的组播源为S 1,接收者为R 2

·     VPN b的组播源为S 2,接收者为R 1

·     VPN a中的Default-Group为239.1.1.1,Data-Group范围为225.1.1.0~225.1.1.15

·     VPN b中的Default-Group为239.4.4.4,Data-Group范围为225.4.4.0~225.4.4.15

PE各接口所属实例

·     PE 1:Vlan-interface11接口属于VPN实例a,Vlan-interface12接口属于VPN实例b,Vlan-interface2和LoopBack1接口属于公网实例

·     PE 2:Vlan-interface2、Vlan-interface3、LoopBack1和LoopBack2接口属于公网实例

·     PE 3:Vlan-interface3、Vlan-interface4、LoopBack1和LoopBack2接口属于公网实例

·     PE 4:Vlan-interface13接口属于VPN实例a,Vlan-interface14接口属于VPN实例b,Vlan-interface4和LoopBack1接口属于公网实例

单播路由协议和MPLS

·     在AS 100和AS 200中分别配置OSPF,在各PE与CE之间也配置OSPF

·     在PE 1、PE 2、PE 3和PE 4各自的LoopBack1接口之间建立BGP对等体来传递私网路由

·     在AS 100和AS 200中分别配置MPLS

IP组播路由功能

·     在PE 1、PE 2、PE 3和PE 4的公网实例中均使能IP组播路由

·     在PE 1和PE 4的VPN实例a中均使能IP组播路由

·     在PE 1和PE 4的VPN实例b中均使能IP组播路由

·     在CE a1、CE a2、CE b1、CE b2上均使能IP组播路由

IGMP功能

·     在CE a2的Vlan-interface30接口上使能IGMPv2

·     在CE b2的Vlan-interface40接口上使能IGMPv2

PIM功能

公网和私网中都运行PIM-SM

·     在PE 2和PE 3的所有公网接口上均使能PIM-SM

·     在PE 1和PE 4的所有公网和私网接口上均使能PIM-SM

·     在CE a1、CE a2、CE b1和CE b2所有不连接接收者的接口上均使能PIM-SM

·     PE 2和PE 3的LoopBack2接口为各自所在AS的C-BSR和C-RP(服务于所有组播组)

·     CE a1的LoopBack0接口为VPN a的C-BSR和C-RP(服务于所有组播组)

·     CE b1的LoopBack0接口为VPN b的C-BSR和C-RP(服务于所有组播组)

MSDP功能

·     在PE 2和PE 3的Loopback1接口之间建立MSDP对等体

 

2. 组网图

图1-12 跨AS的MD VPN配置组网图

设备

接口

IP地址

设备

接口

IP地址

S 1

-

10.11.5.2/24

R 1

-

10.11.8.2/24

S 2

-

10.11.6.2/24

R 2

-

10.11.7.2/24

PE 1

Vlan-int2

10.10.1.1/24

PE 3

Vlan-int4

10.10.2.1/24

 

Vlan-int11

10.11.1.1/24

 

Vlan-int3

192.168.1.2/24

 

Vlan-int12

10.11.2.1/24

 

Loop1

1.1.1.3/32

 

Loop1

1.1.1.1/32

 

Loop2

22.22.22.22/32

PE 2

Vlan-int2

10.10.1.2/24

PE 4

Vlan-int4

10.10.2.2/24

 

Vlan-int3

192.168.1.1/24

 

Vlan-int13

10.11.3.1/24

 

Loop1

1.1.1.2/32

 

Vlan-int14

10.11.4.1/32

 

Loop2

11.11.11.11/32

 

Loop2

1.1.1.4/32

CE a1

Vlan-int10

10.11.5.1/24

CE b1

Vlan-int20

10.11.6.1/24

 

Vlan-int11

10.11.1.2/24

 

Vlan-int12

10.11.2.2/24

 

Loop0

2.2.2.2/32

CE b2

Vlan-int40

10.11.8.1/24

CE a2

Vlan-int30

10.11.7.1/24

 

Vlan-int14

10.11.4.2/24

 

Vlan-int13

10.11.3.2/24

 

Loop0

3.3.3.3/32

 

3. 配置步骤

(1)     配置PE 1

# 配置全局Router ID,并使能公网实例中的IP组播路由。

<PE1> system-view

[PE1] router id 1.1.1.1

[PE1] multicast routing

[PE1-mrib] quit

# 配置LSR ID,并全局使能LDP能力。

[PE1] mpls lsr-id 1.1.1.1

[PE1] mpls ldp

[PE1-ldp] quit

# 创建VPN实例a,并为其配置RD和Route Target。

[PE1] ip vpn-instance a

[PE1-vpn-instance-a] route-distinguisher 100:1

[PE1-vpn-instance-a] vpn-target 100:1 export-extcommunity

[PE1-vpn-instance-a] vpn-target 100:1 import-extcommunity

[PE1-vpn-instance-a] quit

# 创建业务环回组1,并指定其业务类型为Multicast tunnel类型。

[PE1] service-loopback group 1 type multicast-tunnel

# 选择一个未被使用的端口,将其加入业务环回组1。

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

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

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

# 使能VPN实例a中的IP组播路由。

[PE1] multicast routing vpn-instance a

[PE1-mrib-a] quit

# 创建VPN实例a的MD,并指定Default-Group、MD源接口和Data-Group范围。

[PE1] multicast-domain vpn-instance a

[PE1-md-a] default-group 239.1.1.1

[PE1-md-a] source loopback 1

[PE1-md-a] data-group 225.1.1.0 28

[PE1-md-a] quit

# 创建VPN实例b,并为其配置RD和Route Target。

[PE1] ip vpn-instance b

[PE1-vpn-instance-b] route-distinguisher 200:1

[PE1-vpn-instance-b] vpn-target 200:1 export-extcommunity

[PE1-vpn-instance-b] vpn-target 200:1 import-extcommunity

[PE1-vpn-instance-b] quit

# 使能VPN实例b中的IP组播路由。

[PE1] multicast routing vpn-instance b

[PE1-mrib-b] quit

# 创建VPN实例b的MD,并指定Default-Group、MD源接口和Data-Group范围。

[PE1] multicast-domain vpn-instance b

[PE1-md-b] default-group 239.4.4.4

[PE1-md-b] source loopback 1

[PE1-md-b] data-group 225.4.4.0 28

[PE1-md-b] quit

# 在公网接口Vlan-interface2上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[PE1] interface vlan-interface 2

[PE1-Vlan-interface2] ip address 10.10.1.1 24

[PE1-Vlan-interface2] pim sm

[PE1-Vlan-interface2] mpls enable

[PE1-Vlan-interface2] mpls ldp enable

[PE1-Vlan-interface2] quit

# 将接口Vlan-interface11与VPN实例a进行关联,配置IP地址,并使能PIM-SM。

[PE1] interface vlan-interface 11

[PE1-Vlan-interface11] ip binding vpn-instance a

[PE1-Vlan-interface11] ip address 10.11.1.1 24

[PE1-Vlan-interface11] pim sm

[PE1-Vlan-interface11] quit

# 将接口Vlan-interface12与VPN实例b进行关联,配置IP地址,并使能PIM-SM。

[PE1] interface vlan-interface 12

[PE1-Vlan-interface12] ip binding vpn-instance b

[PE1-Vlan-interface12] ip address 10.11.2.1 24

[PE1-Vlan-interface12] pim sm

[PE1-Vlan-interface12] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[PE1] interface loopback 1

[PE1-LoopBack1] ip address 1.1.1.1 32

[PE1-LoopBack1] pim sm

[PE1-LoopBack1] quit

# 配置BGP协议。

[PE1] bgp 100

[PE1-bgp] group pe1-pe2 internal

[PE1-bgp] peer pe1-pe2 connect-interface loopback 1

[PE1-bgp] peer 1.1.1.2 group pe1-pe2

[PE1-bgp] group pe1-pe4 external

[PE1-bgp] peer pe1-pe4 as-number 200

[PE1-bgp] peer pe1-pe4 ebgp-max-hop 255

[PE1-bgp] peer pe1-pe4 connect-interface loopback 1

[PE1-bgp] peer 1.1.1.4 group pe1-pe4

[PE1–bgp] ip vpn-instance a

[PE1-bgp-a] address-family ipv4

[PE1-bgp-ipv4-a] import-route ospf 2

[PE1-bgp-ipv4-a] import-route direct

[PE1-bgp-ipv4-a] quit

[PE1-bgp-a] quit

[PE1–bgp] ip vpn-instance b

[PE1-bgp-b] address-family ipv4

[PE1-bgp-ipv4-b] import-route ospf 3

[PE1-bgp-ipv4-b] import-route direct

[PE1-bgp-ipv4-b] quit

[PE1-bgp-b] quit

[PE1–bgp] address-family ipv4

[PE1-bgp-ipv4] peer pe1-pe2 enable

[PE1-bgp-ipv4] peer pe1-pe2 label-route-capability

[PE1-bgp-ipv4] quit

[PE1–bgp] address-family vpnv4

[PE1–bgp-vpnv4] peer pe1-pe4 enable

[PE1–bgp-vpnv4] quit

[PE1–bgp] quit

# 配置OSPF协议。

[PE1] ospf 1

[PE1-ospf-1] area 0.0.0.0

[PE1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0

[PE1-ospf-1-area-0.0.0.0] network 10.10.0.0 0.0.255.255

[PE1-ospf-1-area-0.0.0.0] quit

[PE1-ospf-1] quit

[PE1] ospf 2 vpn-instance a

[PE1-ospf-2] import-route bgp

[PE1-ospf-2] area 0.0.0.0

[PE1-ospf-2-area-0.0.0.0] network 10.11.0.0 0.0.255.255

[PE1-ospf-2-area-0.0.0.0] quit

[PE1-ospf-2] quit

[PE1] ospf 3 vpn-instance b

[PE1-ospf-3] import-route bgp

[PE1-ospf-3] area 0.0.0.0

[PE1-ospf-3-area-0.0.0.0] network 10.11.0.0 0.0.255.255

[PE1-ospf-3-area-0.0.0.0] quit

[PE1-ospf-3] quit

(2)     配置PE 2

# 配置全局Router ID,并使能公网实例中的IP组播路由。

<PE2> system-view

[PE2] router id 1.1.1.2

[PE2] multicast routing

[PE2-mrib] quit

# 配置LSR ID,并全局使能LDP能力。

[PE2] mpls lsr-id 1.1.1.2

[PE2] mpls ldp

[PE2-ldp] quit

# 在公网接口Vlan-interface2上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[PE2] interface vlan-interface 2

[PE2-Vlan-interface2] ip address 10.10.1.2 24

[PE2-Vlan-interface2] pim sm

[PE2-Vlan-interface2] mpls enable

[PE2-Vlan-interface2] mpls ldp enable

[PE2-Vlan-interface2] quit

# 在公网接口Vlan-interface3上配置IP地址,并使能PIM-SM和MPLS能力。

[PE2] interface vlan-interface 3

[PE2-Vlan-interface3] ip address 192.168.1.1 24

[PE2-Vlan-interface3] pim sm

[PE2-Vlan-interface3] mpls enable

[PE2-Vlan-interface3] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[PE2] interface loopback 1

[PE2-LoopBack1] ip address 1.1.1.2 32

[PE2-LoopBack1] pim sm

[PE2-LoopBack1] quit

# 配置LoopBack2接口的IP地址,并使能PIM-SM。

[PE2] interface loopback 2

[PE2-LoopBack2] ip address 11.11.11.11 32

[PE2-LoopBack2] pim sm

[PE2-LoopBack2] quit

# 配置LoopBack2接口为公网实例的C-BSR和C-RP。

[PE2] pim

[PE2-pim] c-bsr 11.11.11.11

[PE2-pim] c-rp 11.11.11.11

[PE2-pim] quit

# 配置BSR的服务边界。

[PE2] interface vlan-interface 3

[PE2-Vlan-interface3] pim bsr-boundary

[PE2-Vlan-interface3] quit

# 配置MSDP对等体。

[PE2] msdp

[PE2-msdp] encap-data-enable

[PE2-msdp] peer 1.1.1.3 connect-interface loopback 1

# 配置静态路由。

[PE2] ip route-static 1.1.1.3 32 vlan-interface 3 192.168.1.2

# 配置BGP协议。

[PE2] bgp 100

[PE2-bgp] group pe2-pe1 internal

[PE2-bgp] peer pe2-pe1 connect-interface loopback 1

[PE2-bgp] peer 1.1.1.1 group pe2-pe1

[PE2-bgp] group pe2-pe3 external

[PE2-bgp] peer pe2-pe3 as-number 200

[PE2-bgp] peer pe2-pe3 connect-interface loopback 1

[PE2-bgp] peer 1.1.1.3 group pe2-pe3

[PE2-bgp] address-family ipv4

[PE2-bgp-ipv4] peer pe2-pe1 enable

[PE2-bgp-ipv4] peer pe2-pe1 route-policy map2 export

[PE2-bgp-ipv4] peer pe2-pe1 label-route-capability

[PE2-bgp-ipv4] peer pe2-pe3 enable

[PE2-bgp-ipv4] peer pe2-pe3 route-policy map1 export

[PE2-bgp-ipv4] peer pe2-pe3 label-route-capability

[PE2-bgp-ipv4] import-route ospf 1

[PE2-bgp-ipv4] quit

[PE2–bgp] quit

# 配置OSPF协议。

[PE2] ospf 1

[PE2-ospf-1] area 0.0.0.0

[PE2-ospf-1-area-0.0.0.0] network 1.1.1.2 0.0.0.0

[PE2-ospf-1-area-0.0.0.0] network 11.11.11.11 0.0.0.0

[PE2-ospf-1-area-0.0.0.0] network 10.10.0.0 0.0.255.255

[PE2-ospf-1-area-0.0.0.0] quit

[PE2-ospf-1] quit

# 配置路由策略。

[PE2] route-policy map1 permit node 10

[PE2-route-policy-map1-10] apply mpls-label

[PE2-route-policy-map1-10] quit

[PE2] route-policy map2 permit node 10

[PE2-route-policy-map2-10] if-match mpls-label

[PE2-route-policy-map2-10] apply mpls-label

[PE2-route-policy-map2-10] quit

(3)     配置PE 3

# 配置全局Router ID,并使能公网实例中的IP组播路由。

<PE3> system-view

[PE3] router id 1.1.1.3

[PE3] multicast routing

[PE3-mrib] quit

# 配置LSR ID,并全局使能LDP能力。

[PE3] mpls lsr-id 1.1.1.3

[PE3] mpls ldp

[PE3-ldp] quit

# 在公网接口Vlan-interface4上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[PE3] interface vlan-interface 4

[PE3-Vlan-interface4] ip address 10.10.2.1 24

[PE3-Vlan-interface4] pim sm

[PE3-Vlan-interface4] mpls enable

[PE3-Vlan-interface4] mpls ldp enable

[PE3-Vlan-interface4] quit

# 在公网接口Vlan-interface3上配置IP地址,并使能PIM-SM和MPLS能力。

[PE3] interface vlan-interface 3

[PE3-Vlan-interface3] ip address 192.168.1.2 24

[PE3-Vlan-interface3] pim sm

[PE3-Vlan-interface3] mpls enable

[PE3-Vlan-interface3] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[PE3] interface loopback 1

[PE3-LoopBack1] ip address 1.1.1.3 32

[PE3-LoopBack1] pim sm

[PE3-LoopBack1] quit

# 配置LoopBack2接口的IP地址,并使能PIM-SM。

[PE3] interface loopback 2

[PE3-LoopBack2] ip address 22.22.22.22 32

[PE3-LoopBack2] pim sm

[PE3-LoopBack2] quit

# 配置LoopBack2接口为公网实例的C-BSR和C-RP。

[PE3] pim

[PE3-pim] c-bsr 22.22.22.22

[PE3-pim] c-rp 22.22.22.22

[PE3-pim] quit

# 配置BSR的服务边界。

[PE3] interface vlan-interface 3

[PE3-Vlan-interface3] pim bsr-boundary

[PE3-Vlan-interface3] quit

# 配置MSDP对等体。

[PE3] msdp

[PE3-msdp] encap-data-enable

[PE3-msdp] peer 1.1.1.2 connect-interface loopback 1

# 配置静态路由。

[PE3] ip route-static 1.1.1.2 32 vlan-interface 3 192.168.1.1

# 配置BGP协议。

[PE3] bgp 200

[PE3-bgp] group pe3-pe4 internal

[PE3-bgp] peer pe3-pe4 connect-interface loopback 1

[PE3-bgp] peer 1.1.1.4 group pe3-pe4

[PE3-bgp] group pe3-pe2 external

[PE3-bgp] peer pe3-pe2 as-number 100

 [PE3-bgp] peer pe3-pe2 connect-interface loopback 1

[PE3-bgp] peer 1.1.1.2 group pe3-pe2

[PE3-bgp] address-family ipv4

[PE3-bgp-ipv4] peer pe3-pe4 enable

[PE3-bgp-ipv4] peer pe3-pe4 route-policy map2 export

[PE3-bgp-ipv4] peer pe3-pe4 label-route-capability

[PE3-bgp-ipv4] peer pe3-pe2 enable

[PE3-bgp-ipv4] peer pe3-pe2 route-policy map1 export

[PE3-bgp-ipv4] peer pe3-pe2 label-route-capability

[PE3-bgp-ipv4] import-route ospf 1

[PE3-bgp-ipv4] quit

[PE3–bgp] quit

# 配置OSPF协议。

[PE3] ospf 1

[PE3-ospf-1] area 0.0.0.0

[PE3-ospf-1-area-0.0.0.0] network 1.1.1.3 0.0.0.0

[PE3-ospf-1-area-0.0.0.0] network 22.22.22.22 0.0.0.0

[PE3-ospf-1-area-0.0.0.0] network 10.10.0.0 0.0.255.255

[PE3-ospf-1-area-0.0.0.0] quit

[PE3-ospf-1] quit

# 配置路由策略。

[PE3] route-policy map1 permit node 10

[PE3-route-policy-map1-10] apply mpls-label

[PE3-route-policy-map1-10] quit

[PE3] route-policy map2 permit node 10

[PE3-route-policy-map2-10] if-match mpls-label

[PE3-route-policy-map2-10] apply mpls-label

[PE3-route-policy-map2-10] quit

(4)     配置PE 4

# 配置全局Router ID,并使能公网实例中的IP组播路由。

<PE4> system-view

[PE4] router id 1.1.1.4

[PE4] multicast routing

[PE4-mrib] quit

# 配置LSR ID,并全局使能LDP能力。

[PE4] mpls lsr-id 1.1.1.4

[PE4] mpls ldp

[PE4-ldp] quit

# 创建VPN实例a,并为其配置RD和Route Target。

[PE4] ip vpn-instance a

[PE4-vpn-instance-a] route-distinguisher 100:1

[PE4-vpn-instance-a] vpn-target 100:1 export-extcommunity

[PE4-vpn-instance-a] vpn-target 100:1 import-extcommunity

[PE4-vpn-instance-a] quit

# 创建业务环回组1,并指定其业务类型为Multicast tunnel类型。

[PE4] service-loopback group 1 type multicast-tunnel

# 选择一个未被使用的端口,将其加入业务环回组1。

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

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

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

# 使能VPN实例a中的IP组播路由。

[PE4] multicast routing vpn-instance a

[PE4-mrib-a] quit

# 创建VPN实例a的MD,并指定Default-Group、MD源接口和Data-Group范围。

[PE4] multicast-domain vpn-instance a

[PE4-md-a] default-group 239.1.1.1

[PE4-md-a] source loopback 1

[PE4-md-a] data-group 225.1.1.0 28

[PE4-md-a] quit

# 创建VPN实例b,并为其配置RD和Route Target。

[PE4] ip vpn-instance b

[PE4-vpn-instance-b] route-distinguisher 200:1

[PE4-vpn-instance-b] vpn-target 200:1 export-extcommunity

[PE4-vpn-instance-b] vpn-target 200:1 import-extcommunity

[PE4-vpn-instance-b] quit

# 使能VPN实例b中的IP组播路由。

[PE4] multicast routing vpn-instance b

[PE4-mrib-b] quit

# 创建VPN实例b的MD,并指定Default-Group、MD源接口和Data-Group范围。

[PE4] multicast-domain vpn-instance b

[PE4-md-b] default-group 239.4.4.4

[PE4-md-b] source loopback 1

[PE4-md-b] data-group 225.4.4.0 28

[PE4-md-b] quit

# 在公网接口Vlan-interface4上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。

[PE4] interface vlan-interface 4

[PE4-Vlan-interface4] ip address 10.10.2.2 24

[PE4-Vlan-interface4] pim sm

[PE4-Vlan-interface4] mpls enable

[PE4-Vlan-interface4] mpls ldp enable

[PE4-Vlan-interface4] quit

# 将接口Vlan-interface13与VPN实例a进行关联,配置IP地址,并使能PIM-SM。

[PE4] interface vlan-interface 13

[PE4-Vlan-interface13] ip binding vpn-instance a

[PE4-Vlan-interface13] ip address 10.11.3.1 24

[PE4-Vlan-interface13] pim sm

[PE4-Vlan-interface13] quit

# 将接口Vlan-interface14与VPN实例b进行关联,配置IP地址,并使能PIM-SM。

[PE4] interface vlan-interface 14

[PE4-Vlan-interface14] ip binding vpn-instance b

[PE4-Vlan-interface14] ip address 10.11.4.1 24

[PE4-Vlan-interface14] pim sm

[PE4-Vlan-interface14] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[PE4] interface loopback 1

[PE4-LoopBack1] ip address 1.1.1.4 32

[PE4-LoopBack1] pim sm

[PE4-LoopBack1] quit

# 配置BGP协议。

[PE4] bgp 200

[PE4-bgp] group pe4-pe3 internal

[PE4-bgp] peer pe4-pe3 connect-interface loopback 1

[PE4-bgp] peer 1.1.1.3 group pe4-pe3

[PE4-bgp] group pe4-pe1 external

[PE4-bgp] peer pe4-pe1 as-number 100

[PE4-bgp] peer pe4-pe1 ebgp-max-hop 255

[PE4-bgp] peer pe4-pe1 connect-interface loopback 1

[PE4-bgp] peer 1.1.1.1 group pe4-pe1

[PE4–bgp] ip vpn-instance a

[PE4-bgp-a] address-family ipv4

[PE4-bgp-ipv4-a] import-route ospf 2

[PE4-bgp-ipv4-a] import-route direct

[PE4-bgp-ipv4-a] quit

[PE4-bgp-a] quit

[PE4–bgp] ip vpn-instance b

[PE4-bgp-b] address-family ipv4

[PE4-bgp-ipv4-b] import-route ospf 3

[PE4-bgp-ipv4-b] import-route direct

[PE4-bgp-ipv4-b] quit

[PE4-bgp-b] quit

[PE4–bgp] address-family ipv4

[PE4-bgp-ipv4] peer pe4-pe3 enable

[PE4-bgp-ipv4] peer pe4-pe3 label-route-capability

[PE4-bgp-ipv4] quit

[PE4–bgp] address-family vpnv4

[PE4–bgp-vpnv4] peer pe4-pe1 enable

[PE4–bgp-vpnv4] quit

[PE4–bgp] quit

# 配置OSPF协议。

[PE4] ospf 1

[PE4-ospf-1] area 0.0.0.0

[PE4-ospf-1-area-0.0.0.0] network 1.1.1.4 0.0.0.0

[PE4-ospf-1-area-0.0.0.0] network 10.10.0.0 0.0.255.255

[PE4-ospf-1-area-0.0.0.0] quit

[PE4-ospf-1] quit

[PE4] ospf 2 vpn-instance a

[PE4-ospf-2] import-route bgp

[PE4-ospf-2] area 0.0.0.0

[PE4-ospf-2-area-0.0.0.0] network 10.11.0.0 0.0.255.255

[PE4-ospf-2-area-0.0.0.0] quit

[PE4-ospf-2] quit

[PE4] ospf 3 vpn-instance b

[PE4-ospf-3] import-route bgp

[PE4-ospf-3] area 0.0.0.0

[PE4-ospf-3-area-0.0.0.0] network 10.11.0.0 0.0.255.255

[PE4-ospf-3-area-0.0.0.0] quit

[PE4-ospf-3] quit

(5)     配置CE a1

# 使能IP组播路由。

<CEa1> system-view

[CEa1] multicast routing

[CEa1-mrib] quit

# 在接口Vlan-interface10上配置IP地址,并使能PIM-SM。

[CEa1] interface vlan-interface 10

[CEa1-Vlan-interface10] ip address 10.11.5.1 24

[CEa1-Vlan-interface10] pim sm

[CEa1-Vlan-interface10] quit

# 在接口Vlan-interface11上配置IP地址,并使能PIM-SM。

[CEa1] interface vlan-interface 11

[CEa1-Vlan-interface11] ip address 10.11.1.2 24

[CEa1-Vlan-interface11] pim sm

[CEa1-Vlan-interface11] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[CEa1] interface loopback 1

[CEa1-LoopBack1] ip address 2.2.2.2 32

[CEa1-LoopBack1] pim sm

[CEa1-LoopBack1] quit

# 配置LoopBack1接口为VPN a的C-BSR和C-RP。

[CEa1] pim

[CEa1-pim] c-bsr 2.2.2.2

[CEa1-pim] c-rp 2.2.2.2

[CEa1-pim] quit

# 配置OSPF协议。

[CEa1] ospf 1

[CEa1-ospf-1] area 0.0.0.0

[CEa1-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0

[CEa1-ospf-1-area-0.0.0.0] network 10.11.0.0 0.0.255.255

[CEa1-ospf-1-area-0.0.0.0] quit

[CEa1-ospf-1] quit

(6)     配置CE b1

# 使能IP组播路由。

<CEb1> system-view

[CEb1] multicast routing

[CEb1-mrib] quit

# 在接口Vlan-interface20上配置IP地址,并使能PIM-SM。

[CEb1] interface vlan-interface 20

[CEb1-Vlan-interface20] ip address 10.11.6.1 24

[CEb1-Vlan-interface20] pim sm

[CEb1-Vlan-interface20] quit

# 在接口Vlan-interface12上配置IP地址,并使能PIM-SM。

[CEb1] interface vlan-interface 12

[CEb1-Vlan-interface12] ip address 10.11.2.2 24

[CEb1-Vlan-interface12] pim sm

[CEb1-Vlan-interface12] quit

# 配置OSPF协议。

[CEb1] ospf 1

[CEb1-ospf-1] area 0.0.0.0

[CEb1-ospf-1-area-0.0.0.0] network 10.11.0.0 0.0.255.255

[CEb1-ospf-1-area-0.0.0.0] quit

[CEb1-ospf-1] quit

(7)     配置CE a2

# 使能IP组播路由。

<CEa2> system-view

[CEa2] multicast routing

[CEa2-mrib] quit

# 在接口Vlan-interface30上配置IP地址,并使能IGMP。

[CEa2] interface vlan-interface 30

[CEa2-Vlan-interface30] ip address 10.11.7.1 24

[CEa2-Vlan-interface30] igmp enable

[CEa2-Vlan-interface30] quit

# 在接口Vlan-interface13上配置IP地址,并使能PIM-SM。

[CEa2] interface vlan-interface 13

[CEa2-Vlan-interface13] ip address 10.11.3.2 24

[CEa2-Vlan-interface13] pim sm

[CEa2-Vlan-interface13] quit

# 配置OSPF协议。

[CEa2] ospf 1

[CEa2-ospf-1] area 0.0.0.0

[CEa2-ospf-1-area-0.0.0.0] network 10.11.0.0 0.0.255.255

[CEa2-ospf-1-area-0.0.0.0] quit

[CEa2-ospf-1] quit

(8)     配置CE b2

# 使能IP组播路由。

<CEb2> system-view

[CEb2] multicast routing

[CEb2-mrib] quit

# 在接口Vlan-interface40上配置IP地址,并使能IGMP。

[CEb2] interface vlan-interface 40

[CEb2-Vlan-interface40] ip address 10.11.8.1 24

[CEb2-Vlan-interface40] igmp enable

[CEb2-Vlan-interface40] quit

# 在接口Vlan-interface14上配置IP地址,并使能PIM-SM。

[CEb2] interface vlan-interface 14

[CEb2-Vlan-interface14] ip address 10.11.4.2 24

[CEb2-Vlan-interface14] pim sm

[CEb2-Vlan-interface14] quit

# 配置LoopBack1接口的IP地址,并使能PIM-SM。

[CEb2] interface loopback 1

[CEb2-LoopBack1] ip address 3.3.3.3 32

[CEb2-LoopBack1] pim sm

[CEb2-LoopBack1] quit

# 配置LoopBack1接口为VPN b的C-BSR和C-RP。

[CEb2] pim

[CEb2-pim] c-bsr 3.3.3.3

[CEb2-pim] c-rp 3.3.3.3

[CEb2-pim] quit

# 配置OSPF协议。

[CEb2] ospf 1

[CEb2-ospf-1] area 0.0.0.0

[CEb2-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0

[CEb2-ospf-1-area-0.0.0.0] network 10.11.0.0 0.0.255.255

[CEb2-ospf-1-area-0.0.0.0] quit

[CEb2-ospf-1] quit

4. 验证配置

通过使用display multicast-domain default-group命令可以查看Default-Group的信息。

# 查看PE 1上所有VPN实例中Default-Group的信息。

[PE1] display multicast-domain default-group

 Group address    Source address   Interface     VPN instance

 239.1.1.1        1.1.1.1          MTunnel0      a

 239.4.4.4        1.1.1.1          MTunnel1      b

# 查看PE 4上所有VPN实例中Default-Group的信息。

[PE4] display multicast-domain default-group

 Group address    Source address   Interface     VPN instance

 239.1.1.1        1.1.1.4          MTunnel0      a

 239.4.4.4        1.1.1.4          MTunnel1      b

1.8  常见配置错误举例

1.8.1  无法建立Default-MDT

1. 故障现象

无法正确建立Default-MDT,不同PE上相同的VPN实例之间无法建立起PIM邻居关系。

2. 分析

·     MTI必须有Default-Group和可用的MD源接口IP地址才能生效,否则无法建立Default-MDT。

·     在不同的PE上,相同的VPN实例需要指定相同的Default-Group,每个Default-Group唯一标识一个Default-MDT。如果不同PE上相同的VPN实例没有指定相同的Default-Group,则该VPN实例在不同PE上无法建立Default-MDT。

·     在不同的PE上,相同VPN实例的各接口必须使用相同的PIM模式,P上所有接口必须使用相同的PIM模式,这样才能正确地建立Default-MDT,本地PE和远端PE相同的VPN实例上才能建立PIM邻居关系。否则无法建立Default-MDT。

·     只有配置了BGP和单播路由,PIM才能正确地获取路由信息;只有VPN实例中至少一个接口上使能了PIM协议,MTI上的PIM协议才会被使能,从而使不同PE相同的VPN实例之间建立PIM邻居。否则无法建立PIM邻居关系。

3. 处理过程

(1)     检查MTI的接口状态。使用display interface命令检查MTI的接口状态和地址封装信息。

(2)     检查Default-Group。使用display multicast-domain default-group命令检查不同PE上相同的VPN实例是否配置有相同的Default-Group。

(3)     检查各设备VPN实例中是否至少在一个接口上使能了PIM协议,不同PE属于同一VPN实例的各接口上是否使用了相同的PIM模式,以及P的各接口上是否使用了相同的PIM模式。使用display pim interface verbose命令查看各接口上的PIM信息。

(4)     检查单播路由。使用display ip routing-table命令检查本地PE的VPN实例是否有到达远端PE的相同VPN实例的单播路由项。

(5)     检查是否配置BGP对等体。使用display bgp peer命令查看配置的BGP对等体信息。

1.8.2  VPN实例无法正确建立组播路由表

1. 故障现象

VPN实例无法正确建立起组播路由表。

2. 分析

·     如果VPN实例使能的是PIM-SM,需要有该VPN实例的BSR信息,否则无法正确建立该VPN实例的组播路由表。

·     如果VPN实例使能的是PIM-SM,需要有该VPN实例的RP信息,如果没有通向RP的单播路由,公网实例和VPN实例没有正确建立PIM邻居关系,VPN实例就无法正确建立组播路由表。

·     私网DR需要有到达私网RP的路由,私网内要有到达组播源的路由。

3. 处理过程

(1)     使用display pim bsr-info命令查看公网实例和VPN实例是否有BSR信息。如果不存在BSR信息,则需要查看是否有通向BSR的单播路由。

(2)     使用display pim rp-info命令查看RP信息是否正确。如果没有RP信息,则检查是否有通向RP的单播路由。使用display pim neighbor命令查看公网和私网上是否正确建立了邻居关系。

(3)     使用ping命令检查私网DR与私网RP之间、接收者与组播源之间是否通达。

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

新华三官网
联系我们