业务提供商虚拟专用网(PP-VPN)融合了网络技术和CPE VPN,通过正确配置可以提高企业专用网络的安全性、可扩展性并降低低成本。本文从协议层面和设备层面讨论了提高PP-VPN性能的方法和面临的挑战。
业务提供商虚拟专用网可以提供工作于IP层及其上层的安全网络解决方案,可以极大地减轻企业成本负担,并使管理对象从CPE转向业务提供商网络。这不仅简化了企业VPN,而且极大地节省了成本和资源,从而为业务提供商和运营商提供新的业务增长点。
根据互联网工程任务组(IETF)提出的rfc2547bis草案(图1),PP-VPN不会在短期内取代现有业务,但可以同现有业务共存,并以新的接入技术(如以太网和EMERGE)提供平滑过度。然而,为了向业务运营商提供具有成本效益的解决方案,业界必须仔细考虑相关的可扩展性、安全性、管理及复杂技术集成问题。
PP-VPN术语
在讨论PP-VPN之前,有必要介绍PP-VPN中的一些专用术语(图2):
客户边缘设备(CE)连接了客户节点和业务提供商边缘设备(PE)。CE可以是支持用户同其它VPN节点通信的路由器或交换机,而PE则是支持CE和业务提供商骨干网设备(P设备)之间通信的路由器或交换机。PE可在多协议标记交换(MPLS)网络中以标记边缘路由器(LER)的方式工作。P设备工作于连接PE设备的业务提供商网络中,当然也可以是MPLS标记交换路由器。最后,业务提供商(SP)网络表示管理业务提供商或运营商PE和P设备之间互联的网络。
VPN解决方案必须解决可扩展性、性能、安全性、可用性、互操作性和管理等诸多问题。为了提高可用性,PP-VPN必须对CPE没有丝毫影响,并且不影响网络的可升级性。这无疑增加了PE解决方案的难度。
PP-VPN面临的挑战
PP-VPN采用IP技术实现解决方案的各个环节,这产生了一系列系统设计挑战。在任何VPN解决方案中,可扩展性至关重要。传统的基于网络和CPE的解决方案通过要求企业提供可靠的连接和路由支持以实现可扩展性。对于CPE隧道解决方案,企业隧道终端相当关键。
PP-VPN解决方案以及PE设备都必须具有可扩展性,以支持数以万计的VPN,而每个VPN都具有50,000个甚至更多的接口。此外,PP-VPN解决方案还必须支持每个VPN中更多数目的路由器。所有这些接口和设备都必须速度快且具有简单的可配置性。
在客户IP VPN和采用IP寻址的业务提供商网络中,还需要解决一些其它问题。客户节点地址通常采用专有IP地址配置,许多公司都采用相同的专有IP地址空间。这意味着第三层PP-VPN解决方案必须支持客户IP地址空间的重叠、客户IP地址之间的隔离以及客户IP地址同业务提供商IP地址的隔离。在VPN可寻址的一组节点内,特定节点只是其中之一,因此IP地址必须保持唯一。
出于安全性考虑,PP-VPN解决方案应提供不同于既定方案的任何保护手段。这类安全特性可提供与建立在网络基础上的传统VPN相当的安全保护,但PP-VPN解决方案不能影响其它加密技术(如互联网协议安全,IPsec)的使用。
PE 设备的要求
传统业务提供商使用的路由器只是单个路由域中的一部分,尽管这些路由器与其它路由域之间可能具有复杂的相互联系。主要的功能模块涉及内部网关协议(IGP),如开放最短路径优先(OSPF)协议以及中间系统-中间系统(ISIS)协议;外部网关协议,如BGP4;转发信息库(FIB)以及相关的IP转发硬件。此外,复杂的策略配置规定了一个路由域如何获得另一路由域的信息。目前,越来越多的路由器支持MPLS。
PE路由器不仅是业务提供商网络的一部分 , 而且也是用户网络的一部分。PE 路由器必须保持每个VPN的路由信息,并使这些信息不同于其它VPN和业务提供商网络。 此外,PE 路由器还必须能在VPN各部分间创建连接。rfc2547bis规定PE 路由器必须实现以下操作 :
1. VPN配置;
2. 在互联的CE 之间发布路由信息;
3. 在业务提供商骨干网 中发布路由信息至其它PE;
4. 在PE 路由器之间建立标记交换通路(LSP);
5. 在VPN中不同客户节点之间传输数据。
假定PP-VPN不影响业务提供商的核心路由器且对于CE路由器完全透明,并要求必须将多协议(multiprotocol)标准提高到BGP4,以支持在PE之间发布VPN 路由信息。在 PE之间创建隧道时,还要求采用MPLS,并用作在主动下行流(DU)模式下的最少标记分布协议(LDP)。该基本机制可提供卓越的功能,实现与采用限制路由的标记分配协议(CR-LDP)或具有传输流工程扩展的资源保留(RSVP-TE)协议的互补,以创建支持业务质量(QoS)的传输工程隧道。
PE功能模块
支持PP-VPN的设备的通用功能和专用功能要求产生了一系列理想架构需求。图3显示了图2中LER PE2逻辑映射的实现方法。其中PE具有一个FIB,PE上的接口是用户网络的一部分,必须包含如何同其它VPN节点通信的相关信息。这可以通过采用分离的路由表,即VPN路由信息和转发表(VRF)来实现,因此FIB保存了VPN的所有VRF。VPN配置服务器可简化VRF配置、与VRF的接口以及与VRF相关的策略。
采用两级标记栈可以实现VPN中两个CE设备之间的VPN信息的转发,包括整理经由BGP4承载并与特定VPN和PE路由器间使用的隧道级标记相关的FIB标记信息。这可以采用为FIB提供标记信息的VPN隧道管理器(VTM)进行处理。
为了提供可扩展性和某种程度的安全性,VPN必须支持多重路由情形,因为无论是业务提供商的接口还是PE-CE连接都可以运行OSPF、RIP和/或BGP4协议。结合既定的协议特性,每个功能模块都能执行特定功能,从而实现完整的系统功能。
VPN配置
VPN配置对于基本的连接至关重要,并使业务提供商能够构建适当的客户网络操作。由于每个CE设备与业务提供商网络之间只有一条互联通路,因此PE配置和操作中必须提供VPN的连接。例如,CE可通过全网状(full mesh)方式加以连接。换言之,可采用星型网络配置,这样远端节点的传输流总能进入中心点。传统VPN网络一般采用专线和帧中继专用虚拟电路拓扑进行处理,而PP-VPN则利用多协议扩展和BGP4扩展群特性实现。
VRF是接收来自客户节点路由更新信息的存储库,可根据策略结构适应多重VPN需求。从VRF至不同PE设备、FIB、BGP和其它路由协议的信息传播取决于VPN服务器的配置情况。VPN服务器采用几个字段控制信息流、路由识别符(RD)、输入/输出路由目标和VPN标记信息。
RD是与每个VRF相关的8字节独特值,在将该值加入VRF之前,必须将其添加到路由表中,从而确保两个不同VPN使用相同IPv4地址产生截然不同的路由。
VPN路由信息发送
通过一个或多个路由目标可以识别每个VPN。当收到一个来自互联CE的路由信息后,该信息将被发送到其它PE路由器并配置输出路由目标。当收到来自其它PE的路由信息,将对经过配置的输入路由目标与收到的路由目标进行比较。如果匹配,则在VRF中添加该路由信息。
例如,如果VPN中每个VRF的输入和输出路由过滤器都相同,那么就能创建一个全网状路由表。通过使中央节点可以从所有的远程节点输入路由信息,并且远程节点配置为只能从中央节点输入路由,那么就能创建星型结构。该结构可以防止远程节点之间的直接会话。
除了路由信息,VRF还存储标记信息,PE在发送路由信息到其它PE时会利用到这些标记信息。这些VPN级的标记信息可在PE内识别VPN,但不在核心网络部分使用(图2)。
VPN标记共有两类,主要根据BGP的配置和使用进行分类。在所有情况下,标记由中央节点VTM管理。最简单的情况是发布标记以获得与VRF关联的接口。FIB为VTM的接口申请标记,如果收到带有该标记的数据包,VTM就能使用该标记对MPLS转发器进行编程并在接口上传输数据。FIB也发送接口-标记映射至BGP,一旦连接至接口的CE发布路由信息,在PE将这些路由信息发布至连接的CE之前,将使路由信息与接口标记产生关联。
当BGP需要将多个VRF的路由信息汇集到一个发布信息中时,将出现一些复杂的情况。一个简单的实例是多个子网CE在一个PE中发布信息至VRF。BGP不在每个子网发布标记信息,而是收集信息以得到发送至互联PE的汇集标记。但这显然加重了数据处理负担,因为VPN标记并不能唯一地标示VRF,因此需要额外的查询以确定目的地。
PE 和CE可通过OSPF、外部BGP、RIP,或通过静态地将路由插入关联的VRF来建立路由会话。如果PE是不同VPN中CE的OSPF对等设备,那么PE必须运行多个OSPF实例。如果PE-CE路由会话是OSPF、RIP或静态的,那么来自VPN节点的路由信息将重新发布至BGP。FIB在相应的VRF中存储公布的VPN节点路由信息,而BGP则通过附加RD和相关标记信息将CE 路由信息转化为VPN IPv4路由信息,并为VPN地址簇在BGP本地路由信息库(RIB)中存储这些路由。
SP网络中的所有PE路由器均通过全网状连接I-BGP或路由反射标示(route reflector)进行互联。为了交换VPN路由信息,需要提升MP-BGP的性能,以支持额外的地址簇(地址簇标识符[AFI] = 1,相应的AFI [SAFI] = 128)。
BGP根据VRF信息进行决策并利用VRF配置的输出策略传送最优路由,并发布路由信息至PE对等设备。注意到如果路由的输出策略与相同PE路由器上另一VRF的输入策略匹配,那么路由信息将发布到与本地VRF互联的CE路由器。
BGP协议
一旦远程PE收到路由信息,该信息将按照输入策略传送至每个VRF。如果路由信息与输入策略相匹配,在将RD以与VRF关联的RD取代后,将该路由信息将插入VPN本地RIB。
BGP在VRF上进行决策过程,如果路由是最佳的路由,那么就将其作为IPv4路由通知给关联的CE。BGP也将路由信息传送给FIB,这样使VRF转发表更新。如果与VRF互联的CE会话是OSPF协议,那么路由信息将重传至OSPF,而OSPF将再次发送路由信息至其邻节点。这套机制的核心部分在于BGP传送路由下行流,即从出口PE至入口PE,在数据流反方向进行传送。
FIB通过查询VTM获取LSP和到下一跳的接口信息,该接口信息在从远程PE所收到的路由信息中定义,然后,FIB将更新VRF表。在分配操作中,将VRF信息从控制器卡复制到线路卡。这样,当收到来自CE的数据包时,VRF将直接在线路卡上查询,在应用标记栈之后,数据包将传送给MPLS转发器。
最佳隧道
Rfc2547bis 在PE路由器之间采用MPLS隧道来提供业务提供商网络的可扩展性。该标准最低程度地要求LDP DU来创建最佳隧道。实际上,RSVP-TE经常用来建立基于QoS的隧道以满足业务级规范要求。
然而,LDP DU和RSVP-TE的工作方式不一样,这增加了整体设计的复杂度,DU是一种标记映射机制。PE路由器将标记发送至下行流对等设备,最终到达入口PE路由器。在入口处理的标记将提交给VTM,VTM必须在MPLS隧道及使用隧道的VRF之间形成映射。MPLS隧道可通过转发等效类来识别,等效类可以是出口PE的路由器标示符或IP地址,这通常是回送地址。
在将MPLS隧道与VRF进行关联时需要注意,关键是需要确保BGP发布VPN信息时,下一跳地址成为目的PE的路由器ID。由于根据BGP发布的信息以及经由LDP DU转发的等效类可获得出口路由器ID,VTM可以在VRF和MPLS隧道之间建立链接。一旦链接建立,MPLS隧道和BGP VPN标记就存储在VRF中,这样MPLS转发器就能用标记栈进行编程。
RSVP-TE是入口发起协议,因为RSVP-TE具有建立QoS的功能。此外,如有必要可对每个VPN连接建立一个隧道,目标出口PE可由路由表查询确定。这样受限最短路径优先引擎计算可生成以传输流路径,而使VPN和MPLS隧道关联的相同BGP机制则可对在MPLS转发器中进行标记栈编程。
数据传输
在基于rfc2547bis的VPN中,数据传输流一般采用建立在获取路由信息的PE路由器和发布路由信息的PE路由器之间的LSP进行转发。VPN数据传输流在SP骨干网中经由预先建立的LSP进行转发,如图2所示,CE2和CE1之间的数据传输方式如下:
1. CE2将目的地址指向CE1的IPv4数据包转发至PE2。
2. PE2在绿色VRF(green VRF)中查询数据包的目的地址,并采用VPN和MPLS标记栈。
3. PE2将MPLS数据包转发至P1。
4. P2交换外部MPLS标记,并转发数据包至P1。
5. P1采用PHP弹出MPLS标记,使VPN标记置顶并转发数据包至PE1。
6. PE1弹出VPN标记并将数据包转发至CE1。如果是汇集的VPN标记,PE1将参考绿色VRF来确定转发数据包的CE1接口。该机制可确保网络的可扩展性,因为核心网络的P路由器根本无须关心所传送的来自多个VPN的传输流。
可扩展性和安全性
rfc2547架构的可扩展性是源自SP网络中所有VPN的非单一平台实现的结果,但对特定VPN的了解受限于加入VPN节点的PE路由器以及从这些PE接收路由信息的BGP路由反射标示。
运行于业务提供商骨干网的IGP必须为路由域中的每个LSP出口节点实现本地路由。这样,IGP能实现的路由数目可以限定PE 的数目。另一限制在于PE可以支持的路由实例,比如说,可以假定PE-CE路由协议采用OSPF。
基于rfc2547bis的VPN安全性可分为控制层面和数据层面两类。为实现控制层面安全性,不信任的对等设备之间既不能建立BGP会话,也不能建立LDP会话。这两种协议都应当使用传输控制协议MD5鉴权。运行于SP骨干网的IGP也应确保安全性。
该架构提供的数据层面安全性实际上与帧中继和ATM VPN提供的安全性完全一样。如果业务提供商的设备配置正确,那么在得到鉴权之前,数据既不会进入VPN,也不会离开VPN。这可以通过检测数据包的置顶标记来实现。如果VPN的标记值是接收系统发布给邻近节点的值,或者如果数据包的置顶标记值是接收系统发布给除邻近节点以外的值,那么数据包可被接收。
(全文信息请参考:)
作者:
E.S.N. Murthy
项目经理
Bill Herbst
首席软件工程师
NetPlane Systems公司