传统的IP数据转发是基于逐跳式的,每个转发数据的路由器都要根据IP包头的目的地址查找路由表获得下一跳的出口,这是个繁琐又效率低下的工作,主要原因是两个:1、有些路由的查询必须对路由表进行多次查找,这就是所谓的递归搜索;2、由于路由匹配遵循最长匹配原则,所以迫使几乎所有的路由器的交换引擎必须用软件来实现,用软件实现的交换引擎个ATM交换机上用硬件来实现的交换引擎在效率上无法抗衡。
当今的互联网应用需求日益增多,对带宽、对时延的要求也越来越高。如何提高转发效率,各个路由器生产厂家做了大量的改进工作,如Cisco在路由器上提供CEF(Cisco Express Forwarding)功能、修改路由表搜索算法等等。但这些修补并不能完全解决目前互联网所面临的问题。
IP和ATM曾经是两个互相对立的技术,各个IP设备制造商和ATM设备制造商都曾努力想吃掉对方,想IP一统天下,或者ATM一家独秀!但是最终是这两种技术的融合,那就是MPLS(Multi-Protocol Label Switching)技术的诞生!MPLS技术结合和IP技术信令简单和ATM交换引擎高效的优点!
MPLS(Multiprotocol Label Switch)在流量工程(Traffic Engeering)和VPN这一目前IP网络中非常关键的两项技术中表现,MPLS已日益成为扩大IP网络规模的重要标准。
MPLS协议的关键是引入标签(Label)的概念。它是一种短的易于处理的、不包含拓扑信息、只是具有局部意义的信息内容。Label短是为了易于处理,通常可以用索引直接引用。只具有局部意义是为了便于分配。熟知ATM的人可能很自然是想到ATM中VPI/VCI。可以这么说,ATM中的VPI/VCI就是一种标签,所以说ATM实际就是一种标签交换。
在MPLS网络中,IP包在进入第一个MPLS设备时,MPLS边缘路由器就是用标签封装起来。MPLS边缘路由器分析IP包的内容并且为这些IP包选择合适的标签,相对于传统的IP路由分析,MPLS不仅分析IP包头中的目的地址信息。它还分析IP包头中的其他信息,如TOS等。尔后所有MPLS网络中节点都是依据这个简短标签来作为转发判决依据。当该IP包最终离开MPLS网络时,标签被边缘路由器分离。
1、MPLS基本工作原理
MPLS 是一种第三层路由结合第二层属性的交换技术,引入了基于标签的机制,它把路由选择和数据转发分开,由标签来规定一个分组通过网络的路径。MPLS网络由核心部分的标签交换路由器(LSR)、边缘部分的标签边缘路由器(LER)组成。LSR的作用可以看作是ATM交换机与传统路由器的结合,由控制单元和交换单元组成;LER的作用是分析IP包头,用于决定相应的传送级别和标签交换路径(LSP)。标签交换的工作过程可概括为以下3个步骤:
(1)由LDP(标签分布协议)和传统路由协议(OSPF、IS-IS等)一起,在LSR中建立路由表和标签映射表;
(2)LER接收IP包,完成第三层功能,并给IP包加上标签;在MPLS出口的LER上,将分组中的标签去掉后继续进行转发;
(3)LSR对分组不再进行任何第三层处理,只是依据分组上的标签通过交换单元对其进行转发。
2、MPLS发展过程
1996年,Ipsilon公司推出了IP Switching协议,在数据通讯界立即引起具大震动。 Ipsilon公司由一个默默无闻的小公司,一举成为数据通讯界众所周知的公司,并由此引发了路由器技术的一次大革命,各公司纷纷推出自己的三层交换方案,而其中对MPLS协议发展具有关键作用的有如下一些协议:
1)IP交换技术
IP Switching。由Ipsilon于1996年提出,并推出支持该协议的商业产品。该协议使ATM交换机成为一台路由器,因而具有ATM交换机的高性能,从而突破传统路由器的性能限制。IP交换的基本目的是采用弃用ATM控制平面的方法来高效地集成ATM交换机IP路由器。IP Switching的标签建立是由数据流驱动的。 Ipsilon定义一套协议,包括标签绑定协议(称为Ipsilon Flow Management Protocol或者IFMP,RFC)和交换机管理协议(称为General Switch Management Protocol 或者GSMP,RFC)。GSMP只是用来控制单个ATM交换机及那些跨越该交换机的虚连接。
2)标签交换(Tag Switching)
就在Ipsilon宣布他们的IP交换不久,Cisco公司就宣布了其标记交换技术,不过当时的叫法是“标签交换(Tag Switching)”。Tag Switching是由CISCO开发的一种标签(CISCO称之为标记)的方法。同IP Switching不同的是Tag Switching不是信赖数据流的驱动来建立标签转发表项,它是信赖于控制驱动(有一个相当于ATM协议的控制平面),Tag Switching网络由 Tag Edge Routers和Tag Switching Routers组成。IP包在Tag Edge Routers上进行标记封装,下一跳的路由确定信赖标准路由算法(如OSPF、BGP等)。标记的绑定和分布采用标记分布协议(Tag Distribution Protocol,TDP)。标签交换技术和IP交换以及CSR相比,在技术上差别很大。例如,在交换机上,它并不以数据流量来设置前向表,并且不同于ATM 网络的是,对于很多的连接层技术来说,它提供了详尽具体的说明。和Ipsilon公司相同的是,Cisco公司也做了描述的技术的RFC。但是,Cisco公司准备通过IETF将他们的技术最终实现标准化。正是为了实现这一目标,他们起草了大量的Internet 文件用来说明标签交换技术的各个方面。正是通过Cisco的不断努力,最终才有了我们现在所知道的MPLS工作组,并且现在MPLS成为标记交换的通用术语。
3)IBM的ARIS
也是在Cisco公司宣布他们的标签交换技术,并努力在IETF中使之成为标准化不久,IBM公司起草了一些文档来描述另外一种新的标记交换技术,他们称之为集中式基于路由的IP交换技术(ARIS)。和其他几种标记交换技术相比,ARIS与Cisco公司的标签交换技术更为相近。两者都是采用控制流量而不是采用数据流量来设置前向表,但是,ARIS在一些方面与标签交换也有明显的不同。许多ARIS的思想也进入到了MPLS标准之中。同Tag Switching、ARIS是把标签同汇集路由器相差联,不同于IP Switching中同流相关联,标签的绑定和标签交换路径的建立是由控制流(如路由更新)来决定的。通常出口路由器是发起方。ARIS在设计时是考虑到使用ATM作为其数据链路层的,ARIS是一个点到点的协议。它直接运行在相邻路由器的IP之上,并提供在邻接路由器之间建立和交换标签的方法。ARIS的关键概念是"出口标识(Egress Identifier)。标签分发始于出口路由器,并有规律地通过网络传递到入口路由器。
4)MPLS工作组
在Cisco宣布他们的标签交换技术的同时,他们也宣称将要使之标准化。在他们提出了一系列有关标签交换的Internet草案以后不久,在1996年10月份召开了一个BOF会议。当时Cisco、IBM、Toshiba均参加了这次会议。BOF会议成了IETF历史上一次比较重要的会议。
由于已经有多个公司生产出现非常相似的产品来解决当时网络中出现的新问题,因此将这一技术标准化成为当时会议的一个主要议题。尽管当时还有人在怀疑这些技术能否解决网络中的新问题(例如,有人认为快速路由器将会使这个问题变得更为混乱),但是,毋庸置疑的是,如果没有一个标准化工作组,将会出现更多的互不兼容的标记交换产品,从而使市场变得更为混乱。于是草拟筹备工作组章程的工作开始了,到1997年初,终于有了一个能被IETF接受的章程,工作组的第一次会议在1997年4月份召开。
3、MPLS的特点
MPLS多协议标志交换技术与其他技术相比具有三个特点:
1)MPLS交换与传统IP路由器不同,它是基于一种显示的路由交换(explicit routing),源地址路由方式。
2)MPLS中所使用的标志(label)没有固定的格式,随着下层媒体的变化而变化,对于ATM媒体,标志是ATM的VCI/VPI,对于帧中继为DLCI,对于X.25为LCN。
3)MPLS的路由控制管理是一种面向网络拓扑的实现,网络拓扑驱动(topo-driven),只有当整个网络拓扑发生变化时,MPLS的路由转发表才会发生变化,而不且随网络中某个应用服务、某台工作站的改变而变化。
在基于ATM的MPLS交换技术中,“标签包装”的原型与ATM交换机转发信元非常相似;从另一角度看,在一个标志交换的环境中,ATM交换机将更像是一台快速的路由器。MPLS的典型方法是,为第3层路由表中的路由前缀分配一个特定含义的标签。这种拓扑驱动(topology-driven)的标志分配技术有别于其它基于流驱动(flow-driven)的分配技术,在MPLS中所分配的标签仅随路由前缀的变化而变化,其变化频率相对会低得多。显然,因为这种技术实现独立于数据流,而采用目的地地址,因此具有很强的可扩展性。在某种程度上,标志交换有些类似于帧中继采用数据链路连接标志符(DLCI)来执行高速的交换功能。当被标志的分组最终到达标志网络的出口时,就被移去标志,分组由传统的第3层路由进行转发。
4、MPLS的意义
1)提高网络使用效率
目前,中国的骨干网带宽的利用率在10%以下,因而,如何吸引更多的用户使用网络资源,是运营商、服务商关心的话题。路由器制造商都看到MPLS的最佳用武之地是,把承载多种不同类型服务的网络集成为一个单一的网络。网络运营商和服务商大多认为,用MPLS统一各种服务不失为一种长远的发展方向。
2)简化Ipv6实施
现在,IPv4的地址非常缺乏,该到实施IPv6的时候了。如果先在IPv4上实现MPLS,会减小IPv6的实现难度,因为MPLS把对数据包的转发完全脱离开来。IPv6对IPv4最主要的能力是地址空间的扩展,那么相应的路由算法都没有什么改变,转发数据包的控制协议上也没有什么改变。因而,在一个把转发和控制都清楚分开的平台上,只需改变相应的控制协议,转发方面根本就不用改变。这样做了之后,随着现在的光传输技术的发展,网络的带宽几乎是无限制地在增长,比如一根光纤上可以传到几个T这样的速度,这样的话,要求网络中的转发设备(即路由器设备)同样要适应传输技术的发展,要提高得非常快。基本的手段是利用硬件转发。而专门的转发和控制协议脱离的体系结构也更加方便了做硬件转发。因为只看一个包的标记的格式是固定的,也非常容易在硬件中实现,这种趋势是MPLS在非常高速的网络中也有他的一些好处之一。因此,MPLS的实现简化了IPv6的一些新功能。
3)为新厂商带来商机
其实,MPLS的出现,给了新的厂商、新的产品很多机会,让它们有了新的生存空间。传统的IP网络的割据战已经结束,在新出现的战场上,正好适合起点高的厂商在其中扮演角色。传统厂商如果不是从硬件平台上有改变,在这么宽的网络处理速度上,根本就来不及处理高速转发。因此,在宽带的前提条件下,必须有新的硬件平台,这就是新厂商的机会。
5、MPLS的优越性
IP+ATM怎样不同于简单地在ATM骨干上运行IP呢?答案就是MPLS。MPLS是商业IP网络关键技术,它允许服务提供商首次在单一网络上获得IP,ATM,FR的综合利润。因为MPLS提供IP的灵活连接和可扩展性,以及FR和ATM的私有性和QOS,它已变成广泛被接收的标准。
运用MPLS,IP服务能通过以下的过程在具有选路和多业务的交换网络上进行传送:
1)网络决定包的选路和QOS需求
2)标记被分配给每个包,告诉交换机或路由器哪儿、怎样去发送这个包,每个包的特定的服务属性:QOS,私有性等等
3)包在没有额外的选路的情况下,在网络骨干上被交换。
基于MPLS的解决方案使得新的网络世界的服务成为可能,如具有QOS的VPN。MPLS标记的主要好处是能够为单个数据流区别服务类。
MPLS提供IP服务的高性能扩展,因为服务的决策在网络边缘决定,并且不需要中间的再处理而进行交换。MPLS使得ATM网络能够实现端到端的三层智能和获得重要的高性能。另外,MPLS消除IP over ATM所需要的复杂的协议和地址解析。运用MPLS具有附加值的扩展,服务提供商能快速有效地传送先进的IP服务,例如:
具有FR私有性,而没有端到端虚拟电路的无连接的IP VPNs
多个IP服务类去实现一个大范围的商业策略
低费用的受控服务扩展了对小和中等规模的商务的市场共享
实现基于MPLS的IP+ATM的解决方案的服务提供商保留所有的用户商务,并且开始从新出现的IP机遇中建造有利润的服务。运用IP+ATM的解决方案能够:
使得现在产生利润的服务成为可能。
从IP增值业务中建造收入和利润的增长
减小进入市场的时间
增加投资回报
增加市场共享
MPLS交换主要目的是为下一代的多用户,多服务的Internet骨干网络提供一种路由交换的技术基础。它的主要特征为高性能,可灵活扩展,能最大可能地满足用户对服务质量的需求。Internet网络的飞速发展也为MPLS的发展带来了十分显著的推动作用。
MPLS技术也为一些目前IP网络急待提供的应用服务如流量控制(traffic engineering)、虚拟专网(VPN),服务类别质量保证(COS)等提供了一套更为合理有效的解决方案。
各网络厂商纷纷推出基于各自特点的MPLS的技术实现及设备,MPLS必然会在不久的几年内完成各种方面的标准制定,真正成为下一代Internet的路由技术主流。