最 新 日 志
最 新 评 论
我 的 圈 子
博 客 统 计
友 情 链 接

   华为MPLS VPN技术教程
BGP/MPLS VPN概述

传统VPN使用第二层隧道协议(L2TPL2FPPTP等)或者第三层隧道技术(IPSecGRE等),获得了很大成功,被广泛应用。但是,随着VPN范围的扩大,传统VPN在可扩展性和可管理性等方面的缺陷越来越突出。

通过MPLSMultiprotocol Label Switching,多协议标签交换)技术可以非常容易地实现基于IP技术的VPN业务,而且可以满足VPN可扩展性和管理的需求。利用MPLS构造的VPN,通过配置,可将单一接入点形成多种VPN,每种VPN代表不同的业务,使网络能以灵活方式传送不同类型的业务。

VRP目前提供比较完全的BGP/MPLS VPN组网能力:

l              地址隔离,允许不同VPN之间和VPN与公网之间的地址重叠。

l              支持MP-BGP协议穿越公网发布VPN的路由消息,构建BGP/MPLS VPN

l              通过MPLS LSP转发VPN的数据流。

l              提供了MPLS VPN的性能监视和故障检测工具。

3.1.1  BGP/MPLS VPN模型

1. BGP/MPLS VPN模型

图3-1 MPLS VPN模型

如上图所示,MPLS VPN模型中,包含三个组成部分:CEPEP

l              CECustomer Edge)设备:是用户网络边缘设备,有接口直接与服务提供商相连,可以是路由器或是交换机等。CE“感知”不到VPN的存在。

l              PEProvider Edge)路由器:即运营商边缘路由器,是运营商网络的边缘设备,与用户的CE直接相连。MPLS网络中,对VPN的所有处理都发生在PE路由器上。

l              PProvider)路由器:运营商网络中的骨干路由器,不和CE直接相连。P路由器需要支持MPLS能力。

CEPE的划分主要是从运营商与用户的管理范围来划分的,CEPE是两者管理范围的边界。

2. BGP/MPLS VPN中的基本概念

(1)        vpn-instance

vpn-instanceMPLS VPN中实现VPN路由的重要概念。在MPLS VPN的实现中,每个SitePE上对应一个专门的vpn–instancevpn –instance通过与接口绑定实现与Site的关联)。如果一个Site中的用户同时属于多个VPN,则该Site对应的vpn-instance中将包括所有这些VPN的信息。

具体来说,vpn-instance的信息中包括:标签转发表、IP路由表、与vpn-instance绑定的接口以及vpn-instance的管理信息(包括RD、路由过滤策略VPN Target、成员接口列表等)。可以认为,它综合了该SiteVPN成员关系和路由规则。

PE负责更新和维护vpn-instanceVPN的关联关系。为了避免数据泄漏出VPN之外,同时防止VPN之外的数据进入,在PE上,每个vpn-instance有一套相对独立的路由表和标签转发表,报文转发信息存储在该vpn-instanceIP路由表和标签转发表中。

(2)        MP-BGP

MP-BGPmultiprotocol extensions for BGP-4,请参见RFC2283)在PE路由器之间传播VPN组成信息和路由。MP-BGP向下兼容,既可以支持传统的IPv4地址族,又可以支持其他地址族(比如VPN-IPv4地址族)。使用MP-BGP确保VPN的私网路由只在VPN内发布,并实现MPLS VPN成员间的通信。

(3)        VPN-IPv4地址族

由于VPN网络是一个私用网络,不同的Site可以使用相同的IP地址来表示。而PE路由器之间使用MP-IBGP来发布与之相连的CE的路由时,是假定IP地址是全球唯一的,二者之间不同的含义会导致路由错误。为了解决这个问题,在发布路由之前MP-BGP需要实现IPv4地址到VPN-IPv4地址族的转换,使之成为全球唯一的地址(故PE路由器需要支持MP-BGP)。

一个VPN-IPv4地址有12个字节,开始是8字节的RDRoute Distinguisher,路由识别符),下面是4字节的IPv4地址。服务供应商可以独立地分配RD,但是,需要把他们专用的ASAutonomous System—自治系统)号作为RD的一部分。通过这样的处理以后,即使VPN-IPv4地址中包含的4字节IPv4地址重叠,VPN-IPv4地址仍可以保持全局唯一。RD纯粹是为了区别不同的路由,仅在运营商网络内部使用,RD为零的VPN-IPv4地址相当于普通的IPv4地址。

PECE接收的路由是IPv4路由,需要引入vpn-instance路由表中,此时需要附加一个RD。在我们的实现中,为来自于同一个用户Site的所有路由设置相同的RD

3. VPN Target属性

VPN Target属性是MP-BGP扩展团体属性之一,主要用来限制VPN路由信息发布。它标识了可以使用某路由的Site的集合,即该路由可以被哪些Site所接收,通过它,可以明确每一个PE路由器可以接收哪些Site传送来的路由。与VPN Target中指明的Site相连的PE路由器,都会接收到具有这种属性的路由。

PE路由器存在两个VPN Target属性集合:一个集合称为Export Targets,在发布本地路由到远端PE路由器时,附加到从某个直连的Site上接收到的路由上;另一个集合称为Import Targets,在接收远端PE发布的路由时,决定哪些路由可以引入此SiteVPN路由表中。

当通过匹配路由所携带的VPN Target属性来过滤PE路由器接收的路由信息时,如果Export VPN Target集合与Import VPN Target集合存在相同项,则该路由被安装到VPN路由表中,进而发布给相连的CE;如果Export VPN Target集合与Import VPN Target集合没有相同项,则该路由被拒绝。

 BGP/MPLS VPN的实现

BGP/MPLS VPN的主要原理是:利用BGP在运营商骨干网上传播VPN的私网路由信息,用MPLS来转发VPN业务流。

下面从VPN路由信息的发布和VPN报文转发两个方面介绍BGP/MPLS VPN的实现。

1. VPN路由信息发布

(1)        CEPE间的路由信息交换

PE可以通过静态路由、RIP(应支持多实例)、OSPF(应支持多实例)或EBGP学习到与它相连的CE的路由信息,并将此路由安装到VPN-instance中。

(2)        入口PE到出口PE的路由信息交换

入口PE路由器利用MP-IBGP穿越公网,把它从CE学习到的路由信息发布给出口PE(带着MPLS标签),同时,获得出口PE学习到的CE路由信息。

PE之间通过IGP(如RIPOSPF)来保证VPN内部节点之间的连通性,故应在所有互联接口及loopback接口上运行IGP

(3)        PE之间的LSP建立

为了使用MPLS LSP转发VPN的数据流量,一定在PE之间建立公网LSP。从CE接收报文并建立私网标签栈的PE路由器是ingress LSRBGP的下一跳(即出口PE路由器)是engress LSR。可以使用LDP建立尽力转发的LSP,也可以使用RSVP建立支持特定QoSLSP或基于流量工程的LSP。使用LDP建立LSP将在PE之间形成全连接的LSP,本章只讨论这种情况。

(4)        PECE间的路由信息交换

CE可以通过静态路由、RIPOSPF、或EBGP,从相连的PE上学习远端的VPN路由。

经过以上的步骤,CE之间将建立可达的路由,完成VPN私网路由信息在公网上的传播。

2. VPN报文的转发

VPN报文在入口PE路由器上形成两层标签栈:

内层标签,也称MPLS标签,是由出口PE向入口PE发布路由时分配的(安装在VPN转发表中),在标签栈中处于栈底位置。当从公网上发来的VPN报文到达出口PE时,根据标签查找MPLS转发表就可以从指定的接口将报文发送到指定的CE或者Site

外层标签,也称LSP的初始化标签,指示了从入口PE到出口PE的一条LSP,在标签栈中处于栈顶位置。VPN报文利用这层标签的交换,就可以沿着LSP到达对端PE

以下图为例:

图3-3 VPN报文转发示意图

(1)        Site1发出一个目的地址为1.1.1.2IPv4报文到达CE1CE1查找IP路由表,根据匹配的表项将IPv4报文发送至PE1

(2)        PE1根据报文到达的接口及目的地址查找VPN-instance表项,获得内层标签、外层标签、BGP下一跳(PE2)、输出接口等。进行标签封装后,PE1通过输出接口转发MPLS报文到LSP上的第一个P

(3)        LSP上的每一个P路由器利用交换报文的外层标签转发MPLS报文,直到报文传送到倒数第二跳路由器,即到PE2前的P路由器。倒数第二跳路由器将外层标签弹出,并转发MPLS报文到PE2

(4)        PE2根据内层标签和目的地址查找VPN转发表,确定标签操作和报文的出接口,最终弹出内层标签并由出接口转发IPv4报文至CE2

(5)        CE2查找路由表,根据正常的IPv4报文转发过程将报文传送到Site2

3.1.3  HoVPN

1. 为什么需要HoVPN

(1)        分层模型与平面模型

BGP/MPLS VPN解决方案中,PE设备最为关键,它完成两方面的功能:首先是为用户提供接入功能,这需要PE具有大量接口;然后是管理和发布VPN路由,处理用户报文,这需要PE设备具有大容量内存和高转发能力。

目前的网络设计大多采用经典的分层结构,例如,城域网的典型结构是三层模型:核心层、汇聚层、接入层。从核心层到接入层,对设备的性能要求依次下降,网络的规模则依次扩大。

BGP/MPLS VPN是一种平面模型,对网络中所有PE设备的性能要求相同,当网络中某些PE在性能和可扩展性方面存在问题时,整个网络的性能和可扩展性将受到影响。

由于BGP/MPLS VPN的平面模型与典型的分层网络模型不相符,在每一个层次上部署PE都会遇到扩展性问题,不利于大规模部署VPN

(2)        HoVPN

为解决可扩展性问题,BGP/MPLS VPN必然要从平面模型转变为分层模型。

MPLS L3VPN领域,华为公司提出了分层VPNHierarchy of VPN,简称HoVPN)解决方案,将PE的功能分布到多个PE设备上,多个PE承担不同的角色,并形成层次结构,共同完成一个PE的功能。

HoVPN对处于较高层次的设备的路由能力和转发性能要求较高,而对处于较低层次的设备的相应要求也较低,符合典型的分层网络模型。

2. HoVPN的实现

(1)        HoVPN的基本结构

图3-4 HoVPN的基本结构

在上图中,直接连结用户的设备称为下层PEUnderlayer PE)或用户侧PEUser-end PE),简写为UPE;连结UPE并位于网络内部的设备称为上层PESuperstratum PE)或运营商侧PESevice Provider-end PE),简写为SPE

多个UPESPE构成分层式PE,共同完成传统上一个PE的功能。

&  说明:

HoVPNPE的功能分层实现,因此,这种解决方案有时也被称为分层PEHierarchy of VPNHoPE)。

 

SPEUPE的分工是:

l              UPE主要完成用户接入功能。UPE维护其直接相连的VPN Site的路由,但不维护VPN中其它远程Site的路由或仅维护它们的聚合路由;UPE为其直接相连的Site的路由分配内层标签,并通过MP-BGPVPN路由发布此标签给SPE

l              SPE主要完成VPN路由的管理和发布。SPE维护其通过UPE连接的VPN所有路由,包括本地和远程Site的路由,但SPE不发布远程Site的路由给UPE,只发布VPN实例的缺省路由或聚合路由给UPE,并携带标签。

由于分工的不同,对SPEUPE的要求也不同:SPE的路由表容量大,转发性能强,但接口资源较少;UPE的路由容量和转发性能较低,但接入能力强。HoVPN充分利用了SPE的性能和UPE的接入能力。

需要说明的是,SPEUPE是相对的概念。在多个层次的PE结构中,上层PE相对于下层就是SPE,下层PE相对于上层就是UPE

分层式PE从外部来看同传统上的PE没有区别,可以同普通PE共存于一个MPLS网络。

(2)        SPEUPE

SPEUPE之间运行MP-BGP,可以是MP-IBGP,也可以是MP-EBGP,这取决于UPESPE是否属于同一个AS

采用MP-IBGP时,为了在IBGP对等体之间通告路由,SPE将作为路由反射器,把来自IBGP对等体UPEVPN路由发布给IBGP对等体SPE,但SPE不作为其它PE的路由反射器。

(3)        HoVPN的嵌套与扩展

HoVPN支持分层式PE的嵌套:

l              一个分层式PE可以作为UPE,同另一个SPE组成新的分层式PE

l              一个分层式PE可以作为SPE,同多个UPE组成新的分层式PE

l              以上这种嵌套可以多次进行。

通过分层式PE的嵌套,在理论上可以将VPN无限扩展与延伸。

图3-5 分层式PE的嵌套

上图是一个三层的分层式PE,称中间的PEMPEMiddle-level PE)。SPEMPE之间,以及MPEUPE之间,均运行MP-BGP

&  说明:

MPE”这种说法只是为了表述方便,在HoVPN模型中并没有MPE的概念。

 

MP-BGP为上层PE发布下层PE上的所有VPN路由,但只为下层PE发布上层PEVPN实例缺省路由。

SPE维护了这个分层式PE接入的所有SiteVPN路由,路由数目最多;UPE只维护它所直接连接的SiteVPN路由,路由数目最少;MPE的路由数目介于SPEUPE之间。

 


Raistlin 发表于 2007-2-11 19:45:00


阅读全文() | 回复(0) | 引用通告() | 编辑 | 推荐

发表评论:

    昵称:
    密码: (游客无须输入密码)
    主页:
    标题:

Powered by Chinaitlab.com