APP下载

MPLS-VPN技术在园区网的应用

2016-11-03潘清

中国新通信 2016年19期

潘清

【摘要】 MPLS-VPN技术是一种基于标签转发的路由技术,该协议是由IETF于2002年提出的标准协议,目前主要用作于运营商、骨干网及一些大型园区网中的核心承载技术,MPLS-VPN技术使用一种特殊定义的标签来标记路由,并通过标签转发代替传统路由技术的路由查询,效率非常高。并且可以通过虚拟转发技术,在同一台设备上虚拟出多张路由表,不同路由表之间相互隔离,从而形成了VPN的效果。

【关键词】 MPLS-VPN技术 标签交换 虚拟路由转发 MP-BGP

随着互联网技术的不断发展,越来越多的应用部署从本地局域网迁移至互联网及云平台上,使得运营商骨干网络及一些大型企事业单位的网络设备需要同时承载不同种类的业务流量,而在传统的网络环境中,所有业务流量承载在一台设备的一张路由表内,使得路由表条目数量非常庞大,从而使得传统IP路由的逐跳查找方式性能相对不高,并且不同业务流量之间没有有效的隔离,存在一定的安全隐患。为了解决这个问题,可以使用MPLS-VPN技术来替代传统的IP路由技术,承载骨干网及园区网的各类应用流量。

一、MPLS-VPN技术原理

MPLS(Multi Porotocol Label Switching)多协议标签交换,是一种基于标签交换的VPN。与传统路由技术逐跳查找遍历路由表寻找路由的方式不同,MPLS使用标签交换,并基于预先生成好的标签交换路径进行数据转发,效率更高。

标签是一个32比特的精简设计的字段,位于二层头部与三层头部之间,因此一般称标签位2.5层。其中标签值占了前20个比特,总共可以生成2的20次方个不重复的标签,用于分配给设备上的每一条路由条目。除了20个比特的标签值,标签还包含了3比特的实验位,1比特的栈底位,8比特的TTL值。

每一台运行过了MPLS的设备都需要为自身设备路由表中的每一条路由条目分发标签,而分发标签的任务就需要一种单独的协议完成,这就是标签分发协议LDP(Label Distribute Protocol),LDP是一个专门用于为IGP路由分发标签的协议,并且会生成及维护一张标签与路由对应关系表。LDP是为IGP分发标签的协议,而对于BGP这种EGP,其自身就拥有分发标签的能力。

当LDP为路由条目分发完标签后,参与MPLS的设备就会通过运行了LDP的接口发送通告消息给其相邻的LDP下游邻居,通告消息内容包括了自身针对某条路由的标签,邻居设备收到标签后,会将收到的标签保存在本地,同样也会将本地针对该路由条目的标签通告给下游设备,以此类推,通过这样的通告学习方式,链路上的设备都拥有了针对某条路由的自身标签及上游设备通告来的标签,这样就形成了标签转发路径LSP(Label Switching Path)。

当一个去往远端地址的数据包被发送到第一台运行了MPLS的设备时,该设备会查找上游设备针对这个远端地址路由的标签值,并为该数据包打上这个标签,之后将数据包发送给上游设备,上游设备收到了这个带标签的数据包后,会查看再上游设备对应该路由条目的标签,并将数据包中的标签进行交换修改后发送给更上游的设备,依次类推,逐跳交换,直到数据包到达远端目的地。

对于有多种不同业务流的情况,可以在MPLS边界设备上启用VRF(Virtual Route Forwarding)虚拟路由转发技术,VRF是虚拟的路由表,传统的路由器只有一张路由表,所有业务流的路由都在一张路由表内,没有隔离,而VRF技术则实现了为不同业务流创建不同的路由表,并且路由表之间相互独立,互不干扰。VRF通过与物理接口关联,实现某一个接口进来的流量都放入对应的VRF路由表中。

在传播多业务流的网络环境中,为了区分不同业务流,需要为每一条路由条目添加一个特殊的值,用于标记路由,使其唯一,这个值就是RD(Route Distingish)值,RD值是一个64比特的字段,添加在IPv4路由条目前,使其成为唯一的VPNv4路由条目,此外还需要一个值,来标记不同流量归属于不同的VRF,这个值就是RT(Route Target),RT用户关联VRF,当接收到收到路由条目后会比对其中的RT值是否与本地某个VRF匹配,如果一致则会将该路由放入对应VRF中。

二、MPLS-VPN技术在园区网中的应用

在目前的中大型园区网设计中,通常在核心骨干位置部署相对较高性能的路由交换设备,因此可以在骨干处实施MPLS-VPN技术,在骨干网设备上启用MPLS-VPN,使其成为标签交换网络,并且为不同的业务流创建不同的VRF虚拟路由表,从而达到有效的业务流量隔离效果。

在接入层的二层网络中,仍然可以采用传统的静态路由方式,将默认流量根据不同的目的地址,指向不同的VRF下联接口。

三台路由器R1、R2、R3作为骨干设备运行了MPLSVPN技术,其中R1面向外部互联网,R3面向内部局域网用户,R2作为MPLS网络中间设备。针对远端网络10.199.64.0/24的网络,3台设备都生成了该路由条目的标签,R1生成了标签100,R2生成了标签200,R3生成了标签300。之后R1将标签100通告给R2,R2保存该标签并将自己的标签值200通告给R3。

当R3收到一个去往10.199.64.0/24网段的数据包时,会查询本地数据库,针对该路由条目的远端邻居R2发来的标签值,查询结果为200,这时R1会将标签值200插入到数据包的二层及三层头部之间,再将该数据包通过对应的出接口发送给R2,R2收到该数据包后不会再去查看三层头部中的目的IP地址,而是直接查询标签200所对应的上游设备发来的标签,查询结果300,此时R2会将数据包原有标签值200交换修改为300,再从出接口发送给R3,R3收到该数据包后将会执行同样的操作,直到数据包抵达目的网段10.199.64.0/24。当数据包抵达最后一条MPLS设备时,该设备会将数据包中的标签移除,使数据包还原成为一个普通的IPv4数据包,再将其发送给最终目的,这样就完成了一个完整的标签交换过程。

三、基于MPLS-VPN技术的MP-BGP技术

MPLS-VPN可以完成数据包的高速转发及流量隔离,但是在实际数据转发前,需要为其生成标签转发路径,而这时基于路由来实现的。

可以这么理解,路由是形成标签转发所需要的道路,而实际的标签转发则是在路上行驶的车辆。在运营商骨干及一些中大型的园区网络中,通常采用的是BGP路由协议来完成路由功能的,当MPLS-VPN技术配合BGP技术使用时,则成为MP-BGP(Multi-Protocol BGP)。

MP-BGP可以实现在MPLS网络环境中传递多个VRF的路由,并且路由之间相互逻辑隔离。这主要是通过两个参数来完成的,RD值及RT值,RD值用于标记IPv4路由,使其在网络中唯一,RD值是一个64位比特长的字段,将RD值添加到IPv4路由前就形成了VPNv4路由,这样在数据穿越MPLS网络使就能保证其唯一性不至于混淆。当数据包抵达MPLS网络对端时,这个RD值将会被移除,从而将数据包还原成普通的IPv4路由。

在MPLS网络的边界设备处,需要创建不同的VRF用于承载不同的业务流,而当一个数据包穿越网络后如何确定该数据包属于哪一个VRF,这就要依靠RT值来实现,RT值是一对参数,包含import值及export值,这两个值用于与VRF相关联,当数据包在穿越MPLS-VPN网络时,会携带上这个VRF的RT export值,当数据包抵达对端MPLS边界设备时,对端设备会将该RT export值与本地的RT import值相比较,如果一致,则证明该数据包送到该VRF中去继续在IP网络中传输。

通过这两个参数,就使得BGP可以在MPLS-VPN网络中传输多种业务流,并且业务流之间相互隔离,也不会混淆。而在内部局域网环境中,与边界MPLS设备对接的设备,可以采用静态路由的方式,根据不同的目的地址,将流量静态指向对应VRF的下联接口。

四、结语

在网络需求日益增长的今天,如何保证网络流量的告诉转发及不同流量之间的相互隔离是每一个网络设计者及实施人员必须考虑的问题,而MPLS-VPN技术则可以很好的实现这一需求,广大网络设计者在规划园区网络时,可以使用MPLS-VPN技术作为核心骨干承载技术。

参 考 文 献

[1] 辛丽华.MPLS-VPN 组网技术及应用.科技情报开发与经济,2006,3:213~215

[2] 林涛.MPLS VPN 技术在福建省政务信息网的应用.电子政务,2008,10:113~116

[3] 韩明明.VPN 技术在高校图书馆中的应用探讨.中国计算机报,2006,29

[4] 宋庆.刘颜明.朱永升.MPLS 技术的研究.电子科技,2007(2):76~78

[5] 格林等.MPLS实现技术.北京:电子工业出版社,2005,6