MPLS VPN跨域实现方法及特点
随着ALLIP趋势的明朗,运营商建设统一的IP承载网已经势在必行,各种业务承载在一张IP网络上,为了保证不同业务的QOS水平,业务之间的有效隔离成为大家关注的一个焦点。MPLSVPN技术是当前发展最快、成熟度最高的技术之一,通过近几年在一定领域的部署实施,证明了该技术在运营商网络是切实可行的,是业务隔离的有效工具。目前在运营商网络部署实施的MPLSVPN大部分在在一个AS内,然而,实际部署的业务,如运营商内部的语音业务,企业客户的VPN专线业务,往往都是跨越多个AS,VPN如何有效跨越多个AS,是目前需要关注和解决的问题。
2.MPLSVPN跨域方法概述
同在单个AS内建立VPN的过程一样,跨域VPN的建立过程也同样关注两个方面,一是VPN信息的传递方法,一是VPN隧道的建立方法,经过近几年的实践和快速发展,业界提出了几种VPN跨域方法,即OPTIONA/B/C三种,不同方法采用不同的VPN信息传递模式和VPN隧道构建方法,具有鲜明的特点和适合不同的应用场景。
另外,MPLSVPN可以分为MPLS/BGP三层VPN和MPLSL2VPN,两种VPN都支持上述的三种跨域方法,采用相同的跨域理念,只不过MPLS/BGPVPN由于使用较早和部署较广,其对应的跨域方法已经标准化,MPLSL2VPN目前在标准化进程上稍微落后,其对应的跨域标准还没有正式发布,但一些主流厂家对此已有部分或全部支持。
3.MPLS/BGP跨域
3.1OPTIONA跨域实现方法
OPTIONA跨域也叫做背靠背跨域,即两个AS的边界路由器ASBR互相作为PE和CE,如上图所示,ASBR1作为AS1的PE设备,ASBR2在此看作ASBR1连接的CE设备,反之亦然。
VPN信息传递
同一AS的PE和ASBR之间通过正常的MBGP协议传递VPN路由信息,ASBR之间通过正常的PE和CE之间的路由传递方法传送VPN路由信息,如上图,VPNA2通过IGP协议把路由信息传递给PE2,PE2通过MBGP协议把VPNA2的信息传递给ASBR2,ASBR2作为ASBR1的CE设备,通过IGP协议把VPNA2
的信息传递给ASBR1,ASBR1再通过MBGP协议把VPNA2的信息传递给PE1,PE1再通过IGP协议把VPNA2的信息传递到VPNA1,至此,VPN信息传递完毕。
VPN隧道构建
在OPTIONA跨域方法中,VPN隧道构建比较简单,各个AS单独构建PE到ASBR的LSP双层隧道,内层标签代表VPN信息,外层标签代表到达VPN路由下一跳PE的公网标签,和在单个AS内LSP隧道的建立过程和方式一样,ASBR和ASBR之间通过裸IP转发,没有LSP隧道。
特点
ASBR需要处理VPN路由信息,并且需要配置VRF实例
ASBR需要为每个VPN分配一个物理或逻辑链路
每个AS内单独建立双层LSP隧道,ASBR之间依靠IP连接
适用于VPN业务开展初期,VPN数量较少的情况下
3.2OPTIONB跨域实现方法
OPTIONB跨域也叫单跳MP-EBGP跨域,AS内通过正常的MPLS/BGP传递VPN信息和构建LSP隧道,AS之间通过单跳的MP-EBGP协议传递VPN信息并构建LSP隧道。
VPN信息传递
如上图所示,CE2通过IGP传递私网信息给PE2,PE2通过MP-IBGP传递VPN信息到ASBR2,ASBR2通过单跳的MP-EBGP传递VPN路由信息给ASBR1,然后,ASBR1再通过MP-IBGP传递VPN信息给PE1,PE1再通过IGP协议把私网信息传递给CE1,至此,CE1拥有到达CE2的路由信息。如果中间跨域多个AS,AS内部全部按照MP-IBGP协议传递,ASBR之间全部按照单跳的MP-EBGP传递。
LSP隧道构建
当使用BGP传递路由时,如果是EBGP传递,下一跳必定改变为自己,如果通过IBGP传递,下一跳可以改变为自己也可以不改变,另外,当采用MP-BGP传递VPN路由信息,下一跳更改时,那么就需要为VPN重新分配标签。
如上图所示,在OPTIONB跨域中,ASBR2向ASBR1传递VPN路由时,下一跳必定改变为自己,同时ASBR2重新为VPN分配标签,ASBR1向PE1传递VPN路由信息时,分两种情况考虑,一是ASBR1向PE1传递VPN路由信息时,下一跳改变为自己,一是ASBR1向PE1传递私网路由信息时,下一跳不改变,也就是下一跳仍然为ASBR2。
在改变路由下一跳为ASBR1的情况下,ASBR1重新为VPN分配标签,VPN从PE1到达PE2的路径为PE1→ASBR1→ASBR2→PE2,在AS1内,构建PE1到ASBR1的双层LSP隧道,内层为VPN标签(ASBR1分配的),外层为PE1到ASBR1的公网隧道,在ASBR之间构建单层LSP隧道,只携带VPN标签(ASBR2分配的),在AS2内构建双层LSP隧道,内层为VPN标签,PE2分配的,外层为ASBR2到PE2的公网隧道。在两个ASBR处由于VPN标签都重新分配,所以最底层的标签在两个ASBR处都会有SWAP操作,也正是通过VPN标签的SWAP,把两个AS的VPN隧道连接起来。
如果不改变VPN路由的下一跳,那么PE1接收的VPN路由的下一跳就是AS2域内的ASBR2,则VPN从PE1到PE2的路径为PE1→ASBR2→PE2,那么就需要构建一条从PE1一直到ASBR2的双层LSP隧道,内层为VPN标签(ASBR2分配的),外层为PE1到ASBR2的公网隧道,ASBR2到PE2也构建双层LSP隧道,内层为VPN标签(PE2分配的),外层为ASBR2到PE2的公网隧道。在这种情况下,ASBR2和ASBR1之间需要运行某种标签分发协议,目的是分发ASBR2的公网标签,另外,在ASBR2处LSP的内外层标签都会进行SWAP操作,从而把两条LSP粘结成一个端到端的LSP隧道。
特点
ASBR需要处理VPN信息,但不需要配置VRF实例
ASBR之间一条链路传递所有VPN信息
根据不同的情况,ASBR之间构建单层或双层LSP隧道
当VPN业务发展到一定阶段,ASBR之间的链路受限时,可以考虑OPTIONB跨域方法
3.3OPTIONC跨域实现方法
OPTIONC跨域也叫多跳MP-EBGP跨域,由于BGP只要能建立TCP连接,就能成为BGP邻居并传递路由信息,因此,OPTIONC通过多跳的MP-EBGP直接在源、宿端PE之间传递VPN路由信息,然后在源、宿端PE之间构建LSP公网隧道。
VPN信息传递
OPTIONC跨域时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位于同一个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业务大规模发展时,可以使用OPTIONC跨域方法
3.4OPTIONA/B/C跨域方法对比
项目
方法
OPTIONA
OPTIONB
OPTIONC
备注
ASBRVPN感知
需要处理VPN信息,并配置VRF
需要处理VPN信息,不配置VRF
不感知VPN信息
ASBR负载
处理所有VPN信息,负载重
处理所有VPN信息,负载重
不处理VPN信息,负载轻
链路
MPLS VPN跨域实现方法及特点



