MPLS VPN跨域实现方法及特点

安全
随着ALLIP趋势的明朗,运营商建设统一的IP承载网已经势在必行,各种业务承载在一张IP网络上,为了保证不同业务的QOS水平,业务之间的有效隔离成为大家关注的一个焦点,下面我们给大家介绍一下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信息,负载轻

链路

每个VPN在ASBR之间占用一个链路

一个链路

一个链路

跨域VPN传递

ASBR通过IGP传递VPN

ASBR之间通过MP-EBGP传递VPN信息

源、宿端PE直接通过MP-EBGP传递

对接

对接简单,ASBR互为PE、CE设备,IP对接

当MP-IBGP不改变下一跳为自己时,ASBR之间需要运行LDP

ASBR之间需要运行BGP扩展来传递公网标签

除宿端AS外的其他AS内也要运行BGP扩展来传送公网标签

隧道

AS内部建立双层LSP,ASBR之间IP转发

ASBR之间单层或ASBR到上游PE之间建立双层LSP

宿端AS、ASBR之间建立双层LSP,其他AS建立三层LSP隧道

1、维护

2、简单

3、复杂

4、场景

VPN数量少,业务开展早期

VPN数量始终,ASBR之间链路受限,业务开展中期

VPN数量大,业务大量开展时期

4.L2VPN跨域

L2VPN跨域理念和MPLS/BGP跨域理念类似,但L2VPN有一些自己不同的实现方法,下面主要就L2VPN跨域和MPLS/BGP跨域的不同点进行说明。

4.1传递VPN信息的协议不同

我们知道,目前L2VPN的实现主要包括两种方式,即MARTINI和KOMPELLA,MARTINI通过扩展的远程LDP会话传送L2VPN信息,KOMPELLA通过扩展的MP-BGP来传递VPN信息。

4.2传递VPN信息的内容不同

L3VPN传递IP路由和VPN对应的标签,L2VPN不包括IP路由信息,它传递的主要是二层相关的信息,如MARTINIL2VPN传递VCID、二层接口信息以及对应的标签,KOMPELLAL2VPN传递CEID及标签块信息。

注:KOMPELLAL2VPN通过分配标签块,可以自动和新的CE站点建立连接,方便日后扩容,而且,通过BGP特有的RR,可以有效减少连接数目,适合较为复杂的拓扑,MARTINIL2VPN所有的连接需要手工配置,不支持自动发现站点功能,有FULLMESH的限制,适合于较为简单的网络拓扑。

4.3支持VPN跨域的方法

两种L2VPN跨域都可以支持OPTIONA/C,但鉴于OPTIONB跨域逐段传递VPN信息的特点,KOMPELLAL2VPN天然可以支持,但MARTINIL2VPN不适合采用OPTIONB跨域。

4.4L2VPN采用OPTIONB跨域的特点

KOMPELLAL2VPN采用分配标签块的方法,和L3VPN在ASBR形成单个的标签SWAP表项有所不同,参考上面OPTIONB跨域说明,PE2为CE2分配一个标签块,假设包括10个标签,用于和10个其他CE建立连接,标签块到达ASBR2时,ASBR2会重新分配一个范围为10的标签块给ASBR1,这样,在ASBR2处就会形成一个标签SWAP表,假设形成10个连接,就会包括10个SWAP表项,CE2和CE1的连接会对应SWAP的第一个表项,依次类推,按照CEID的不同,最终通过ASBR2的所有连接都会对应一个SWAP表项。

4.5VPLS跨域

VPLS可以看作L2VPN的特例,实现方法也主要包括MARTINI和KOMPELLA两种,也有OPTIONA/B/C三种跨域方法(注意MARTINI和KOMPELLA支持跨域方法的不同),研究VPLS跨域时,不需要考虑VSI实例的学习转发功能,只需要考虑PE和PE之间PW的建立,此时就和L2VPN的跨域理念和实现方法一模一样。

4.6L2VPN跨域和MPLS/BGP跨域的比较

【编辑推荐】

  1. 嵌入式网络SSL VPN安全技术的研究
  2. MPLS VPN 技术中的CE、PE、P的含义
  3. 网康VPN随时随地访问私有云应用
  4. ADSL MPLS VPN与ADSL IP VPN 大比拼
责任编辑:于爽 来源: hi.baidu.com
相关推荐

2011-11-01 14:17:11

2013-07-11 10:08:05

2020-12-20 18:00:04

跨域请求开发CORS

2011-11-07 09:52:25

MPLS-VPN

2011-11-07 10:49:16

IPsec VPNMPLS VPN

2012-02-06 09:53:46

MPLS VPN

2009-12-30 10:01:17

MPLSVPN网络

2011-07-25 12:53:34

MPLS VPNCisco

2009-12-28 14:21:44

2021-04-27 15:20:41

人工智能机器学习技术

2017-05-25 09:45:35

2021-06-15 07:32:59

Cookie和Sess实现跨域

2011-11-08 09:16:40

2010-02-22 11:00:05

CCIE

2018-12-12 15:50:13

2014-08-19 10:36:02

AngularCORS

2011-11-07 15:52:05

2011-08-25 16:20:18

MPLS VPN故障热备份

2011-11-07 13:30:19

2011-07-05 10:48:41

javascript
点赞
收藏

51CTO技术栈公众号