今天海翎光电的小编就为大家介绍一下MPLS。 MPLS是一种提供高性价比和多业务能力的交换技术。
多协议标签交换(Multi-Protocol Label Switching,MPLS)是新一代的IP高速骨干网络交换标准,由因特网工程任务组(Internet Engineering Task Force,IETF)提出。采用MPLS技术可以提供灵活的流量工程、虚拟专网等业务,同时,MPLS也是能够完成涉及多层网络集成控制与管理的技术。
MPLS技术是在20世纪90年代中期从Cisco的标记交换演变而来的。MPLS在网络的入口边缘标签路由器(Ingress LSR)为每一个数据包加上一个固定长度的标签,核心路由器根据标签值进行转发,在出口边缘标签路由器(Egress LSR)再恢复成原来的IP数据包。由于是根据固定长度的标签搜索目的地址,所以MPLS能够实现数据包的高速转发,这也是提出MPLS的初衷。
随着路由器性能的不断提升,MPLS技术已不再是实现高速转发的技术,但是其在组建VPN和LT方面的应用越来越多。
MPLS概述
MPLS是利用标记(label)进行数据转发的。当分组进入网络时,要为其分配固定长度的短的标记,并将标记与分组封装在一起,在整个转发过程中,交换节点仅根据标记进行转发。
MPLS 独立于第二和第三层协议,诸如ATM 和IP。它提供了一种方式,将IP地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。它是现有路由和交换协议的接口,如IP、ATM、帧中继、资源预留协议(RSVP)、开放最短路径优先(OSPF)等等。
在MPLS 中,数据传输发生在标签交换路径(LSP)上。LSP是每一个沿着从源端到终端的路径上的结点的标签序列。
MPLS 主要设计来解决网路问题,如网路速度、可扩展性、服务质量(QoS)管理以及流量工程,同时也为下一代IP 中枢网络解决宽带管理及服务请求等问题。
在这部分,我们主要关注通用MPLS 框架。有关LDP、CR-LDP 和RSVP-TE 的具体内容可以参考个别文件。
多协议标签交换MPLS最初是为了提高转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,从而节约了处理时间。
MPLS起源于IPv4(Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPX(Internet Packet Exchange)、Appletalk、DECnet、CLNP(Connectionless Network Protocol)等。“MPLS”中的“Multiprotocol”指的就是支持多种网络协议。
协议结构
标签结构
Label―Label 值传送标签实际值。当接收到一个标签数据包时,可以查出栈顶部的标签值,并且系统知道:A、数据包将被转发的下一跳;B、在转发之前标签栈上可能执行的操作,如返回到标签进栈顶入口同时将一个标签压出栈;或返回到标签进栈顶入口然后将一个或多个标签推进栈。
协议组
MPLS分类
VPN
传统的VPN一般是通过GRE(Generic Routing Encapsulation)、L2TP(Layer 2 Tunneling Protocol)、PPTP(Point to Point Tunneling Protocol)、IPSec协议等隧道协议来实现私有网络间数据流在公网上的传送。而LSP本身就是公网上的隧道,所以用MPLS来实现VPN有天然的优势。
MPLS VPN是指利用MPLS在IP骨干网络上构建VPN的技术。VPN的实质就是在公网上像私有专用网一样传输业务数据,这就需要在公网上建立一条隧道,让数据报文通过隧道直达目的地,从而达到私有专用网络的效果。概括地讲,MPLS VPN就是采用MPLS建立的LSP作为公网隧道来传输私网业务数据的。
MPLS VPN的基本模型主要由以下三种角色构成:
MPLS VPN的基本模型
MPLS VPN充分利用了MPLS的技术优势,是目前应用最广泛的VPN技术。从用户角度来看,MPLS VPN具有如下价值:
一个MPLS标签对应一个指定业务的数据流(特定FEC),非常有利于不同用户业务的隔离。
QoS
NE80E支持基于MPLS的流量工程和差分服务Diff-Serv特性,在保证网络高利用率的同时,可以根据不同数据流的优先级实现差别服务,从而为语音,视频数据流提供有带宽保证的低延时、低丢包率的服务。
由于全网实施流量工程的难度比较大,因此,在实际的组网方案中往往通过差分服务模型来实施QoS。
Diff-Serv的基本机制是在网络边缘,根据业务的服务质量要求将该业务映射到一定的业务类别中,利用IP分组中的DS(Differentiated Service)字段(由ToS域而来)唯一的标记该类业务;然后,骨干网络中的各节点根据该字段对各种业务采取预先设定的服务策略,保证相应的服务质量。
Diff-Serv对服务质量的分类和标签机制与MPLS的标签分配十分相似,事实上,基于MPLS的Diff-Serv就是通过将DS的分配与MPLS的标签分配过程结合来实现的。
MPLS工作过程
1. LDP和传统路由协议(如OSPF、ISIS等)一起,在各个LSR中为有业务需求的FEC建立路由表和标签映射表;
2. 入节点Ingress接收分组,完成第三层功能,判定分组所属的FEC,并给分组加上标签,形成MPLS标签分组,转发到中间节点Transit;
3. Transit根据分组上的标签以及标签转发表进行转发,不对标签分组进行任何第三层处理;
4. 在出节点Egress去掉分组中的标签,继续进行后面的转发。
由此可以看出,MPLS并不是一种业务或者应用,它实际上是一种隧道技术,也是一种将标签交换转发和网络层路由技术集于一身的路由与交换技术平台。这个平台不仅支持多种高层协议与业务,而且,在一定程度上可以保证信息传输的安全性。
MPLS体系结构
MPLS网络是指由运行MPLS协议的交换节点构成的区域。这些交换节点就是MPLS标记交换路由器,按照它们在MPLS网络中所处位置的不同,可划分为MPLS标记边缘路由器(LER: label edge router)和MPLS标记核心路由器(LSR:label switching router)。顾名思义,LER位于MPLS网络边缘与其他网络或者用户相连;LSR位于MPLS网络内部。两类路由器的功能因其在网络中位置的不同而略有差异。
在MPLS的体系结构中:
MPLS路由协议
LDP利用路由转发表建立LSP。
LDP通过逐跳方式建立LSP时,利用沿途各LSR路由转发表中的信息来确定下一跳,而路由转发表中的信息一般是通过IGP、BGP等路由协议收集的。LDP并不直接和各种路由协议关联,只是间接使用路由信息。
通过已有协议的扩展支持MPLS标签分发。
虽然LDP是专门用来实现标签分发的协议,但LDP并不是唯一的标签分发协议。通过对BGP、RSVP(Resource Reservation Protocol)等已有协议进行扩展,也可以支持MPLS标签的分发。
通过某些路由协议的扩展支持MPLS应用。
在MPLS的应用中,也可能需要对某些路由协议进行扩展。例如,基于MPLS的VPN应用需要对BGP进行扩展,使BGP能够传播VPN的路由信息;基于MPLS的流量工程TE(Traffic Engineering)需要对OSPF或IS-IS协议进行扩展,以携带链路状态信息。
1、转发等价类
MPLS作为一种分类转发技术,将具有相同转发处理方式的分组归为一类,称为转发等价类FEC(Forwarding Equivalence Class)。相同转发等价类的分组在MPLS网络中将获得完全相同的处理。
转发等价类的划分方式非常灵活,可以是源地址、目的地址、源端口、目的端口、协议类型、VPN等的任意组合。例如,在传统的采用最长匹配算法的IP转发中,到同一个目的地址的所有报文就是一个转发等价类。
2、标签
标签是一个长度固定、只具有本地意义的短标识符,用于唯一标识一个分组所属的转发等价类FEC。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个标签,但是一个标签只能代表一个FEC。
标签由报文的头部所携带,不包含拓扑信息,只具有局部意义。
标签共有4个域:
1.Label:20比特,标签值字段,用于转发的指针。
2.Exp:3比特,保留,用于试验,现在通常用做CoS(Class of Service)。
3.S:1比特,栈底标识。MPLS支持标签的分层结构,即多重标签,S值为1时表明为最底层标签。
4.TTL:8bit的TTL表示生存期字段(Time to Live),用来对生存期值进行编码,并防止数据在网上形成环路。
标签与ATM的VPI/VCI以及Frame Relay的DLCI类似,是一种连接标识符。
如果链路层协议具有标签域,如ATM的VPI/VCI或Frame Relay的DLCI,则标签封装在这些域中。
如果链路层协议没有标签域,则标签封装在链路层和IP层之间的一个垫层中。
Frame mode:帧模式。
Cell mode:信元模式。
3、标签交换路径
标签交换路径
标签交换路径(Label Switching Path,LSP)是MLSP网络中一个入节点与一个出节点之间的一条路径。为特定FEC选择LSP有两种方法:逐跳路由(Hop by Hop Route)和显式路由(Explicit Route)。逐跳路由允许每个LSR独立地为每个FEC选择下一跳;显式路由则是由入口LSR事先确定好了FEC在MPLS域中的路径。
标签交换路由器
标签交换路由器LSR(Label Switching Router)是MPLS网络中的基本元素,所有LSR都支持MPLS协议。
LSR由两部分组成:控制单元和转发单元。
控制单元负责标签的分配、路由的选择、标签转发表的建立、标签交换路径的建立、拆除等工作。
转发单元则依据标签转发表对收到的分组进行转发。
4、标签分配协议
标签分配协议(Label Distribution Protocol,LDP)是MPLS的控制协议,用于建立、维护、拆除LSP的信令。
MPLS可以使用多种标签发布协议。
包括专为标签发布而制定的协议,例如:LDP(Label Distribution Protocol)、CR-LDP(Constraint-Routing Label Distribution Protocol)。
也包括现有协议扩展后支持标签发布的,例如:BGP(Border Gateway Protocol)、RSVP(Resource Reservation Protocol)。
5、标签交换路径
一个转发等价类在MPLS网络中经过的路径称为标签交换路径LSP(Label Switched Path)。
LSP在功能上与ATM和Frame Relay的虚电路相同,是从入口到出口的一个单向路径。LSP中的每个节点由LSR组成,根据数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。
标签交换路径LSP分为静态LSP和动态LSP两种。静态LSP由管理员手工配置,动态LSP则利用路由协议和标签发布协议动态产生。
位于MPLS域边缘、连接其它用户网络的LSR称为边缘LSR,即LER(Label Edge Router),区域内部的LSR称为核心LSR。核心LSR可以是支持MPLS的路由器,也可以是由ATM交换机等升级而成的ATM-LSR。域内部的LSR之间使用MPLS通信,MPLS域的边缘由LER与传统IP技术进行适配。
分组被打上标签后,沿着由一系列LSR构成的标签交换路径LSP传送,其中,入节点LER被称为Ingress,出节点LER被称为Egress,中间的节点则称为Transit。
MPLS技术特点
1.充分采用原来的IP路由,在此基础上加以改进;保证了MPLS网络路由具有灵活性的特点。
2.采用ATM的高效传输交换方式,抛弃了复杂的ATM信令,无缝地将IP技术的优点融合到ATM的高效硬件转发中。
3.MPLS网络的数据传输和路由计算分开,是一种面向连接的传输技术,能够提供有效的QOS保证。
4.MPLS不但支持多种网络层技术,而且是一种与链路层无关的技术,它同时支持X.25 帧中继 ATM PPP SDH DWDM 等,保证了多种网络的互连互通,使得各种不同的网络传输技术统一在同一各MPLS平台上。
5.MPLS支持大规模层次化的网络拓扑结构,具有良好的网络扩展性。
6.MPLS的标签合并机制支持不同数据流的合并传输。
7.MPLS支持流量工程 COS QOS 和大规模的虚拟专用网。
MPLS工作原理
MPLS是基于标记的IP路由选择方法。这些标记可以被用来代表逐跳式或者显式路由,并指明服务质量(QoS)、虚拟专网以及影响一种特定类型的流量(或一个特殊用户的流量)在网络上的传输方式等各类信息。MPLS采用简化了的技术,来完成第三层和第二层的转换。它可以提供每个IP数据包一个标记,将之与IP数据包封装于新的MPLS数据包,由此决定IP数据包的传输路径以及优先顺序,而与MPLS兼容的路由器会在将IP数据包按相应路径转发之前仅读取该MPLS数据包的包头标记,无须再去读取每个IP数据包中的IP地址位等信息,因此数据包的交换转发速度大大加快。
目前的路由协议都是在一个指定源和目的地之间选择最短路径,而不论该路径的带宽、载荷等链路状态,对于缺乏安全保障的链路也没有一种显式方法来绕过它。利用显式路由选择,就可以灵活选择一条低延迟、安全的路径来传输数据。
MPLS协议实现了第三层的路由到第二层的交换的转换。MPLS可以使用各种第二层协议。MPLS工作组到目前为止已经把在帧中继、ATM和PPP链路以及IEEE802.3局域网上使用的标记实现了标准化。MPLS在帧中继和ATM上运行的一个好处是它为这些面向连接的技术。
带来了IP的任意连通性。目前MPLS的主要发展方向是在ATM方面。这主要是因为ATM具有很强的流量管理功能,能提供QoS方面的服务,ATM和MPLS技术的结合能充分发挥在流量管理和QoS方面的作用。标记是用于转发数据包的报头,报头的格式则取决于网络特性。在路由器网络中,标记是单独的32位报头;在ATM中,标记置于虚电路标识符/虚通道标识符(VCI/VPI)信元报头中。对于MPLS可扩展性非常关键的一点是标记只在通信的两个设备之间有意义。在网络核心,路由器/交换机只解读标记并不去解析IP数据包。
IP包进入网络核心时,边界路由器给它分配一个标记。自此,MPLS设备就会自始至终查看这些标记信息,将这些有标记的包交换至其目的地。由于路由处理减少,网络的等待时间也就随之缩短,而可伸缩性却有所增加。MPLS数据包的服务质量类型可以由MPLS边界路由器根据IP包的各种参数来确定,如IP的源地址、目的地址、端口号、TOS值等参数。
对于到达同一目的地的IP包,可根据其TOS值的要求来建立不同的转发路径,以达到其对传输质量的要求。同时,通过对特殊路由的管理,还能有效地解决网络中的负载均衡和拥塞问题。当网络中出现拥塞时,MPLS可实时建立新的转发路由来分散流量以缓解网络拥塞。
MPLS交换采用面向连接的工作方式,面向连接的工作方式就是信息传送要经过以下三个阶段:建立连接、数据传输和拆除连接。对于MPLS来说,建立连接就是形成标记交换路径LSP的过程;数据传输就是数据分组沿LSP进行转发的过程;而拆除连接则是通信结束或发生故障异常时释放LSP的过程。
建立连接
(1)驱动连接建立的方式
MPLS技术支持三种驱动虚连接建立的方式:拓扑驱动、请求驱动和数据驱动。
(2)标记分配。
(3)连接建立过程。
(4)MPLS路由方式。
数据传输
MPLS网络的数据传输采用基于标记的转发机制。
(1)入口LER的处理过程
当数据流到达入口LER时,入口LER需完成三项工作:将数据分组映射到LSP上;将数据分组封装成标记分组;将标记分组从相应端口转发出去。
(2)LSR的处理过程
LSR从“SHIM”中获得标记值,用此标记值索引LIB表,找到对应表项的输出端口和输出标记,用输出标记替换输入标记,从输出端口转发出去。
(3)出口LER的处理过程
出口路由器为数据分组在MPLS网络中经历的最后一个节点,所以出口路由器要进行相应的弹出标记等操作。
拆除连接
因为MPLS网络中的虚连接,也就是LSP路径是由标记所标识的裸机信道串联而成的,所以连接的拆除也就是标记的取消。标记的取消方式主要有两种,一种是采用计时器的方式;一种是不设置定时器。
应用
随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。
但由于MPLS结合了IP网络强大的三层路由功能和传统二层网络高效的转发机制,在转发平面采用面向连接方式,与现有二层网络转发方式非常相似,这些特点使得MPLS能够很容易地实现IP与ATM、帧中继等二层网络的无缝融合,并为流量工程TE(Traffic Engineering)、虚拟专用网VPN(Virtual Private Network)、服务质量QoS(Quality of Service)等应用提供更好的解决方案。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。