关键词:MPLS,VPN,QOS,流量工程
摘 要:本文详细介绍了MPLS的一些基本概念、MPLS VPN、MPLS 流量工程等。
缩略语清单:
缩略语 | 英文全名 | 中文解释 |
BGP | Border Gateway Protocol | 边界网关协议 |
CE | Custormer Edge | 用户边界路由器 |
COS | Class of Service | 服务等级 |
CR-LDP | Constraint-Based Route LDP | 基于受限路由的标签分发协议 |
DF | Default Forwarding | 缺省转发 |
DoD | Downstream On Demand | 下游按请求分配标签 |
DS | Differentiated Services | 差分业务 |
DU | Downstream Unsolicited | 下游未被请求标签 |
EBGP | External BGP | 外部边界网关协议 |
EF | Expedited Forwarding | 快速转发 |
FEC | Frowarding Equavalence Class | 转发等价类 |
IGP | Interior Gateway Protocol | 内部网关协议 |
LDP | Label Distribution Protocol | 标签分发协议 |
LER | Label Edge Router | 边缘标签交换机 |
LSP | Label-Switch Path | 标签交换路径 |
MP-BGP | Multiprotocol BGP | 多协议扩展BGP |
MPLS | Multiprotocol Label Switching | 多协议标签交换 |
PE | Provider Edge | 运营商边界路由器 |
P router | Provider Router | 骨干网核心路由器 |
QOS | Quality of Service | 服务质量 |
RD | Route Distinguisher | |
RR | Router Reflector | 路由反射器 |
RSVP | Resource Reservation Protocol | 资源预留协议 |
SLA | Service Level Agreement | 业务等级协定 |
TE | Traffic Engineering | 流量工程 |
VPN | Virtual Private Network | 虚拟私有网 |
L3VPN | Layer 3 VPN | 三层VPN |
VPN Site | Virtual Private Network Site | VPN中的一个孤立的IP网络可以属于一个或几个VPN,每个Site通过RD标识 |
VPN Instance | Virtual Private Network | VPN实例,包含了同一个site相关的路由表、转发表、接口(子接口)、路由实例以及路由策略等。 |
L2VPN | Layer 2 VPN | 二层VPN |
VLL | Virtual Leased Line | 虚拟租用线路服务,是点对点方式的L2VPN |
VPLS | Virtual Private Lan Service | 虚拟私有Lan服务,是点对多点方式的L2VPN |
CCC | Circuit Cross Connect | 电路交叉连接 |
目 录
1 介绍
MPLS(Multiprotocol Label Switching)是多协议标签交换的简称,它用短而定长的标签来封装网络层分组。MPLS从各种链路层(如PPP、ATM、帧中继、以太网等)得到链路层服务,又为网络层提供面向连接的服务。MPLS能从IP路由协议和控制协议中得到支持,同时,还支持基于策略的约束路由,它路由功能强大、灵活,可以满足各种新应用对网络的要求。这种技术起源于IPv4,但其核心技术可扩展到多种网络协议(IPv6、IPX等)。
MPLS最初是为提高路由器的转发速度而提出一个协议,但是,它的用途已不仅仅局限于此,而是广泛地应用于流量工程(Traffic Engineering)、VPN、QoS等方面,从而日益成为大规模IP网络的重要标准,现在H3C系列交换机和路由器产品上已经实现MPLS特性。
Internet在近些年中的爆炸性增长为Internet服务提供商(ISP)提供了巨大的商业机会,同时也对其骨干网络提出了更高的要求。人们希望IP网络不仅能够提供E-Mail上网等服务,还能够提供宽带实时性业务。ATM曾经是被普遍看好的能够提供多种业务的交换技术,但是由于实际的网络中人们已经普遍采用IP技术,纯ATM网络已经不可能,现有ATM的使用也一般都是用来用来承载IP。如此人们就希望IP也能提供一些ATM一样多种类型的服务。
MPLS Multiprotocol Label Switch多协议标签交换就是在这种背景下产生的一种技术。它吸收了ATM的VPI/VCI交换的一些思想,无缝地集成了IP路由技术的灵活性和2层交换的简捷性,在面向无连接的IP网络中增加了MPLS这种面向连接的属性,通过采用MPLS建立虚连接的方法为IP网增加了一些管理和运营的手段。
MPLS的最早原型是90年代中期由Ipsilon公司率先推出的IP Switching协议,其目的主要是解决ATM交换机如何更好地支持IP。该协议使ATM交换机成为一台路由器,因而具有ATM交换机的高性能,突破了传统路由器的性能限制,一时间Ipsilon名声大震。当时路由器厂家实现标记交换的目的是为了解决IP路由查找不能达到线速的问题,因为IP路由查找采用的是最长地址匹配的方式,在路由器端口速度达到155M或622M时软件查找路由困难。这些早期不同厂家的标签交换的实现存在互通问题,所以在1997年IETF成立一个负责标记交换标准化的工作组——MPLS工作组,它独立于各个设备实现厂家。现有的MPLS相关协议和草案基本上来自于这个工作组和它后来派生出来的流量工程工作组和MPLS VPN工作组。随着网络处理器技术的迅速发展,2.5G甚至10G的端口的路由线速查找都已经不成问题,MPLS应用也逐步转向MPLS流量工程和MPLS VPN等。
在IP网中MPLS流量工程技术成为一种主要的管理网络流量、减少拥塞、一定程度上保证IP网络的QoS的重要工具。在解决企业互连提供各种新业务方面,MPLS VPN越来越被运营商看好,成为在IP网络运营商提供增值业务的重要手段。采用MPLS VPN技术可以把现有的IP网络分解成逻辑上隔离的网络,这种逻辑上隔离的网络的应用可以是千变万化的:可以是用在解决企业单独互连、政府相同/不同办事部门的单独互连、也可以是用来提供新的业务——如为IP电话业务专门开辟一个VPN、以此解决IP网络地址不足、QoS保证以及开展新业务等问题。
在MPLS越来越被看好的同时反对使用MPLS的声音同样越来越尖锐,主要的反对声音来自于AT&T的两位Internet研究者——安全权威Steve Bellovin和网络运行专家Randy Bush。MPLS的反对者认为MPLS尤其是MPLS VPN对IP网络来说是一个灾难,认为MPLS彻底破坏了IP网络的现有结构,在IP网上增加了复杂的难于管理和控制的VPN结构。在VPN数量很多的时候会严重影响骨干网的稳定性和可扩展性,另外象三层MPLS VPN的安全也是一个问题,在VPN配置错误时错被配进VPN的客户在VPN中没有任何阻难。MPLS的反对者认为MPLS是没有必要的,解决VPN采用IPSec是一种更好更安全对现有网络改动也最小的解决方案,MPLS的反对者认为给有拥塞的链路扩容也会是解决网络拥塞的更简单的办法。
以上观点虽然有些极端,但是MPLS技术确实给运营商提出了新的挑战,在实施MPLS时,整个网络管理的复杂度明显增加:如使用流量工程时需要对网络流量进行全面周期性测量;使用MPLS VPN需要针对每一个VPN管理一个VPN路由表,在有成千上万个VPN的时候管理成千上万个VPN路由表会是一个非常头痛的事。所以并不是所有的VPN(如Site很少端口速度又小的VPN)都要用MPLS/BGP VPN,能用IPSec或专线的不必一定要用MPLS/BGP VPN,MPLS/BGP VPN比较适用于Site较多端口速度大的VPN。
H3C提供全面的MPLS解决方案,支持MPLS VPN,支持MPLS流量工程,认为MPLS是IP网中解决网络QoS问题、VPN问题的一个重要手段。随着MPLS标准的不断完善,H3C将能够及时的、全面的、满足标准的MPLS解决方案。
FEC(Forwarding Equivalence Class)是MPLS中的一个重要概念。MPLS实际上是一种分类转发技术,它将具有相同转发处理方式(目的地相同、使用转发路径相同、具有相同的服务等级等)的分组归为一类,称为转发等价类。一般来说,划分分组的FEC是根据他的网络层目的地址。属于相同转发等价类的分组在MPLS网络中将获得完全相同的处理。
标签为一个长度固定、具有本地意义的短标识符,用于标识一个FEC(Forwarding Equivalence Class)。当分组到达MPLS网络入口时,它将按一定规则被划归不同的FEC,根据分组所属的FEC,将相应的标签封装在分组中,这样,在网络中,按标签进行分组转发即可。标签的结构如图1 所示。

标签位于链路层包头和网络层分组之间,长度为4个字节。标签共有4个域:
l Label:标签值字段,长度为20bits,用于转发的指针。
l Exp:3bits,保留,协议中没有明确规定,通常用于COS。
l S:1bit,MPLS支持标签的分层结构,即多重标签。值为1时表明为最底层标签。
l TTL:8bits,和IP分组中的TTL意义相同。
标签映射分为两种,一种是入口路由器处的标签映射,另一种是MPLS域内的标签映射。
入口路由器处的标签映射为ingress LSR依据一定的原则对输入分组进行划分,得到多个FEC,接着将有关标签与这些FEC进行映射,并记录在相应的数据库LIB(Label Information Base)中。简单地说,就是将一个标签指派给FEC,就称为“标签映射”。
MPLS域内的标签映射又称为输入标签映射ILM(Incoming Label Map),即将每个输入标签映射到一系列