网络MPLS VPNMPLS VPN跨域
文章目录
跨域MPLS BGP VPN跨域背景
一般的MPLS VPN体系结构都是在一个自治系统内运行,任何VPN的路由信息都是只能在一个自治系统内按需扩散,没有提供自治系统内的VPN信息向其他自治系统扩散的功能。
如上图,基于MPLS的VPN可以将私有网络的不同Site连接起来,形成一个统一的网络,基于 MPLS的VPN还支持对不同VPN间的互通控制。CE(Customer Edge)是用户边缘设备;PE(Provider Edge)是服务商边缘路由器,位于骨干网络;P(Provider),是服务提供商网络中的骨干路由器,不与CE直接相连。
如果同一VPN的两个站点位于不同的AS,那么普通的MPLS BGP VPN是否还合适于业务的部署?
答案是否定的。因为此时连接VPN的PE路由器已经无法简单地建立IBGP邻居关系了,或是与RR建立邻居关系。因此,需要一些手段通过建立EBGP邻居关系来传递VPNv4路由。
为了支持不同AS之间的VPN路由信息交换,就需要扩展现有的协议和修改MPLS VPN体系框架,提供一个不同于基本的MPLS VPN体系结构所提供的互连模型——跨域(Inter-AS)的MPLS VPN,以便可以穿过AS间的链路来发布路由前缀和标签信息。
三种跨域VPN解决方案:
- 跨域VPN-OptionA(Inter-Provider Backbones Option A)方式∶需要跨域的VPN在ASBR间通过专用的接口管理自己的VPN路由,也称为VRF-to-VRF ;
- 跨域VPN-OptionB(Inter-Provider Backbones Option B)方式∶ ASBR间通过MP-EBGP发布标签VPN-IPv4路由,也称为EBGP redistribution of labeled VPN-IPv4 routes;
- 跨域VPN-OptionC(Inter-Provider Backbones Option C)方式∶PE或RR间通过Multi-hop MP-EBGP发布标签VPN-IPv4路由,也称为Multihop EBGP redistribution of labeled VPN-IPv4 routes。
跨域VPN方案原理
Option-A方案原理
跨域VPN-OptionA是基本BGP/MPLS IP VPN在跨域环境下的应用,ASBR之间不需要运行MPLS,也不需要为跨域进行特殊配置。这种方式下,两个AS的边界路由器ASBR直接相连,ASBR同时也是各自所在自治系统的PE。两个ASBR都把对端 ASBR看作自己的CE设备,使用EBGP方式向对端发布IPv4路由。
跨域VPN-OptionA方式-拓扑
在本方案中,ASBR-PE之间直接相连。两台ASBR-PE之间用多个接口(包括子接口)互连,每个接口关联一个VPN,每个ASBR-PE都把对端当成CE。因此,ASBR-PE相连的接口(包括子接口)需要绑定VRF,并通过eBGP邻居关系把VPNv4路由转变成普通IPv4路由从一个AS传递到另一个AS。因此,两个ASBR相连,但不需要启用MPLS。此方案在MPLS BGP VPN业务属性上没有做扩展。
跨域VPN-OptionA方式-控制平面
我们只通过单方向来解释控制平面的工作过程,同时假设在站点Site1有一VPN路由Client1连接,如上图,现在需要把Client1这条路由从CE1穿过AS100和AS200传递到CE2∶
- 在AS100中,通过运行LDP协议,PE1分配一个与去往PE1的路由相关联的隧道标签(外层标签)T1给P1。
- 在AS100中,通过运行LDP协议,P1分配一个与去往PE1的路由相关联的隧道标签(外层标签)T2给ASBR-PE1。
- 在AS200中,同样通过运行LDP协议,ASBR-PE2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T3给P2。
- 在AS200中,通过运行LDP协议,P2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T4给PE2。
- CE1 通告路由Client1给PE1,路由的下一跳为CE1的接口地址。
- PE1将IPv4路由Client1通过MP-BGP重发布为VPNv4路由,并且下一跳改为PE1,分配一个VPN标签V1,然后通告给ASBR-PE1。
- ASBR-PE1将VPNv4路由变为IPv4路由,把IPv4路由Client1通告给ASBR-PE2,并且下一跳指向ASBR-PE1。
- ASBR-PE2将IPv4路由Client1通过MP-BGP重发布为VPNv4路由,并且下一跳为ASBR-PE2,为该路由分配一个VPN标签V2,将其通告给PE2。
- PE2将VPNv4路由转变为IPv4路由Client1,把路由Client1通告给CE2,并且下一跳指向PE2。
跨域VPN-OptionA方式-转发平面
通过前文的过程分析,我们从反向来分析转发平面的工作过程,即CE2要发送一个目的地为 Client1的IP报文给CE1,如上图所示∶
- CE2发送一个目的地为Client1的IP报文给PE2。
- PE2收到IP报文后进行MPLS标签的封装,先封装VPN标签V2,再封装外层标签T4,然后将此报文发送给P2。
- P2进行标签交换,把外层标签T4换成T3,然后将此报文发送给ASBR-PE2。
- ASBR-PE2去掉所有标签,将报文(普通IP报文)转发给ASBR-PE1。
- ASBR-PE1收到IP报文后进行MPLS标签的封装,先封装VPN标签V1,再封装外层标签T2,然后将此报文发送给P1。
- P1进行标签交换,把外层标签T2换成T1,然后将此报文发送给PE1。 7.PE1收到后去掉所有标签,将报文普通IP报文)转发给CE1。
跨域VPN-OptionA方式的特点
- 优点是配置简单∶由于ASBR之间不需要运行MPLS,也不需要为跨域进行特殊配置。
- 缺点是可扩展性差∶由于ASBR需要管理所有VPN路由,为每个VPN创建VPN实例。这将导致ASBR上的VPN-IPv4路由数量过大。并且,由于ASBR间是普通的IP转发,要求为每个跨域的VPN使用不同的接口,从而提高了对PE设备的要求。如果跨越多个自治域,中间域必须支持VPN业务,不仅配置量大,而且对中间域影响大。在需要跨域的VPN数量比较少的情况,可以优先考虑使用。
Option-B方案原理
跨域VPN-OptionB中,两个ASBR通过MP-EBGP交换它们从各自AS的PE设备接收的标签VPN-IPv4路由。
跨域VPN-OptionB方案中,ASBR接收本域内和域外传过来的所有跨域VPN-IPv4路由,再把VPN-IPv4路由发布出去。但MPLS VPN的基本实现中,PE上只保存与本地VPN实例的VPN Target相匹配的VPN路由。因此,可以在ASBR上配置不做 RT过滤来传递路由,因此无需在ASBR创建VPN实例,无需绑定任何接口。
可以在网络中叠加部署RR设备,专门负责客户侧VPN路由的传递。
跨域VPN-OptionB方式 - 拓扑
在此方案中,PE通过MP-iBGP将VPNv4路由通告给ASBR-PE或是VPN RR(其中ASBR-PE是其客户机)。ASBR-PE再通过MP-eBGP将VPNv4通告给另一个AS的ASBR-PE,再由这个ASBR-PE将 VPNv4路由通告给该AS内的PE。
跨域VPN-OptionB方式-控制平面(无RR场景)
我们只通过单方向来解释控制平面的工作过程,同时假设在站点Site1有一VPN路由Ciet1连接∶
- 在AS100中,通过运行LDP协议,PE1分配一个与去往PE1的路由相关联的隧道标签外层标签)T1给P1
- 在AS100中,通过运行LDP协议,P1分配一个与去往PE1的路由相关联的隧道标签外层标 签)T2给ASBR-PE1
- 在AS200中,同样通过运行LDP协议,ASBR-PE2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T3给P2
- 在AS200中,通过运行LDP协议,P2分配一个与去往ASBRPE2的路由相关联的隧道标签外层标签)T4给PE2
- CE1 通告路由Client1给PE1,路由的下一跳为CE1的接口地址
- PE1将IPV4路由Client1通过MP-IBGP重发布为VPNv4路由,并且下一跳改为PE1,分配一个VPN标签V1,然后通告给ASBR-PE1
- ASBR-PE1通过MP-EBGP将Cient1的VPNv4路由通告给ASBR-PE2,将下一跳改为ASRPE1,并重新分配一个VPN标签V2
- ASBR-PE2将收到的Client1的VPN4路由通过MP-IBGP通告给PE2,将下一跳指向自己,并重新分配一个VPN标签V3
- PE2将Client1的VPN4路由变为IPv4路由,把路由Client1通告给CE2,并且下一跳改为PE2
跨域VPN-OptionB方式-控制平面(带RR场景)
当VPN实例数量较多时,可以部署专门的RR设备。如图,AS内的PE和ASBR设备只与RR设备建立 MP-BGP邻居关系,由RR负责路由的反射传递,PE和ASBR之间无需建立BGP邻居。
RR只负责控制平面的VPNv4路由传递,数据转发时,流量不经过RR。
跨域VPN-OptionB方式-控制平面(无RR)
通过上文的过程分析,我们从反向来分析转发平面的工作过程 ∶
- CE2发送一个目的地为Client1的IP报文给PE2。
- PE2收到IP报文后进行MPLS标签的封装,先封装VPN标签V3,再封装外层标签T4,然后将此报文发送给P2。
- P2进行标签交换,把外层标签T4换成T3,然后将此报文发送给ASBR-PE2。
4.ASBR-PE2去掉外层标签,将VPN标签V3交换为V2,再将其转发给ASBR-PE1(此时报文仅带有一层私网标签)。 - ASBR-PE交换VPN标签V2成V1,再加一个外层标签T2,并将报文转发给P1。 6. P1进行标签交换,把外层标签T2换成T1,然后将此报文发送给PE1。 7. PEl收到后去掉所有标签,将报文(普通IP报文)转发给CE1。
跨域VPN-OptionB方式的特点
不同于OptionA,OptionB方案不受ASBR之间互连链路数目的限制。
局限性∶VPN的路由信息是通过AS之间的ASBR来保存和扩散的,当VPN路由较多时,ASBR负担重,容易成为故障点。因此在MP-EBGP方案中,需要维护VPN路由信息的ASBR一般不再负责公网IP转发。
Option-C方案原理
跨域VPN-OptionC方式-方案一
跨域VPN-OptionC中,ASBR通过MP-IBGP向各自AS内的PE设备发布标签IPv4路由,并将到达本AS内PE的标签IPv4路由通告给它在对端AS的ASBR对等体,过渡自治系统中的ASBR也通告带标签的IPv4路由。这样,在入口PE和出口ASBR之间建立一条BGP LSP。
不同AS的PE之间建立Multihop方式的EBGP连接,交换VPNv4路由。
ASBR上不保存VPN-IPv4路由,相互之间也不通告VPNv4路由。
当网络规模较大时,可以在方案中部署RR设备,专门负责用户侧路由的传递。即, PE与RR建立MP-IBGP邻居,RR1与RR2建立MP-EBGP邻居,路由传递为PE1- RR1-RR2-PE2,PE之间无需直接建立BGP邻居关系,当VPN数量较多时,引入RR的方式可以减轻PE的工作负担。
跨域VPN-OptionC方式-拓扑
在此方案中,ASBR不再维护或是通告VPN4路由(所以如上图,此处将ASBR-PE路由器改名为 ASBR)。ASBR只需要维护所有去往PE的带标签路由,并通过EBGP通告给对端AS。在transitAS内的ASBR也同样需要使用EBGP通告这些带标签的IPV4路由。这样在不同AS的PE之间给会建立-条LSP,从而可以建立起PE之间的多跳MP-EBGP连接并进行VPNv4路由的通告。
如果每个AS的P路由器都能够知道去往其他AS的PE路由器的路由,那情况会比较简单。但是如果 P不知道,那么当PE收到从CE收到VPN数据时,就要加上三层标签,底层标签是由对端PE分配的与VPN路由相关联的VPN标签,中间的标签是ASBR分配的与去往对端PE的路由相关联的标签,外层标签则是与去往下一跳ASBR的路由相关联的标签。
为了进一步扩展性能,多跳MP-EBGP会话可以建立在不同的AS的VPNRR之间。并且当这些VPN RR通告VPNv4路由时不改变下一跳信息。PE只与VPN RR建立MP-iBGP会话。
注意∶为了方便,如上图,使用的是对称的LSP进行示意,但是实际上在控制平面和数据平面的工作过程上,两端AS的LSP结构是不对称的。下文将会详细讲解。
跨域VPN-OptionC方式-控制平面(无RR场景)
我们只通过单方向来解释控制平面的工作过程,同时假设在站点Sitel有一VPN路由Client1连接,并且P1与P2路由器都没有去往另一个AS的PE的路由,以上图为例∶
- 在AS100中,通过运行LDP协议,PE1分配一个与去往PE1的路由相关联的隧道标签(外层标签)T1给P1
- 在AS100中,通过运行LDP协议,P1分配一个与去往PE1的路由相关联的隧道标签(外层标 签)T2给ASBR-PE1
- 在AS200中,同样通过运行LDP协议,ASBR-PE2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T3给P2
- 在AS200中,通过运行LDP协议,P2分配一个与去往ASBR-PE2的路由相关联的隧道标签(外层标签)T4给PE2
- ASBR1通过EBGP会话通告一条去往PE1的带标签的IPv4路由给ASBR2,其中下一跳为ASBR1,标签为BGP标签,值为B1
- ASBR2通过BGP会话通告一条去往PE1的带标签的IPv4路由给PE2,其中下一跳为ASBR2,标签为BGP标签,值为B2。
- 注意∶这里假设PE2与ASBR1所在的AS已经为去往它们的路由分配了隧道标签(公网标
签),并且去往PE2的带标签路由也已经被通告。PE1与PE2建立起MP-EBGP会话 - CE1 通告路由Client1给PE1,路由的下一跳为CE1的接口地址
- PE1将IPv4路由Client1通过MP-EBGP重发布为VPNv4路由,并且下一跳改为PE1,分配一个VPN标签V1,将其通告给PE2
- PE2将VPNv4路由变为IPV4路由,把IPv4路由Client通告给CE2,并且下一跳改为PE2
跨域VPN-OptionC方式-控制平面(带RR场景)
-
VPNv4邻居 ∶ 本端PE只与本端R建立VPNv4邻居,本端RR与对端RR建立VPNv4邻居,实现了跨域VPN路由的传递。
-
ASBR,PE同RR建立BGP单播IPv4邻居∶
ASBR通过ipv4邻居学习将从对端ASBR学到的RR的loopback,传递给本端RR,用于本端RR与对端RR建立vpnv4邻居。ASBR通过ipv4邻居学习将从对端ASBR学到的R和PE的loopback,传递给本端R,本端RR再将其反射给PE,用于跨域之间的PE建立BGP LSP。
-
带RR场景中,RR负责控制平面IPv4的路由反射、VPNv4路由的传递,转发平面的流量不经过RR。
跨域VPN-OptionC方式-转发平面
通过上文的过程分析,我们从反向来分析转发平面的工作过程∶
- CE2发送一个目的地为Client1的IP报文给PE2。
- PE2收到IP报文后进行MPLS标签的封装,先封装VPN标签V1,由于去往Client1的下一跳
PE1不是直连邻居,通过查表发现去往PE1的BGP路由是带标签的路由,因此加上分配的 BGP标签B2做为中间标签,最后,由于去往PE1的路由的下一跳ASBR2也不是直连邻居,通过查表发现去往ASBR2也有关联的标签T4,因此,封装上外层标签T4。 - P2进行标签交换,把外层标签T4换成T3,然后将此报文发送给ASBR-PE2。
- ASBR2去掉外层标签,将BGP标签B2交换为B1,再将其转发给ASBR1。
- 当ASBR1收到报文后,发现B1是它分配的,所以去掉B1进一步查表转发,发现此时去往PE1的路由有一个关联的标签T2,因此,ASBR1将其加在栈顶,并转发给P1。
- P1进行标签交换,把外层标签T2换成T1,然后将此报文发送给PE1。
- PE1收到后去掉所有标签,将报文(普通IP报文)转发给CE1。
跨域VPN-OptionC方式-方案二
跨域VPN-OptionC方案二与方案一大体相似。
不同之处在于,方案一中,需要使用三层标签,即VPN label,BGP LSP, Tunnel LSP来承载流量,而方案二只需要两层。
方案一,ASBR在收到对端ASBR发来的BGP标签路由后,需要配置策略产生一个新的标签并发布给AS内的PE或者RR设备,以建立一条完整的BGP LSP。方案二中, ASBR需要配置MPLS触发为BGP标签路由分发标签,因此在AS内的PE上可以看到去往对端PE的LDP LSP,而非BGP LSP。
同理,方案二支持RR设备的部署。
跨域VPN-OptionC方式-拓扑
在此方案中,ASBR不再维护或是通告VPNv4路由。ASBR只需要维护所有去往PE的带标签路由,并通过EBGP通告给对端ASBR。
对端ASBR收到带BGP标签路由后,MPLS LDP会触发为该BGP标签路由产生标签,并在AS内的 LDP邻居间传递。因此,在PE上可以看到去往对端PE的LDP LSP。
为了进一步扩展性能,多跳MP-EBGP会话可以建立在不同的AS的VPN RR之间,本AS内的PE只需要与RR建立MP-IBGP即可。这些VPN RR通告VPNv4路由时不改变下一跳信息,进而当对端PE转发流量时,可以迭代至正确的隧道。
跨域VPN-OptionC方式-控制平面(无RR场景)
我们只通过单方向来解释控制平面的工作过程,同时假设在站点Site1有一VPN路由Client1连接,并且P1与P2路由器都没有去往另一个AS的PE的路由,以上图为例∶
- 在AS100中,通过运行LDP协议,PE1分配一个与去往PE1的路由相关联的隧道标签(外层标签)T1给P1。
- 在AS100中,通过运行LDP协议,P1分配一个与去往PE1的路由相关联的隧道标签(外层标 签)T2给ASBR1。
- 在AS200中,同样通过运行LDP协议,ASBR2分配一个与去往ASBR2的路由相关联的隧道标签(外层标签)T3给P2。
- 在AS200中,通过运行LDP协议,P2分配一个与去往ASBR2的路由相关联的隧道标签(外层 标签)T4给PE2。
- ASBR1通过EBGP会话通告一条去往PE1的带标签的IPV4路由给ASBR2,其中下一跳为 ASBR1,标签为BGP标签,值为B1。
- ASBR2为这条BGP标签路由触发建立LSP,分发LDP标签T5至P2,P2进而分发T6至PE2。
- PE1与PE2建立起MP-EBGP会话。
- CE1通告路由Clientl给PE1,路由的下一跳为CE1的接口地址。
- PE1将IPv4路由Client1通过MP-EBGP重发布为VPNv4路由,并且下一跳改为PE1,分配一 个VPN标签V1,将其通告给PE2。
- PE2将VPNv4路由变为IPV4路由,把IPv4路由Client通告给CE2,并且下一跳改为PE2。
跨域VPN-OptionC方式-控制平面(带RR场景)
- VPNv4邻居∶ 本端PE只与本端RR建立VPNv4邻居,本端RR与对端RR建立VPNV4邻居,实现了跨域VPN路由的传递。
- 带RR场景中,RR只负责控制平面VPNv4路由的传递,转发平面的流量不经过RR。
跨域VPN-OptionC方式-转发平面
通过上文的过程分析,我们从反向来分析转发平面的工作过程∶
- CE2发送一个目的地为Client1的IP报文给PE2。
- PE2收到IP报文后进行MPLS标签的封装,先封装VPN标签V1,由于去往Client1的下一跳PE1不是直连邻居,通过查表发现去往PE1的标签为T6,打上T6。
- P2进行标签交换,把外层标签T6换成T5,然后将此报文发送给ASBR2。
- ASBR2去掉外层标签,将T5交换为B1,再将其转发给ASBR1。
- 当ASBR1收到报文后,发现B1是它分配的,所以去掉B1进一步查转发表,发现此时去往
PE1的路由有一个关联的标签T2,因此,ASBR1将其加在栈顶,并转发给P1。 - P1进行标签交换,把外层标签T2换成T1,然后将此报文发送给PE1。
- PE1收到后去掉所有标签,将报文(普通IP报文)转发给CE1。
跨域VPN-OptionC方式的特点
VPN路由在入口PE和出口PE之间直接交换,不需要中间设备的保存和转发。
VPN的路由信息只出现在PE设备上,而P和ASBR只负责报文的转发,使得中间域的设备可以不支持MPLS VPN业务,只需支持MPLS转发,ASBR设备不再成为性能瓶颈。因此跨域VPN-OptionC更适合在跨越多个AS时使用。
更适合支持MPLS VPN的负载分担。
缺点是维护一条端到端的PE连接管理代价较大。
跨域VPN方案的配置
Option-A方案配置
配置步骤
配置较为简单,不做赘述,只做以下测试:
R2(P1)为例,查看mpls ldp:
R1与R3,R6与R4之间配置IBGP和MP-IBGP,结果验证:
在PE(R1,R6)和ASBR(R3,R4)上配置VPN实例并关联到相应接口,在PE与CE,ASBR1与ASBR2之间在VPN实例中配置EBGP,测试:
CE之间能学习到对方接口路由,CE1和CE2能够相互ping通。
以CE1的显示为例:
Option-B方案配置
配置验证
上述配置完成后,CE之间能学习到对方的接口路由,CE1与CE2可以相互ping通
在ASBR上执行display bgp vpnv4 all routing-table命令,可以看到VPNv4路由
Option-C方案配置(方案一)
如上图所示,共分为4个AS,AS100和AS200作为ISP,PE1,P1,RR1和ASBR1属于AS100, PE2,P2,RR2和ASBR2属于AS200。CE1和CE2属于同一个VPN,CE1通过AS100的PE1接入, CE2通过AS200的PE2接入。
每台路由器的IP地址规划详见拓扑图。
本例为OptionC方式实现方案一,可以采用PE1与PE2直接建立MP-EBGP(不带RR)来传递跨域 VPN路由,也可以采用RR1与RR2建立MP-EBGP邻居(PE1与RR1,PE2与RR2建立MP-IBGP邻居)传递跨域VPN路由,两者相似,本例采用RR方式实现OptionC方案一。
配置步骤
R1配置:(R10参考R1)
#
sysname R1
#
interface Ethernet0/0/0
ip address 14.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 11.11.11.11 255.255.255.255
#
bgp 1
peer 14.1.1.2 as-number 100
#
ipv4-family unicast
undo synchronization
network 11.11.11.11 255.255.255.255
peer 14.1.1.2 enable
#
R4配置:(R9参考R4)
#
sysname R4
#
ip vpn-instance 1
ipv4-family
route-distinguisher 1:1
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity //配置VPN实例
#
mpls lsr-id 4.4.4.4 //配置MPLS,并在相应接口上开启
mpls
#
mpls ldp
#
interface Ethernet0/0/0
ip binding vpn-instance 1
ip address 14.1.1.2 255.255.255.0 //配置接口与VPN实例关联
#
interface Ethernet0/0/1
ip address 34.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 2.2.2.2 enable
peer 2.2.2.2 label-route-capability //使能PE与RR之间相互交换标签IPv4路由的能力
#
ipv4-family vpnv4
policy vpn-target
peer 2.2.2.2 enable
#
ipv4-family vpn-instance 1
peer 14.1.1.1 as-number 1 //在PE的VPN实例中配置与CE的EBGP
#
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 34.1.1.0 0.0.0.255
#
R2配置:(R7参考R2)
#
sysname R2
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface Ethernet0/0/0
ip address 23.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
bgp 100
peer 4.4.4.4 as-number 100
peer 4.4.4.4 connect-interface LoopBack0
peer 5.5.5.5 as-number 100
peer 5.5.5.5 connect-interface LoopBack0
peer 7.7.7.7 as-number 200
peer 7.7.7.7 ebgp-max-hop 10
peer 7.7.7.7 connect-interface LoopBack0 //R2与R7(RR1与RR2)之间建立E-BGP关系
#
ipv4-family unicast
undo synchronization
peer 4.4.4.4 enable
peer 4.4.4.4 reflect-client
peer 4.4.4.4 label-route-capability
peer 5.5.5.5 enable
peer 5.5.5.5 reflect-client
peer 5.5.5.5 label-route-capability
peer 7.7.7.7 enable
#
ipv4-family vpnv4
undo policy vpn-target
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-invariable
peer 7.7.7.7 enable
peer 7.7.7.7 next-hop-invariable //RR传递给PE和对端RR的路由不修改下一跳,路由可以递归然后走P设配
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 23.1.1.0 0.0.0.255
#
R3配置:(R6参考R3)
#
sysname R3
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
interface Ethernet0/0/0
ip address 34.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface Ethernet0/0/1
ip address 23.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet0/0/0
ip address 35.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 23.1.1.0 0.0.0.255
network 35.1.1.0 0.0.0.255
network 34.1.1.0 0.0.0.255
#
R5配置:(R8参考R5)
#
sysname R5
#
mpls lsr-id 5.5.5.5
mpls
#
mpls ldp
#
interface Ethernet0/0/0
ip address 58.1.1.1 255.255.255.0
mpls
#
interface Ethernet0/0/1
ip address 35.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
#
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
peer 58.1.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
network 2.2.2.2 255.255.255.255
network 4.4.4.4 255.255.255.255
peer 2.2.2.2 enable
peer 2.2.2.2 route-policy policy2 export //在ASBR1上对向RR1发布的路由应用路由策略,对于向本AS内的RR发布的路由,如果是带有标签的IPv4路由,为其分配新的MPLS标签
peer 2.2.2.2 label-route-capability
peer 58.1.1.2 enable
peer 58.1.1.2 route-policy policy1 export //对向ASBR2发布的路由应用路由策略,对于从本AS内的RR接收的路由,在向对端AS的ASBR发布时,分配MPLS标签
peer 58.1.1.2 label-route-capability
#
ospf 1 router-id 5.5.5.5
area 0.0.0.0
network 5.5.5.5 0.0.0.0
network 35.1.1.0 0.0.0.255
#
route-policy policy1 permit node 10
apply mpls-label //为匹配条件的路由分配标签
#
route-policy policy2 permit node 10
if-match mpls-label
apply mpls-label //如果路由带有标签,则为其分配标签
#
在R4的E0/0/1接口抓,ce1去往ce2 的ping包
在ASBR上display bgp routing-table label命令,可以看到路由的标签信息
Option-C方案配置(方案二)
如上图所示,共分为4个AS,AS100和AS200作为ISP,PE1,P1,RR1和ASBR1属于AS100, PE2,P2,RR2和ASBR2属于AS200。CE1和CE2属于同一个VPN,CE1通过AS100的PE1接入, CE2通过AS200的PE2接入。
每台路由器的IP地址规划详见拓扑图。
本例为OptionC方式实现方案二。方案二的实现与方案一大致相似,主要区别在于,当本端ASBR收到对端ASBR传递来的labeled-IPv4-Route后,触发LDP为BGP标签路由分标签。
和OptionA配置不同之处:
RR与ASBR之间没有建立BGP邻居,在ASBR上BGP路由中宣告本AS的RR的环回接口,然后将BGP重发布到OSPF中,在OSPF进程中引入BGP路由,是为了让RR1与RR2能够顺利建立EBGP邻居关系,进而传递VPN路由。建议在OSPF中引入BGP路由时配置路由策略,做好精确的明细引入,减少不必要的路由进入IGP域。
其他配置基本一样
在PE上执行display mpls lsp命令,可以看到去往对方PE的LDP LSP
- 点赞
- 收藏
- 关注作者
评论(0)