昨天就跨域MPLS VPN OptionC实验(带RR场景,VPNv4路由下一跳为RR)进行分析。今天分享一下跨域MPLS VPN OptionC实验(不带RR场景)
【实验基础命令可以在群里看手册自行配置,本次作为实验分析。根据实验拓扑配置进行现象分析】
实验拓扑:
第一步:配置ISP 100和ISP 200的IGP/LDP/MPLS协议,R3和R4之间使能MPLS
第二步:在PE(R1、R6)上配置VPN实例
R1-PE1和R6-PE2的VPN实例配置命令
[R1-PE1] ip vpn-instance hcie1
[R1-PE1-vpn-instance-hcie1] route-distinguisher 100:1
[R1-PE1-vpn-instance-hcie1-af-ipv4] vpn-target 100:1
IVT Assignment result:
Info: VPN-Target assignment is successful.
EVT Assignment result:
Info: VPN-Target assignment is successful.
-------------------------------------------------------
[R1-PE1] ip vpn-instance hcie2
[R1-PE1-vpn-instance-hcie2] route-distinguisher 100:1
[R1-PE1-vpn-instance-hcie2-af-ipv4] vpn-target 100:1
IVT Assignment result:
Info: VPN-Target assignment is successful.
EVT Assignment result:
Info: VPN-Target assignment is successful.
-------------------------------------------------------
[R1-PE1]int gi 0/0/2
[R1-PE1-GigabitEthernet0/0/2]ip binding vpn-instance hcie2
[R1-PE1-GigabitEthernet0/0/2]int gi 0/0/1
[R1-PE1-GigabitEthernet0/0/1]ip binding vpn-instance hcie1
第三步:PE-CE之间的IGP配置
第四步:R1-R3、R3-R4、R4-R6之间建立IPv4单播的BGP邻居,并在R3上宣告R1的环回口,R4上宣告R6的环回口
第五步:使能R1-PE1和R3-ASBR1、R3-ASBR1和R4-ASBR2以及R4-ASBR2和R6-PE2具有为互相通告的路由分配标签的能力
第一点:配置发送标签路由能力,使能R3具有朝着R4发送标签路由能力,同理,R3也要具有朝着R4发送标签路由的能力
注意:使能或禁止发送标签路由能力时,BGP连接会自动断开,然后重新进行邻居能力协商
第二点:配置R3能通过路由策略为其所通告给R4的路由打上标签,同理,R4也要配置路由策略为其所通告给R3的路由打上标签
查看BGP路由的标签信息
此时,R4就有了去往10.1.1.1/32路由的标签信息,是由R3通告IPv4-BGP通告给R4的
同理,R4也为10.1.6.6/32路由分配了标签1026,并传递给了R3;
在R3上也有了去往10.1.6.6/32路由的标签信息;
但是此时面临的问题时R4如何为10.1.1.1/32路由重新分配标签并传递给R6,由于此时R4和R6建立的IPv4-BGP并没有开启通告标签的能力,所以在R6上虽然通过BGP从R4学习到了10.1.1.1/32的路由信息,但是没有标签;
不能直接传递给R5,否则就要建立Full-meash的连接,网络更加复杂;
当然办法也简单,和R3、R4的原理一样,R4在传递路由给R6的时候也为其分配标签,开启R4朝着R6通告标签的能力,但是在做策略的时候最好If-match针对选择有需要的路由为其分配标签,否则传递的所有BGP路由都会分配上标签;
if-match mpls-label的意思是如果从R3传递给R4的BGP路由已经携带了标签,则R4传递给R6的时候继续分配标签,也就是针对收到带有标签的路由则将路由传递对对应的BGP邻居时继续分配标签。如果R3传递给R4的BGP路由没有携带标签,则R4传递给R6的路由就不携带标签;
同理,在R6上也要开启针对R4的路由标签通告能力
那么在R6上就能收到关于去往10.1.1.1/32路由的标签信息
由于R4只做了一个Route-Policy,由于10.1.1.1/32带有标签所以通告给了R6,而10.1.6.6/32由于没有标签,且Route-Policy缺省是deny,所以R6上收不到关于10.1.6.6/32的路由,当然R6并不需要收到关于10.1.6.6/32的路由
到这里为止,关于从左到右10.1.1.1/32路由标签的传递就完成了;
接下来是从右到左,关于10.1.6.6/32路由的标签传递;
R4、R5、R6由于都运行LDP协议,各自为自己的环回口分发标签,在R4上肯定是有关于10.1.6.6/32的路由标签;
并且之前在R3和R4之间也开启了路由互相通告且分配标签的能力,所以在R3上也会有关于10.1.6.6/32的路由标签;
但是在R1和R3之间并没有互相使能发送标签路由的能力,所以在R1和R3上要开启路由标签通告,并且R3针对R1通过Route-Policy策略If-match针对选择有需要的路由为其分配标签,否则传递的所有BGP路由都会分配上标签;
那么在R1就能看到关于10.1.6.6/32的路由标签信息
由于R1和R6都有了去往对方环回口路由的标签,于是就能进行通信
第六步:R1-PE1和R6-PE2建立MP-EBGP的邻居
实验测试
图示数据转发方向: