07-组播VPN配置
本章节下载: 07-组播VPN配置 (1.07 MB)
组播VPN(Virtual Private Network,虚拟专用网络)在VPN网络中实现组播传输,保证一个VPN实例中的组播源发送的组播数据只能被相同VPN实例中的组播接收者接收。
如图1-1所示,由Site 1和Site 3组成VPN A网络,由Site 2和Site 4组成VPN B网络。当运行组播VPN时,PE与CE之间通过VPN实例进行私网组播传输,PE与P之间则通过公网实例进行公网组播传输。该网络中将同时承载着三个相互独立的组播业务:公网实例、VPN实例A和VPN实例B。
有关CE、PE和P的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”。
Comware利用MVPN方案来实现组播VPN。该方案的最大优点就是仅需要PE支持多实例,运营商构建的公共网络支持组播功能。无需修改CE和P上原有的PIM配置——也就是说,该方案对于CE和P是透明的。
MVPN方案支持两种模式,一种是MDT模式,一种是RSVP-TE模式。
· MVPN(Multicast Virtual Private Network,组播VPN):在逻辑上表示某一特定VPN的私网组播数据在公网中的传播范围,在实际中则标识了网络中支持该VPN实例的所有PE。每个MVPN都服务于某个特定的VPN,在该VPN中传输的所有私网组播数据,都在此MVPN内传输。不同的VPN实例对应不同的MVPN。
· MDT(Multicast Distribution Tree,组播分发树):建立在属于同一VPN内所有PE间的组播分发树,包括Default-MDT和Data-MDT两种。
· MT(Multicast Tunnel,组播隧道):在MVPN内将各PE连接到一起的通道称为MT,本地PE将私网组播报文封装成公网组播数据报文,通过MT在公网内进行组播转发,远端PE收到该报文后通过解封装将其还原成私网报文。
· MTI(Multicast Tunnel Interface,组播隧道接口):MTI是MT的入/出口,相当于MVPN的入/出口,PE通过MTI连接到MT上,MTI在创建VPN实例的MVPN时自动创建。本地PE将私网数据从入口(MTI)投入MVPN,MVPN自动将私网数据复制并传输到MVPN的所有出口(MTI),任何有需求的远端PE都可以从各自的出口(MTI)“打捞”私网数据。MTI在创建VPN实例的MVPN时自动创建。MTI上运行的PIM模式与其所属的VPN实例相同。只有当VPN实例中至少一个接口上使能了PIM协议,MTI上的PIM协议才会被使能;当VPN实例中所有接口上都关闭了PIM协议,MTI上的PIM协议也将被关闭。
· Default-Group(默认组):每个MVPN在公网上分配一个独立的组播组,称为Default-Group。它是MVPN在公网上的唯一标志,用来在公网上建立MVPN所对应的Default-MDT。不论私网组播报文属于哪个组播组、是协议报文还是数据报文,PE都统一将其封装为普通的公网组播数据报文,并以Default-Group作为其所属的公网组播组。
· Default-MDT(Default-Multicast Distribution Tree,默认组播分发树):以Default-Group为组地址的MDT,称为Default-MDT。VPN使用Default-Group唯一标识一棵Default-MDT。在该VPN中传输的所有私网组播报文,无论从哪个PE进入公网,都经由此Default-MDT转发。Default-MDT是在配置完成后自动生成的,在公网中将会一直存在,而不论公网或私网中有没有实际的组播业务。
· Data-Group(数据组):当某私网组播数据的流量达到或超过阈值时,入口PE会为其分配一个独立的组播组,称为Data-Group,并通知其它PE使用该组播组在公网内转发该组播数据流量。一个MVPN唯一确定一个Data-Group范围以备进行Data-MDT切换。在进行Data-MDT切换时,从Data-Group范围中选取一个被引用最少的地址,从PE进入公网、流量达到或超过切换阈值的私网组播报文将使用该地址进行封装。
· Data-MDT(Data-Multicast Distribution Tree,数据组播分发树):以Data-Group为组地址的MDT,称为Data-MDT。下游存在接收者的PE加入Data-Group,形成一棵Data-MDT,入口PE使用Data-MDT在公网中转发封装后的私网组播数据。
对于VPN实例来说,公网传输是透明的,私网数据的传输在PE上的MTI处完成了无缝连接:VPN实例只知道将私网数据从MTI发出,然后远端就能从MTI接收。其实中间经历了复杂的公网传输过程,即MDT传输过程。
在MDT传输组播数据前需要建立如下三种PIM邻居关系:
· PE-P邻居关系:指PE上公网实例接口与链路对端P上的接口之间建立的PIM邻居关系。
· PE-PE邻居关系:指PE上的VPN实例通过MTI收到远端PE上的VPN实例发来的PIM Hello报文后建立的邻居关系。
· PE-CE邻居关系:指PE上绑定VPN实例的接口与链路对端CE上的接口之间建立的PIM邻居关系。
公网中运行的组播路由协议可以是PIM-DM、PIM-SM、双向PIM或PIM-SSM中的一种。在这四种情况下,创建Default-MDT的过程是有区别的。
图1-2 在PIM-DM网络中创建Default-MDT
如图1-2所示,公网中运行PIM-DM,PE 1、PE 2和PE 3都支持VPN实例A。Default-MDT的创建过程如下:
(1) PE 1通过VPN实例A的MTI与其它PE建立PIM邻居关系时,会将私网PIM协议报文封装成公网组播数据报文(封装时以MVPN源接口的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也各自发起类似的扩散—剪枝过程,最终在MVPN中形成三棵相互独立的SPT。
在PIM-DM网络中,由这三棵相互独立的SPT共同组成Default-MDT。
图1-3 在PIM-SM网络中创建Default-MDT
如图1-3所示,公网中运行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也各自发起类似的加入过程,最终在MVPN中形成一棵以公网RP为根,PE 1、PE 2和PE 3为叶的RPT。
(2) PE 1通过VPN实例A的MTI与其它PE建立PIM邻居关系时,会将私网PIM协议报文封装成公网组播数据报文(封装时以MVPN源接口的IP地址为源地址、Default-Group为目的地址)在公网中发送。发送时,PE 1先向公网RP发起注册过程,再由公网RP向PE 1发起加入,在公网沿途各设备上分别创建(11.1.1.1,239.1.1.1)表项。
(3) 与此同时,PE 2和PE 3也各自发起类似的注册过程,最终在MVPN中形成三棵相互独立的、连接PE与RP的SPT。
在PIM-SM网络中,由RPT(*,239.1.1.1)和这三棵相互独立的SPT共同组成Default-MDT。
图1-4 在双向PIM网络中创建Default-MDT
如图1-4所示,公网中运行双向PIM,且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也各自发起类似的加入过程,最终在MVPN中形成一棵以公网RP为根,PE 1、PE 2和PE 3为叶的接收者侧RPT。
(2) PE 1以Default-Group为组播组地址发送组播数据,在公网途径的每个网段都被该网段的DF无条件向RP转发,并在沿途各设备上分别创建(*,239.1.1.1)表项。与此同时,PE 2和PE 3也各自发起类似的创建过程,最终在MVPN中形成三棵分别以PE 1、PE 2和PE 3为根、公网RP为叶的组播源侧RPT。
在双向PIM网络中,由接收者侧RPT和组播源侧RPT共同构成的双向RPT(*,239.1.1.1)就是Default-MDT。
图1-5 在PIM-SSM网络中创建Default-MDT
如图1-5所示,公网中运行PIM-SSM,且PE 1、PE 2和PE 3都支持VPN实例A。Default-MDT的创建过程如下:
PE 1、PE 2和PE 3两两之间先通过BGP互换各自的MDT路由信息(包含BGP接口地址和Default-Group地址等信息),然后分别向对方的BGP接口地址逐跳发送订阅报文(Subscribe Message),在公网沿途各设备上分别创建(S,G)表项,从而形成一棵以本PE为根、其它PE为叶的SPT。最终在MVPN中形成三棵相互独立的SPT。
在PIM-SSM网络中,由这三棵相互独立的SPT共同组成Default-MDT。
在PIM-SSM中,借助“订阅报文”的概念表示加入报文。
综前所述,无论公网中运行的是何种PIM模式,Default-MDT都具有以下特点:
· 网络中所有支持VPN实例A的PE都加入该Default-MDT。
· 所有属于VPN A的私网组播报文进入公网后,均沿该Default-MDT向各PE转发,无论PE所连接的Site中是否存在接收者。
当组播分发树创建完成后,组播源通过组播分发树将私网组播数据发送给各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-6所示,公网和VPN网络中分别运行PIM-DM,属于Site 2的私网组播组G(225.1.1.1)的接收者(Receiver)与CE 2相连;属于Site 1的组播源(Source)向G发送组播数据;用于公网组播数据转发的Default-Group为239.1.1.1。
私网组播数据跨越公网进行传输的过程如下:
(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封装,以MVPN源接口的IP地址为源地址、Default-Group为目的地址封装成公网组播数据报文(11.1.2.1,239.1.1.1),然后交给公网实例进行转发。
(4) 组播数据报文(11.1.2.1,239.1.1.1)沿Default-MDT传输给各PE上的公网实例。各PE将其解封装,还原为私网组播数据,然后交给相应的VPN实例进行处理。如果该PE上存在SPT的下游接口,则沿SPT转发该私网组播数据,否则将其丢弃。
(5) PE 2上的VPN实例查找转发表项,最终将私网组播数据送达Receiver。至此跨越公网的私网组播数据传输完成。
在公网中通过Default-MDT传送组播数据时,组播报文被传输到支持同一VPN实例的所有PE上,无论该PE所连接的Site内是否存在接收者。当私网中组播数据的传输速率比较大时,可能在公网中造成数据的泛滥。这样即浪费网络带宽,又增加了PE的处理负担。
为了解决上述问题,MDT模式MVPN方案对此进行了优化:为进入公网的大流量私网组播数据,在连接有私网接收者和私网组播源的各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都是同一个MVPN中的转发隧道。Default-MDT由Default-Group唯一确定;Data-MDT则由Data-Group唯一确定。每个Default-Group关联一组Data-Group范围。
当私网组播数据切换到Data-MDT之后,由于情况变化而导致了不满足切换条件,PE 1就会把此私网组播数据从Data-MDT反向切换回Default-MDT,反向切换的触发条件包括(满足其一即可):
· 私网组播数据转发速率低于指定切换阈值,且维持了一定的时间。
· 当更改了Data-Group范围后,用于私网组播数据封装的Data-Group被排除在新范围以外。
· 当控制私网组播数据由Default-MDT向Data-MDT切换的ACL规则发生了变化,从而导致私网组播数据不能通过新ACL规则的过滤。
在实际组网应用中,当一个VPN跨越多个AS(Autonomous System,自治系统)时,需要连通其分布在不同AS内的Site,这种VPN跨越多个AS的应用方式被称为跨域VPN。跨域VPN的解决方案包括(详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”):
· ASBR之间建立VRF-to-VRF连接,也称为A类跨AS。
· ASBR之间通过MP-EBGP发布VPN-IPv4路由,也称为B类跨AS。
· PE之间通过MP-EBGP发布VPN-IPv4路由,也称为C类跨AS。
如图1-7所示,VPN跨越了AS 1和AS 2两个自治系统,PE 3和PE 4分别是AS 1和AS 2的ASBR。PE 3和PE 4通过各自的VPN实例相连,并互把对方视为CE设备。
图1-7 A类跨AS的MDT模式MVPN示意图
采用本方式时,需在每个AS内各建立一个独立的MVPN,在各MVPN之间实现私网组播数据跨AS的传输。跨AS传输私网组播数据的过程如下:
(1) 由于PE 3与PE 4互把对方视为自己的CE,因此:在AS 1中,CE 1与PE 4(相当于PE 3的CE)之间可以互通组播业务;在AS 2中,CE 2与PE 3(相当于PE 4的CE)之间也可以互通组播业务。
(2) CE 1发出的VPN 1的私网组播协议和数据报文通过MT 1到达PE 4后,被PE 4视为与自己私网接口相连的VPN 2的私网报文,于是将其通过MT 2转发给CE 2;CE 2发出的VPN 2的报文也同理到达CE 1。这样,就实现了私网组播数据在CE 1与CE 2之间的互通。
由于ASBR之间转发的只是私网组播数据,因此各AS内部运行的公网PIM模式可以不同,但属于同一VPN的所有接口(包括ASBR上绑定VPN实例的接口)上必须运行统一的PIM模式(PIM-DM、PIM-SM、双向PIM或PIM-SSM)。
如图1-8所示,VPN跨越了AS 1和AS 2两个自治系统,PE 3和PE 4分别是AS 1和AS 2的ASBR,PE 3和PE 4通过MP-EBGP相连。在此组网中,ASBR之间通过MP-EBGP交换它们从各自AS内的PE上接收的VPN-IPv4路由。
图1-8 B类跨AS的MDT模式MVPN示意图
采用本方式时,只需在所有AS内统一建立一个MVPN即可,在该MVPN内部实现公网组播数据跨AS的传输。具体实现方式如下:
(1) 公网使用RPF代理向量创建Default-MDT
在B类跨AS的MDT模式MVPN组网中,公网只支持PIM-SSM模式。
在此组网中,由于AS 1与AS 2之间的公网路由相互隔离,设备无法找到去往其它AS中PE的路由,从而导致RPF检查失败,因此要引入RPF代理向量来协助完成公网的RPF检查。Default-MDT的具体创建过程如下:
a. PE 1向PE 2发起PIM加入时,把从BGP MDT路由中获得的下一跳地址(即PE 3的地址)作为RPF代理向量(BGP MDT路由中的下一跳为本AS的ASBR),PE 1将此RPF代理向量封装在发往PE 2的PIM加入报文中;
b. P 1收到该报文后,发现RPF代理向量不是本地地址,于是根据该向量查找到上游为PE 3,因此继续向PE 3发送携带RPF代理向量的PIM加入报文;
c. PE 3收到该报文后,发现RPF代理向量是本地地址,无法再根据该向量查找上游,于是查找BGP MDT路由,发现去往PE 2的下一跳为PE 4,并且有直连路由,因此继续向PE 4发送携带RPF代理向量的PIM加入报文;
d. PE 4收到该报文后,由于在本AS内可以找到去往PE 2的路由,于是将RPF代理向量剥离后逐跳向PE 2发送PIM加入报文,最终建立起从PE 1到PE 2的SPT;
e. 与此同时,PE 2也向PE 1发起类似的SPT建立过程,最终完成公网Default-MDT的建立。
(2) 私网使用BGP Connector进行RPF检查
PE在私网通过MTI向对端PE发送PIM加入报文时,需要查找私网路由,使用路由下一跳作为私网PIM加入报文中的上游邻居地址,以便在对端PE收到该报文后进行RPF检查。在非跨AS的情况下,下一跳正好对应对端PE上MTI的源地址;但在B类跨AS的情况下,BGP协议会将下一跳改为本AS的ASBR地址,而不是对端PE的地址,这样就会导致RPF检查失败。
为了避免这种情况,需要BGP对等体在交换VPN-IPv4路由时携带源PE的地址(该地址称为BGP Connector),PE在私网通过MTI发送PIM加入报文时,报文中的上游地址填写为对端PE的BGP Connector。
如图1-9所示,VPN跨越了AS 1和AS 2两个自治系统,PE 3和PE 4分别是AS 1和AS 2的ASBR。PE 3和PE 4通过MP-EBGP相连,并互把对方视为P设备。在此组网中,不同AS的PE之间建立多跳MP-EBGP会话,并通过该会话直接在PE之间发布VPN-IPv4路由。
图1-9 C类跨AS的MDT模式MVPN示意图
采用本方式时,只需在所有AS内统一建立一个MVPN即可,在该MVPN内实现公网组播数据跨AS的传输。跨AS传输私网组播数据的过程如下:
(1) CE 1发出的私网组播协议和数据报文都经由PE 1上的MTI封装后在MT中传输。这样,被封装后的私网报文在公网中就变成了普通的公网组播数据报文。
(2) 在PE 3和PE 4这两台ASBR上配置了MP-EBGP连接后,AS 1和AS 2就实现了公网的互通,被封装成公网组播数据报文的私网报文就可以顺利到达PE 2。这样,就实现了私网组播数据在CE 1与CE 2之间的互通。
· MVPN(Multicast Virtual Private Network,组播VPN):在逻辑上表示某一特定VPN的私网组播数据在公网中的传播范围,在实际中则标识了网络中支持该VPN实例的所有PE。每个MVPN都服务于某个特定的VPN,在该VPN中传输的所有私网组播数据,都在此MVPN内传输。不同的VPN实例对应不同的MVPN。一个MVPN里的所有PE称为MVPN对等体。
· Inclusive-Tunnel(相容性隧道):承载来自于一个MVPN的所有组播业务。一个VPN实例唯一对应一个相容性隧道。PE将组播数据报文和PIM BSM协议报文统一封装为普通的公网组播数据报文,并通过相容性隧道发送到公网中。
· Selective-Tunnel(选择性隧道):承载来自于一个或多个特定的组播组的组播业务。一个VPN实例可以对应多个选择性隧道。
对于VPN实例来说,公网传输是透明的,各PE之间两两建立IBGP邻居,通过BGP协议发布MVPN地址族路由信息。RSVP-TE模式组播VPN的创建依赖于如下路由信息:
· Intra-AS I-PMSI A-D Route:PE之间根据Intra-AS I-PMSI A-D Route建立相容性隧道。
· S-PMSI A-D Route:当创建选择性隧道并有满足切换隧道的条件后,组播源侧PE向接收者侧PE发送S-PMSI A-D Route以进行隧道切换。
· Leaf A-D Route:接收者侧PE收到组播源侧PE发送的S-PMSI A-D Route后,回应Leaf A-D route,RSVP-TE根据Leaf A-D route中的对端邻居信息来建立选择性隧道。
· Source Active A-D Route:组播源侧PE向接收者侧PE发送Source Active A-D Route以通告接收者侧PE组播源的位置信息。
· C-Multicast Route:接收者侧PE收到组播源侧PE发送的Source Active A-D Route后,回应C-Multicast Route,以告知组播源PE,需要接收组播数据。
组播数据根据PIM路由表由CE传输到PE上的相容性隧道时完成了私网到公网的无缝连接,私网组播数据通过相容性隧道传输给远端PE,远端PE收到该报文后通过剥离标签信息将其还原成私网组播报文。当组播源侧PE上有满足切换选择性隧道条件的组播流量时,建立选择性隧道。
如图1-10所示,私网侧采用PIM协议,公网采用MPLS骨干网。相容性隧道的创建过程如下:
(1) PE 1、PE 2、PE 3两两建立IBGP邻居并交互路由信息,从而获取各个PE的公网地址。
(2) PE 1作为源端,PE 2、PE 3分别作为目的端创建相容性隧道,PE 1向目的端通告源端的相容性隧道信息。
(3) PE 2、PE 3分别和PE 1建立相容性隧道,公网的相容性隧道不依赖于私网侧的PIM协议。
当相容性隧道接收到指定(S,G)表项的组播流量时,进行选择性隧道切换,实现了不同组播流量传输的隧道分离。一个VPN实例内允许存在多个选择性隧道。
如图1-11所示,创建选择性隧道并进行隧道切换的具体过程如下:
(1) 组播源侧PE 1收到满足隧道切换条件的私网组播报文后,向PE 2和PE 3发送S-PMSI A-D route信息。
(2) PE 2收到后,发现本地没有对应的(S,G)的接收者,不做处理。
(3) PE 3收到后,回应Leaf A-D Route信息。
(4) PE 1和PE 3创建选择性隧道。
(5) 从PE 1进入公网的指定(S,G)表项的组播流量将使用选择性隧道而不再使用相容性隧道传输组播数据。
与组播VPN相关的协议规范有:
· RFC 6037:Cisco Systems' Solution for Multicast in BGP/MPLS IP VPNs
· RFC 6513:Multicast in MPLS/BGP IP VPNs
· RFC 6514:BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs
MDT模式组播VPN功能均在PE上配置。配置MDT模式组播VPN任务如下:
(1) 配置MDT模式组播VPN
c. 创建MVPN地址族
e. 指定MVPN源接口
f. (可选)配置Data-MDT切换参数
g. (可选)配置RPF代理向量功能
h. (可选)开启Data-Group重用日志功能
(2) 配置BGP MDT
当在公网中运行PIM-SSM且组播VPN模式为MDT模式时,需要进行BGP MDT的配置。
b. (可选)配置BGP MDT路由反射器
c. (可选)提高邻居路由参与优选时的优先级
d. (可选)配置不修改BGP MDT路由的下一跳属性
RSVP-TE模式组播VPN功能均在PE上配置。配置RSVP-TE模式组播VPN任务如下:
(1) 使能VPN实例中的IP组播路由
(3) 允许向发送给BGP VPNv4对等体的路由增加特定的扩展团体属性
(5) 创建MVPN地址族
(6) 指定MVPN源接口
(7) 创建相容性隧道
(8) (可选)创建选择性隧道
(9) (可选)配置隧道切换的延迟时间
在配置MDT模式MVPN之前,需完成以下任务:
· 在公网中配置任一单播路由协议
· 在公网中配置MPLS L3VPN
· 在公网中配置PIM-DM、PIM-SM、双向PIM或PIM-SSM
(1) 进入系统视图。
system-view
(2) 进入VPN实例视图。
ip vpn-instance vpn-instance-name
本命令的具体介绍请参见“MPLS命令参考”中的“MPLS L3VPN”。
(3) 配置VPN实例的RD。
route-distinguisher route-distinguisher
本命令的具体介绍请参见“MPLS命令参考”中的“MPLS L3VPN”。
(4) 退回系统视图。
quit
(5) 进入接口视图。
interface interface-type interface-number
(6) 配置接口与指定的VPN实例关联。
ip binding vpn-instance vpn-instance-name
缺省情况下,接口未关联VPN实例,接口属于公网。
本命令请参见“MPLS命令参考”中的“MPLS L3VPN” 。
(7) 退回系统视图。
quit
(8) 使能VPN实例中的组播路由,并进入该VPN实例的MRIB视图。
multicast routing vpn-instance vpn-instance-name
缺省情况下,IP组播路由处于关闭状态。
本命令的具体介绍请参见“IP组播命令参考”中的“组播路由与转发”。
可以在PE上创建一个或多个MDT模式MVPN实例,来为不同的VPN提供服务。在创建MDT模式MVPN实例时,系统会自动创建MTI,并将其与该VPN实例绑定。
(1) 进入系统视图。
system-view
(2) 创建MDT模式MVPN实例,并进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode mdt
可以在一个MVPN实例内的MVPN IPv4地址族下分别为不同的私网地址族实例提供组播VPN功能。
MVPN IPv4下配置的命令,都是只针对IPv4组播有效。
(1) 进入系统视图。
system-view
(2) 进入VPN实例的MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode mdt
(3) 创建MVPN地址族视图,并进入MVPN地址族视图
MTI在封装私网组播报文时使用Default-Group作为目的地址,需要注意的是:
· 在不同的PE上,应该为相同VPN实例的MVPN指定相同的Default-Group。
· 不允许指定已被其它MVPN使用的Default-Group或Data-Group。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode mdt
(3) 进入MVPN地址族视图。
address-family ipv4
(4) 指定Default-Group。
default-group group-address
MTI在封装私网组播报文时使用MVPN源接口的IP地址作为源地址。
MVPN源接口必须与建立BGP对等体时所使用的源接口相同,否则将无法获取正确的路由信息。只有在指定了Default-Group和MVPN源接口,并获取到MVPN源接口的公网IP地址之后,MTI才会生效。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode mdt
(3) 进入MVPN地址族视图。
address-family ipv4
(4) 指定MVPN源接口。
source interface-type interface-number
缺省情况下,未指定MVPN源接口。
在某些情况下,私网组播数据的转发速率会在切换阈值上下震荡。为了避免组播数据流在Default-MDT与Data-MDT之间进行频繁切换:
· 当转发速率高于阈值后并不立即切换,而是等待Data-Delay时间。在这段时间内如果转发速率始终高于阈值,则切换至Data-MDT,否则继续使用Default-MDT进行转发;
· 当转发速率低于阈值后也不立即切换,而是等待Data-Holddown时间。在这段时间内如果转发速率始终低于阈值,则切换回Default-MDT,否则继续使用Data-MDT进行转发。
同一台设备上,一个MVPN的Data-group范围不能包含任何其他MVPN的Default-group,也不能与其他任何MVPN的Data-group范围重叠。
在不同设备上,如果公网为非PIM-SSM模式,则不同MVPN不能配置重叠的Data-Group。
所有VPN实例共用Data-Group资源,所以不建议在单个VPN实例内把Data-Group的范围配置的过大,否则会导致其他VPN实例无可用Data-Group。
当私网运行双向PIM模式时,不支持由Default-MDT向Data-MDT切换。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode mdt
(3) 进入MVPN地址族视图。
address-family ipv4
(4) 配置Data-Group的范围和切换条件。
data-group group-address { mask-length | mask } [ threshold threshold-value | acl acl-number ] *
缺省情况下,不存在Data-Group的范围,也永不向Data-MDT进行切换。
(5) 配置由Default-MDT向Data-MDT切换的延迟时间。
data-delay delay
缺省情况下,由Default-MDT向Data-MDT切换的延迟时间为3秒。
(6) 配置由Data-MDT向Default-MDT反向切换的延迟时间。
data-holddown delay
缺省情况下,由Data-MDT向Default-MDT反向切换的延迟时间为60秒。
在配置B类跨AS的MDT模式MVPN时,必须在PE上开启RPF代理向量功能,从而使PE发出的PIM加入报文可携带用于进行RPF检查的RPF代理向量信息,以创建正确的公网Default-MDT。
请在连接组播接收者的PE上开启RPF代理向量功能。
如果要与公网中某些厂商的设备互通,则还须在公网中的所有H3C的P和PE设备上都开启RPF代理向量兼容功能。
(1) 进入系统视图。
system-view
(2) 进入VPN实例MRIB视图。
multicast routing vpn-instance vpn-instance-name
(3) 开启RPF代理向量功能。
rpf proxy vector
缺省情况下,RPF代理向量功能处于关闭状态。
(4) 返回系统视图。
quit
(5) 开启RPF代理向量兼容功能。
multicast rpf-proxy-vector compatible
缺省情况下,RPF代理向量兼容功能处于关闭状态。
在源PE上的VPN实例中,如果需要切换的私网组播数据流的个数超过了Data-Group范围中组地址的个数时,可以重复使用该地址池中的组地址。通过开启Data-Group重用日志功能可以记录组地址重用的日志信息。请在PE上进行本配置。
Data-group重用日志信息的级别为informational。有关日志信息的详细介绍,请参见“网络管理和监控配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode mdt
(3) 进入MVPN地址族视图。
address-family ipv4
(4) 开启Data-Group重用日志功能。
log data-group-reuse
缺省情况下,Data-Group重用日志功能处于关闭状态。
只有在BGP IPv4 MDT地址族下使能BGP MDT对等体/对等体组后,本地设备才能与指定的对等体/对等体组交换MDT信息,该信息包含PE地址及PE所在的Default-Group等信息。在公网中运行PIM-SSM时,组播VPN根据MDT信息在公网上建立以PE为根(即组播源)的Default-MDT。
在执行本命令前,需先在BGP实例视图下创建对等体/对等体组,创建方法请参见“三层技术-IP路由配置指导”中的“BGP”。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv4 MDT地址族视图。
address-family ipv4 mdt
(4) 使能本地设备与指定对等体/对等体组交换MDT路由信息的能力。
peer { group-name | ip-address [ mask-length ] } enable
本命令的具体介绍请参见“三层技术-IP路由命令参考”中的“BGP基础”。
· 路由反射器
为保证位于同一AS内的BGP MDT对等体间的连通性,需要在对等体之间建立全连接关系,而当对等体的数目很多时,建立全连接的开销很大,使用路由反射器则可以解决这个问题。
在配置了路由反射器之后,其它设备作为客户机与路由反射器建立BGP会话,路由反射器在客户机之间传递(反射)BGP MDT信息,从而使各客户机之间无需建立BGP会话。
· 禁止路由反射器在客户机之间反射路由
如果配置了路由反射器后,由于组网需要在路由反射器的客户机之间建立了全连接,则客户机之间可以直接交换路由信息,客户机到客户机之间的路由反射是没有必要的。此时,不需要修改网络配置或改变网络拓扑,只需在路由反射器上通过undo reflect between-clients命令禁止其在客户机之间反射路由,就可以避免路由反射,减少占用的带宽资源。
· 路由反射器的集群ID
路由反射器及其客户机共同组成了一个集群。通常,一个集群中只有一个路由反射器,并通过其Router ID来识别该集群。为了增强网络的可靠性,可在一个集群中配置多个路由反射器,此时应为每个路由反射器配置相同的集群ID,以避免产生路由环路。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv4 MDT地址族视图。
address-family ipv4 mdt
(4) 配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机。
peer { group-name | ip-address [ mask-length ] } reflect-client
缺省情况下,没有配置路由反射器及其客户机。
(5) (可选)禁止路由反射器在客户机之间反射路由。
undo reflect between-clients
缺省情况下,允许路由反射器在客户机之间反射路由。
关于本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP基础”。
(6) (可选)配置路由反射器的集群ID。
reflector cluster-id { cluster-id | ip-address }
缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID。
关于本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP基础”。
执行本配置后,BGP将会优选从本配置指定的对等体/对等体组学习到的路由。该选路规则应用于“依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由”之后,“优选IGP Metric值最小的路由”之前。有关BGP选路规则的详细介绍,请参见“三层技术-IP路由配置指导”中的“BGP”。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv4 MDT地址族视图。
address-family ipv4 mdt
(4) 为指定对等体/对等体组设置高优先级,路由选路时优选从该对等体/对等体组学习到的路由。
peer { group-name | ipv4-address [ mask-length ] } high-priority
缺省情况下,BGP不为指定对等体/对等体组设置高优先级,选路规则不发生变化。
关于本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP基础”。
配置本功能后,设备在向IBGP以及EBGP对等体发布BGP路由时均不会修改下一跳属性。本功能用于缺省的路由发布行为会对路由信息的发布产生阻碍的特殊组网。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv4 MDT地址族视图。
address-family ipv4 mdt
(4) 配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机。
peer { group-name | ipv4-address [ mask-length ] } next-hop-invariable
缺省情况下,设备向EBGP对等体/对等体组发布路由时,将下一跳属性修改为自身的地址;向IBGP对等体/对等体组发布路由时,不修改下一跳属性。
关于本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP基础”。
在配置RSVP-TE模式MVPN之前,需完成以下任务:
· 在公网中配置任一单播路由协议
· 在公网中配置MPLS TE
· 在公网中配置RSVP
· 配置BGP协议,使得PE与PE之间两两建立邻居关系
(1) 进入系统视图。
system-view
(2) 进入VPN实例视图。
ip vpn-instance vpn-instance-name
本命令的具体介绍请参见“MPLS命令参考”中的“MPLS L3VPN”。
(3) 配置VPN实例的RD。
route-distinguisher route-distinguisher
本命令的具体介绍请参见“MPLS命令参考”中的“MPLS L3VPN”。
(4) 退回系统视图。
quit
(5) 进入接口视图。
interface interface-type interface-number
(6) 配置接口与指定的VPN实例关联。
ip binding vpn-instance vpn-instance-name
缺省情况下,接口未关联VPN实例,接口属于公网。
本命令请参见“MPLS命令参考”中的“MPLS L3VPN” 。
(7) 退回系统视图。
quit
(8) 使能VPN实例中的组播路由,并进入该VPN实例的MRIB视图。
(IPv4网络)
multicast routing vpn-instance vpn-instance-name
缺省情况下,IP组播路由处于关闭状态。
本命令的具体介绍请参见“IP组播命令参考”中的“组播路由与转发”。
(IPv6网络)
ipv6 multicast routing vpn-instance vpn-instance-name
缺省情况下,IPv6组播路由处于关闭状态。
本命令的具体介绍请参见“IP组播命令参考”中的“IPv6组播路由与转发”。
(1) 进入系统视图。
system-view
(2) 启动指定的BGP实例,并进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建BGP MVPN对等体,并指定对等体的AS号。
peer ipv4-address as-number as-number
(4) 创建并进入BGP IPv4 MVPN地址族视图。
address-family ipv4 mvpn
(5) 允许本地路由器与指定动态对等体交换BGP IPv4 MVPN路由信息。
peer ipv4-address mask-length enable
缺省情况下,本地路由器不能与动态对等体交换BGP IPv4 MVPN路由信息。
(6) (可选)配置向指定对等体/对等体组发布BGP IPv4 MVPN路由时,不修改路由的下一跳属性。
peer { group-name | ipv4-address [ mask-length ] } next-hop-invariable
缺省情况下,设备向EBGP对等体/对等体组发布路由时,将下一跳属性修改为自身的地址;向IBGP对等体/对等体组发布路由时,不修改下一跳属性。
本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP基础”。
(7) (可选)关闭BGP IPv4 MVPN路由的VPN-Target过滤功能。
undo policy vpn-target
缺省情况下,PE对接收到的BGP IPv4 MVPN路由进行VPN-Target过滤。
(8) (可选)配置BGP路由延迟优选。
route-select delay delay-value
缺省情况下,延迟时间为0秒,即路由优选不延迟。
本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP高级配置”。
(9) (可选)为指定对等体/对等体组设置高优先级,路由选路时优选从该对等体/对等体组学习到的路由。
peer { group-name | ipv4-address [ mask-length ] } high-priority
缺省情况下,BGP不为指定对等体/对等体组设置高优先级,选路规则不发生变化。
关于本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP基础”。
执行本配置后,本设备向其他BGP VPNv4对等体发送路由时,在路由中增加Source AS Extended Community和VRF Route Import Extended Community两个属性。
Source AS Extended Community属性携带本地BGP自治系统号信息,取值为MVPN组播源的AS号,格式为32位自治系统号::0,例如:100:0;VRF Route Import Extended Community属性携带本地BGP实例的Router ID和BGP VPNv4路由所属的VPN实例信息,格式为32位Router ID:VPN实例索引,例如:192.168.122.15:1。这两个属性用来标识生成这条路由的设备。
在执行本配置之前,必须建立BGP VPNv4对等体以及BGP MVPN对等体。
(1) 进入系统视图。
system-view
(2) 启动指定的BGP实例,并进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建并进入BGP VPNv4地址族视图。
address-family vpnv4
(4) 允许向BGP VPNv4对等体发送的路由增加Source AS Extended Community和VRF Route Import Extended Community两个属性。
mvpn-advertise-rt-import
缺省情况下,禁止向 BGP VPNv4对等体发送的路由携带Source AS Extended Community和VRF Route Import Extended Community两个属性。
可以在PE上创建一个或多个RSVP-TE模式MVPN实例,来为不同的VPN提供服务。一个VPN实例只能支持一种模式。
(1) 进入系统视图。
system-view
(2) 创建RSVP-TE模式MVPN实例并进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode rsvp-te
MVPN IPv4地址族视图下配置的命令,都是只针对IPv4组播有效。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode rsvp-te
(3) 创建MVPN IPv4地址族视图,并进入MVPN IPv4地址族视图。
address-family ipv4
RSVP隧道在封装私网组播报文时使用MVPN源接口的IP地址作为源地址。
MVPN源接口必须与建立BGP对等体时所使用的源接口相同,否则将无法获取正确的路由信息。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode rsvp-te
(3) 进入MVPN IPv4地址族视图。
address-family ipv4
(4) 指定MVPN源接口。
source interface-type interface-number
缺省情况下,未指定MVPN源接口。
创建相容性隧道后,无论是否有组播流量,相容性隧道会一直存在。
一个VPN实例对应一个相容性隧道,不同VPN实例之间的相容性隧道相互独立且不能相同。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode rsvp-te
(3) 进入MVPN IPv4地址族视图。
address-family ipv4
(4) 创建相容性隧道并配置为动态模式。
inclusive-tunnel dynamic
组播流量首先通过相容性隧道传输,在指定VPN实例下创建选择性隧道后,符合条件的组播流量切换到选择性隧道传输。
有组播流量且组播流量已经通过相容性隧道传送后,才会创建选择性隧道。
多条组播流量可以共用一条选择性隧道。
一个VPN实例内会创建多条选择性隧道,选择性隧道之间相互独立。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode rsvp-te
(3) 进入MVPN IPv4地址族视图。
address-family ipv4
(4) 创建选择性隧道并设置为动态模式。
selective-tunnel dynamic [ acl ipv4-acl-number ]
当选择性隧道创建成功后,为了避免特定的组播流量在切换隧道过程中的丢失,可以配置延迟一段时间后才将组播流量从相容性隧道切换到选择性隧道。
(1) 进入系统视图。
system-view
(2) 进入MVPN视图。
multicast-vpn vpn-instance vpn-instance-name mode rsvp-te
(3) 进入MVPN IPv4地址族视图。
address-family ipv4
(4) 设置由相容性隧道向选择性隧道切换的延迟时间。
selective-tunnel delay delay
缺省情况下,由相容性隧道向选择性隧道切换的延迟时间为3秒。
可在任意视图下执行以下命令:
· 显示MVPN收到的封装IPv4私网组播报文的Data-Group信息。
display multicast-vpn 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 } ] ] * ]
· 显示MVPN发送的封装IPv4私网组播报文的Data-Group信息。
display multicast-vpn 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 } ] ] *
· 显示封装IPv4私网组播报文的Default-Group的信息。
display multicast-vpn [ vpn-instance vpn-instance-name ] default-group { local | remote }
可在任意视图下执行以下命令:
· 显示MVPN中的C-multicast A-D路由信息。
display multicast-vpn vpn-instance vpn-instance-name c-multicast routing-table [ group-address [ mask { mask-length | mask } ] | source-address [ mask { mask-length | mask } ] | outgoing-interface { exclude | include | match } interface-type interface-number ]
· 显示MVPN中的RSVP-TE隧道邻居信息。
display multicast-vpn vpn-instance vpn-instance-name neighbor [ interface tunnel number ]
本节除display bgp routing-table ipv4 mdt和display bgp routing-table ipv4 mvpn之外所有命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP基础”。
可在任意视图下执行以下命令:
· 显示BGP MDT对等体组的信息。
display bgp [ instance instance-name ] group ipv4 mdt [ group-name group-name ]
· 显示BGP MDT对等体或对等体组的信息。
display bgp [ instance instance-name ] peer ipv4 mdt [ ip-address mask-length | { ip-address | group-name group-name } log-info | [ ip-address ] verbose ]
· 显示BGP IPv4 MDT地址族下打包组的相关信息。
display bgp [ instance instance-name ] update-group ipv4 mdt [ ip-address ]
· 显示BGP MDT的路由信息。
display bgp [ instance instance-name ] routing-table ipv4 mdt [ route-distinguisher route-distinguisher ] [ ip-address [ advertise-info | as-path | cluster-list ] ]
可在任意视图下执行以下命令:
· 显示BGP MVPN对等体组的信息。
display bgp [ instance instance-name ] group ipv4 mvpn [ group-name group-name ]
· 显示BGP MVPN对等体或对等体组的信息。
display bgp [ instance instance-name ] peer ipv4 mvpn [ ip-address mask-length | { ip-address | group-name group-name } log-info | [ ip-address ] verbose ]
· 显示BGP IPv4 MVPN路由信息。
display bgp [ instance instance-name ] routing-table ipv4 mvpn [ route-distinguisher route-distinguisher [ route-type { intra-as I inter-as | s-pmsi | leaf | source-active | shared-tree | source-tree } ] [ mvpn-prefix [ as-path | cluster-list | ext-community ] ] | statistics ]
display bgp [ instance instance-name ] routing-table ipv4 mvpn [ [ route-distinguisher route-distinguisher [ mvpn-prefix [ advertise-info | as-path | cluster-list | ext-community ] ] ]
display bgp [ instance instance-name ] routing-table ipv4 mvpn [ route-type { intra-as I inter-as | s-pmsi | leaf | source-active | shared-tree | source-tree } [ statistics ] ]
display bgp [ instance instance-name ] routing-table ipv4 mvpn peer ip-address { advertised-routes | received-routes } [ statistics ]
display bgp [ instance instance-name ] routing-table ipv4 mvpn [ route-distinguisher route-distinguisher ] [ statistics ] ext-community [ rt route-target ]&<1-32> [ whole-match ]
请在用户视图下执行以下命令:
· 复位MDT地址族下的BGP会话。
reset bgp [ instance instance-name ] { as-number | ip-address [ mask-length ] | all | external | group group-name | internal } ipv4 mdt
· 请在用户视图下执行以下命令,复位MVPN地址族下的BGP会话。
reset bgp [ instance instance-name ] { as-number | ip-address [ mask-length ] | all | external | group group-name | internal } ipv4 mvpn
上述命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP基础”。
组网需求如表2-1所示。
表2-1 单AS内MDT模式MVPN配置组网需求
项目 |
组网需求 |
组播源和接收者 |
· 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:GigabitEthernet0/0/2和GigabitEthernet0/0/3接口属于VPN实例a,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 · PE 2:GigabitEthernet0/0/2接口属于VPN实例b,GigabitEthernet0/0/3接口属于VPN实例a,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 · PE 3:GigabitEthernet0/0/2接口属于VPN实例a,GigabitEthernet0/0/3和LoopBack2接口属于VPN实例b,GigabitEthernet0/0/1和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的GigabitEthernet0/0/2接口上使能IGMPv2 · 在CE a2、CE a3和CE b2各自的GigabitEthernet0/0/1接口上均使能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 单AS内MDT模式MVPN配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
S 1 |
- |
10.110.7.2/24 |
PE 3 |
GE0/0/1 |
192.168.8.1/24 |
S 2 |
- |
10.110.8.2/24 |
|
GE0/0/2 |
10.110.5.1/24 |
R 1 |
- |
10.110.1.2/24 |
|
GE0/0/3 |
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 |
GE0/0/1 |
10.110.7.1/24 |
P |
GE0/0/1 |
192.168.6.2/24 |
|
GE0/0/2 |
10.110.2.2/24 |
|
GE0/0/2 |
192.168.7.2/24 |
CE a2 |
GE0/0/1 |
10.110.9.1/24 |
|
GE0/0/3 |
192.168.8.2/24 |
|
GE0/0/2 |
10.110.4.2/24 |
|
Loop1 |
2.2.2.2/32 |
|
GE0/0/3 |
10.110.12.1/24 |
PE 1 |
GE0/0/1 |
192.168.6.1/24 |
|
Loop1 |
22.22.22.22/32 |
|
GE0/0/2 |
10.110.1.1/24 |
CE a3 |
GE0/0/1 |
10.110.10.1/24 |
|
GE0/0/3 |
10.110.2.1/24 |
|
GE0/0/2 |
10.110.5.2/24 |
|
Loop1 |
1.1.1.1/32 |
|
GE0/0/3 |
10.110.12.2/24 |
PE 2 |
GE0/0/1 |
192.168.7.1/24 |
CE b1 |
GE0/0/1 |
10.110.8.1/24 |
|
GE0/0/2 |
10.110.3.1/24 |
|
GE0/0/2 |
10.110.3.2/24 |
|
GE0/0/3 |
10.110.4.1/24 |
CE b2 |
GE0/0/1 |
10.110.11.1/24 |
|
Loop1 |
1.1.1.2/32 |
|
GE0/0/2 |
10.110.6.2/24 |
(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
# 使能VPN实例a中的IP组播路由。
[PE1] multicast routing vpn-instance a
[PE1-mrib-a] quit
# 创建VPN实例a的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE1] multicast-vpn vpn-instance a mode mdt
[PE1-mvpn-a] address-family ipv4
[PE1-mvpn-a-ipv4] default-group 239.1.1.1
[PE1-mvpn-a-ipv4] source loopback 1
[PE1-mvpn-a-ipv4] data-group 225.2.2.0 28
[PE1-mvpn-a-ipv4] quit
[PE1-mvpn-a] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE1] interface gigabitethernet 0/0/1
[PE1-GigabitEthernet0/0/1] ip address 192.168.6.1 24
[PE1-GigabitEthernet0/0/1] pim sm
[PE1-GigabitEthernet0/0/1] mpls enable
[PE1-GigabitEthernet0/0/1] mpls ldp enable
[PE1-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例a进行关联,配置IP地址,并使能IGMP。
[PE1] interface gigabitethernet 0/0/2
[PE1-GigabitEthernet0/0/2] ip binding vpn-instance a
[PE1-GigabitEthernet0/0/2] ip address 10.110.1.1 24
[PE1-GigabitEthernet0/0/2] igmp enable
[PE1-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE1] interface gigabitethernet 0/0/3
[PE1-GigabitEthernet0/0/3] ip binding vpn-instance a
[PE1-GigabitEthernet0/0/3] ip address 10.110.2.1 24
[PE1-GigabitEthernet0/0/3] pim sm
[PE1-GigabitEthernet0/0/3] 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-default] group vpn-g internal
[PE1-bgp-default] peer vpn-g connect-interface loopback 1
[PE1-bgp-default] peer 1.1.1.2 group vpn-g
[PE1-bgp-default] peer 1.1.1.3 group vpn-g
[PE1–bgp-default] ip vpn-instance a
[PE1-bgp-default-a] address-family ipv4
[PE1-bgp-default-ipv4-a] import-route rip 2
[PE1-bgp-default-ipv4-a] import-route direct
[PE1-bgp-default-ipv4-a] quit
[PE1-bgp-default-a] quit
[PE1–bgp-default] address-family vpnv4
[PE1–bgp-default-vpnv4] peer vpn-g enable
[PE1–bgp-default-vpnv4] quit
[PE1-bgp-default] address-family ipv4 mdt
[PE1-bgp-default-mdt] peer vpn-g enable
[PE1-bgp-default-mdt] quit
[PE1–bgp-default] 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.6.0 0.0.0.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.110.1.0 0.0.0.255
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[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
# 使能VPN实例b中的IP组播路由。
[PE2] multicast routing vpn-instance b
[PE2-mrib-b] quit
# 创建VPN实例b的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE2] multicast-vpn vpn-instance b mode mdt
[PE2-mvpn-b] address-family ipv4
[PE2-mvpn-b-ipv4] default-group 239.2.2.2
[PE2-mvpn-b-ipv4] source loopback 1
[PE2-mvpn-b-ipv4] data-group 225.4.4.0 28
[PE2-mvpn-b-ipv4] quit
[PE2-mvpn-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的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE2] multicast-vpn vpn-instance a mode mdt
[PE2-mvpn-a] address-family ipv4
[PE2-mvpn-a-ipv4] default-group 239.1.1.1
[PE2-mvpn-a-ipv4] source loopback 1
[PE2-mvpn-a-ipv4] data-group 225.2.2.0 28
[PE2-mvpn-a-ipv4] quit
[PE2-mvpn-a] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE2] interface gigabitethernet 0/0/1
[PE2-GigabitEthernet0/0/1] ip address 192.168.7.1 24
[PE2-GigabitEthernet0/0/1] pim sm
[PE2-GigabitEthernet0/0/1] mpls enable
[PE2-GigabitEthernet0/0/1] mpls ldp enable
[PE2-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE2] interface gigabitethernet 0/0/2
[PE2-GigabitEthernet0/0/2] ip binding vpn-instance b
[PE2-GigabitEthernet0/0/2] ip address 10.110.3.1 24
[PE2-GigabitEthernet0/0/2] pim sm
[PE2-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE2] interface gigabitethernet 0/0/3
[PE2-GigabitEthernet0/0/3] ip binding vpn-instance a
[PE2-GigabitEthernet0/0/3] ip address 10.110.4.1 24
[PE2-GigabitEthernet0/0/3] pim sm
[PE2-GigabitEthernet0/0/3] 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-default] group vpn-g internal
[PE2-bgp-default] peer vpn-g connect-interface loopback 1
[PE2-bgp-default] peer 1.1.1.1 group vpn-g
[PE2-bgp-default] peer 1.1.1.3 group vpn-g
[PE2–bgp-default] ip vpn-instance a
[PE2-bgp-default-a] address-family ipv4
[PE2-bgp-default-ipv4-a] import-route rip 2
[PE2-bgp-default-ipv4-a] import-route direct
[PE2-bgp-default-ipv4-a] quit
[PE2-bgp-default-a] quit
[PE2–bgp-default] ip vpn-instance b
[PE2-bgp-default-b] address-family ipv4
[PE2-bgp-default-ipv4-b] import-route rip 3
[PE2-bgp-default-ipv4-b] import-route direct
[PE2-bgp-default-ipv4-b] quit
[PE2-bgp-default-b] quit
[PE2–bgp-default] address-family vpnv4
[PE2–bgp-default-vpnv4] peer vpn-g enable
[PE2–bgp-default-vpnv4] quit
[PE2–bgp-default] 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.7.0 0.0.0.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.110.4.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
[PE2] rip 3 vpn-instance b
[PE2-rip-3] network 10.110.3.0 0.0.0.255
[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的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE3] multicast-vpn vpn-instance a mode mdt
[PE3-mvpn-a] address-family ipv4
[PE3-mvpn-a-ipv4] default-group 239.1.1.1
[PE3-mvpn-a-ipv4] source loopback 1
[PE3-mvpn-a-ipv4] data-group 225.2.2.0 28
[PE3-mvpn-a-ipv4] quit
[PE3-mvpn-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
# 使能VPN实例b中的IP组播路由。
[PE3] multicast routing vpn-instance b
[PE3-mrib-b] quit
# 创建VPN实例b的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE3] multicast-vpn vpn-instance b mode mdt
[PE3-mvpn-b] address-family ipv4
[PE3-mvpn-b-ipv4] default-group 239.2.2.2
[PE3-mvpn-b-ipv4] source loopback 1
[PE3-mvpn-b-ipv4] data-group 225.4.4.0 28
[PE3-mvpn-b-ipv4] quit
[PE3-mvpn-b] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE3] interface gigabitethernet 0/0/1
[PE3-GigabitEthernet0/0/1] ip address 192.168.8.1 24
[PE3-GigabitEthernet0/0/1] pim sm
[PE3-GigabitEthernet0/0/1] mpls enable
[PE3-GigabitEthernet0/0/1] mpls ldp enable
[PE3-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE3] interface gigabitethernet 0/0/2
[PE3-GigabitEthernet0/0/2] ip binding vpn-instance a
[PE3-GigabitEthernet0/0/2] ip address 10.110.5.1 24
[PE3-GigabitEthernet0/0/2] pim sm
[PE3-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE3] interface gigabitethernet 0/0/3
[PE3-GigabitEthernet0/0/3] ip binding vpn-instance b
[PE3-GigabitEthernet0/0/3] ip address 10.110.6.1 24
[PE3-GigabitEthernet0/0/3] pim sm
[PE3-GigabitEthernet0/0/3] 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-default] group vpn-g internal
[PE3-bgp-default] peer vpn-g connect-interface loopback 1
[PE3-bgp-default] peer 1.1.1.1 group vpn-g
[PE3-bgp-default] peer 1.1.1.2 group vpn-g
[PE3–bgp-default] ip vpn-instance a
[PE3-bgp-default-a] address-family ipv4
[PE3-bgp-default-ipv4-a] import-route rip 2
[PE3-bgp-default-ipv4-a] import-route direct
[PE3-bgp-default-ipv4-a] quit
[PE3-bgp-default-a] quit
[PE3–bgp-default] ip vpn-instance b
[PE3-bgp-default-b] address-family ipv4
[PE3-bgp-default-ipv4-b] import-route rip 3
[PE3-bgp-default-ipv4-b] import-route direct
[PE3-bgp-default-ipv4-b] quit
[PE3-bgp-default-b] quit
[PE3–bgp-default] address-family vpnv4
[PE3–bgp-default-vpnv4] peer vpn-g enable
[PE3–bgp-default-vpnv4] quit
[PE3–bgp-default] 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.8.0 0.0.0.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.110.5.0 0.0.0.255
[PE3-rip-2] import-route bgp
[PE3-rip-2] quit
[PE3] rip 3 vpn-instance b
[PE3-rip-3] network 10.110.6.0 0.0.0.255
[PE3-rip-3] network 33.33.33.33 0.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
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[P] interface gigabitethernet 0/0/1
[P-GigabitEthernet0/0/1] ip address 192.168.6.2 24
[P-GigabitEthernet0/0/1] pim sm
[P-GigabitEthernet0/0/1] mpls enable
[P-GigabitEthernet0/0/1] mpls ldp enable
[P-GigabitEthernet0/0/1] quit
# 在公网接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[P] interface gigabitethernet 0/0/2
[P-GigabitEthernet0/0/2] ip address 192.168.7.2 24
[P-GigabitEthernet0/0/2] pim sm
[P-GigabitEthernet0/0/2] mpls enable
[P-GigabitEthernet0/0/2] mpls ldp enable
[P-GigabitEthernet0/0/2] quit
# 在公网接口GigabitEthernet0/0/3上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[P] interface gigabitethernet 0/0/3
[P-GigabitEthernet0/0/3] ip address 192.168.8.2 24
[P-GigabitEthernet0/0/3] pim sm
[P-GigabitEthernet0/0/3] mpls enable
[P-GigabitEthernet0/0/3] mpls ldp enable
[P-GigabitEthernet0/0/3] 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.6.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 192.168.7.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 192.168.8.0 0.0.0.255
(5) 配置CE a1
# 使能IP组播路由。
<CEa1> system-view
[CEa1] multicast routing
[CEa1-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM。
[CEa1] interface gigabitethernet 0/0/1
[CEa1-GigabitEthernet0/0/1] ip address 10.110.7.1 24
[CEa1-GigabitEthernet0/0/1] pim sm
[CEa1-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa1] interface gigabitethernet 0/0/2
[CEa1-GigabitEthernet0/0/2] ip address 10.110.2.2 24
[CEa1-GigabitEthernet0/0/2] pim sm
[CEa1-GigabitEthernet0/0/2] quit
# 配置RIP协议。
[CEa1] rip 2
[CEa1-rip-2] network 10.110.2.0 0.0.0.255
[CEa1-rip-2] network 10.110.7.0 0.0.0.255
(6) 配置CE b1
# 使能IP组播路由。
<CEb1> system-view
[CEb1] multicast routing
[CEb1-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM。
[CEb1] interface gigabitethernet 0/0/1
[CEb1-GigabitEthernet0/0/1] ip address 10.110.8.1 24
[CEb1-GigabitEthernet0/0/1] pim sm
[CEb1-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEb1] interface gigabitethernet 0/0/2
[CEb1-GigabitEthernet0/0/2] ip address 10.110.3.2 24
[CEb1-GigabitEthernet0/0/2] pim sm
[CEb1-GigabitEthernet0/0/2] quit
# 配置RIP协议。
[CEb1] rip 3
[CEb1-rip-3] network 10.110.3.0 0.0.0.255
[CEb1-rip-3] network 10.110.8.0 0.0.0.255
(7) 配置CE a2
# 使能IP组播路由。
<CEa2> system-view
[CEa2] multicast routing
[CEa2-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEa2] interface gigabitethernet 0/0/1
[CEa2-GigabitEthernet0/0/1] ip address 10.110.9.1 24
[CEa2-GigabitEthernet0/0/1] igmp enable
[CEa2-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa2] interface gigabitethernet 0/0/2
[CEa2-GigabitEthernet0/0/2] ip address 10.110.4.2 24
[CEa2-GigabitEthernet0/0/2] pim sm
[CEa2-GigabitEthernet0/0/2] quit
# 在接口GigabitEthernet0/0/3上配置IP地址,并使能PIM-SM。
[CEa2] interface gigabitethernet 0/0/3
[CEa2-GigabitEthernet0/0/3] ip address 10.110.12.1 24
[CEa2-GigabitEthernet0/0/3] pim sm
[CEa2-GigabitEthernet0/0/3] 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.110.4.0 0.0.0.255
[CEa2-rip-2] network 10.110.9.0 0.0.0.255
[CEa2-rip-2] network 10.110.12.0 0.0.0.255
[CEa2-rip-2] network 22.22.22.22 0.0.0.0
(8) 配置CE a3
# 使能IP组播路由。
<CEa3> system-view
[CEa3] multicast routing
[CEa3-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEa3] interface gigabitethernet 0/0/1
[CEa3-GigabitEthernet0/0/1] ip address 10.110.10.1 24
[CEa3-GigabitEthernet0/0/1] igmp enable
[CEa3-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa3] interface gigabitethernet 0/0/2
[CEa3-GigabitEthernet0/0/2] ip address 10.110.5.2 24
[CEa3-GigabitEthernet0/0/2] pim sm
[CEa3-GigabitEthernet0/0/2] quit
# 在接口GigabitEthernet0/0/3上配置IP地址,并使能PIM-SM。
[CEa3] interface gigabitethernet 0/0/3
[CEa3-GigabitEthernet0/0/3] ip address 10.110.12.2 24
[CEa3-GigabitEthernet0/0/3] pim sm
[CEa3-GigabitEthernet0/0/3] quit
# 配置RIP协议。
[CEa3] rip 2
[CEa3-rip-2] network 10.110.5.0 0.0.0.255
[CEa3-rip-2] network 10.110.10.0 0.0.0.255
[CEa3-rip-2] network 10.110.12.0 0.0.0.255
(9) 配置CE b2
# 使能IP组播路由。
<CEb2> system-view
[CEb2] multicast routing
[CEb2-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEb2] interface gigabitethernet 0/0/1
[CEb2-GigabitEthernet0/0/1] ip address 10.110.11.1 24
[CEb2-GigabitEthernet0/0/1] igmp enable
[CEb2-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEb2] interface gigabitethernet 0/0/2
[CEb2-GigabitEthernet0/0/2] ip address 10.110.6.2 24
[CEb2-GigabitEthernet0/0/2] pim sm
[CEb2-GigabitEthernet0/0/2] quit
# 配置RIP协议。
[CEb2] rip 3
[CEb2-rip-3] network 10.110.6.0 0.0.0.255
[CEb2-rip-3] network 10.110.11.0 0.0.0.255
# 查看PE 1上所有VPN实例中本地Default-Group的信息。
[PE1] display multicast-vpn default-group local
MVPN local default-group information:
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-vpn default-group local
MVPN local default-group information:
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-vpn default-group local
MVPN local default-group information:
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
组网需求如表2-2所示。
表2-2 B类跨AS的MDT模式MVPN配置组网需求
项目 |
组网需求 |
组播源和接收者 |
· VPN a的组播源为S 1,接收者为R 2 · VPN b的组播源为S 2,接收者为R 1 · VPN a中使用SSM组播组:Default-Group为232.1.1.1,Data-Group范围为232.2.2.0~232.2.2.15 · VPN b中使用SSM组播组:Default-Group为232.3.3.3,Data-Group范围为232.4.4.0~232.4.4.15 |
PE各接口所属实例 |
· PE 1:GigabitEthernet0/0/2接口属于VPN实例a,GigabitEthernet0/0/3接口属于VPN实例b,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 · PE 2:GigabitEthernet0/0/1、GigabitEthernet0/0/2和LoopBack1接口属于公网实例 · PE 3:GigabitEthernet0/0/1、GigabitEthernet0/0/2和LoopBack1接口属于公网实例 · PE 4:GigabitEthernet0/0/2接口属于VPN实例a,GigabitEthernet0/0/3接口属于VPN实例b,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 |
单播路由协议和MPLS |
· 在AS 100和AS 200中分别配置OSPF,在各PE与CE之间也配置OSPF · 在PE 1与PE 2、PE 3与PE 4各自的LoopBack1接口之间建立IBGP对等体,PE 2与PE 3各自的GigabitEthernet0/0/2接口之间建立EBGP对等体 · 在PE 1与PE 2、PE 3与PE 4各自的LoopBack1接口之间,以及PE 2与PE 3各自的GigabitEthernet0/0/2接口之间建立BGP MDT对等体 · 在AS 100和AS 200中分别配置MPLS |
IP组播路由功能 |
· 在P 1和P 2上使能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的GigabitEthernet0/0/1接口上使能IGMPv2 · 在CE b2的GigabitEthernet0/0/1接口上使能IGMPv2 |
PIM功能 |
公网中运行PIM-SSM,私网中运行PIM-SM: · 在P 1和P 2的所有接口上均使能PIM-SM · 在PE 2和PE 3的所有公网接口上均使能PIM-SM · 在PE 1和PE 4的所有公网和私网接口上均使能PIM-SM · 在CE a1、CE a2、CE b1和CE b2所有不连接接收者的接口上均使能PIM-SM · CE a1的GigabitEthernet0/0/2接口为VPN a的C-BSR和C-RP(服务于所有组播组) · CE b1的GigabitEthernet0/0/2接口为VPN b的C-BSR和C-RP(服务于所有组播组) |
RPF代理向量功能 |
在PE 1和PE 4上开启RPF代理向量功能 |
图2-2 B类跨AS的MDT模式MVPN配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
S 1 |
- |
12.1.1.100/24 |
R 1 |
- |
12.4.1.100/24 |
S 2 |
- |
12.2.1.100/24 |
R 2 |
- |
12.3.1.100/24 |
PE 1 |
GE0/0/1 |
10.1.1.1/24 |
PE 3 |
GE0/0/1 |
10.4.1.1/24 |
|
GE0/0/2 |
11.1.1.1/24 |
|
GE0/0/2 |
10.3.1.2/24 |
|
GE0/0/3 |
11.2.1.1/24 |
|
Loop1 |
3.3.3.3/32 |
|
Loop1 |
1.1.1.1/32 |
PE 4 |
GE0/0/1 |
10.5.1.2/24 |
PE 2 |
GE0/0/1 |
10.2.1.2/24 |
|
GE0/0/2 |
11.3.1.1/24 |
|
GE0/0/2 |
10.3.1.1/24 |
|
GE0/0/3 |
11.4.1.1/24 |
|
Loop1 |
2.2.2.2/32 |
|
Loop1 |
4.4.4.4/24 |
P 1 |
GE0/0/1 |
10.1.1.2/24 |
P 2 |
GE0/0/1 |
10.5.1.1/24 |
|
GE0/0/2 |
10.2.1.1/24 |
|
GE0/0/2 |
10.4.1.2/24 |
|
Loop1 |
5.5.5.5/32 |
|
Loop1 |
6.6.6.6/32 |
CE a1 |
GE0/0/1 |
12.1.1.1/24 |
CE b1 |
GE0/0/1 |
12.2.1.1/24 |
|
GE0/0/2 |
11.1.1.2/24 |
|
GE0/0/2 |
11.2.1.2/24 |
CE a2 |
GE0/0/1 |
12.3.1.1/24 |
CE b2 |
GE0/0/1 |
12.4.1.1/24 |
|
GE0/0/2 |
11.3.1.2/24 |
|
GE0/0/2 |
11.4.1.2/24 |
(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
# 开启VPN实例a中的IP组播路由和RPF代理向量功能。
[PE1] multicast routing vpn-instance a
[PE1-mrib-a] rpf proxy vector
[PE1-mrib-a] quit
# 创建VPN实例a的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE1] multicast-vpn vpn-instance a mode mdt
[PE1-mvpn-a] address-family ipv4
[PE1-mvpn-a-ipv4] default-group 232.1.1.1
[PE1-mvpn-a-ipv4] source loopback 1
[PE1-mvpn-a-ipv4] data-group 232.2.2.0 28
[PE1-mvpn-a-ipv4] quit
[PE1-mvpn-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组播路由和RPF代理向量功能。
[PE1] multicast routing vpn-instance b
[PE1-mrib-b] rpf proxy vector
[PE1-mrib-b] quit
# 创建VPN实例b的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE1] multicast-vpn vpn-instance b mode mdt
[PE1-mvpn-b] address-family ipv4
[PE1-mvpn-b-ipv4] default-group 232.3.3.3
[PE1-mvpn-b-ivp4] source loopback 1
[PE1-mvpn-b-ipv4] data-group 232.4.4.0 28
[PE1-mvpn-b-ipv4] quit
[PE1-mvpn-b] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE1] interface gigabitethernet 0/0/1
[PE1-GigabitEthernet0/0/1] ip address 10.1.1.1 24
[PE1-GigabitEthernet0/0/1] pim sm
[PE1-GigabitEthernet0/0/1] mpls enable
[PE1-GigabitEthernet0/0/1] mpls ldp enable
[PE1-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE1] interface gigabitethernet 0/0/2
[PE1-GigabitEthernet0/0/2] ip binding vpn-instance a
[PE1-GigabitEthernet0/0/2] ip address 11.1.1.1 24
[PE1-GigabitEthernet0/0/2] pim sm
[PE1-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE1] interface gigabitethernet 0/0/3
[PE1-GigabitEthernet0/0/3] ip binding vpn-instance b
[PE1-GigabitEthernet0/0/3] ip address 11.2.1.1 24
[PE1-GigabitEthernet0/0/3] pim sm
[PE1-GigabitEthernet0/0/3] 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-default] peer 2.2.2.2 as-number 100
[PE1-bgp-default] peer 2.2.2.2 connect-interface loopback 1
[PE1–bgp-default] ip vpn-instance a
[PE1-bgp-default-a] address-family ipv4
[PE1-bgp-default-ipv4-a] import-route ospf 2
[PE1-bgp-default-ipv4-a] import-route direct
[PE1-bgp-default-ipv4-a] quit
[PE1-bgp-default-a] quit
[PE1–bgp-default] ip vpn-instance b
[PE1-bgp-default-b] address-family ipv4
[PE1-bgp-default-ipv4-b] import-route ospf 3
[PE1-bgp-default-ipv4-b] import-route direct
[PE1-bgp-default-ipv4-b] quit
[PE1-bgp-default-b] quit
[PE1–bgp-default] address-family vpnv4
[PE1–bgp-default-vpnv4] peer 2.2.2.2 enable
[PE1–bgp-default-vpnv4] quit
[PE1-bgp-default] address-family ipv4 mdt
[PE1-bgp-default-mdt] peer 2.2.2.2 enable
[PE1-bgp-default-mdt] quit
[PE1–bgp-default] 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.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
[PE1] ospf 2 vpn-instance a
[PE1-ospf-2] area 0.0.0.0
[PE1-ospf-2-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[PE1-ospf-2-area-0.0.0.0] quit
[PE1-ospf-2] quit
[PE1] ospf 3 vpn-instance b
[PE1-ospf-3] area 0.0.0.0
[PE1-ospf-3-area-0.0.0.0] network 11.2.1.0 0.0.0.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 2.2.2.2
[PE2] multicast routing
[PE2-mrib] quit
# 配置LSR ID,并全局使能LDP能力。
[PE2] mpls lsr-id 2.2.2.2
[PE2] mpls ldp
[PE2-ldp] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE2] interface gigabitethernet 0/0/1
[PE2-GigabitEthernet0/0/1] ip address 10.2.1.2 24
[PE2-GigabitEthernet0/0/1] pim sm
[PE2-GigabitEthernet0/0/1] mpls enable
[PE2-GigabitEthernet0/0/1] mpls ldp enable
[PE2-GigabitEthernet0/0/1] quit
# 在公网接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM和MPLS能力。
[PE2] interface gigabitethernet 0/0/2
[PE2-GigabitEthernet0/0/2] ip address 10.3.1.1 24
[PE2-GigabitEthernet0/0/2] pim sm
[PE2-GigabitEthernet0/0/2] mpls enable
[PE2-GigabitEthernet0/0/2] quit
# 配置LoopBack1接口的IP地址,并使能PIM-SM。
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 2.2.2.2 32
[PE2-LoopBack1] pim sm
[PE2-LoopBack1] quit
# 配置BGP协议。
[PE2] bgp 100
[PE2-bgp-default] peer 1.1.1.1 as-number 100
[PE2-bgp-default] peer 1.1.1.1 connect-interface loopback 1
[PE2-bgp-default] peer 10.3.1.2 as-number 200
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] undo policy vpn-target
[PE2-bgp-default-vpnv4] peer 1.1.1.1 enable
[PE2-bgp-default-vpnv4] peer 10.3.1.2 enable
[PE2-bgp-default-vpnv4] quit
[PE2-bgp-default] address-family ipv4 mdt
[PE2-bgp-default-mdt] peer 1.1.1.1 enable
[PE2-bgp-default-mdt] peer 10.3.1.2 enable
[PE2-bgp-default-mdt] quit
[PE2–bgp-default] quit
# 配置OSPF协议。
[PE2] ospf 1
[PE2-ospf-1] area 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
(3) 配置PE 3
# 配置全局Router ID,并使能公网实例中的IP组播路由。
<PE3> system-view
[PE3] router id 3.3.3.3
[PE3] multicast routing
[PE3-mrib] quit
# 配置LSR ID,并全局使能LDP能力。
[PE3] mpls lsr-id 3.3.3.3
[PE3] mpls ldp
[PE3-ldp] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE3] interface gigabitethernet 0/0/1
[PE3-GigabitEthernet0/0/1] ip address 10.4.1.1 24
[PE3-GigabitEthernet0/0/1] pim sm
[PE3-GigabitEthernet0/0/1] mpls enable
[PE3-GigabitEthernet0/0/1] mpls ldp enable
[PE3-GigabitEthernet0/0/1] quit
# 在公网接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM和MPLS能力。
[PE3] interface gigabitethernet 0/0/2
[PE3-GigabitEthernet0/0/2] ip address 10.3.1.2 24
[PE3-GigabitEthernet0/0/2] pim sm
[PE3-GigabitEthernet0/0/2] mpls enable
[PE3-GigabitEthernet0/0/2] quit
# 配置LoopBack1接口的IP地址,并使能PIM-SM。
[PE3] interface loopback 1
[PE3-LoopBack1] ip address 3.3.3.3 32
[PE3-LoopBack1] pim sm
[PE3-LoopBack1] quit
# 配置BGP协议。
[PE3] bgp 200
[PE3-bgp-default] peer 4.4.4.4 as-number 200
[PE3-bgp-default] peer 4.4.4.4 connect-interface loopback 1
[PE3-bgp-default] peer 10.3.1.1 as-number 100
[PE3-bgp-default] address-family vpnv4
[PE3-bgp-default-vpnv4] undo policy vpn-target
[PE3-bgp-default-vpnv4] peer 4.4.4.4 enable
[PE3-bgp-default-vpnv4] peer 10.3.1.1 enable
[PE3-bgp-default-vpnv4] quit
[PE3-bgp-default] address-family ipv4 mdt
[PE3-bgp-default-mdt] peer 4.4.4.4 enable
[PE3-bgp-default-mdt] peer 10.3.1.1 enable
[PE3-bgp-default-mdt] quit
[PE3–bgp-default] quit
# 配置OSPF协议。
[PE3] ospf 1
[PE3-ospf-1] area 0.0.0.0
[PE3-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0
[PE3-ospf-1-area-0.0.0.0] network 10.4.1.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] quit
[PE3-ospf-1] quit
(4) 配置PE 4
# 配置全局Router ID,并使能公网实例中的IP组播路由。
<PE4> system-view
[PE4] router id 4.4.4.4
[PE4] multicast routing
[PE4-mrib] quit
# 配置LSR ID,并全局使能LDP能力。
[PE4] mpls lsr-id 4.4.4.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
# 开启VPN实例a中的IP组播路由和RPF代理向量功能。
[PE4] multicast routing vpn-instance a
[PE4-mrib-a] rpf proxy vector
[PE4-mrib-a] quit
# 创建VPN实例a的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE4] multicast-vpn vpn-instance a mode mdt
[PE4-mvpn-a] address-family ipv4
[PE4-mvpn-a-ipv4] default-group 232.1.1.1
[PE4-mvpn-a-ipv4] source loopback 1
[PE4-mvpn-a-ipv4] data-group 232.2.2.0 28
[PE4-mvpn-a-ipv4] quit
[PE4-mvpn-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组播路由和RPF代理向量功能。
[PE4] multicast routing vpn-instance b
[PE4-mrib-b] rpf proxy vector
[PE4-mrib-b] quit
# 创建VPN实例b的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE4] multicast-vpn vpn-instance b mode mdt
[PE4-mvpn-b] address-family ipv4
[PE4-mvpn-b-ipv4] default-group 232.3.3.3
[PE4-mvpn-b-ipv4] source loopback 1
[PE4-mvpn-b-ipv4] data-group 232.4.4.0 28
[PE4-mvpn-b-ipv4] quit
[PE4-mvpn-b] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE4] interface gigabitethernet 0/0/1
[PE4-GigabitEthernet0/0/1] ip address 10.5.1.2 24
[PE4-GigabitEthernet0/0/1] pim sm
[PE4-GigabitEthernet0/0/1] mpls enable
[PE4-GigabitEthernet0/0/1] mpls ldp enable
[PE4-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE4] interface gigabitethernet 0/0/2
[PE4-GigabitEthernet0/0/2] ip binding vpn-instance a
[PE4-GigabitEthernet0/0/2] ip address 11.3.1.1 24
[PE4-GigabitEthernet0/0/2] pim sm
[PE4-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE4] interface gigabitethernet 0/0/3
[PE4-GigabitEthernet0/0/3] ip binding vpn-instance b
[PE4-GigabitEthernet0/0/3] ip address 11.4.1.1 24
[PE4-GigabitEthernet0/0/3] pim sm
[PE4-GigabitEthernet0/0/3] quit
# 配置LoopBack1接口的IP地址,并使能PIM-SM。
[PE4] interface loopback 1
[PE4-LoopBack1] ip address 4.4.4.4 32
[PE4-LoopBack1] pim sm
[PE4-LoopBack1] quit
# 配置BGP协议。
[PE4] bgp 200
[PE4-bgp-default] peer 3.3.3.3 as-number 200
[PE4-bgp-default] peer 3.3.3.3 connect-interface loopback 1
[PE4–bgp-default] ip vpn-instance a
[PE4-bgp-default-a] address-family ipv4
[PE4-bgp-default-ipv4-a] import-route ospf 2
[PE4-bgp-default-ipv4-a] import-route direct
[PE4-bgp-default-ipv4-a] quit
[PE4-bgp-default-a] quit
[PE4–bgp-default] ip vpn-instance b
[PE4-bgp-default-b] address-family ipv4
[PE4-bgp-default-ipv4-b] import-route ospf 3
[PE4-bgp-default-ipv4-b] import-route direct
[PE4-bgp-default-ipv4-b] quit
[PE4-bgp-default-b] quit
[PE4–bgp-default] address-family vpnv4
[PE4–bgp-default -vpnv4] peer 3.3.3.3 enable
[PE4–bgp-default -vpnv4] quit
[PE4-bgp-default] address-family ipv4 mdt
[PE4-bgp-default-mdt] peer 3.3.3.3 enable
[PE4-bgp-default-mdt] quit
[PE4–bgp-default] quit
# 配置OSPF协议。
[PE4] ospf 1
[PE4-ospf-1] area 0.0.0.0
[PE4-ospf-1-area-0.0.0.0] network 4.4.4.4 0.0.0.0
[PE4-ospf-1-area-0.0.0.0] network 10.5.1.0 0.0.0.255
[PE4-ospf-1-area-0.0.0.0] quit
[PE4-ospf-1] quit
[PE4] ospf 2 vpn-instance a
[PE4-ospf-2] area 0.0.0.0
[PE4-ospf-2-area-0.0.0.0] network 11.3.1.0 0.0.0.255
[PE4-ospf-2-area-0.0.0.0] quit
[PE4-ospf-2] quit
[PE4] ospf 3 vpn-instance b
[PE4-ospf-3] area 0.0.0.0
[PE4-ospf-3-area-0.0.0.0] network 11.4.1.0 0.0.0.255
[PE4-ospf-3-area-0.0.0.0] quit
[PE4-ospf-3] quit
(5) 配置P 1
# 使能公网实例中的IP组播路由。
<P1> system-view
[P1] multicast routing
[P1-mrib] quit
# 配置LSR ID,并全局使能LDP能力。
[P1] mpls lsr-id 5.5.5.5
[P1] mpls ldp
[P1-ldp] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[P1] interface gigabitethernet 0/0/1
[P1-GigabitEthernet0/0/1] ip address 10.1.1.2 24
[P1-GigabitEthernet0/0/1] pim sm
[P1-GigabitEthernet0/0/1] mpls enable
[P1-GigabitEthernet0/0/1] mpls ldp enable
[P1-GigabitEthernet0/0/1] quit
# 在公网接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[P1] interface gigabitethernet 0/0/2
[P1-GigabitEthernet0/0/2] ip address 10.2.1.1 24
[P1-GigabitEthernet0/0/2] pim sm
[P1-GigabitEthernet0/0/2] mpls enable
[P1-GigabitEthernet0/0/2] mpls ldp enable
[P1-GigabitEthernet0/0/2] quit
# 配置LoopBack1接口的IP地址,并使能PIM-SM。
[P1] interface loopback 1
[P1-LoopBack1] ip address 5.5.5.5 32
[P1-LoopBack1] pim sm
[P1-LoopBack1] quit
# 配置OSPF协议。
[P1] ospf 1
[P1-ospf-1] area 0.0.0.0
[P1-ospf-1-area-0.0.0.0] network 5.5.5.5 0.0.0.0
[P1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[P1-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255
(6) 配置P 2
# 使能公网实例中的IP组播路由。
<P2> system-view
[P2] multicast routing
[P2-mrib] quit
# 配置LSR ID,并全局使能LDP能力。
[P2] mpls lsr-id 6.6.6.6
[P2] mpls ldp
[P2-ldp] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[P2] interface gigabitethernet 0/0/1
[P2-GigabitEthernet0/0/1] ip address 10.5.1.1 24
[P2-GigabitEthernet0/0/1] pim sm
[P2-GigabitEthernet0/0/1] mpls enable
[P2-GigabitEthernet0/0/1] mpls ldp enable
[P2-GigabitEthernet0/0/1] quit
# 在公网接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[P2] interface gigabitethernet 0/0/2
[P2-GigabitEthernet0/0/2] ip address 10.4.1.2 24
[P2-GigabitEthernet0/0/2] pim sm
[P2-GigabitEthernet0/0/2] mpls enable
[P2-GigabitEthernet0/0/2] mpls ldp enable
[P2-GigabitEthernet0/0/2] quit
# 配置LoopBack1接口的IP地址,并使能PIM-SM。
[P2] interface loopback 1
[P2-LoopBack1] ip address 6.6.6.6 32
[P2-LoopBack1] pim sm
[P2-LoopBack1] quit
# 配置OSPF协议。
[P2] ospf 1
[P2-ospf-1] area 0.0.0.0
[P2-ospf-1-area-0.0.0.0] network 6.6.6.6 0.0.0.0
[P2-ospf-1-area-0.0.0.0] network 10.4.1.0 0.0.0.255
[P2-ospf-1-area-0.0.0.0] network 10.5.1.0 0.0.0.255
(7) 配置CE a1
# 使能IP组播路由。
<CEa1> system-view
[CEa1] multicast routing
[CEa1-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM。
[CEa1] interface gigabitethernet 0/0/1
[CEa1-GigabitEthernet0/0/1] ip address 12.1.1.1 24
[CEa1-GigabitEthernet0/0/1] pim sm
[CEa1-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa1] interface gigabitethernet 0/0/2
[CEa1-GigabitEthernet0/0/2] ip address 11.1.1.2 24
[CEa1-GigabitEthernet0/0/2] pim sm
[CEa1-GigabitEthernet0/0/2] quit
# 配置GigabitEthernet0/0/2接口为VPN a的C-BSR和C-RP。
[CEa1] pim
[CEa1-pim] c-bsr 11.1.1.2
[CEa1-pim] c-rp 11.1.1.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 12.1.1.0 0.0.0.255
[CEa1-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[CEa1-ospf-1-area-0.0.0.0] quit
[CEa1-ospf-1] quit
(8) 配置CE b1
# 使能IP组播路由。
<CEb1> system-view
[CEb1] multicast routing
[CEb1-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM。
[CEb1] interface gigabitethernet 0/0/1
[CEb1-GigabitEthernet0/0/1] ip address 12.2.1.1 24
[CEb1-GigabitEthernet0/0/1] pim sm
[CEb1-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEb1] interface gigabitethernet 0/0/2
[CEb1-GigabitEthernet0/0/2] ip address 11.2.1.2 24
[CEb1-GigabitEthernet0/0/2] pim sm
[CEb1-GigabitEthernet0/0/2] quit
# 配置GigabitEthernet0/0/2接口为VPN b的C-BSR和C-RP。
[CEb1] pim
[CEb1-pim] c-bsr 11.2.1.2 24
[CEb1-pim] c-rp 11.2.1.2 24
[CEb1-pim] quit
# 配置OSPF协议。
[CEb1] ospf 1
[CEb1-ospf-1] area 0.0.0.0
[CEb1-ospf-1-area-0.0.0.0] network 12.2.1.0 0.0.0.255
[CEb1-ospf-1-area-0.0.0.0] network 11.2.1.0 0.0.0.255
[CEb1-ospf-1-area-0.0.0.0] quit
[CEb1-ospf-1] quit
(9) 配置CE a2
# 使能IP组播路由。
<CEa2> system-view
[CEa2] multicast routing
[CEa2-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEa2] interface gigabitethernet 0/0/1
[CEa2-GigabitEthernet0/0/1] ip address 12.3.1.1 24
[CEa2-GigabitEthernet0/0/1] igmp enable
[CEa2-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa2] interface gigabitethernet 0/0/2
[CEa2-GigabitEthernet0/0/2] ip address 11.3.1.2 24
[CEa2-GigabitEthernet0/0/2] pim sm
[CEa2-GigabitEthernet0/0/2] quit
# 配置OSPF协议。
[CEa2] ospf 1
[CEa2-ospf-1] area 0.0.0.0
[CEa2-ospf-1-area-0.0.0.0] network 12.3.1.0 0.0.0.255
[CEa2-ospf-1-area-0.0.0.0] network 11.3.1.0 0.0.0.255
[CEa2-ospf-1-area-0.0.0.0] quit
[CEa2-ospf-1] quit
(10) 配置CE b2
# 使能IP组播路由。
<CEb2> system-view
[CEb2] multicast routing
[CEb2-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEb2] interface gigabitethernet 0/0/1
[CEb2-GigabitEthernet0/0/1] ip address 12.4.1.1 24
[CEb2-GigabitEthernet0/0/1] igmp enable
[CEb2-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEb2] interface gigabitethernet 0/0/2
[CEb2-GigabitEthernet0/0/2] ip address 11.4.1.2 24
[CEb2-GigabitEthernet0/0/2] pim sm
[CEb2-GigabitEthernet0/0/2] quit
# 配置OSPF协议。
[CEb2] ospf 1
[CEb2-ospf-1] area 0.0.0.0
[CEb2-ospf-1-area-0.0.0.0] network 12.4.1.0 0.0.0.255
[CEb2-ospf-1-area-0.0.0.0] network 11.4.1.0 0.0.0.255
[CEb2-ospf-1-area-0.0.0.0] quit
[CEb2-ospf-1] quit
# 查看PE 1上所有VPN实例中本地Default-Group的信息。
[PE1] display multicast-vpn default-group local
MVPN local default-group information:
Group address Source address Interface VPN instance
232.1.1.1 1.1.1.1 MTunnel0 a
232.3.3.3 1.1.1.1 MTunnel1 b
# 查看PE 1上所有VPN实例中远端Default-Group的信息。
[PE1] display multicast-vpn default-group remote
MVPN remote default-group information:
Group address Source address Next hop VPN instance
232.1.1.1 4.4.4.4 2.2.2.2 a
232.3.3.3 4.4.4.4 2.2.2.2 b
# 查看PE 4上所有VPN实例中本地Default-Group的信息。
[PE4] display multicast-vpn default-group local
MVPN local default-group information:
Group address Source address Interface VPN instance
232.1.1.1 4.4.4.4 MTunnel0 a
233.3.3.3 4.4.4.4 MTunnel1 b
# 查看PE 4上所有VPN实例中远端Default-Group的信息。
[PE4] display multicast-vpn default-group remote
MVPN remote default-group information:
Group address Source address Next hop VPN instance
232.1.1.1 1.1.1.1 3.3.3.3 a
232.3.3.3 1.1.1.1 3.3.3.3 b
组网需求如表2-3所示。
表2-3 C类跨AS的MDT模式MVPN配置组网需求
项目 |
组网需求 |
组播源和接收者 |
· 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:GigabitEthernet0/0/2接口属于VPN实例a,GigabitEthernet0/0/3接口属于VPN实例b,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 · PE 2:GigabitEthernet0/0/1、GigabitEthernet0/0/2、LoopBack1和LoopBack2接口属于公网实例 · PE 3:GigabitEthernet0/0/1、GigabitEthernet0/0/2、LoopBack1和LoopBack2接口属于公网实例 · PE 4:GigabitEthernet0/0/2接口属于VPN实例a,GigabitEthernet0/0/3接口属于VPN实例b,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 |
单播路由协议和MPLS |
· 在AS 100和AS 200中分别配置OSPF,在各PE与CE之间也配置OSPF · 在PE 1与PE 2、PE 2与PE 3、PE 3与PE 4、PE 4与PE 1各自的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的GigabitEthernet0/0/1接口上使能IGMPv2 · 在CE b2的GigabitEthernet0/0/1接口上使能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-3 C类跨AS的MDT模式MVPN配置组网图
设备 |
接口 |
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 |
GE0/0/1 |
10.10.1.1/24 |
PE 3 |
GE0/0/1 |
10.10.2.1/24 |
|
GE0/0/2 |
10.11.1.1/24 |
|
GE0/0/2 |
192.168.1.2/24 |
|
GE0/0/3 |
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 |
GE0/0/1 |
10.10.1.2/24 |
PE 4 |
GE0/0/1 |
10.10.2.2/24 |
|
GE0/0/2 |
192.168.1.1/24 |
|
GE0/0/2 |
10.11.3.1/24 |
|
Loop1 |
1.1.1.2/32 |
|
GE0/0/3 |
10.11.4.1/32 |
|
Loop2 |
11.11.11.11/32 |
|
Loop1 |
1.1.1.4/32 |
CE a1 |
GE0/0/1 |
10.11.5.1/24 |
CE b1 |
GE0/0/1 |
10.11.6.1/24 |
|
GE0/0/2 |
10.11.1.2/24 |
|
GE0/0/2 |
10.11.2.2/24 |
|
Loop0 |
2.2.2.2/32 |
CE b2 |
GE0/0/1 |
10.11.8.1/24 |
CE a2 |
GE0/0/1 |
10.11.7.1/24 |
|
GE0/0/2 |
10.11.4.2/24 |
|
GE0/0/2 |
10.11.3.2/24 |
|
Loop0 |
3.3.3.3/32 |
(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
# 使能VPN实例a中的IP组播路由。
[PE1] multicast routing vpn-instance a
[PE1-mrib-a] quit
# 创建VPN实例a的MDT模式MVPN并进入创建MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE1] multicast-vpn vpn-instance a mode mdt
[PE1-mvpn-a] address-family ipv4
[PE1-mvpn-a-ipv4] default-group 239.1.1.1
[PE1-mvpn-a-ipv4] source loopback 1
[PE1-mvpn-a-ipv4] data-group 225.1.1.0 28
[PE1-mvpn-a-ipv4] quit
[PE1-mvpn-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的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE1] multicast-vpn vpn-instance b mode mdt
[PE1-mvpn-b] address-family ipv4
[PE1-mvpn-b-ipv4] default-group 239.4.4.4
[PE1-mvpn-b-ipv4] source loopback 1
[PE1-mvpn-b-ipv4] data-group 225.4.4.0 28
[PE1-mvpn-b-ipv4] quit
[PE1-mvpn-b] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE1] interface gigabitethernet 0/0/1
[PE1-GigabitEthernet0/0/1] ip address 10.10.1.1 24
[PE1-GigabitEthernet0/0/1] pim sm
[PE1-GigabitEthernet0/0/1] mpls enable
[PE1-GigabitEthernet0/0/1] mpls ldp enable
[PE1-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE1] interface gigabitethernet 0/0/2
[PE1-GigabitEthernet0/0/2] ip binding vpn-instance a
[PE1-GigabitEthernet0/0/2] ip address 10.11.1.1 24
[PE1-GigabitEthernet0/0/2] pim sm
[PE1-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE1] interface gigabitethernet 0/0/3
[PE1-GigabitEthernet0/0/3] ip binding vpn-instance b
[PE1-GigabitEthernet0/0/3] ip address 10.11.2.1 24
[PE1-GigabitEthernet0/0/3] pim sm
[PE1-GigabitEthernet0/0/3] 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-default] group pe1-pe2 internal
[PE1-bgp-default] peer pe1-pe2 connect-interface loopback 1
[PE1-bgp-default] peer 1.1.1.2 group pe1-pe2
[PE1-bgp-default] group pe1-pe4 external
[PE1-bgp-default] peer pe1-pe4 as-number 200
[PE1-bgp-default] peer pe1-pe4 ebgp-max-hop 255
[PE1-bgp-default] peer pe1-pe4 connect-interface loopback 1
[PE1-bgp-default] peer 1.1.1.4 group pe1-pe4
[PE1–bgp-default] ip vpn-instance a
[PE1-bgp-default-a] address-family ipv4
[PE1-bgp-default-ipv4-a] import-route ospf 2
[PE1-bgp-default-ipv4-a] import-route direct
[PE1-bgp-default-ipv4-a] quit
[PE1-bgp-default-a] quit
[PE1–bgp-default] ip vpn-instance b
[PE1-bgp-default-b] address-family ipv4
[PE1-bgp-default-ipv4-b] import-route ospf 3
[PE1-bgp-default-ipv4-b] import-route direct
[PE1-bgp-default-ipv4-b] quit
[PE1-bgp-default-b] quit
[PE1–bgp-default] address-family ipv4
[PE1-bgp-default-ipv4] peer pe1-pe2 enable
[PE1-bgp-default-ipv4] peer pe1-pe2 label-route-capability
[PE1-bgp-default-ipv4] quit
[PE1–bgp-default] address-family vpnv4
[PE1–bgp-default-vpnv4] peer pe1-pe4 enable
[PE1–bgp-default-vpnv4] quit
[PE1–bgp-default] 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.1.0 0.0.0.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.1.0 0.0.0.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.2.0 0.0.0.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
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE2] interface gigabitethernet 0/0/1
[PE2-GigabitEthernet0/0/1] ip address 10.10.1.2 24
[PE2-GigabitEthernet0/0/1] pim sm
[PE2-GigabitEthernet0/0/1] mpls enable
[PE2-GigabitEthernet0/0/1] mpls ldp enable
[PE2-GigabitEthernet0/0/1] quit
# 在公网接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM和MPLS能力。
[PE2] interface gigabitethernet 0/0/2
[PE2-GigabitEthernet0/0/2] ip address 192.168.1.1 24
[PE2-GigabitEthernet0/0/2] pim sm
[PE2-GigabitEthernet0/0/2] mpls enable
[PE2-GigabitEthernet0/0/2] 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 gigabitethernet 0/0/2
[PE2-GigabitEthernet0/0/2] pim bsr-boundary
[PE2-GigabitEthernet0/0/2] 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 gigabitethernet 0/0/2 192.168.1.2
# 配置BGP协议。
[PE2] bgp 100
[PE2-bgp-default] group pe2-pe1 internal
[PE2-bgp-default] peer pe2-pe1 connect-interface loopback 1
[PE2-bgp-default] peer 1.1.1.1 group pe2-pe1
[PE2-bgp-default] group pe2-pe3 external
[PE2-bgp-default] peer pe2-pe3 as-number 200
[PE2-bgp-default] peer 192.168.1.2 group pe2-pe3
[PE2-bgp-default] address-family ipv4
[PE2-bgp-default-ipv4] peer pe2-pe1 enable
[PE2-bgp-default-ipv4] peer pe2-pe1 route-policy map2 export
[PE2-bgp-default-ipv4] peer pe2-pe1 label-route-capability
[PE2-bgp-default-ipv4] peer pe2-pe3 enable
[PE2-bgp-default-ipv4] peer pe2-pe3 route-policy map1 export
[PE2-bgp-default-ipv4] peer pe2-pe3 label-route-capability
[PE2-bgp-default-ipv4] import-route ospf 1
[PE2-bgp-default-ipv4] quit
[PE2–bgp-default] 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.1.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] 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
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE3] interface gigabitethernet 0/0/1
[PE3-GigabitEthernet0/0/1] ip address 10.10.2.1 24
[PE3-GigabitEthernet0/0/1] pim sm
[PE3-GigabitEthernet0/0/1] mpls enable
[PE3-GigabitEthernet0/0/1] mpls ldp enable
[PE3-GigabitEthernet0/0/1] quit
# 在公网接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM和MPLS能力。
[PE3] interface gigabitethernet 0/0/2
[PE3-GigabitEthernet0/0/2] ip address 192.168.1.2 24
[PE3-GigabitEthernet0/0/2] pim sm
[PE3-GigabitEthernet0/0/2] mpls enable
[PE3-GigabitEthernet0/0/2] 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 gigabitethernet 0/0/2
[PE3-GigabitEthernet0/0/2] pim bsr-boundary
[PE3-GigabitEthernet0/0/2] 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 gigabitethernet 0/0/2 192.168.1.1
# 配置BGP协议。
[PE3] bgp 200
[PE3-bgp-default] group pe3-pe4 internal
[PE3-bgp-default] peer pe3-pe4 connect-interface loopback 1
[PE3-bgp-default] peer 1.1.1.4 group pe3-pe4
[PE3-bgp-default] group pe3-pe2 external
[PE3-bgp-default] peer pe3-pe2 as-number 100
[PE3-bgp-default] peer 192.168.1.1 group pe3-pe2
[PE3-bgp-default] address-family ipv4
[PE3-bgp-default-ipv4] peer pe3-pe4 enable
[PE3-bgp-default-ipv4] peer pe3-pe4 route-policy map2 export
[PE3-bgp-default-ipv4] peer pe3-pe4 label-route-capability
[PE3-bgp-default-ipv4] peer pe3-pe2 enable
[PE3-bgp-default-ipv4] peer pe3-pe2 route-policy map1 export
[PE3-bgp-default-ipv4] peer pe3-pe2 label-route-capability
[PE3-bgp-default-ipv4] import-route ospf 1
[PE3-bgp-default-ipv4] quit
[PE3–bgp-default] 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.2.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] quit
[PE3-ospf-1] 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
# 使能VPN实例a中的IP组播路由。
[PE4] multicast routing vpn-instance a
[PE4-mrib-a] quit
# 创建VPN实例a的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE4] multicast-vpn vpn-instance a mode mdt
[PE4-mvpn-a] address-family ipv4
[PE4-mvpn-a-ipv4] default-group 239.1.1.1
[PE4-mvpn-a-ipv4] source loopback 1
[PE4-mvpn-a-ipv4] data-group 225.1.1.0 28
[PE4-mvpn-a-ipv4] quit
[PE4-mvpn-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的MDT模式MVPN并进入MVPN IPv4地址族视图,指定Default-Group、MVPN源接口和Data-Group范围。
[PE4] multicast-vpn vpn-instance b mode mdt
[PE4-mvpn-b] address-family ipv4
[PE4-mvpn-b-ipv4] default-group 239.4.4.4
[PE4-mvpn-b-ipv4] source loopback 1
[PE4-mvpn-b-ipv4] data-group 225.4.4.0 28
[PE4-mvpn-b-ipv4] quit
[PE4-mvpn-b] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM、MPLS能力和LDP能力。
[PE4] interface gigabitethernet 0/0/1
[PE4-GigabitEthernet0/0/1] ip address 10.10.2.2 24
[PE4-GigabitEthernet0/0/1] pim sm
[PE4-GigabitEthernet0/0/1] mpls enable
[PE4-GigabitEthernet0/0/1] mpls ldp enable
[PE4-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE4] interface gigabitethernet 0/0/2
[PE4-GigabitEthernet0/0/2] ip binding vpn-instance a
[PE4-GigabitEthernet0/0/2] ip address 10.11.3.1 24
[PE4-GigabitEthernet0/0/2] pim sm
[PE4-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE4] interface gigabitethernet 0/0/3
[PE4-GigabitEthernet0/0/3] ip binding vpn-instance b
[PE4-GigabitEthernet0/0/3] ip address 10.11.4.1 24
[PE4-GigabitEthernet0/0/3] pim sm
[PE4-GigabitEthernet0/0/3] 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-default] group pe4-pe3 internal
[PE4-bgp-default] peer pe4-pe3 connect-interface loopback 1
[PE4-bgp-default] peer 1.1.1.3 group pe4-pe3
[PE4-bgp-default] group pe4-pe1 external
[PE4-bgp-default] peer pe4-pe1 as-number 100
[PE4-bgp-default] peer pe4-pe1 ebgp-max-hop 255
[PE4-bgp-default] peer pe4-pe1 connect-interface loopback 1
[PE4-bgp-default] peer 1.1.1.1 group pe4-pe1
[PE4–bgp-default] ip vpn-instance a
[PE4-bgp-default-a] address-family ipv4
[PE4-bgp-default-ipv4-a] import-route ospf 2
[PE4-bgp-default-ipv4-a] import-route direct
[PE4-bgp-default-ipv4-a] quit
[PE4-bgp-default-a] quit
[PE4–bgp-default] ip vpn-instance b
[PE4-bgp-default-b] address-family ipv4
[PE4-bgp-default-ipv4-b] import-route ospf 3
[PE4-bgp-default-ipv4-b] import-route direct
[PE4-bgp-default-ipv4-b] quit
[PE4-bgp-default-b] quit
[PE4–bgp-default] address-family ipv4
[PE4-bgp-default-ipv4] peer pe4-pe3 enable
[PE4-bgp-default-ipv4] peer pe4-pe3 label-route-capability
[PE4-bgp-default-ipv4] quit
[PE4–bgp-default] address-family vpnv4
[PE4–bgp-default-vpnv4] peer pe4-pe1 enable
[PE4–bgp-default-vpnv4] quit
[PE4–bgp-default] 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.2.0 0.0.0.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.3.0 0.0.0.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.4.0 0.0.0.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
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM。
[CEa1] interface gigabitethernet 0/0/1
[CEa1-GigabitEthernet0/0/1] ip address 10.11.5.1 24
[CEa1-GigabitEthernet0/0/1] pim sm
[CEa1-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa1] interface gigabitethernet 0/0/2
[CEa1-GigabitEthernet0/0/2] ip address 10.11.1.2 24
[CEa1-GigabitEthernet0/0/2] pim sm
[CEa1-GigabitEthernet0/0/2] 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.1.0 0.0.0.255
[CEa1-ospf-1-area-0.0.0.0] network 10.11.5.0 0.0.0.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
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM。
[CEb1] interface gigabitethernet 0/0/1
[CEb1-GigabitEthernet0/0/1] ip address 10.11.6.1 24
[CEb1-GigabitEthernet0/0/1] pim sm
[CEb1-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEb1] interface gigabitethernet 0/0/2
[CEb1-GigabitEthernet0/0/2] ip address 10.11.2.2 24
[CEb1-GigabitEthernet0/0/2] pim sm
[CEb1-GigabitEthernet0/0/2] quit
# 配置OSPF协议。
[CEb1] ospf 1
[CEb1-ospf-1] area 0.0.0.0
[CEb1-ospf-1-area-0.0.0.0] network 10.11.2.0 0.0.0.255
[CEb1-ospf-1-area-0.0.0.0] network 10.11.6.0 0.0.0.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
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEa2] interface gigabitethernet 0/0/1
[CEa2-GigabitEthernet0/0/1] ip address 10.11.7.1 24
[CEa2-GigabitEthernet0/0/1] igmp enable
[CEa2-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa2] interface gigabitethernet 0/0/2
[CEa2-GigabitEthernet0/0/2] ip address 10.11.3.2 24
[CEa2-GigabitEthernet0/0/2] pim sm
[CEa2-GigabitEthernet0/0/2] quit
# 配置OSPF协议。
[CEa2] ospf 1
[CEa2-ospf-1] area 0.0.0.0
[CEa2-ospf-1-area-0.0.0.0] network 10.11.3.0 0.0.0.255
[CEa2-ospf-1-area-0.0.0.0] network 10.11.7.0 0.0.0.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
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEb2] interface gigabitethernet 0/0/1
[CEb2-GigabitEthernet0/0/1] ip address 10.11.8.1 24
[CEb2-GigabitEthernet0/0/1] igmp enable
[CEb2-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEb2] interface gigabitethernet 0/0/2
[CEb2-GigabitEthernet0/0/2] ip address 10.11.4.2 24
[CEb2-GigabitEthernet0/0/2] pim sm
[CEb2-GigabitEthernet0/0/2] 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.4.0 0.0.0.255
[CEb2-ospf-1-area-0.0.0.0] network 10.11.8.0 0.0.0.255
[CEb2-ospf-1-area-0.0.0.0] quit
[CEb2-ospf-1] quit
# 查看PE 1上所有VPN实例中本地Default-Group的信息。
[PE1] display multicast-vpn default-group local
MVPN local default-group information:
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-vpn default-group local
MVPN local default-group information:
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
组网需求如表2-4所示。
表2-4 单AS内RSVP-TE模式MVPN配置组网需求
项目 |
组网需求 |
组播源和接收者 |
· VPN a中的组播源为S 1,接收者为R 1、R 2和R 3 · VPN b中的组播源为S 2,接收者为R 4 |
PE各接口所属实例 |
· PE 1:GigabitEthernet0/0/2和GigabitEthernet0/0/3接口属于VPN实例a,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 · PE 2:GigabitEthernet0/0/2接口属于VPN实例b,GigabitEthernet0/0/3接口属于VPN实例a,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 · PE 3:GigabitEthernet0/0/2接口属于VPN实例a,GigabitEthernet0/0/3和LoopBack2接口属于VPN实例b,GigabitEthernet0/0/1和LoopBack1接口属于公网实例 |
单播路由协议和MPLS |
· 在公网中配置OSPF,在各PE与CE之间配置RIP · 在PE 1、PE 2和PE 3各自的LoopBack1接口两两之间建立BGP对等体 · 在公网中配置MPLS TE · 在公网中配置MPLS RSVP |
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的GigabitEthernet0/0/2接口上使能IGMPv2 · 在CE a2、CE a3和CE b2各自的GigabitEthernet0/0/1接口上均使能IGMPv2 |
PIM功能 |
私网中运行PIM-SM: · 在PE 1、PE 2和PE 3的所有不与接收者直连的私网接口上均使能PIM-SM · 在CE a1、CE a2、CE a3、CE b1和CE b2所有不连接接收者的接口上均使能PIM-SM · CE a2的LoopBack1接口为VPN a的C-BSR和C-RP(服务于所有组播组) · PE 3的LoopBack2接口为VPN b的C-BSR和C-RP(服务于所有组播组) |
MSDP功能 |
· CE a2使能MSDP功能,指定本地GigabitEthernet0/0/2接口 · PE 2使能VPN a的MSDP功能,指定本地GigabitEthernet0/0/3接口 |
图2-4 单AS内RSVP-TE模式MVPN配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
S 1 |
- |
10.110.7.2/24 |
PE 3 |
GE0/0/1 |
192.168.8.1/24 |
S 2 |
- |
10.110.8.2/24 |
|
GE0/0/2 |
10.110.5.1/24 |
R 1 |
- |
10.110.1.2/24 |
|
GE0/0/3 |
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 |
GE0/0/1 |
10.110.7.1/24 |
P |
GE0/0/1 |
192.168.6.2/24 |
|
GE0/0/2 |
10.110.2.2/24 |
|
GE0/0/2 |
192.168.7.2/24 |
CE a2 |
GE0/0/1 |
10.110.9.1/24 |
|
GE0/0/3 |
192.168.8.2/24 |
|
GE0/0/2 |
10.110.4.2/24 |
|
Loop1 |
2.2.2.2/32 |
|
GE0/0/3 |
10.110.12.1/24 |
PE 1 |
GE0/0/1 |
192.168.6.1/24 |
|
Loop1 |
22.22.22.22/32 |
|
GE0/0/2 |
10.110.1.1/24 |
CE a3 |
GE0/0/1 |
10.110.10.1/24 |
|
GE0/0/3 |
10.110.2.1/24 |
|
GE0/0/2 |
10.110.5.2/24 |
|
Loop1 |
1.1.1.1/32 |
|
GE0/0/3 |
10.110.12.2/24 |
PE 2 |
GE0/0/1 |
192.168.7.1/24 |
CE b1 |
GE0/0/1 |
10.110.8.1/24 |
|
GE0/0/2 |
10.110.3.1/24 |
|
GE0/0/2 |
10.110.3.2/24 |
|
GE0/0/3 |
10.110.4.1/24 |
CE b2 |
GE0/0/1 |
10.110.11.1/24 |
|
Loop1 |
1.1.1.2/32 |
|
GE0/0/2 |
10.110.6.2/24 |
(1) 配置PE 1
# 配置全局Router ID。
<PE1> system-view
[PE1] router id 1.1.1.1
# 配置LSR ID,并全局使能MPLS TE、MPLS LDP和RSVP能力。
[PE1] mpls lsr-id 1.1.1.1
[PE1] mpls te
[PE1-te] quit
[PE1] rsvp
[PE1-rsvp] quit
[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
# 使能VPN实例a中的IP组播路由。
[PE1] multicast routing vpn-instance a
[PE1-mrib-a] quit
# 创建VPN实例a的RSVP-TE模式MVPN,进入MVPN IPv4地址族视图,依次创建动态模式的选择性隧道和相容性隧道。
[PE1] multicast-vpn vpn-instance a mode rsvp-te
[PE1-mvpn-a] address-family ipv4
[PE1-mvpn-a-ipv4] source loopback 1
[PE1-mvpn-a-ipv4] inclusive-tunnel dynamic
[PE1-mvpn-a-ipv4] selective-tunnel dynamic
[PE1-mvpn-a-ipv4] quit
[PE1-mvpn-a] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能MPLS、MPLS TE、MPLS LDP和RSVP能力。
[PE1] interface gigabitethernet 0/0/1
[PE1-GigabitEthernet0/0/1] ip address 192.168.6.1 24
[PE1-GigabitEthernet0/0/1] mpls enable
[PE1-GigabitEthernet0/0/1] mpls te enable
[PE1-GigabitEthernet0/0/1] mpls ldp enable
[PE1-GigabitEthernet0/0/1] rsvp enable
[PE1-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例a进行关联,配置IP地址,并使能IGMP。
[PE1] interface gigabitethernet 0/0/2
[PE1-GigabitEthernet0/0/2] ip binding vpn-instance a
[PE1-GigabitEthernet0/0/2] ip address 10.110.1.1 24
[PE1-GigabitEthernet0/0/2] igmp enable
[PE1-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE1] interface gigabitethernet 0/0/3
[PE1-GigabitEthernet0/0/3] ip binding vpn-instance a
[PE1-GigabitEthernet0/0/3] ip address 10.110.2.1 24
[PE1-GigabitEthernet0/0/3] pim sm
[PE1-GigabitEthernet0/0/3] quit
# 配置LoopBack1接口的IP地址。
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] quit
# 配置BGP协议。
[PE1] bgp 100
[PE1-bgp-default] peer 1.1.1.2 as-number 100
[PE1-bgp-default] peer 1.1.1.2 connect-interface loopback 1
[PE1-bgp-default] peer 1.1.1.3 as-number 100
[PE1-bgp-default] peer 1.1.1.3 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 unicast
[PE1-bgp-default-ipv4] peer 1.1.1.2 enable
[PE1-bgp-default-ipv4] peer 1.1.1.3 enable
[PE1-bgp-default-ipv4] quit
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1.1.1.2 enable
[PE1-bgp-default-mvpn] peer 1.1.1.3 enable
[PE1-bgp-default-mvpn]quit
[PE1-bgp-default] address-family vpnv4
[PE1-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE1-bgp-default-vpnv4] peer 1.1.1.2 enable
[PE1-bgp-default-vpnv4] peer 1.1.1.3 enable
[PE1-bgp-default-vpnv4] quit
[PE1–bgp-default] ip vpn-instance a
[PE1-bgp-default-a] address-family ipv4 unicast
[PE1-bgp-default-ipv4-a] import-route rip 2
[PE1-bgp-default-ipv4-a] import-route direct
[PE1-bgp-default-ipv4-a] quit
[PE1-bgp-default-a] quit
[PE1–bgp-default] 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.6.0 0.0.0.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.110.1.0 0.0.0.255
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
(2) 配置PE 2
# 配置全局Router ID。
<PE2> system-view
[PE2] router id 1.1.1.2
# 配置LSR ID,并全局使能MPLS TE、MPLS LDP和RSVP能力。
[PE2] mpls lsr-id 1.1.1.2
[PE2] mpls te
[PE2-te] quit
[PE2] mpls ldp
[PE2-ldp] quit
[PE2] rsvp
[PE2-rsvp] 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
# 使能VPN实例b中的IP组播路由。
[PE2] multicast routing vpn-instance b
[PE2-mrib-b] quit
# 创建VPN实例b的RSVP-TE模式MVPN,并进入MVPN IPv4地址族视图,依次创建动态模式的选择性隧道和相容性隧道。
[PE2] multicast-vpn vpn-instance b mode rsvp-te
[PE2-mvpn-b] address-family ipv4
[PE2-mvpn-a-ipv4] source loopback 1
[PE2-mvpn-b-ipv4] inclusive-tunnel dynamic
[PE2-mvpn-b-ipv4] selective-tunnel dynamic
[PE2-mvpn-b-ipv4] quit
[PE2-mvpn-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中MSDP
[PE2] msdp vpn-instance a
[PE2-msdp-a] peer 10.110.4.2 connect-interface GigabitEthernet 1/0/3
[PE2-msdp-a] quit
# 创建VPN实例a的RSVP-TE模式MVPN,进入MVPN IPv4地址族视图,依次创建动态模式的选择性隧道和相容性隧道
[PE2] multicast-vpn vpn-instance a mode rsvp-te
[PE2-mvpn-a] address-family ipv4
[PE2-mvpn-a-ipv4] source loopback 1
[PE2-mvpn-a-ipv4] inclusive-tunnel dynamic
[PE2-mvpn-a-ipv4] selective-tunnel dynamic
[PE2-mvpn-a-ipv4] quit
[PE2-mvpn-a] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能MPLS、MPLS TE、MPLS LDP和RSVP能力。
[PE2] interface gigabitethernet 0/0/1
[PE2-GigabitEthernet0/0/1] ip address 192.168.7.1 24
[PE2-GigabitEthernet0/0/1] mpls enable
[PE2-GigabitEthernet0/0/1] mpls te enable
[PE2-GigabitEthernet0/0/1] mpls ldp enable
[PE2-GigabitEthernet0/0/1] rsvp enable
[PE2-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE2] interface gigabitethernet 0/0/2
[PE2-GigabitEthernet0/0/2] ip binding vpn-instance b
[PE2-GigabitEthernet0/0/2] ip address 10.110.3.1 24
[PE2-GigabitEthernet0/0/2] pim sm
[PE2-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE2] interface gigabitethernet 0/0/3
[PE2-GigabitEthernet0/0/3] ip binding vpn-instance a
[PE2-GigabitEthernet0/0/3] ip address 10.110.4.1 24
[PE2-GigabitEthernet0/0/3] pim sm
[PE2-GigabitEthernet0/0/3] quit
# 配置LoopBack1接口的IP地址。
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.2 32
[PE2-LoopBack1] quit
# 配置BGP协议。
[PE2] bgp 100
[PE2-bgp-default] peer 1.1.1.1 as-number 100
[PE2-bgp-default] peer 1.1.1.1 connect-interface loopback 1
[PE2-bgp-default] peer 1.1.1.3 as-number 100
[PE2-bgp-default] peer 1.1.1.3 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 unicast
[PE2-bgp-default-ipv4] peer 1.1.1.1 enable
[PE2-bgp-default-ipv4] peer 1.1.1.3 enable
[PE2-bgp-default-ipv4] quit
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1.1.1.1 enable
[PE2-bgp-default-mvpn] peer 1.1.1.3 enable
[PE2-bgp-default-mvpn]quit
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE2-bgp-default-vpnv4] peer 1.1.1.1 enable
[PE2-bgp-default-vpnv4] peer 1.1.1.3 enable
[PE2-bgp-default-vpnv4] quit
[PE2–bgp-default] ip vpn-instance a
[PE2-bgp-default-a] address-family ipv4 unicast
[PE2-bgp-default-ipv4-a] import-route rip 2
[PE2-bgp-default-ipv4-a] import-route direct
[PE2-bgp-default-ipv4-a] quit
[PE2-bgp-default-a] quit
[PE2–bgp-default] ip vpn-instance b
[PE2-bgp-default-b] address-family ipv4 unicast
[PE2-bgp-default-ipv4-b] import-route rip 3
[PE2-bgp-default-ipv4-b] import-route direct
[PE2-bgp-default-ipv4-b] quit
[PE2-bgp-default-b] quit
[PE2–bgp-default] 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.7.0 0.0.0.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.110.4.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
[PE2] rip 3 vpn-instance b
[PE2-rip-3] network 10.110.3.0 0.0.0.255
[PE2-rip-3] import-route bgp
[PE2-rip-3] quit
(3) 配置PE 3
# 配置全局Router ID
<PE3> system-view
[PE3] router id 1.1.1.3
# 配置LSR ID,并全局使能MPLS TE、MPLS LDP和RSVP能力。
[PE3] mpls lsr-id 1.1.1.3
[PE3] mpls te
[PE3-te] quit
[PE3] mpls ldp
[PE3-ldp] quit
[PE3] rsvp
[PE3-rsvp] 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的RSVP-TE模式MVPN,进入MVPN IPv4地址族视图依次创建动态模式的选择性隧道和相容性隧道。
[PE3] multicast-vpn vpn-instance a mode rsvp-te
[PE3-mvpn-a] address-family ipv4
[PE3-mvpn-a-ipv4] source loopback 1
[PE3-mvpn-a-ipv4] inclusive-tunnel dynamic
[PE3-mvpn-a-ipv4] selective-tunnel dynamic
[PE3-mvpn-a-ipv4] quit
[PE3-mvpn-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
# 使能VPN实例b中的IP组播路由。
[PE3] multicast routing vpn-instance b
[PE3-mrib-b] quit
# 创建VPN实例b的RSVP-TE模式MVPN,进入MVPN IPv4地址族视图依次创建动态模式的选择性隧道和相容性隧道。
[PE3] multicast-vpn vpn-instance b mode rsvp-te
[PE3-mvpn-b] address-family ipv4
[PE3-mvpn-b-ipv4] source loopback 1
[PE3-mvpn-b-ipv4] inclusive-tunnel dynamic
[PE3-mvpn-b-ipv4] selective-tunnel dynamic
[PE3-mvpn-b-ipv4] quit
[PE3-mvpn-b] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能MPLS、MPLS TE、MPLS LDP和RSVP能力。
[PE3] interface gigabitethernet 0/0/1
[PE3-GigabitEthernet0/0/1] ip address 192.168.8.1 24
[PE3-GigabitEthernet0/0/1] mpls enable
[PE3-GigabitEthernet0/0/1] mpls te enable
[PE3-GigabitEthernet0/0/1] mpls ldp enable
[PE3-GigabitEthernet0/0/1] rsvp enable
[PE3-GigabitEthernet0/0/1] quit
# 将接口GigabitEthernet0/0/2与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE3] interface gigabitethernet 0/0/2
[PE3-GigabitEthernet0/0/2] ip binding vpn-instance a
[PE3-GigabitEthernet0/0/2] ip address 10.110.5.1 24
[PE3-GigabitEthernet0/0/2] pim sm
[PE3-GigabitEthernet0/0/2] quit
# 将接口GigabitEthernet0/0/3与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE3] interface gigabitethernet 0/0/3
[PE3-GigabitEthernet0/0/3] ip binding vpn-instance b
[PE3-GigabitEthernet0/0/3] ip address 10.110.6.1 24
[PE3-GigabitEthernet0/0/3] pim sm
[PE3-GigabitEthernet0/0/3] quit
# 配置LoopBack1接口的IP地址。
[PE3] interface loopback 1
[PE3-LoopBack1] ip address 1.1.1.3 32
[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-default] peer 1.1.1.1 as-number 100
[PE3-bgp-default] peer 1.1.1.1 connect-interface loopback 1
[PE3-bgp-default] peer 1.1.1.2 as-number 100
[PE3-bgp-default] peer 1.1.1.2 connect-interface loopback 1
[PE3-bgp-default] address-family ipv4 unicast
[PE3-bgp-default-ipv4] peer 1.1.1.1 enable
[PE3-bgp-default-ipv4] peer 1.1.1.2 enable
[PE3-bgp-default-ipv4] quit
[PE3-bgp-default] address-family ipv4 mvpn
[PE3-bgp-default-mvpn] peer 1.1.1.1 enable
[PE3-bgp-default-mvpn] peer 1.1.1.2 enable
[PE3-bgp-default-mvpn]quit
[PE3-bgp-default] address-family vpnv4
[PE3-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE3-bgp-default-vpnv4] peer 1.1.1.1 enable
[PE3-bgp-default-vpnv4] peer 1.1.1.2 enable
[PE3-bgp-default-vpnv4] quit
[PE3–bgp-default] ip vpn-instance a
[PE3-bgp-default-a] address-family ipv4 unicast
[PE3-bgp-default-ipv4-a] import-route rip 2
[PE3-bgp-default-ipv4-a] import-route direct
[PE3-bgp-default-ipv4-a] quit
[PE3-bgp-default-a] quit
[PE3–bgp-default] 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.8.0 0.0.0.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.110.5.0 0.0.0.255
[PE3-rip-2] import-route bgp
[PE3-rip-2] quit
[PE3] rip 3 vpn-instance b
[PE3-rip-3] network 10.110.6.0 0.0.0.255
[PE3-rip-3] network 33.33.33.33 0.0.0.0
[PE3-rip-3] import-route bgp
[PE3-rip-3] quit
(4) 配置P
# 配置LSR ID,并全局使能MPLS TE、MPLS LDP和RSVP能力。
[P] mpls lsr-id 2.2.2.2
[P] mpls te
[P-te] quit
[P] mpls ldp
[P-ldp] quit
[P] rsvp
[P-rsvp] quit
# 在公网接口GigabitEthernet0/0/1上配置IP地址,并使能MPLS、MPLS TE、RSVP和MPLS LDP能力。
[P] interface gigabitethernet 0/0/1
[P-GigabitEthernet0/0/1] ip address 192.168.6.2 24
[P-GigabitEthernet0/0/1] mpls enable
[P-GigabitEthernet0/0/1] mpls te enable
[P-GigabitEthernet0/0/1] mpls ldp enable
[P-GigabitEthernet0/0/1] rsvp enable
[P-GigabitEthernet0/0/1] quit
# 在公网接口GigabitEthernet0/0/2上配置IP地址,并使能MPLS、MPLS TE、MPLS LDP和RSVP能力。
[P] interface gigabitethernet 0/0/2
[P-GigabitEthernet0/0/2] ip address 192.168.7.2 24
[P-GigabitEthernet0/0/2] mpls enable
[P-GigabitEthernet0/0/2] mpls te enable
[P-GigabitEthernet0/0/2] mpls ldp enable
[P-GigabitEthernet0/0/2] rsvp enable
[P-GigabitEthernet0/0/2] quit
# 在公网接口GigabitEthernet0/0/3上配置IP地址,并使能MPLS、MPLS TE、MPLS LDP和RSVP能力。
[P] interface gigabitethernet 0/0/3
[P-GigabitEthernet0/0/3] ip address 192.168.8.2 24
[P-GigabitEthernet0/0/2] mpls enable
[P-GigabitEthernet0/0/2] mpls te enable
[P-GigabitEthernet0/0/2] mpls ldp enable
[P-GigabitEthernet0/0/2] rsvp enable
[P-GigabitEthernet0/0/3] quit
# 配置LoopBack1接口的IP地址。
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] 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.6.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 192.168.7.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 192.168.8.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
(5) 配置CE a1
# 使能IP组播路由。
<CEa1> system-view
[CEa1] multicast routing
[CEa1-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM。
[CEa1] interface gigabitethernet 0/0/1
[CEa1-GigabitEthernet0/0/1] ip address 10.110.7.1 24
[CEa1-GigabitEthernet0/0/1] pim sm
[CEa1-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa1] interface gigabitethernet 0/0/2
[CEa1-GigabitEthernet0/0/2] ip address 10.110.2.2 24
[CEa1-GigabitEthernet0/0/2] pim sm
[CEa1-GigabitEthernet0/0/2] quit
# 配置RIP协议。
[CEa1] rip 2
[CEa1-rip-2] network 10.110.2.0 0.0.0.255
[CEa1-rip-2] network 10.110.7.0 0.0.0.255
[CEa1-rip-2] quit
(6) 配置CE b1
# 使能IP组播路由。
<CEb1> system-view
[CEb1] multicast routing
[CEb1-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能PIM-SM。
[CEb1] interface gigabitethernet 0/0/1
[CEb1-GigabitEthernet0/0/1] ip address 10.110.8.1 24
[CEb1-GigabitEthernet0/0/1] pim sm
[CEb1-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEb1] interface gigabitethernet 0/0/2
[CEb1-GigabitEthernet0/0/2] ip address 10.110.3.2 24
[CEb1-GigabitEthernet0/0/2] pim sm
[CEb1-GigabitEthernet0/0/2] quit
# 配置RIP协议。
[CEb1] rip 3
[CEb1-rip-3] network 10.110.3.0 0.0.0.255
[CEb1-rip-3] network 10.110.8.0 0.0.0.255
[CEb1-rip-3] quit
(7) 配置CE a2
# 使能IP组播路由。
<CEa2> system-view
[CEa2] multicast routing
[CEa2-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEa2] interface gigabitethernet 0/0/1
[CEa2-GigabitEthernet0/0/1] ip address 10.110.9.1 24
[CEa2-GigabitEthernet0/0/1] igmp enable
[CEa2-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa2] interface gigabitethernet 0/0/2
[CEa2-GigabitEthernet0/0/2] ip address 10.110.4.2 24
[CEa2-GigabitEthernet0/0/2] pim sm
[CEa2-GigabitEthernet0/0/2] quit
# 在接口GigabitEthernet0/0/3上配置IP地址,并使能PIM-SM。
[CEa2] interface gigabitethernet 0/0/3
[CEa2-GigabitEthernet0/0/3] ip address 10.110.12.1 24
[CEa2-GigabitEthernet0/0/3] pim sm
[CEa2-GigabitEthernet0/0/3] 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 vpn-instance a
[CEa2-pim] c-bsr 22.22.22.22
[CEa2-pim] c-rp 22.22.22.22
[CEa2-pim] quit
# 配置MSDP
[CEa2-msdp] peer 10.110.4.1 connect-interface GigabitEthernet 1/0/2
[CEa2-msdp] quit
# 配置RIP协议。
[CEa2] rip 2
[CEa2-rip-2] network 10.110.4.0 0.0.0.255
[CEa2-rip-2] network 10.110.9.0 0.0.0.255
[CEa2-rip-2] network 10.110.12.0 0.0.0.255
[CEa2-rip-2] network 22.22.22.22 0.0.0.0
[CEa2-rip-2] quit
(8) 配置CE a3
# 使能IP组播路由。
<CEa3> system-view
[CEa3] multicast routing
[CEa3-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEa3] interface gigabitethernet 0/0/1
[CEa3-GigabitEthernet0/0/1] ip address 10.110.10.1 24
[CEa3-GigabitEthernet0/0/1] igmp enable
[CEa3-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEa3] interface gigabitethernet 0/0/2
[CEa3-GigabitEthernet0/0/2] ip address 10.110.5.2 24
[CEa3-GigabitEthernet0/0/2] pim sm
[CEa3-GigabitEthernet0/0/2] quit
# 在接口GigabitEthernet0/0/3上配置IP地址,并使能PIM-SM。
[CEa3] interface gigabitethernet 0/0/3
[CEa3-GigabitEthernet0/0/3] ip address 10.110.12.2 24
[CEa3-GigabitEthernet0/0/3] pim sm
[CEa3-GigabitEthernet0/0/3] quit
# 配置RIP协议。
[CEa3] rip 2
[CEa3-rip-2] network 10.110.5.0 0.0.0.255
[CEa3-rip-2] network 10.110.10.0 0.0.0.255
[CEa3-rip-2] network 10.110.12.0 0.0.0.255
[CEa3-rip-2] quit
(9) 配置CE b2
# 使能IP组播路由。
<CEb2> system-view
[CEb2] multicast routing
[CEb2-mrib] quit
# 在接口GigabitEthernet0/0/1上配置IP地址,并使能IGMP。
[CEb2] interface gigabitethernet 0/0/1
[CEb2-GigabitEthernet0/0/1] ip address 10.110.11.1 24
[CEb2-GigabitEthernet0/0/1] igmp enable
[CEb2-GigabitEthernet0/0/1] quit
# 在接口GigabitEthernet0/0/2上配置IP地址,并使能PIM-SM。
[CEb2] interface gigabitethernet 0/0/2
[CEb2-GigabitEthernet0/0/2] ip address 10.110.6.2 24
[CEb2-GigabitEthernet0/0/2] pim sm
[CEb2-GigabitEthernet0/0/2] quit
# 配置RIP协议。
[CEb2] rip 3
[CEb2-rip-3] network 10.110.6.0 0.0.0.255
[CEb2-rip-3] network 10.110.11.0 0.0.0.255
[Ceb2-rip-3] quit
# 查看PE 1上所有VPN实例中的C-multicast A-D路由信息。
[PE1] display multicast-vpn vpn-instance a c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 02:54:43
Tunnel Information: Tunnel2
Leaf neigbours information:
Total number of Leaf neigbours: 2
1: 1.1.1.2
2: 1.1.1.3
# 查看PE 1上所有VPN实例中的RSVP-TE隧道邻居信息。
[PE1] display multicast-vpn vpn-instance a neighbor
Total 1 Selective Tunnels in using
Total 0 Selective Tunnels in creating
Inclusive Tunnel : Tunnel1
Tunnel Identifier: RSVP P2MP <0x01010101, 0x0, 0x5, 0x01010101>
Neighbor State Up/DownTime
1.1.1.2 Up 02:50:49
1.1.1.3 Up 02:50:49
Selective Tunnel : Tunnel2
Tunnel Identifier: RSVP P2MP <0x01010101, 0x0, 0x8, 0x01010101>
Neighbor State Up/DownTime
1.1.1.2 Up 01:10:23
1.1.1.3 Up 01:10:23
# 查看PE 2上所有VPN实例中的C-multicast A-D路由信息。
[PE2] display multicast-vpn vpn-instance b c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.8.2, 225.0.0.2)
CreateTime: 02:54:43
Tunnel Information: Tunnel2
Leaf neigbours information:
Total number of Leaf neigbours: 1
1: 1.1.1.3
# 查看PE 2上所有VPN实例中的RSVP-TE隧道邻居信息。
[PE2] display multicast-vpn vpn-instance b neighbor
Total 1 Selective Tunnels in using
Total 0 Selective Tunnels in creating
Inclusive Tunnel : Tunnel1
Tunnel Identifier: RSVP P2MP <0x01010102, 0x0, 0x8, 0x01010102>
Neighbor State Up/DownTime
1.1.1.3 Up 02:50:49
Selective Tunnel : Tunnel2
Tunnel Identifier: RSVP P2MP <0x01010102, 0x0, 0x8, 0x01010102>
Neighbor State Up/DownTime
1.1.1.3 Up 01:10:23
无法正确建立Default-MDT,不同PE上相同的VPN实例之间无法建立起PIM邻居关系。
· MTI必须有Default-Group和可用的MVPN源接口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邻居关系。
(1) 检查MTI的接口状态。使用display interface命令检查MTI的接口状态和地址封装信息。
(2) 检查Default-Group。使用display multicast-vpn 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对等体信息。
VPN实例无法正确建立起组播路由表。
· 如果VPN实例使能的是PIM-SM,需要有该VPN实例的BSR信息,否则无法正确建立该VPN实例的组播路由表。
· 如果VPN实例使能的是PIM-SM,需要有该VPN实例的RP信息,如果没有通向RP的单播路由,公网实例和VPN实例没有正确建立PIM邻居关系,VPN实例就无法正确建立组播路由表。
· 私网DR需要有到达私网RP的路由,私网内要有到达组播源的路由。
(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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!