频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

MPLS VPN技术白皮书

来源:华为 3Com 作者: 出处:巧巧读书 2005-08-22 进入讨论组

 

1.MPLS VPN综述

1.1.  概述

MPLS(Multiprotocol Label Switching,多协议标记交换)是从90年代中期起新兴的多层交换技术的标准化和最新进展,最初提出MPLS技术的初衷是为了加快IP转发速度。简单回顾一下MPLS的发展过程: 1996年,Ipsilon公司推出了IP Switching协议,IP Switching 的基本目的是采用弃用ATM控制平面的方法来高效地集成ATM交换机和IP路由器,从而具有ATM交换机的高性能,突破了传统路由器的性能限制。IP Switching在数据通讯界立即引起具大震动。并由此引发了路由技术的一次革命,各公司纷纷推出自己的三层交换方案,如Cisco公司推出Tag Switching技术,IBM公司推出ARIS(Aggregate Route-based IP Switch)技术等。1997年,IETF成立一个工作组,经过多次商讨。MPLS(Multiprotocol Label Switching)这个术语被确实下去,作为独立于厂商的一系列标准的名称。

虽然MPLS最初是动机是提高路由交换设备的转发速度,随着硬件技术及网络处理器技术的不断发展,目前的GSR及高性能三层交换设备都已经能够做到线速转发,MPLS的这一优势已经不存在。但由于MPLS将2层交换和3层路由技术结合起来的固有优势,在解决VPN(虚拟专用网)、CoS(服务分类)和流量工程(Traffic Engineering) 这些IP网络的重大问题时具有很优异的表现,MPLS技术获得了越来越多的注意力。MPLS应用也逐步转向MPLS流量工程和MPLS VPN等。在IP网中,MPLS流量工程技术成为一种主要的管理网络流量、减少拥塞、一定程度上保证IP网络的QoS的重要工具。在解决企业互连,提供各种新业务方面,MPLS VPN也越来越被运营商看好,成为在IP网络运营商提供增值业务的重要手段!MPLS正日益成为IP骨干网落的主流技术。

MPLS VPN是一种基于MPLS技术的IP-VPN,是在网络路由和交换设备上应用MPLS技术,简化核心路由器的路由选择方式,利用结合传统路由技术的标记交换实现的IP虚拟专用网络(IP VPN),可用来构造宽带的Intranet、Extranet,满足多种灵活的业务需求。采用MPLS VPN技术可以把现有的IP网络分解成逻辑上隔离的网络,这种逻辑上隔离的网络的应用可以是千变万化的:可以是用在解决企业互连、政府相同/不同部门的互连、也可以时用来提供新的业务---如为IP电话业务专门开辟一个VPN、以此解决IP网络地址不足和QoS的问题,也可以为用MPLS VPN为IPv6提供开展业务的可能。

1.2.  相关标准

目前,在基本MPLS信令,L3 MPLS VPN,QoS方面逐渐形成标准。

L2 MPLS VPN近段时间发展迅速,技术不断发展成熟,虽然标准都处于草案阶段,但由于多厂家支持,逐渐形成一些事实上标准。

VPLS的标准百家争鸣,还没有主导的标准。

其它方面应用,例如MPLS流量工程,L3 MPLS VPN中组播,技术还不成熟,形成的草案在变化。

MPLS主要标准

RFC 3031 (MPLS总体结构)

RFC3034   (帧中继网络上MPLS)

RFC 3035  (ATM网络上MPLS)

RFC 3036  (LDP)

L3 MPLS VPN 标准情况

draft-ietf-ppvpn-rfc2547bis

主流L2 MPLS VPN 标准情况

Martini方式:draft-martini-l2circuit-trans-mpls

Kompella方式:draft-kompella-ppvpn-l2vpn

L2 MPLS VPN封装: draft-martini-l2circuit-encap-mpls

1.2.1.BGP/MPLS VPN

MPLS/BGP VPN的模型中,网络由运营商的骨干网与用户的各个Site组成,所谓VPN就是对site集合的划分,一个VPN就对应一个由若干site组成的集合。但是必须遵循如下规则:两个Site之间只有至少同时属于一个VPN定义的Site集合,才具有IP连通性。

基于BGP扩展实现的L3 MPLS VPN所包含的基本组件:

PE:Provider Edge Router,骨干网边缘路由器,存储VRF(Virtual Routing Forwarding Instance),处理VPN-IPv4路由,是MPLS三层VPN的主要实现者。

CE:Custom Edge Router,用户网边缘路由器,分布用户网络路由。

P router: Provider Router,骨干网核心路由器,负责MPLS转发。

 VPN用户站点(site):是VPN中的一个孤立的IP网络,一般来说,不通过骨干网不具有连通性,公司总部、分支机构都是site的具体例子。CE路由器通常是VPN Site中的一个路由器或交换设备,Site通过一个单独的物理端口或逻辑端口(通常是VLAN端口)连接到PE设备上。

用户接入MPLS VPN的方式是每个site提供一个或多个CE,同骨干网的PE连接。在PE上为这个site配置VRF,将连结PE-CE的物理接口、逻辑接口、甚至L2TP/IPSec隧道绑定的VRF上,但不可以是多跳的3层连接。

 BGP扩展实现的MPLS VPN扩展的了BGP NLRI中的IPv4地址,在其前增加了一个8字节的RD(Route Distinguisher)。RD时用来标识VPN的成员---即Site的。VPN的成员关系是通过路由所携带的route target属性来获得的,每个VRF配置了一些策略,规定一个VPN可以接收哪些Site来的路由信息,可以向外发布哪些Site的路由信息。 每个PE根据BGP扩展发布的信息进行路由计算,生成每个相关VPN的路由表。

PE-CE之间要交换路由信息一般是通过静态路由,也可以通过RIPOSPF、BGP、IS-IS等。PE-CE之间采用静态路由的好处是可以减少CE设备可能会因为管理不善等原因造成对骨干网BGP路由产生震荡,影响骨干网的稳定性。

PE与PE之间需要运行iBGP协议,存在可扩展性问题,但采用路由反射器RR可以显著地减少IBGP连接的数量。

MPLS/BGP VPN提供了灵活的地址管理。由于采用了单独的路由表,允许每个VPN使用单独的地址空间中,称为VPN-IPv4地址空间,RD加上IPv4地址就构成了VPN-IPv4地址。很多采用私有地址的用户不必再进行地址转换NAT。NAT只有在两个有冲突地址的用户需要建立Extranet进行通信时才需要。

MPLS/BGP VPN中,属于同一的VPN的两个site之间转发报文使用两层标签来解决,在入口PE上为报文打上两层标签,第一层(外层)标签在骨干网内部进行交换,代表了从PE到对端PE的一条隧道,VPN报文打上这层标签,就可以沿着LSP到达对端PE,这时候就需要使用第二层(内层)标签,这层标签指示了报文应该到达哪个site,或者更具体一些,到达哪一个CE,这样,根据内层标签,就可以找到转发的接口。可以认为,内层标签代表了通过骨干网相连的两个CE之间的一个隧道。

L3 MPLS VPN通过和Internet路由之间配置一些静态路由的方式,可以实现VPN的Internet上网服务,还可以为跨不同地域的、属于同一个AS但是没有自己的骨干网的运营商提供VPN互连,即提供“运营商的运营商”模式的VPN网络互连。(MPLS VPN访问Internet及Carrier's Carrier解决方案将在后面章节详细描述)

MPLS/MBGP VPN可以简化对用户端设备的需求和用户管理、维护Intranet/Extranet的复杂性,每个CE仅需要维持一个到PE的路由交换协议,CE间的路由交换、传输控制、路由策略由运营商根据VPN用户的需求来实施。由于BGP的策略控制能力很强,随之而来的是VPN用户路由策略控制的灵活性。

1.2.2.MPLS L2 VPN

MPLS L2VPN提供基于MPLS网络的二层VPN服务。使用基于MPLS的L2VPN解决方案,运营商可以在统一的MPLS网络上提供不同基于媒介的二层VPN服务,包括ATM、FR、VLAN、Ethernet、PPP等。同时,这个MPLS网络仍然可以提供通常的IP、三层VPN、流量工程和QOS等其他服务,极大地节省网络建设的投资。

简单来说,MPLS L2VPN就是在MPLS网络上透明传递用户的二层数据。从用户的角度来看,这个MPLS网络就是一个二层的交换网络,通过这个网络,可以在不同站点之间建立二层的连接。以ATM为例,每一个用户边缘设备(CE)配置一个ATM虚电路,通过MPLS网络与远端的另一个CE设备相连,与通过ATM网络实现互联是完全一样的。

对于MPLS二层VPN,网络运营商负责提供给二层VPN用户提供二层的连通性,不需要参与VPN用户的路由计算。在提供全连接的二层VPN时,和传统的二层VPN一样( 如ATM PVC提供的VPN),存在N方问题,每个VPN的CE到其它的CE都需要在CE与PE之间分配一条连接。对于PE设备来说。在一个VPN有N个Site的时候,CE-PE必需有需要N-1个物理或逻辑端口连接。

MPLS L2VPN中,CE、PE、P的概念与BGP/MPLS VPN一样,原理也很相似:它也是利用标记栈来实现用户报文在MPLS网络中的透明传送:外层标记(称为tunnel标记)用于将报文从一个PE传递到另一个PE,内层标记(在MPLS L2VPN中,称为VC标记)用于区分不同的VPN中的不同连接,接收方的PE根据VC标记决定将报文传递给哪个CE。转发过程中,报文的标记栈变化如下图所示:

由于MPLS l2VPN中,PE设备不参与用户的路由处理,因此它的可扩展性比L3VPN要好得多,MPLS L2VPN的可扩展性只与PE能连接的VPN用户数目相关。但是,作为代价,L2VPN的灵活性要差一些,无法实现Extranet。

当前MPLS L2VPN还没有形成正式的标准。IETF的PPVPN(Provider-provisioned Virtual Private Network)工作组制订了多个框架草案,其中最主要的两种称为Martini草案和Kompella草案。Martini草案是通过LDP扩展实现MPLS L2VPN的,而Kompella草案则是是通过MP-BGP扩展实现的,两者草案分别是:

draft-martini-l2circuit-trans-mpls

draft-kompella-ppvpn-l2vpn

两种二层VPN采用的封装协议都是:

Draft-martini-l2circuit-encap-mpls

1.2.2.1.Martini方式

Martini草案定义了通过建立点到点的链路来实现L2VPN的方法。它以LDP为信令协议来传递双方的VC标记,因此这种方式又被称为LDP方式的L2VPN。

LDP扩展实现的二层VPN只需要对LDP进行简单扩展,实现简单。LDP扩展实现的二层VPN可以承载ATM、帧中继、以太网/VLAN、PPP等,但这种实现要求VPN的每一个Site的链路层协议是相同的,即只有当所有Site都是Eithernet或ATM等的时候才可以共同组成一个二层VPN。相对于BGP扩展它的缺点是只能建立点到点的VPN二层连接,没有VPN的自动发现机制。

LDP方式的L2VPN着重于解决“怎么在两个CE之间建立VC(Virtual Circuit)”的问题。它采用VC-TYPE + VC-ID来识别一个VC。VC-TYPE表明这个VC的类型是ATM、VLAN还是PPP;VC-ID则用于唯一标志一个VC。同一个VC-TYPE的所有VC中,其VC-ID必须在整个SP网络中唯一。连接两个CE的PE通过LDP交换VC标记,并通过VC-ID将对应的CE绑定起来。

当连接两个PE的LSP建立成功,双方的标记交换和绑定完成后,一个VC就建立起来了,两个CE就可以通过这个VC传递二层数据。

为了在PE之间交换VC标记,Martini草案对LDP进行了扩展,增加了VC FEC的FEC类型。此外,由于交换VC标记的两个PE可能不是直接相连的,所以LDP必须使用remote peer来建立session,并在这个session上传递VC FEC和VC标记。

1.2.2.2.Kompella方式

Kompella草案则定义了怎样在MPLS网络上以端到端(CE到CE)的方式建立L2VPN。目前它采用BGP为信令协议来散发二层可达信息和VC标记,因此这种方式又被称为BGP方式的L2VPN。

通过MP-BGP扩展实现的二层VPN, 顾名思义需要有BGP扩展的支持, MPLS信令也是必须的。当链路层承载的都是IP时,容许使用不同的链路层协议的Site组成同一个VPN。

LDP方式的L2VPN不同,BGP方式的L2VPN不是直接对CE与CE之间的连接进行操作,而是在整个SP网络中划分不同的VPN,在VPN内部对CE进行编号。要建立两个CE之间的连接时,只需在PE上设置本地CE和远程CE的CE ID,并指定本地CE为这个连接分配的Circuit ID(例如ATM的VPI/VCI)。有VPN拓扑的概念,通过BGP进行自动拓扑发现,适用于全连接网络(相对LDP方式),当然也适应于半网状或星型网络。

BGP/MPLS VPN相同,BGP方式的L2VPN也使用route target来区分不同的VPN,这使得VPN组网具备了极大的灵活性。Kompella方式的MPLS L2VPN也存在跨域的问题,解决方法同MPLS L3VPN。

在标记分配方面,BGP方式L2VPN采取标记块的方式,一次为多个连接分配标记。用户可以指定一个本地CE的范围(CE range),CE range表明这个CE能与多少个CE建立连接。系统会一次为这个CE分配一个标记块,标记块的大小等于CE range。这种方式允许用户为VPN分配一些额外的标记,留待以后使用。这样会造成标记资源的浪费,但是同时带来一个很大的好处:减少VPN部署和扩容时的配置工作量。

假设一个企业的VPN包括10个CE,但是考虑到企业会扩展业务,将来可能会有20个CE。这样可以把每个CE的CE range设置为20,系统会预先为未来的10个CE分配标记。以后VPN添加CE节点时,配置的修改仅限于与新CE直接相连的PE,其他PE不需要作任何修改。这使得VPN的扩容变得非常简单。

1.2.2.3.CCC

CCC是Circuit Cross Connect(电路交叉连接)的缩写,是通过静态配置来实现L2VPN的一种方式。与普通的MPLS L2VPN不同的是,CCC采用一层标记来传送用户数据,因此它对LSP的使用是独占性的,用户必须单独为每一个CCC连接手工配置两条LSP(两个方向各一条),这两条LSP将只能用于传递这个CCC连接的数据,不能用于其他L2VPN连接,也不能用于BGP/MPLS VPN或承载普通的IP报文。

MPLS标记交换连接建立好了以后,理论上通过它可以承载任何的二层、三层数据报文。其中二层数据报文可以是:ATM、帧中继、以太网/VLAN、PPP等,三层可以是IPv4、IPv6、IPX等。实际上电路交叉连接就是在IP网上实现的一种ATM、帧中继、以太网/VLAN、或PPP在IP网络中点到点地透传的技术。电路交叉连接也可以用来粘和不同的LSP。

1.2.2.4.VPLS

VPLS(虚拟专用LAN网段,Virtual Private LAN Segments)是利用公共IP资源建立局域网的一种方法,类似于通过LANE在ATM网络上模拟局域网,VPLS在拓扑结构和网络运行上与VPRN相似,主要区别在于PE节点使用的是桥接技术而不是网络层转发。VPLS的组网是建立在MAC层转发上的,对网络层协议透明。

虽然Martini和Kompella方式的MPLS L2VPN都可以实现两个LAN网段跨MPLS网络的点到点互联,但是它们都只支持VLL(Virtual Leased Link)方式的LAN网段互联。而VPLS可以通过公共IP/MPLS网络将多个LAN/VLAN网段连在一起,从用户角度看,可以将整个公共IP/MPLS网络看成一个大L3 Switch。

由于目前VPLS实现没有明确的标准指导,各厂家的VPLS实现各不相同。同Martini方式的MPLS L2VPN一样,VPLS也可以利用LDP扩展作为信令,实现VC标记交换,同时VPLS要求PE节点支持MAC地址学习功能。

1.2.3.CE

CE是Custom Edge的缩写,它是VPN用户的一个节点,位于用户网络的边缘,它是一个普通的网络节点,不需要支持MPLS。

BGP/MPLS VPN中,CE可以是一个路由器、三层交换机甚至一个主机,方式是多种多样的,但一定是一个三层设备。一般来说,PE和CE之间在三层上相隔一跳,如果中间存在一个二层网络,如以太网、ATM网等,以太网交换机、ATM交换机都不应当被视为CE,特别的,如果L3被用作VLAN透传,也不应当被视为CE。   如果PE支持IP隧道方式接入或多角色主机,则CE只要与PE在IP上可达就可以了,这时它们之间可以相隔多跳。

一些厂商声称不需要CE,是一种误导,其实是说VPN用户可以采用运营商提供的设备接入PE,而不需要添加一个专门的设备。

L2 VPN中,CE可以是二层也可以三层设备。在PE设备上,CE是通过VLAN、PVC、PPP、HDLC等链路层信息来识别的,因此PE和CE可以是直接相连的,也可以相隔一个二层网络,但不可以相隔三层设备或网络。

VPLS中,由于PE要维护MAC地址表,如果CE是二层设备,VPN站点中的MAC地址都会泄漏到PE上,PE负担较重,因此建议CE采用三层设备。

1.3.  网管

1.3.1.简介

华为3Com的MPLS  VPN网管是iManager VPN Manager

参考TMN、TMF规范,VPN Manager提供的管理功能涉及到网络管理、业务管理、客户管理等领域。VPN Manager完成的主要功能是:

l         承接业务订单,生成业务请求并进行网络规划、部署、审计

l         维护网络数据,监视网络性能和故障

l         进行网络性能、故障的业务相关性分析,为业务保障提供原始数据

l         提供基于WEB的客户网络管理(CNM),为VPN客户提供对VPN的监控手段

下图描述了VPN Manager在运营系统中的位置。VPN Manager立足于管理MPLS VPN网络,实现客户管理、业务部署、性能监控和故障监控功能的无缝融合,是运营商开展MPLS VPN业务的管理工具

iManager N2100 VPN Manager可以为运营商提供端到端VPN业务管理解决方案。

VPN Manager解决了VPN业务管理中必须解决的以下问题:

l             直观的、可观察的业务规划

l             快速的、可调度的业务部署

l             已部署业务的发现

l             业务故障告警、检测

l             客户管理

l             全网资源管理

l             网络性能监控

l             多厂商设备的管理

l             大客户的增值业务管理

VPN Manager的功能覆盖了VPN业务的整个生命周期的管理,从业务规划、业务审计、业务部署到业务监控。利用VPN Manager管理VPN业务,可提高运营商的业务响应速度,降低网络维护、业务运营成本,增强市场竞争力。下图显示了VPN Manager的主界面。

1.3.2.网管主要功能特点

1.3.2.1.客户管理

VPN业务是面向客户的业务,为了掌握客户信息,更好的为客户服务,VPN Manager提供了丰富的客户管理功能。利用VPN Manager,可以维护客户的基本信息、查看客户所租用的VPN业务、VPN业务所占用的网络资源及其运行状况。VPN Manager还能够输出客户的业务租用报表、资源租用报表、性能数据报表、流量数据报表和故障数据报表等。运营商和客户都十分关心业务的运行状况,VPN Manager提供这些数据报表有利于双方了解业务运行状况,将大大提高运营商的客户满意度。

1.3.2.2.业务处理

VPN Manager提供向导方式的业务定义功能,相似的业务定义,可以利用模板进行拷贝创建,提高了配置效率。同时还提供按照时间策略进行部署的机制,可以灵活定制部署时间,避免在业务高峰期部署新业务对网络和原有业务的冲击。例如:部署时间可以设置在夜间??业务流量较少的时段,而管理者可在第二天工作时间查看业务部署的结果。

VPN Manager使用图形化、向导式的操作来完成VPN业务的规划,管理员只需要从资源库中选择接口,输入部分VPN参数,VPN Manager就可以利用系统现有数据自动填充或计算出相关值,然后生成“业务请求”。

VPN业务配置复杂,配置错误会引起路由震荡等网络问题,因此,必须在实际部署之前保证业务的正确性。VPN Manager根据业务请求可以生成两种网络拓扑图,供应商视图(表达网络物理连接)和客户视图(表达VPN连接),用于核查业务请求是否表达了预期的业务设想,避免业务部署错误,从而提高业务发放的效率。

为了保证客户业务的开通,对于已部署业务,VPN Manager提供了进行配置审计和连通审计。VPM Manager还可以用Highlight的方式将VPN站点间的LSP通道直观的显示在拓扑上。

对于先期在网络上部署的业务,VPN Manager可以进行业务发现。VPN Manager首先读入业务信息,分析出VPN的基本信息,在管理员的帮助之下,还原出存在于网络上的VPN业务信息。这样,不需要在网管上重新再次输入网络相关的配置参数,满足网络先期开通、网管后建设情况下的需求,一方面为管理员节省了时间,另一方面也避免了误操作对原有业务的影响。

1.3.2.3.业务保证

VPN Manager提供了有效的工具帮助管理员监控网络和业务,向客户提供有质量保证的VPN业务。

VPN Manager实时收集网络故障信息,当网元发生已影响或将会影响VPN业务的告警时,VPN Manager分析该网元告警会影响的业务和客户,及时向管理员发送业务告警,在客户的业务发生故障前能够实时提醒维护人员定位解决问题。VPN Manager在拓扑图中实时显示故障信息。告警功能与VPN业务拓扑视图的紧密结合,使网络运维人员在故障发生后可以快速定位网络故障。

VPN Manager还包括其它丰富的告警管理功能,包括告警级别重定义、告警知识库、告警保存、转储、通知、确认、过滤和报表等,并可按照用户的设置,完成告警转EMAIL、转手机等功能。

VPN Manager性能管理提供性能、流量数据的收集、显示、统计和报表功能。性能数据包括CE-PE间、PE-PE间和CE-CE间时延、抖动数据、流量数据等。通过对性能数据的分析,管理员可以更清楚地了解网络运行情况,有利于进行网络的规划和优化。VPN Manager可以针对VPN客户提供丰富的报表,向客户提供必要的业务性能报告。

1.3.2.4.CNM特性

对业务要求较高的客户,可能希望自己监视其租用网络的运行状况,甚至希望能够对其租用的端口进行一些配置。为此,VPN Manager提供CNM(Customer Network Management)特性,VPN客户可以通过WEB浏览器访问VPN Manager。VPN Manager根据其权限,可以提供如下功能中的部分或全部:

客户的VPN拓扑:显示该客户的客户视图,反映客户各站点之间的连通性

性能、流量统计报表:提供该客户租用业务的性能、流量数据报表业务故障监控:浏览该客户租用的VPN中发生的业务故障

CNM特性是为运营商一个很好的增值业务,既满足了高级客户的自助式管理需求,也为运营商增加了营业收入。

1.3.2.5.多厂商设备管理

随着MPLS技术的成熟和标准化,同一网络中选用多厂商设备成为可能;另一方面,MPLS VPN业务很可能就是基于现有网络资源开展的,而现有网络中多厂商设备并存是非常可能的。因此,VPN网管必须要解决多厂商设备共同管理的问题。VPN Manager在系统设计和架构上具有良好的可扩充性,可以通过开发不同厂商设备的驱动模块解决该问题。根据网络的实际状况,VPN Manager的设备驱动可以进行定制开发。可以管理华为3Com、Cisco等厂商的设备。

1.3.2.6.二层、三层VPN管理

 构建MPLS VPN可以采取多种方案。根据需要,可以采用二层VPN技术,也可以采用三层VPN技术。组网技术方案的多样性要求VPN Manager能够同时提供多种方案的管理能力。VPN Manager可同时管理二层VPN(包括业界比较流行的Martini、CCC、Kompella等形式)、三层VPN,方便了运营商“多种组网模式,单一集中网管”的需求,节约了网管成本,提高了工作效率。

 1.3.2.7.全网资源管理

VPN Manager提供资源管理器形式的全网资源管理,可以对全网资源的使用状况的进行快速浏览,有利于资源规划和合理配置。

1.3.2.8.与其他系统集成运行能力

VPN运营商在管理MPLS VPN业务的同时,还可能需要管理组成网络的各个网元设备。VPN Manager可以与华为3Com的iManager N2000网元管理系统集成运行,方便了管理者从网元层面、业务层面去管理网络,减少了运营商的网管硬件投资。

另外,VPNManager提供了CORBA、Qx等对外接口,支持网管的多厂商接入,可以统一集成到业界公共的网管平台。例如:VPN Manager提供与HP OpenView的集成能力。

2.重点技术方案

2.1 VPN访问Internet

l       企业内部访问控制方式:

这种方式在每个企业的VPN内部对INTETNET访问做NAT,防火墙处理,既将安全机制放在企业的统一出口处(CE2)。VPN内部的各site的访问INTERNET的数据流,必须首先到该VPN的某一site中(该site一般为公司的总部),在该site做NAT,FIREWALL处理后再走到公网中去。这种方式,只需要在客户端进行配置,对运营商一侧的网络没有配置要求,但对运营商来说无法实现对客户访问Internet的统一管理。

l       集中访问控制方式

在这种方式INTERNET访问控制放置在服务提供商的INTERNET出口处(PE),但为了解决各VPN中采用重叠的保留地址的问题,需要为每个VPN配置一个防火墙,各个VPN的用户通过属于各自的防火墙实现对Internet的访问;这种方法,需要运营商为每个VPN配置一个访问Internet的VPN,在客户端需要配置一条访问Internet VPN的缺省路由,这种方法需要运营商进行一定的配置,而且由于每个VPN都需要一个防火墙,如果VPN用户较多则需要大量投资,但采用这种方法,运营商可以对各VPN用户访问Internet进行有效的管理。

l       二级控制方式

在这种方式下,首先在企业内部做INTERNET访问控制,然后在服务提供商处再做一次统一的访问控制,即两级访问控制。这种方式的优点是即可以满足企业用户对自身进行访问控制的需求,同时运营商也能对用户访问Internet进行统一控制,并且不象第二钟方式那样需要增加太多的投资(因为对每个VPN都要有单独的Firewall设备来进行访问控制)。当然这种方式的缺陷也是显然的,一是配置复杂,二是效率低于前两种。

2.2 Extranet

Extranet即外联网,指在这个网络内,属于某一个管理者的用户站点,由于业务的需求要与多个属于其他管理者的用户站点进行有限制的连接。一个Extranet应用的例子是:一个设备制造商在Extranet内与器材供应商及用户进行有限制连接,以便订购元器件、了解供货情况、了解用户需求、向用户介绍情况等。有限制的连接主要指可以进行互访问的有关协作数据是限制的,并不是所有数据都可以放开互访。所以在构建Extranet时,管理者要解决的关键问题就是确定用户允许接入、允许访问的数据类型和内容。

利用MPLS VPN技术可以很好的实现Extranet,对于MPLS VPN来说,Extranet实际上就是指两个VPN可以共享部分site的网络资源,同时两个VPN的其他Site保持相互隔离。

实现过程: 对于共享的site,即Extranet部分,采用两套IP地址,一套作为VPN私网地址,另一套作为Extranet公共地址,在访问本VPN其他site时(非Extranet部分),使用私有地址,在访问Extranet 的site时,使用Extranet公共地址,在访问Extranet site时,要先对报文的源IP地址进行NAT转换,即将原来VPN私有地址空间的源IP地址转换为Extranet公有地址空间的IP地址。同时需要设置两个DNS服务器,一个用于VPN私网内部的访问,这个DNS Server作为主用,另一个作为Second DNS Server,用于完成VPN用户访问Extranet站点时的地址解析工作。根据进行NAT地址转换的位置不同,有两种实现方式:

(1) 集中式(也叫组合式)方案

NAT地址转换工作统一在一个设备(一般多为防火墙设备)上完成,这样,对于两个VPN,NAT设备都相当于是它的CE,这里我们可以称之为虚拟CE,每个虚拟CE与PE之间通过2个VLAN连接,同时在VLAN子接口上针对每个VPN配置相应的NAT策略及防火墙策略,NAT设备可以将两个VPN用户访问Extranet的报文的源IP地址转换为公有地址池中的地址。要将公有地址池的路由发布到Extranet的站点中。

(2) 分布式方案

NAT地址转换工作在各Extranet site的出口完成。

(3) 地址空间统一规划

上面通过两套IP地址实现VPN之间互通的方式比较复杂,对网络管理维护人员的要求较高。所以实际应用中应该尽量避免使用。

需互访的VPN的地址空间由ISP统一规划。Extranet部分的IP地址与两个VPN的地址空间均不重合,通过route target属性(import/export)控制PE间路由的扩散,将两个VPN的路由引入到Extranet上,同时在VPN的其他site上只引入本VPN及Extranet的路由,为了防止VPN的其他site上通过通过指向extranet site的缺省路由进行互访,在与extranet直接相连的PE上通过ACL对非法互访流量进行隔离。

这种方式适用于需共享的网络资源比较集中的情况。

说明:

由于实现复杂的Extranet将导致网络配置复杂,不易维护,有些实际项目中,可以通过网络规划手段和管理措施尽量避免或减少这种需求:在采用VPN的网络中,绝大多数流量是隔离的,真正需共享或互通的设备不应过多。可以将需要互通的网络设备(如一些机要主机)单独划分在一个VPN中,如政务网中,机要部门系统和政府机关系统分别属于不同的VPN中,但是在某些地区,本地区的一些机要主机和政府部门主机需要互通,而这些主机与本系统的其他主机之间很少互访,这时,可以将这些主机单独划分一个VPN,这部分主机及本系统其他主机之间的数据交互通过人工或其他方式进行。

2.3 VPLS

VPLS(虚拟专用LAN网段,Virtual Private LAN Segments)是利用公共IP资源建立局域网的一种方法,类似于通过LANE在ATM网络上模拟局域网,VPLS在拓扑结构和网络运行上与VPRN相似,主要区别在于PE节点使用的是桥接技术而不是网络层转发。VPLS的组网是建立在MAC层转发上的,对网络层协议透明。

虽然Martini和Kompella方式的MPLS L2VPN都可以实现两个LAN网段跨MPLS网络的点到点互联,但是它们都只支持VLL(Virtual Leased Link)方式的LAN网段互联。而VPLS可以通过公共IP/MPLS网络将多个LAN/VLAN网段连在一起,从用户角度看,可以将整个公共IP/MPLS网络看成一个大L2 Switch。由于目前VPLS实现没有明确的标准指导,各厂家的VPLS实现各不相同。同Martini方式的MPLS L2VPN一样,VPLS也可以利用LDP扩展作为信令,实现VC标记交换,同时VPLS要求PE节点支持MAC地址学习功能。

2.4 QoS

MPLS/BGP VPN应用中,在VPN网络内部可以对报文进行分类、着色,各种QoS处理。报文在骨干网PE间传送时,QoS属性被透传到对端PE,中间不会被修改。

另一方面,在骨干网上也可以对VPN用户的数据流进行QoS处理。使用MPLS报文标签头的EXP字段保存COS,在网络中按照既定的规则,将不同COS值的报文对应于不同的PHB,按照相应规则进行队列调度,报文丢弃等处理。这里COS的值在入口PE上被设定,设定方法有两种:一种是将VPN用户IP报文的优先级或DSCP值直接映射为MPLS报文的COS值;另一种方法是按照一定规则对用户报文重新进行分类,着色。无论使用哪种方法,设定的服务类型仅在骨干网内有效。

2.5 TE

IP不同,MPLS技术是面向连接的。通过设置LSP穿越的路径,用户可以很方便地管理穿越IP网络的业务,实现IP骨干网络的负载平衡,减轻网络拥塞,提高网络效率和服务质量。当网络中的路由器数量增多时,业务管理负担就变得非常沉重。使用MPLS流量工程,网络管理员只需要建立一些LSP,旁路拥塞节点,就可以消除网络拥塞。

使用RSVP-TE,将业务量特征(如带宽)和类型在路径上传送,保证每台路由器设置合适的带宽和服务类型。通过这种方式,可以建立有带宽保证的MPLS TE隧道,并可以方便的进行隧道维护,参数修改等处理。使用MPLS TE隧道,网络能够提供各种有保证的增值服务,如用作MPLS/BGP VPN的隧道、L2VPN的隧道,用于各种接入业务、互联业务。

MPLS TE隧道由于建立、使用灵活,成本低,还适用于一些特殊的场合。比如在一些应用中,用户需要仅在一段特定的时间内,在某两点间得到高可靠性的服务,这时使用MPLS TE是很好的选择。首先建立到达对端的MPLS TE隧道,然后通过配置静态路由或策略路由,将流量引入MPLS TE隧道,可以方便的提供保证服务。

2.6 跨AS

有三种方式,VRF-to-VRF方式、EBGP方式和Multi-Hop方式。

1) VRF-to-VRF方式

这种方式要求两个域的ASBR能够做PE。两个AS域各自运行自己的VPN。对于每一个需要跨域的VPN,需要在本端跨域的PE设备(ASBR)上配置对应于这个VPN的VRF,把对端的 PE设备(ASBR)做为 本域VPN的CE,PE-CE之间运行EBGP协议,携带对端的VPN路由信息。这样,VPN报文在两个AS域都是两层标签转发,而在ASBR之间则是正常的IP转发。

这个方法的优点是在ASBR之间不需要运行MPLS,但缺点是每个跨域的VPN需要与一个子接口绑定,子接口的数量至少要和跨域的VPN的数量相当,并需要逐个VPN进行配置,因而存在可扩展性问题。这种方式也可以用于二层/三层VPN互通。

2) MP-EBGP携带VPN-IPv4路由

通过直连的ASBR传播VPN-IPv4路由,并且为相应的VPN路由分配一个标签。在两个AS域内,VPN报文是普通的两层标签转发,在ASBR间,只有VPN内层标签,如果ASBR改变了VPN路由的下一跳,则需要交换报文的内层标签。

VPN-IPv4路由跨越多个AS时,采用的技术是同样的,无论跨越多少个AS,都只需要2层标签。

这种方法的优点是不需要在ASBR处为每个VPN的用户站点分配一个子接口,也不用建立跨域的LSP。但缺点是是需要在ASBR处同时维护VPN的路由和Internet路由,ASBR节点的压力大。为了克服这个缺点,可以采用多个ASBR,进行负载分担。

3) Multi-Hop MP-EBGP

这种方式是首先在ingress与egress PE之间通过LDP + BGP的方式建立跨域的LSP,然后不同AS域之间的PE通过MP-EBGP方式传播VPN路由信息,由于PE间要跨越多跳,称为Multi-Hop MP-EBGP。

Ingress与Egress PE间LSP建立的方式同MP-EBGP为VPN-IPv4路由建立LSP的方式类似,区别是这时使用BGP协议分布PE的主机IPv4路由。首先在每个AS内通过LDP建立外层LSP,然后通过BGP将PE的主机路由携带标签分布到另外一个自治系统,路径是PE->ASBR->ASBR->PE,这样建立中间层LSP。这个LSP将两个AS内的外层LSP串接起来,形成跨域的LSP。

VPN-IPv4路由跨越多个AS时,采用的技术是同样的,无论跨越多少个AS,都只需要3层标签。

这种方式的优点是不需要在ASBR上维护VPN路由信息,将VPN路由信息的处理压力分散到PE上。缺点是一个PE要同另外一个AS内的所有PE之间建立EBGP连接,可扩展性差。为了解决这个问题,可以在每个AS内设置RR(路由反射器),PE同RR间使用MP-IBGP分布VPN-IPv4路由,两个AS的RR之间采用Multi-hop EBGP方式来分布VPN-IPv4路由。但一定要注意RR上决不能配置next-hop-self。另外注意,RR与ASBR不应该是同一个设备。

4) 三种方式的比较

下面从几个方面比较上述三种方式,以便于在合适的情况下选用。

 

VRF-to-VRF方式

EBGP方式

Multi-Hop方式

ASBR转发方式

最长匹配算法查找FIB,PUSH标签

精确匹配算法查找ILM,SWAP内层标签

精确匹配算法查找ILM,SWAP中间层标签

ASBR维护VPN路由

维护VPN路由

维护VPN路由

不维护VPN路由

AS间分布VPN路由的方式

多个IGP/BGP实例,每个实例分布一个VPN的路由

ASBR间采用MP-EBGP

PE/RR间采用Multi-Hop MP-EBGP

ASBR间(子)接口数目

至少同VPN数目相当

最少需要1个

最少需要1个

提高可扩展性的方法

采用多个ASBR

采用多个ASBR

采用RR

提高冗余性的方法

采用多个ASBR

采用多个ASBR

采用多个RR/多个ASBR

ASBR的开销

最大

中间

最小

PE的开销

若不采用RR非常大

ASBR是否同RR合设

可以

可以

不推荐

PE上标签栈深度

2