给MPLS热泼点凉水

发表于:2007-06-23来源:作者:点击数: 标签:
多协议标记交换(MPLS)技术正在引起广泛关注。设备厂商正在加紧MPLS产品的研制,鼓吹MPLS是未来三网融合的关键技术之一,可以使IP网从“无连接”向“有连接”过渡,实现“ 电信 级”的下一代互联网。 美国的9个一级 ISP(互联网服务提供商)中已经有2个在它们

   
  多协议标记交换(MPLS)技术正在引起广泛关注。设备厂商正在加紧MPLS产品的研制,鼓吹MPLS是未来三网融合的关键技术之一,可以使IP网从“无连接”向“有连接”过渡,实现“电信级”的下一代互联网。

美国的9个一级 ISP(互联网服务提供商)中已经有2个在它们的网络中采用了MPLS技术,其它的ISP也有半数以上计划在2001年或晚些时候使用MPLS。而在国内,有些国家级的大型ISP已经建设了基于MPLS的宽带互联网,另外一些运营商正在进行研究、测试和实验等的准备工作,准备在不久的将来使用MPLS技术和开展MPLS应用。
  
  MPLS之所以吸引了这么多的学术界、产品制造商和运营商的注意力,最重要的原因恐怕是因为它承诺为IP网络提供类似于ATM网络的控制和安全性,能够开展虚拟专用网(VPN)业务,做IP网上的流量工程(TE)以及提供服务质量(QoS)保证等。也就是说,MPLS既可以克服IP的一些致命缺点,又可以利用IP的很多优点。
  
  目前大规模部署MPLS所面临的主要问题是MPLS技术自身的标准尚未制订完成,因此不同厂家的产品之间难免存在互通性的问题。而MPLS的应用,比如基于MPLS的流量工程、VPN以及Voice over MPLS等的国际标准都在研究、制订和完善中(当然已经存在一些业界事实上的工业标准,如BGP/MPLS VPN),因此MPLS应用要到真正成熟恐怕还需要一些时日。但这些似乎都是一些“小”问题,随着时间的推移必将走向成熟,除此之外,MPLS技术和应用有没有“关键”问题还没有解决?
  
  下面笔者主要从MPLS工作原理的角度探讨运营商在部署MPLS网络时,目前必须考虑或关注的一些关键性技术问题,希望能够引起他们的注意。
  
  1. 转发速度会更快:证据不足
  MPLS起源于IP路由和标记交换技术。MPLS在网络入口的边缘路由器(LER)为每个包加上一个固定长度的标签,核心路由器根据进入包头的标记值进行标记交换,做出本地转发决定,在出口的边缘路由器再恢复原来的IP包。从入口到出口的一连串这样的标记交换和转发决定操作形成了一条标记交换路径(LSP)。
  IP是无连接的网络,为了做出本地转发决定,每台路由器必须根据所收到的每个包的目的地址前缀查找路由表中的所有已知的地址前缀,寻找匹配的下一跳,并做相应的转发。因为IP路由使用的是变长的最长地址前缀匹配做搜索(即搜索匹配前缀最长的一个作为入口),因此无法实现高速转发。而使用MPLS标记后,在任何内部标记交换路由器(LSR)上所使用的标记数量可以少至出口交换机的数量,使得所需要查找的转发决定表的规模小了很多,并且标记自身的大小(20比特)也小于IP地址前缀的大小,因此一般认为根据固定长度的标签搜索目的地址,能够实现高速转发。
  但稍微深入一点研究MPLS技术就会发现,MPLS自身对基本的IP网络体系几乎没有增加任何新的内容。除了使用标记做转发外,控制部分还是依赖原来的路由协议。因此简单地认为由于MPLS标记比IP地址前缀短,使用更短的标记做交换会比用IP地址做交换要更快是值得怀疑的。在MPLS的最基本层面上,所做的全部工作就是在路由和转发之间增加了新的一层(用MPLS标记交换替代传统的基于IP目的地址前缀的转发),从而引入了更多的间接性。引入新的一层间接性,会在准确关联标记和逐跳转发路径时增加新的问题源。
  诞生MPLS的初衷是因为当时的IP路由器转发速度有限,而目前的实际情况是这样,市场上的高速路由器已经把IP交换嵌入在芯片中,基于前缀地址查询的IP包的交换速度不比基于标记交换的MPLS要慢。在目前的IP路由器和MPLS路由器比较中,看不到MPLS LSR改善了交换速度的情形。因此“使用MPLS可以获得比IP转发更高的速度”的说法是缺乏证据的。因此MPLS产品供应商也已经开始改变市场宣传策略,不再宣传“MPLS可以获得更高的转发速度”,转而宣传“MPLS可以提供VPN和流量工程”等。
  
  2. MPLS网络会更加稳定:待确认
  目前对IP网络的管理技术并不成熟,而对MPLS网络的管理同样面临着严重问题。在一个MPLS网络中,必须依赖于路由协议来既准确地传播可达性信息,又做与标记分发相关的一些工作,因此MPLS网络对路由协议的依赖性要高于IP网络。但到目前为止,路由系统还不成熟,远未到令人满意的程度。任何有经验的网管人员都知道路由系统的故障具有很大的迷惑性,很难分析和判断。如果MPLS使用标记交换机制在路由和转发之间引入新的一层的间接性,可能会导致MPLS网络的故障更具迷惑性,更加难以分析和排除。
  虽然对于MPLS网络的管理会随着技术的成熟,以及运营MPLS网络的经验的增加而逐步得到解决,但现在就断言将会增加网管人员负担的MPLS网络会比传统的IP网络更稳定,是值得商榷的。
  
  3. 流量工程与TCP的交互:有冲突
  网络拥塞可能会是因为网络资源不足或者是流量分布不均匀造成的。在前一种情况下,所有路由器和链路都会过载,唯一的解决办法是升级基础设施,提供更多的网络资源。在第二种情况下,网络中的部分地方过载而其它地方的负载却较轻。现在的动态路由协议RIP、OSPF和IS-IS都会导致不均匀的流量分布,因为它们总是选择最短路径转发IP包。结果在两个结点之间沿着最短路径上的路由器和链路可能发生了拥塞,而沿较长路径的路由器和链路却是空闲的。OSPF的等价多路径(ECMP)选项以及IS-IS在给多个最短路径分配负载时是有用的,但如果只存在一条最短路径,ECMP也是无能为力的。对于简单网络,可以让网络管理员手工配置链路的代价,均匀地分发流量。但对于复杂网络,就只能使用自动化的流量工程了。
  流量工程就是安排数据流如何通过IP网络,以避免不均匀地使用网络而导致的拥塞的过程。MPLS的一个重要应用是做流量工程,把MPLS应用于一对入口和出口LSR之间配置的多条路径,允许入口LSR把流量分配到不同的LSP上。在理想情况下可以使得入口交换机使用全部网络资源,在到同一出口的不同路径上公平地装载流量。
  MPLS流量工程想要达到的目标很有价值,但在理想目标和现实的网络运营和管理之间还存在着距离。且不说流量工程的实施可能会非常复杂(太复杂就不划算了),标准还不成熟,单就目前与IP网络的高层应用之间就存在冲突。大家知道,目前IP网上的绝大多数流量是基于TCP流的应用(超过90%),如email, FTP, WWW等。而基于TCP协议的应用是一种弹性业务,也就是说,TCP协议会根据网络的拥塞情况,动态调整发送数据包的速率,以适应网络的拥塞情况:如果判断网络发生拥塞,则快速降低发送速率;否则缓慢发送速率。
  现在的问题是:如果高层应用是基于TCP拥塞控制机制的,而又运行在已经启用了MPLS流量工程的网络上的话,这时高层的TCP和低层的MPLS都会对拥塞做出反应,整个网络会发生什么样的事情呢?事实上,这时无论是TCP还是MPLS流量工程都已经很难对路径是否“过载”做出比较准确的判断了。还有一个问题是,如果流量工程选择了另一条LSP,则可能会因为路径的改变而导致TCP重排序的可能性的增加,严重降低TCP的效率,因此在这种情况下可能必须修改现有的TCP协议。
  当联系到目前IP网上已经拥有了很好的流量和拥塞控制机制以及排队机制,能够将链路维护在稳定状态时,实施MPLS流量工程时就更应该注意到它与TCP协议相互影响的问题。
  
  4. MPLS VPN的可扩展性:有疑问
  MPLS的另一个重要应用是支持VPN,这是一个巨大的IP增值服务市场。毫无疑问,ISP都想进入IP增值服务市场,而MPLS VPN的低成本、易维护性、保证QoS以及提供安全保证等承诺具有很大的吸引力。
  MPLS VPN只要求客户把它们的客户设备(CE) 简单地连接到运营商的网络边缘设备(PE)就可以了,运营商同时负责二层的数据传输工作和三层的路由工作,这种三层MPLS VPN对客户的要求比较低,客户负担较小,但这种做法的问题之一是常见的可扩展性。如果运营商把这种业务看作替代所有形式的零售传输业务,如FR PVC, ATM PVC甚至T1租用线的VPN,那么毫无疑问运营商必须考虑到可能连接了成百或甚至上千个VPN客户的PE路由器的可扩展性问题。因为运营商负责VPN客户的路由,运营商的VPN路由系统把每个VPN客户的完整路由信息都抽取到每个PE路由器中,同时客户侧不会做路由聚合来帮助运营商减轻PE的负担。因此在这种VPN中,运营商PE路由器的负担可能会比较重,PE路由表的规模是一个很现实的问题。如果运营商关心可扩展性的问题,就必须注意这个问题。
  看起来上面的把所有的路由信息外包给运营商,装载在边缘路由器中的三层MPLS VPN的方法很笨拙。那么,如果试图消除在运营商的路由系统中为每个VPN做转发的复杂性所导致的可扩展性问题,也可以采用所谓的二层MPLS VPN。在这种方式中,可以把穿越运营商MPLS网络的LSP看做位于客户两个站点之间的一条虚电路。这种方法试图把整个路由信息下放给客户网络边缘CE,并且能够减少PE中的路由信息,使得系统具有更好的可扩展性。但在这种模型中没有了客户把路由外包给运营商的机会,也就少了运营商获得增值服务的机会。因此虽然二层MPLS VPN对运营商而言具有更好的可扩展性,但在这种VPN中运营商所要做的是不得不管理数百甚至上万台客户边缘路由器以及穿越运营商骨干网的MPLS二层虚电路,运营商能否有效地运营和管理这种VPN服务确实是很值得怀疑的。
  
  5. MPLS VPN的安全性: 不比FR/ATM更好
  MPLS VPN采用路由隔离、地址隔离和信息隐藏等多种手段提供了抗攻击和标记欺骗的手段,因此研究认为MPLS VPN完全能够提供与传统的享有很高的安全声誉的FR/ATM VPN相类似的安全保证。
  但MPLS VPN也并未比FR/ATM在安全方面做得更好,也没有解决所有管理型的共享网络普遍存在的非法访问受保护的网络元、错误配置以及内部(包括核心)攻击等安全问题。如果运营商错误配置和建立了一个MPLS VPN,就会把一个客户的流量注入到另外一个客户的网络中去。虽然这不仅是MPLS所特有的问题(2000年2月Yankee group发表的研究报告指出传统的FR

原文转自:http://www.ltesting.net