1、1基于 MPLS 的二层 VPN 技术的优化摘 要通过使用基于 MPLS 的二层 VPN 技术,网络运营商可以方便地在其基于以太网的骨干网络基础上将老旧的网络互联起来。本文对其中的关键技术进行研究分析,提出其中存在的可能导致网络不能高效提供服务的多个问题,然后提出了一些改进方案,使之能够在现有的条件下尽可能地优化网络中的数据传输,达到更佳效果。 关键词MPLS;二层;VPN;问题;优化 中图分类号TN915 文献标识码A 文章编号1005-6432(2013)14-0031-02 在计算机网络的发展过程中,由于网络技术的不断改进,运营商可能会在不同时期建立了几套不同的网络以提供给客户最优秀的网
2、络服务。但在目前以太网技术大行其道的情况下,绝大部分运营商的骨干网络都会采用更为高速的以太网技术。通过使用基于 MPLS (MultiProtocol Label Switching,多协议标签交换)的二层 VPN 技术,运营商可以方便地在其基于以太网的骨干网络基础上将老旧的网络互联起来;使运营商在不加入任何投资的情况下为客户提供增值服务,增加收益;并且可以充分的利用骨干网络的资源。但由于 MPLS 和基于 MPLS 的二层 VPN 技术自身存在的一些问题将可能导致网络不能提供高效的服务。 1 基于 MPLS 的二层 VPN 技术存在的问题 11 MPLS 存在的问题 2MPLS 作为基于 M
3、PLS 的二层 VPN 的基础协议,虽然它可以提供很多非常有用的特性。但是这个技术本身也有很多不足的地方。 首先,因为 MPLS 是一个 25 层的协议,所以在使用的时候是在数据链路层与网络层之间插入一个协议字段来进行工作的。这并不符合开放系统互联模型的设计,所以当一台使用 MPLS 的设备向另一台不支持 MPLS的设备发送带有标签的数据包时,后者将不知道如何处理这样的数据包(因为 OSI 模型里没有 25 层) ,那就会导致网络中断情况的出现。 其次,MPLS 的初衷是通过标签来替代常规的路由查询;这既是它的优点又是它的缺点。优点在于:如果将 MPLS 部署在老式的路由器上,它将大大提升路由
4、器数据包的转发性能;即使部署在高性能的路由设备上,使用标签可以让 MPLS 域内的路由器在对数据包中的目的地址一无所知的情况下根据标签正确转发,可解决 iBGP 的路由空洞问题。伴随的缺点是:使用了标签查询替代路由表查询,标签的取值范围有可能会产生可扩展性的问题,因为路由表只要有内存,理论上可以无限的大,当路由表中的条目大于标签可以表示的范围时,MPLS 就无法再有新的标签来标识路由了。 最后,因为 MPLS 需要通过用标签来给每条对应的路由附加一个标签号,所以在网络中任何一个地点都不能有对路由的汇总。一旦在 MPLS 网络中的某一台路由器上进行了地址聚合,那么 MPLS 所发送的标签就不能与
5、路由表中的条目相互匹配,这将会导致路由器无法使用 MPLS 所产生的标签。所以,在 MPLS 的网络中会因为无法使用汇总而导致路由表非常庞大。 312 基于 MPLS 的二层 VPN 所存在的问题 作为基于 MPLS 的二层 VPN 本身来说,它的确能很好的解决了运营商网络中很多老旧网络设备的利用问题,但是它本身也有很多不足的地方。首先,基于 MPLS 的二层 VPN 实质上是将老旧网络设备所产生的数据包经过封装之后直接承载在运营商骨干网络上的一种技术。在这种技术实现的过程中,会牵涉各种各样其他协议的特性。例如在传输 PPP 的时候,由于 PPP 没有排序的功能,所以通过二层 VPN 传输的数
6、据包在抵达对端网络设备的时候必须保持原始数据包的顺序才能将数据帧还原。同时为了能让各种各样的其他协议可以在其上传输,需要协同添加许多的控制字段,这样直接导致了封装后传输效率的下降。而且很有可能会超过设备接口的 MTU,一旦超过 MTU,设备就可能需要对数据包进行分段或直接放弃转发该数据包。 其次,当像 ATM 这类低延时的数据需要通过二层 VPN 传输的时候很可能会引入不可预见的延时。因为 ATM 使用了很多技术来确保低延时,但是当二层 VPN 运行在以太网上的时候,很有可能破坏 ATM 的这一优点。原因在于以太网虽然速度高,但是它自身无法提供可靠的技术来保障传输延时,这样也会让客户对运营商提
7、供的服务感到不满,所以在部署二层 VPN 的时候也还需要考虑很多此类问题。 最后,也是二层 VPN 技术最致命的地方不支持加密。从二层 VPN的实现原理可知道它会破坏二层专线的私密性。使用公共网络作为传输的介质却又不支持加密,使得基于 MPLS 的二层 VPN 技术的用户群体受到4了限制,因为许多敏感的信息是不能通过这种 VPN 技术来传输的。 2 基于 MPLS 的二层 VPN 的优化 经过研究分析,以上的一系列问题,可以通过以下几种方案来解决。21 针对 MPLS 的改进 在部署 MPLS 网络时一定要明确 MPLS 的边界。边界路由器是 MPLS 网络与 IP 网络的对接点,在 MPLS
8、 边界路由器上可以将面向 IP 网络的接口上的 MPLS 功能关闭,让该路由器作为最后一跳 MPLS 路由器并且开启“次末跳”弹出机制。这样就可以让不支持 MPLS 的路由器以纯 IPv4 的方式转发数据包,从而确保数据包的正常转发。 对于 MPLS 标签范围的问题来说,可以设置 MPLS 的标签只有本地意义。那么两台路由器之间就可以使用全部的标签范围,虽然在极端环境下依然会有标签范围枯竭的问题,但是可以在一定程度上缓解。必要的情况下也可以修改 MPLS 协议中的标签范围字段的大小,通过增加 Bit 数来增加标签范围的最大值。 由于使用了 MPLS 而导致网络中的路由条目不能聚合,对运营商来说
9、是一个很头疼的问题,但是可以在进入 MPLS 网络之前就对其进行汇总。这会让该汇总路由在整个 MPLS 域中都保持一致,也就可以避免由于 MPLS网络中地址聚合导致标签与路由的不一致性的问题。 通过以上这些方法就可以确保 MPLS 可以更加稳定、高效的在运营商的网络环境中运行。 22 基于 MPLS 的二层 VPN 的改进 5当需要使用基于 MPLS 的二层 VPN 时,首先可以通过配合使用 QOS 中的集成服务让需要经过的所有路径都保留相应的带宽,这样就可以确保二层 VPN 的应用不受其他骨干网络上流量的影响。当然在实际应用的过程中还可以配合使用 MPLS TE 的特性让二层 VPN 的传输
10、可以在骨干网络线路故障的时候有快速恢复以及选择传输路径的功能。 对于延时的问题,如果二层 VPN 上承载的是 ATM 的流量,那么在跨越大范围骨干网络的时候将无法为其提供很好的服务,可以通过信元捆绑的方式增加其发送信元时的传输效率,但是由于以太网没有非常严格的 QOS 机制可以确保延时,所以只能使用低延时队列来确保一定的性能。关于最大传输单元的问题,可以在骨干网络上调整每个设备的 MTU;也可以在客户端发送数据包的时候就将 MTU 调整为较小的值。当然在现实环境中,通过以太网线路或通过光纤线路时的数据包包头大小是不一致的,可以使用 MPLS TE 对流经的路径进行规定,避免 MTU 的修改存在
11、不确定性。 最后,二层 VPN 也可以通过对源、目的端点进行加密来实现私密性、安全性的需求。不过这是以牺牲性能、效率为代价的,但可以使用硬件加密设备来提升性能。当然当使用 IPv6 时所有数据流都强制要求使用IPsec 来加密,二层 VPN 目前所存在的安全问题也将不再是问题了。 参考文献: 1美Wei Luo, Carlos pignataro. 第二层 VPN 体系结构M.北京:人民邮电出版社,2006. 62美Luc de Ghein. MPLS 技术架构M.北京:人民邮电出版社,2008. 3美Jeff Doyle, Jennifer Carroll. TCP/IP 路由技术(第一卷)M.2 版.北京.人民邮电出版社,2007. 4美Jeff Doyle Jennifer DeHaven Carroll. TCP/IP 路由技术(第二卷)M.北京.人民邮电出版社,2009. 5美Faraz Shamim Zaheer Aziz Johnson Liu Abe Martey. IP路由协议疑难解析M.北京:人民邮电出版社,2008.