基于MPLS的VPN技术原理及其实现
摘要:在研究了基于MPLS的VPN技术的原理和工作的基础上,给出了基于BGP扩展实现的MPLS VPN的一个网络组成模型,同时描述了这个模型中的各个设备及其功能。最后分析了MPLS VPN的技术优势及其应用前景。
关键词:VPN MPLS 多协议标记交换
随着Internet的蓬勃发展,人们对其应用提出了更高的要求。但Internet缺乏有效的流量和网络带宽管理手段,网络经常会发生阻塞。无法对服务质量(QoS)提供保证,许多应用对于目前的IP技术(如语音和视频等)显得力不从心。而新兴的多协议标记交换技术(MPLS:MultiProtocol Label Switching)有望解决这一问题。
1 VPN简介
VPN指的是依靠ISP和其它NSP,在公用网络中建立专有数据通信网络的技术。在虚拟专网中,任意两个接点之间的连接并没有传统专网所需的端到端的物理链路,而是利用某种公共网的资源动态组成的。VPN技术采用季认证、存取控制、机密性、数据完整性等措施,以保证信息在传输过程中的机密性、完整性和可用性。它是在公共Internet之上为政府、企业构恐安全可靠、方便快捷的专用网络,并可节省资金。VPN技术是广域网建设的最佳解决方染,它不仅会大大节省广域网的建设和运行维护费用,而且拥有成本低、便于管理,开销少、灵活度高,保密性好等优点。
2 基于MPLS的VPN技术
2.1 MPLS的基本原理
MPLS VPN是指基于MPLS技术构建的虚拟专用网,即采用MPLS技术,在公共IP网络上构建企业IP专网,实现数据、语音、图像等多业务宽带连接。并结合差别服务、流量工程等相关技术,为用户提供高质量的服务。MPLS VPN能够在提供原有VPN网络所有功能的同时,提供强有力的QoS能力,具有可靠性高、安全性高、扩展能力强、控制策略灵活以及管理能力强大等特点。
MPLS是一种特殊的转发机制,它为进入网络中的IP数据包分配标记,并通过对标记的交换来实现IP数据包的转发。标记作为IP包头在网络中的替代品而存在,在网络内部MPLS在数据包所经过的路径通过交换标记(而不是看IP包头)来实现转发;当数据包要退出MPLS网络时,数据包被解开封装,继续按照IP包的路由方式到达目的地。
javascript:window.open(this.src);" style="cursor:pointer;"/>
如图1所示,MPLS网络包含一些基本的元素。在网络边缘的节点就称作标记边缘路由器(LER:Label Edge Router),而网络的核心节点就称作标记交换路由器(LSR:Label Switching Router)。LER节点在网络中提供高速交换功能。在MPLS节点之间的路径就叫做标记交换路径(LSP:Label Switched Path)。一条LSP可以看作是一条贯穿网络的单向隧道。
MPLS的工作流程可以分为三个方面:即网络的边缘行为、网络的中心行为以及如何建立标记交换路径。
1. 网络的边缘行为
当IP数据包到达一个LER时,MPLS第一次应用标记。首先,LER要分析IP包头的信息,并且按照它的目的地址和业务等级加以区分。
在LER中,MPLS使用了转发等价类(FEC:Forwarding Equivalence Class)的概念来将输入的数据流映射到一条LSP上。简单地说,FEC就是定义了一组沿着同一条路径、有相同处理过程的数据包。这就意味着所有的FEC相同的包都可以映射到同一个标记中。
对于每一个FEC,LER都建立一条独立的LSP穿过网络,到达目的地。数据包分配到一个FEC后,LER就可以根据标记信息库(LIB:Label Information Base)来为其生成一个标记。标记信息库将每一个FEC都映射到LSP下一跳的标记上。如果下一跳的链路是ATM,则MPLS将使用ATM VCC里的VCI作为标记。
转发数据包时,LER检查标记信息库中的FEC,然后将数据包用LSP的标记封装,从标记信息库所规定的下一个接口发送出去。
2. 网络的核心行为
当一个带有标记的包到达LSR的时候,LSR提取入局标记,同时以它作为索引在标记信息库中查找。当LSR找到相关信息后,取出出局的标记,并由出局标记代替入局标记,从标记信息库中所描述的下一跳接口送出数据包。
最后,数据包到达了MPLS域的另一端,在这一点,LER剥去封装的标记,仍然按照IP包的路由方式将数据包继续传送到目的地。
3. 如何建立标记交换路径
建立LSP的方式主要有两种:
(1)“Hop by Hop (逐跳寻径) ”路由
一个Hop-by -Hop的LSP是所有从源站点到一个特定目的站点的IP树的一部分。对于这些LSP,MPLS模仿IP转发数据包的面向目的地的方式建立了一组树。
从传统的IP路由来看,每一台沿途的路由器都要检查包的目的地址,并且选择一条合适的路径将数据包发送出去。而MPLS则不然,数据包虽然也沿着IP路由所选择的同一条路径进行传送,但是它的数据包头在整条路径上从始至终都没有被检查。
在每一个节点,MPLS生成的树是通过一级一级地为下一跳分配标记,而且是通过与它们的对等层交换标记而生成的。交换是通过标记分配协议(LDP:Label Distribution Protocol)的请求以及对应的消息完成的。
(2)显式路由
MPLS最主要的优点就是它可以利用流量设计“引导”数据包。MPLS允许网络的运行人员在源节点就确定一条显式路由的LSP(ER-LSP),以规定数据包将选择的路径。ER-LSP从源端到目的端建立一条直接的端到端的路径。MPLS将显式路由嵌入到限制路由的标记分配协议的信息中,从而建立这条路径。
2.2 基本MPLS的VPN实现
如图2所示,基于BGP扩展实现的MPLS三层VPN包含以下基本组件:
PE:Provider Edge Router,PE路由器使用静态路由、RIPv2、OSPF或EBGP与CE路由器交换路由信息。尽管PE路由器维护着VPN路由信息,但它只需为其直接相连的那些VPN维护VPN路由。每台PE路由器为其直接相连的每个站点维护一个VRP(Virtual Routing Forwarding Table),每个客户连接映射到某个VRF上。在从CE路由器上学习本地VPN路由信息。PE路由器使用IBGP与其它路由器交换VPN路由信息。PE路由器可以保护到路由反射器的IBGP会话,作为全网状IBGP会话的替代方案。使用MPLS在供应商骨干中转发VPN数据流量时,入口PE路由器作为入MPLS使用,出入PE路由器作为出中LSR使用。
javascript:window.open(this.src);" style="cursor:pointer;"/>