功能简介:
Option A和OptionB 两种方式都能够满足跨域VPN的组网需求,这两种方式的一个共同点就是ASBR
都需要参与VPN路由的维护和发布。当每个自治域内都有大量的跨域 VPN路由需要通告,ASBR 就可能成为阻碍网络进一步扩展的瓶颈。为了解决上述扩展性问题,提出了第三种解决方案:多跳MP-EBGP。多跳MP-EBGP
是指在跨域的情况下,不同自治域的PE之间建立多跳的MP-EBGP 会话,直接交互VPN路由,这种方式就不需要ASBR维护和分发VPN路由
Option C技术的关键技术点
1、多跳MP-EBGP邻居(PE之间或RR之间)的建立:需要将相应的Loopback地址通告给对端AS
2、顶层公网标签的分配:需要在源PE和目的PE之间存在一条完整的顶层公网标签LSP
3、ASBR之间建立IPv4单播地址簇的EBGP邻居关系
4、通过RT的配置,使PE相互之间学习到相应的VPNv4前缀
Option C技术的优势:
需要ASBR承载的路由信息少
Option C技术的劣势:
配置较为复杂
一、组网需求
1、拓扑中的CE1,CE2分别用一台交换机用MCE技术进行模拟;
2、要求实现跨域的MPLS/VPN访问,即实现VPN-A的1.1.1.1和7.7.7.7互通,VPN-B的11.11.11.11和77.77.77.77互通;
3、该拓扑中在ASBR1 和ASBR2之间没有建立MP-BGP关系
4、RR(SW3)和PE2(SW6)之间建立MP-BGP关系,RR(SW3)与ASBR1(SW4)建立MP-BGP,ASBR1(SW4)与ASBR2(SW5)之间建立IPV4的BGP关ASBR2(SW5)与PE2(SW6)建立IPV4的BGP关系
二、组网拓扑
三、配置要点
1、部署AS核心的IGP路由协议
2、部署AS核心的MPLS
1)全局开启MPLS转发功能
2)全局开启LDP标签分发协议
3)开启接口的标签交换能力
4)接口下开启LDP协议
3、部署PE-PE的MP-BGP协议
1)启用BGP进程
2)进入VPNV4地址簇下激活VPNV4邻居关系
3)配置路由反射器RR
4、部署PE-CE的路由协议
1)创建VRF实例
2)将相关接口划入对应的VRF实例中
3)配置PE-CE的路由协议
5、将CE的路由重发布进MP-BGP
6、将MP-BGP的路由重发布进CE
----->到第6步为止,是完整的域内VPN配置
1)ASBR间建立EBGP邻居
a)开启send-label标签分发功能
b)通告PE的loopback网段
2)跨域PE建立MP-EBGP多跳邻居
a)配置ebgp-multihop
b)配置next-hop-unchanged
3)ASBR将跨域PE的loopback网段从发布进IGP
关于各产品支持的VRF数量说明如下:
(一)10.X软件平台设备说明:
1、如果是S12000交换机组网的话,EA:2000,DA:1000,如果两者混插整机降为1000
2、如果是S86交换机,EA线卡不支持VRF,可以搭配M8600-MPLS线卡,支持254个VRF,版本采用10.4(3b7)p1;
如果全部是EB:63,版本采用10.4(3b17)p5;
如果是EA+EB的话可以搭配M8600-MPLS线卡,支持254个VRF,版本采用10.4(3b7)p1;
如果全部是EC:2000,版本采用10.4(3b17)p5;
如果是EB+EC:63个VRF,推荐10.4(3b17)p5;
另外以上组合如果有搭配防火墙卡使用的话,S12000必须采用v2.0的RG-WALL1600-B-DE,如果采用RG-WALL1600-B-DC整机将不支持分布式MPLS,不支持VRF;S86交换机必须采用v2.0的RG-WALL1600-B-E防火墙卡,如果采用M8600-FW整机将不支持分布式MPLS,不支持VRF。
3、S6000系列,S5750-E/P/S系列交换机都支持255个VRF,推荐版本10.4(3b16)p2。
(二)11.X软件平台设备说明:
关于各产品支持的VRF数量说明如下:
如果全部是ED卡:2000;
如果全部是EF卡:1000;
如果全部是DB卡:500;
如果全部是CB卡:2000;
如果两者混插,以容量低的为准,例如ED+EF卡,VRF数量为1000。CB卡不能与其他卡混插。
11x防火墙卡插入设备,整机MPLS正常使用。
四、配置步骤
这个option
C案例中,由于有RR设备的存在,PE设备与RR需要建立MP-IBGP关系,因此第1步--第6步,是配置域内VPN,参考”跨域option A“章节的前6步
7、跨域option
C模式的部署
1)ASBR间建立EBGP邻居关系(SW4,SW5)
SW4:
router bgp 100
neighbor 45.4.4.5 remote-as 200
!
address-family ipv4
neighbor
45.4.4.5 activate ----->ASBR建立EBGP邻居,为了传递PE的loopback地址网段路由
neighbor
45.4.4.5 send-label ----->为PE的loopback地址网段路由分发标签
network
2.2.2.2 mask 255.255.255.255 ----->通告本域内的PE设备loopback地址网段
SW5:
router bgp 200
neighbor 45.4.4.4 remote-as 100
!
address-family ipv4
neighbor
45.4.4.4 activate ----->ASBR建立EBGP邻居,为了传递PE的loopback地址网段路由
neighbor
45.4.4.4 send-label ----->为PE的loopback地址网段路由分发标签
network
6.6.6.6 mask 255.255.255.255 ----->通告本域内的PE设备loopback地址网段
2)跨域PE建立MP-EBGP多跳邻居(SW3是RR设备,以SW3为例)
SW3:
router
bgp 100
neighbor 6.6.6.6 remote-as 200
neighbor 6.6.6.6
ebgp-multihop 255
----->SW3与SW6之间建立跨AS的多跳MP-EBGP邻居关系,需要配置多跳。
neighbor
6.6.6.6 update-source Loopback 0
!
address-family vpnv4 unicast
neighbor 6.6.6.6 activate
neighbor 6.6.6.6
next-hop-unchanged
----->从EBGP学习到的路由传递给IBGP时下一跳会改变。这里SW3作为RR,不希望改变下一跳
neighbor 6.6.6.6 send-community extended
exit-address-family
SW6:
router bgp 200
neighbor 3.3.3.3 remote-as
100
neighbor 3.3.3.3 ebgp-multihop 255 ----->SW3与SW6之间建立跨AS的多跳MP-EBGP邻居关系,需要配置多跳。
neighbor 3.3.3.3
update-source Loopback 0
!
address-family vpnv4
unicast
neighbor 3.3.3.3 activate
neighbor 3.3.3.3 next-hop-unchanged ----->从EBGP学习到的路由传递给IBGP时下一跳会改变,不改变下一跳
neighbor 3.3.3.3
send-community extended
exit-address-family
3)ASBR将跨域PE的loopback网段重发布进IGP
a)抓取mpls-label标记的路由
route-map
LABEL permit 10
match mpls-label
b)将此路由重分布进IGP
SW4:
router
rip
version 2
passive-interface GigabitEthernet 4/45
network 4.0.0.0
network 34.0.0.0
no auto-summary
redistribute
bgp metric 1 route-map LABEL
----->这里为了精确控制,调用了route-map;如果不需要精确控制,直接重发布即可。
SW5:
router rip
version 2
passive-interface
GigabitEthernet 5/45
network 5.0.0.0
network 56.0.0.0
no auto-summary
redistribute bgp metric 1
route-map LABEL
五、功能验证
MCE1#ping vrf VPN-A 7.7.7.7 sou 1.1.1.1
Sending 5, 100-byte ICMP Echoes to 7.7.7.7, timeout is 2 seconds:
< press Ctrl+C to break
>
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/10/10 ms
MCE1#ping vrf VPN-B 77.77.77.77 sou 11.11.11.11
Sending 5, 100-byte ICMP Echoes to 77.77.77.77, timeout is 2 seconds:
< press Ctrl+C to break
>
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/10/10 ms
MCE1#traceroute vrf VPN-A 7.7.7.7
source 1.1.1.1
< press Ctrl+C to break
>
Tracing the route to 7.7.7.7
1 12.1.1.2 0 msec 0 msec 0
msec
2 * * *
3 * * *
4 * * *
5 56.5.5.6 0 msec 0 msec 0
msec
6 7.7.7.7 10 msec 10 msec 10
msec
MCE1#traceroute vrf VPN-B 77.77.77.77 source 11.11.11.11
< press Ctrl+C to break
>
Tracing the route to 77.77.77.77
1 21.1.1.2 0 msec 0 msec 10
msec
2 * * *
3 * * *
4 * * *
5 56.5.5.6 0 msec 0 msec 0
msec
6 77.77.77.77 10 msec 10 msec
10 msec
SW2#ping mpls ipv4 4.4.4.4/32
Sending 5, 84-byte MPLS Echoes to 4.4.4.4/32,
timeout
is 2 seconds, send interval is 0 msec:
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output
interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F'
- no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request,
'm' - unsupported tlvs, 'N' - no label entry,
'P' - no rx intf label
prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' -
unknown upstream index,
'X' - unknown return code,
'x' - return code 0
Press Ctrl+C to break.
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/6/10 ms
SW2#traceroute mpls ipv4 4.4.4.4/32
Tracing MPLS Label Switched Path to 4.4.4.4/32, timeout is 2 seconds
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output
interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F'
- no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request,
'm' - unsupported tlvs, 'N' - no label entry,
'P' - no rx intf label
prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' -
unknown upstream index,
'X' - unknown return code,
'x' - return code 0
Press Ctrl+C to break.
0 23.2.2.2 MRU
1500 [Labels: 1025 Exp: 0]
L 1 23.2.2.3 MRU
1500 [Labels: implicit-null Exp: 0] <1 ms
! 2 34.3.3.4
<1 ms