MPLS_vpn跨域方案比较总结

1、背景
随着MPLS技术的成熟,其应用越来越广泛,尤其是在VPN方面 。电信运营商提供给用户的MPLSVPN服务主要有MPLSLayer2 VPN和 MPLS Layer 3 VPN两类 。MPLS Layer 2 VPN因标准化和复杂性问题,目前还没有被大规模采用;而MPLS Layer 3 VPN具有高度的灵活性和扩展性,正成为取代传统专线VPN的技术 。
最初的MPLSLayerVPN技术主要应用在一个AS域内,为用户提供在本AS域内的、基于MPLS/IP技术的VPN通信 。随着MPLS VPN在一个AS域内的广泛应用,跨域间的VPN通信需求逐渐增加 。
跨域MPLSLayer3VPN的实现方法有许多种 。对于大型电信运营商来说,目前需要解决的问题是如何部署一个易扩展、易维护的跨域MPLS Layer 3 VPN 。
2、MPLSLayer3 VPN架构
典型的MPLSLayer3VPN架构如图1所示 。其中,PE与CE之间可以运行Static、RIP、OSPF和BGP等协议来传送IP路由信息,而入口PE与出口PE之间则通过MP-iBGP(Multi-Protocol extension –internal BGP)来传送VPN-IP路由信息 。

MPLS_vpn跨域方案比较总结

文章插图
 
3、跨域MPLSLayer3 VPN实现方案及比较
跨域MPLSLayer3VPN主要解决的是VPN的跨域实现,也就是VPN IPv4路由信息的跨域传递 。其主要的实现方案有ASBR(Autonomous System Boundary Router,自治区系统边界路由器)间背靠背VRF-VRF连接、ASBR间通过MP-eBGP分发VPN-IPv4路由信息和相应的标签以及RR间通过Multi-hop MP-eBGP分发VPN-IPv4路由信息和相应的标签三类 。下面分别介绍这三种方案的实现原理 。
3.1方案的实现原理
3.1.1方案一:ASBR间背靠背VRF-VRF连接
方案一实现起来最简单 。它通过两个AS的ASBR间建立VRF-VRF连接来实现MPLS的跨域互通 。具体做法就是每个ASBR通过直连链路或者子接口建立到对方ASBR的VRF连接,也就是以本ASBR作为PE、对端ASBR作为自己的CE来进行VPN域内路由的跨域分发 。下面结合图2来说明方案一的具体实现 。
MPLS_vpn跨域方案比较总结

文章插图
 
如图2所示,VPN-A内的IP路由信息由CE1-A通过RIP、OSPF或者BGP分发给PE11,PE11将其保存在对应的VRF(VPN路由转发)表中,添加RD(RouteDistinguisher,路由区分符),将其变为VPN-IP路由,并且为该路由分配MPLSVPN中的内层标签V1,之后通过MP-iBGP将该路由信息和对应的标签信息发送给同一域内的对等点,也就是图2中的ASBR1 。此时,ASBR1作为CE,将收到的VPN-IP路由信息中的IP路由提取出来,同时保留收到的内层标签 。提取出来的IP路由(注意:非VPN-IP路由)由ASBR1(CE)通过相应的路由协议(RIP、OSPF和BGP等)发送给ASBR2(PE),由ASBR2进行类似PE11的操作,然后将其发送给PE22,而后由PE22发送给位于VPN-A的CE2-A 。当CE2-A有数据要发送给CE1-A时,首先发送数据给PE22,由PE22为该数据包加上两层标签(外层MPLS标签和由ASBR2分发的内层VPN标签V2),之后经过MPLSLSP到达ASBR2(到达时该数据包只有内层标签) 。ASBR2根据内层标签在VRF表中查找相应的链路和子接口,去除内层标签,将纯IP数据包发送给ASBR1 。ASBR1根据接收数据包的链路选择相应的VRF表,之后进行类似PE22所完成的工作(给数据包加上两层标签),并将数据包通过MPLS LSP发送到PE1(到达PE1时只剩内层标签),由PE1根据VRF表发送给CE1-A 。
上述VRF背对背连接的一个特点是ASBR和ASBR之间的连接不需要支持MPLS,但因为每一个VPN都需要一个独立的接入链路,所以该方案只适合在小区域内小规模部署 。
3.1.2方案二:ASBR间通过MP-eBGP分发VPN-IPv4路由信息和相应的标签
在方案二中,ASBR间仍然是物理直连,但VPN-IP路由信息是通过它们之间的MP-eBGP关系进行传送 。
在了解该方案之前,我们首先需要明白MPLSVPN中VPN标签分发的一个原则:VPN标签分发时,与其同时发送的下一跳地址必须是VPN标签分发者本身,否则就需要重新分发VPN标签 。如图3所示,当PE11为VPN-A中的路由分发VPN标签V1时,这些路由的下一跳必须是PE11本身 。
MPLS_vpn跨域方案比较总结

文章插图
 
在该方案中,两个ASBR之间是e-BGP连接 。这样,当ASBR1向ASBR2发送VPN-IP路由信息时,VPN-A中路由的下一跳就会由原来的PE11变为ASBR1 。因为下一跳发生变化,所以ASBR1必须重新为VPN-A中的路由信息分配VPN标签V2,ASBR2在收到这些VPN-IP路由信息后,再向其MP-iBGP邻居PE22进行分发 。
如果不对ASBR2做任何特别的配置,那么在其向PE22分发VPN-A路由信息时,这些路由信息的下一跳仍然为ASBR1,这就要求AS2域中的其他路由器也应该知道ASBR1的IP地址,并为这个地址分配相应的外层标签 。


推荐阅读