您当前位置:首页 > 新闻频道 > 行业动态 > 正文
研究MPLS VPN技术,高质量传送用户信息

     作者:张野

    VPN是一种隧道技术,利用在公共的网络上搭建隧道的方式传送用户的私有信息。利用VPN技术,用户好像是租用了一条专用线路。这对于有互通需求,且分布较广,需要一定的安全机制的集团单位来说是一种不错的选择。今天我们重点介绍的是目前应用最为广泛的动态的三层VPN技术-MPLS VPN的原理及应用。

MPLS VPN技术是MPLS协议和MP-BGP协议相互结合,共同发挥自己的优势所形成的一种优秀的VPN技术。它利用MPLS协议来动态的建立公网标签交换隧道,使用户私有数据在公共网络上安全的传送。同时利用MP-BGP协议来传递私网路由信息。下面我们将仔细分析这两种协议。

    MPLS即多协议标签交换。它在数据包中二层帧头和三层包头之间插入一个短小的,定长的标签。我们首先来了解一下关于MPLS的几个重要概念。如上图1所示,我们把运行MPLS协议的路由器的集合称为MPLS域。MPLS域的边缘节点,我们称为LER。LER为IP域和MPLS域的交界。在LER上要进行类似于流分类的操作,划分-FEC,并且为每个FEC分配标签。MPLS域的中间节点我们称为LSR,LSR在转发时只是简单的根据标签转发表对数据包进行标签替换操作。另外,数据流在MPLS中所走的路径我们称为LSP。

    在这里我们看到,标签的生成和分发是一个重要的环节,MPLS把这项任务交给了LDP。LDP协议很有很多种的实现方式,其中DU+有序+自由的方式最为常用。在这种组合的方式下,MPLS域的路由器都只为自己的始发路由(即直连路由)向上游节点分配标签。当一条路由有多个下一跳时,上游节点会收到多个关于这条路由的标签映射消息,并且上游节点会保留这些标签。不过上游节点只有收到路由表中该路由的下一跳发来的标签映射消息后,才会继续向上游进行标签映射,并且在数据转发时,也只会根据路由表中的下一跳来查找标签转发表。在这里,我们可以看出,LDP协议根据由ICP路由协议计算出的路由表进行标签映射。若IGP采用动态路由协议,则LDP可以动态的建立标签交换隧道。和静态VPN如GRE和IPSEC等相比,有着明显的优势。在MPLS VPN的实际应用中,MPLS域的路由始发者并不是为所有的路由条进行标签分配,而只是针对自己的loopback发起标签映射。在后面我们会详细讲述这一点。

    在传统的IP网络中,每一跳路由器根据数据包的目的IP查找路由表,进行深度匹配后转发。而在MPLS网络中,只需要在人口处做一次查找工作,进行标签匹配,在中间节点上只根据标签转发表做快速标签替换,在出口节点处弹出标签,接着在IP域内继续根据目的IP做正常转发操作。在数据包的转发过程中,由于中间的各个节点只根据位于2.5层的一个定长的标签进行转发操作,不查看三层信息,不用进行类似IP域的深度匹配,所以保密性良好,并且转发速度快。

    BGP协议主要运行在骨干网层面,负责在自治系统之间传递路由信息。它的作用不同于OSPF和ISIS的发现和计算路由,它只是将路由表中已有的路由信息传递和发布出去,使路由的传递范围扩大。它不仅能够承载足够多的路由信息,并且可以很灵活的为这些路由增加属性。MPLS VPN正是看中了BGP的这一点,才放心的将私网路由的传递工作交给它。在MPLS VPN中使用的是BGP协议扩展后的MP-BGP协议。它传递的不再是普通的IPV4的路由信息而是VPN_IPV4路由信息.

    在简单的介绍了MPLS和MP-BGP协议之后,我们终于可以揭开MPLS VPN技术的神秘面纱了。

假设A和B两个公司。A公司有两处分支机构A1和A2,B公司也有两处分支机构B1和B2。他们有什么需求呢?我们罗列如下:1、很自然的,我们想要A公司的两个分支机构A1和A2通信,B公司的两个分支机构B1和B2通信。A和B之间没有互访需求,而且绝对不能相互通信。2、在公网IPV4地址极度匮乏的今天,已经不可能再为这些集团单位分配足够多的公网IPV4地址进行通信了,他们只能采用私有IP地址段。那么A公司和B公司当然想随心所欲的分配自己的IP地址,而不用考虑是否和其他公司冲突。而且私网IP地址也是有限的,若不能在A、B两个公司之间重复使用,那么这项技术必不能得到长足的发展。3、在公网上传递用户的私有信息,要有一定的安全性。4、在满足客户需求的前提下,客户和服务提供商都希望能尽可能的节约成本。服务提供商更希望能够通过一套既有的、结构简单稳定的网络系统来满足更多的客户需求。我们再总结一下,首先用户的私网IP可以重复使用;其次,可以灵活的控制不同用户的互访;再者,要有一定的安全性,防止客户的内部信息泄露到公共网络上;最后,节约成本,网络结构简单。

    为了满足这些需求,MPLS VPN技术采用很多必要的措施。图2给出了一个MPLS VPN的网络模型。我们先来介绍一下图2所传达的信息,以便接下来我们能够通过图一更好的解释上面的问题。

    图2所显示的MPLS VPN网络的由CE、PE和P等3部分组成:CE(CustomEdgeRouter,用户网络边缘路由器)设备直接与服务提供商网络相连。它“感知”不到VPN的存在;PE(Provider Edge Router,骨干网边缘路由器)设备与用户的CE直接相连,负责VPN业务接人,处理VPN-IPv4路由,是MPLS VPN的主要实现者;P(Provider Router,骨干网核心路由器)负责快速转发数据,不与CE直接相连。在整个MPLS VPN中,P、PE设备需要支持MPLS的基本功能,CE设备不必支持MPLS。

还记得我们刚才所提到的4个问题吗?这些问题之间都存在着一定的关联性。我们希望能够节约成本,并且使我们的网络能够适应一个较长时期的业务发展。出于这样的考虑,如图2所示,公司A和B的CE设备均接人了服务提供商的同一台PE设备。若他们使用相同的地址,那么PE上一定会有地址冲突的问题。解决这个问题的就是VRF。在一台路由器上定义多个VRF,每个VRF可以看做是一台逻辑上独立的路由器。它运行单独的路由协议,有自己独立的路由表,并且和特定的接口绑定。用户的私网路由只存在于相对应的VRF中,避免了PE上用户地址冲突的问题。

    不过,地址冲突的问题并没有完全解决。因为在MP-BGP协议将PE上不同的VRF中相同的私网路由信息发布给远端PE时,并不能很好的区别这两条路由信息,解决这个问题的就是RD。在不同的VRF下配置不同的RD值,在MP-BGP把一个VRF下的一条私网路由信息传递给远端PE时,首先把这条IPV4的路由加上一个前缀,变成一条VPN-IPV4路由,然后再进行传递,即使有来自不同VRF的两条相同的IPV4路由,那么再加上不同的RD前缀后,就变成了两条一定不相同的VPN-IPV4路由。远端PE收到这条VPN-IPV4的路由后,去掉RD,将IPV4的路由导人相应VRF。远端PE将保留这个RD值,以便和MP-BGP发布的路由更新报文中的VPN-IPV4路由做对比,查看自己是否需要修改或撤销某条私网路由。这样,在私网路由传递的过程中,地址冲突的问题也解决了。

    在解决了第2和第4个问题后,我们回头再来看第1个问题。我们说了这么长时间的VPN,却没有明确提出什么是VPN。其实简单的来讲,我们把能够互通路由的站点的集合称之为一个VPN。能否成为一个VPN并不是人为指定的,而是靠在VRF下配置RT参数来指导VPN的形成。在MP-BGP发布一条路由时,携带RT的export属性。在远端PE接收到这条路由时,通过比较接收到路由的export属性和自己的每个VRF中的RT的import属性来决定把这条路由导人哪些VRF。请注意RT和RD的区别。RT是以属性列表的方式存在于MP-BGP的更新报文中的,而RD是MP-BGP更新报文中承载的VPN-IPV4路由信息的一部分。由于MPBGP协议在撤销一条路由时并不携带属性列表,所以RT才没能取代RD。    当一个数据包在转发时,若目的IP地址在接收端的PE上不同VRF中同时存在,PE将不知道把这个数据包转交给哪个VRF。为了解决这个问题,产生了私网标签的概念。它由MP-BGP来分配,与私网路由一同发布出去。其实想想看,RD也能充当同样的角色,不过RD有64个bit那么大,如果每个数据包都要携带RD-起转发,将严重影响转发效率,这可不是一个聪明的举动。

    至此.公网的标签交换隧道LSP和私网路由的传递工作都已完成,控制层面已经准备就绪。此时,MPLS VPN的数据流就可以在网络上进行转发了。

    

 

关键字:
About Us - 关于我们 - 服务列表 - 付费指导 - 媒体合作 - 广告服务 - 版权声明 - 联系我们 - 网站地图 - 常见问题 - 友情链接
Copyright©2014安装信息网 www.zgazxxw.com. All rights reserved.
服务热线:4000-293-296 联系电话:0371-61311617 传真:0371-55611201 QQ: 邮箱:zgazxxw@126.com 豫ICP备14022578号-2
未经过本站允许,请勿将本站内容传播或复制
安全联盟认证