.
跨域BGP/MPLS VPN OPTION C方案的模拟实验
作者:王富霖
一、原理:
1. OPTION C跨域实现方法
图1 跨域原理
OPTION C跨域也叫多跳MP-EBGP跨域,由于BGP只要能建立TCP连接,就能成为BGP邻居并传递路由信息,因此,OPTION C通过多跳的MP-EBGP直接在源、宿端PE之间传递VPN路由信息,然后在源、宿端PE之间构建LSP公网隧道。
VPN信息传递
OPTION C跨域时VPN信息传递比较简单,即直接在源和宿端PE间通过多跳MP-EBGP传递,如上图,PE2和PE1之间建立多跳的MP-EBGP连接,VPN信息直接从PE2传递到PE1。
LSP隧道构建
从VPN信息传递的方式可以看出,VPN从PE1到PE2之间只有一跳,VPN的下一跳为PE2,PE2为VPN分配标签,并且一直不会改变。
现在重要的是确定PE1到PE2的外层LSP怎样建立,首先,PE2和ASBR2在一个AS,通过IGP协议,ASBR2会有PE2的路由信息,通过正常的LDP协议,ASBR2和PE2会构建一个LSP隧道,ASBR1和PE2不在一个AS,ASBR1没有PE2的路由信息,此时可以通过EBGP协议把PE2的路由信息传递给ASBR1,另外,对BGP协议进行扩展(RFC3107),让BGP在传递路由时同时分配标签,这样,ASBR1和ASBR2之间的LSP形成,并在ASBR2处形成标签SWAP,同样,ASBR1和PE1之间也通过扩展的IBGP传送PE2的路由信息,同时分配标签,并在ASBR1处形成标签SWAP,但这一段LSP的建立和ASBR之间LSP的建立不一样,ASBR之间是直连的,下一跳直接可达,PE1和ASBR1之间不是直连的,但PE1和ASBR1位
Word文档
.
于同一个AS,通过LDP可以构建一个LSP隧道,这样,在PE1到ASBR1之间的LSP隧道最终包括三层标签,最底层VPN标签(PE2分配),中间一层为到PE2的标签(ASBR1通过扩展BGP分配),最外层为到ASBR1的标签(LDP分配),ASBR之间构建一个双层LSP隧道,底层为VPN标签(PE2分配),外层为到PE2的标签(ASBR2通过扩展BGP分配),ASBR2到PE2之间为双层LSP隧道,层为VPN标签(PE2分配),外层为到PE2的标签(LDP分配)这三段隧道通过在ASBR处的标签SWAP粘结起来,最终形成端到端的LSP隧道。 特点
ASBR不需要处理VPN信息,最符合VPN的要求,即中间设备不感知VPN信息 使用BGP扩展来传递公网标签
在宿端AS之外的AS出现三层标签的LSP隧道。
当VPN业务大规模发展时,可以使用OPTION C跨域方法
二、GNS3模拟实验
1、实验拓扑
图2 实验拓扑
2、关键配置
PE(R2)的BGP配置:
router bgp 200
no bgp default ipv4-unicast
Word文档
.
bgp log-neighbor-changes neighbor 3.3.3.3 remote-as 200
neighbor 3.3.3.3 update-source Loopback0 neighbor 5.5.5.5 remote-as 300 neighbor 5.5.5.5 ebgp-multihop 255 neighbor 5.5.5.5 update-source Loopback0 address-family ipv4 no synchronization neighbor 3.3.3.3 activate neighbor 3.3.3.3 next-hop-self neighbor 3.3.3.3 send-label no auto-summary exit-address-family address-family vpnv4 neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community both neighbor 5.5.5.5 next-hop-unchanged exit-address-family
address-family ipv4 vrf vpna no synchronization redistribute connected neighbor 12.1.1.1 remote-as 100 neighbor 12.1.1.1 activate exit-address-family Word文档
.
ASBR1(R3)的BGP配置:
router bgp 200
no bgp default ipv4-unicast no bgp default route-target filter bgp log-neighbor-changes neighbor 2.2.2.2 remote-as 200 neighbor 34.1.1.4 remote-as 300 address-family ipv4 no synchronization
network 34.1.1.0 mask 255.255.255.0 redistribute ospf 1 neighbor 2.2.2.2 activate neighbor 2.2.2.2 next-hop-self neighbor 2.2.2.2 send-label neighbor 34.1.1.4 activate neighbor 34.1.1.4 send-label no auto-summary exit-address-family
ASBR2(R4)的BGP配置:
router bgp 300
no bgp default ipv4-unicast no bgp default route-target filter bgp log-neighbor-changes Word文档
.
neighbor 5.5.5.5 remote-as 300
neighbor 5.5.5.5 update-source Loopback0 neighbor 34.1.1.3 remote-as 200 address-family ipv4 no synchronization
network 34.1.1.0 mask 255.255.255.0 redistribute ospf 1 neighbor 5.5.5.5 activate neighbor 5.5.5.5 next-hop-self neighbor 5.5.5.5 send-label neighbor 34.1.1.3 activate neighbor 34.1.1.3 send-label no auto-summary exit-address-family
PE2(R5)的BGP配置:
router bgp 300
no bgp default ipv4-unicast bgp log-neighbor-changes neighbor 2.2.2.2 remote-as 200 neighbor 2.2.2.2 ebgp-multihop 255 neighbor 2.2.2.2 update-source Loopback0 neighbor 4.4.4.4 remote-as 300
neighbor 4.4.4.4 update-source Loopback0
Word文档