在90年代中期,当时路由器技术的发展远远滞后于网络的发展速度与规模,主要表如今转发效率低下、没法提供QOS保证。缘由是:当时路由查找算法使用最长匹配原则,必须使用软件查找;而IP的本质就是“只关心过程,不注重结果”的“尽力而为”。当时江湖上流行一种论调:过于简单的IP技术没法承载网络的将来,基于IP技术的因特网必将在几年以后崩溃。算法
此时ATM跳了出来,欲收编全部帮派,一统武林。不幸的是:信奉惟美主义的ATM走向了另外一个极端,过于复杂的心法与招式致使没有任何厂商可以彻底修练成功,并且没法与IP很好的融合。在与IP的大决战中最终落败,ATM只能寄人篱下,沦落到做为IP链路层的地步。网络
屏弃了繁琐的路由查找,改成简单快速的标签交换
将具备全局意义的路由表改成只有本地意义的标签表
这些均可以大大提升一台路由器的转发功力。
MPLS的创始人“label大师”充分吸收了ATM的精华,但也同时认识到IP为江湖第一大帮派,没法取而代之。遂主动与之修好,甘当IP的承载层,但为了与通常的链路层小帮有所区别,将本身定位在第2. 5层的位置。“label大师”本属于八面玲珑之人,为了避免得罪其余帮派,宣称本帮是“multiprotocol”,来者不拒,也能够承载其余帮派的报文。在通过一年多的招兵、上下打点以后,于1997年的武林大会上,正式宣布本帮成立,并命名为MPLS(MultiProtocol label Switch) MPLS能够扩展到多种网络协议(如IPv6,IPX等)ide
一般,MPLS包头有32Bit,其中有:
20Bit用做标签(Label)在本地有意义
3个Bit的EXP, 协议中没有明确,一般用做COS QOS打标用的
1个Bit的S,用于标识是不是栈底,代表MPLS的标签能够嵌套,S值为1时代表为最底层标签
8个Bit的TTL
二层首部的标签称为栈顶MPLS标签或外层MPLS标签
靠近IP首部的标签称为栈底MPLS标签或内层MPLS标签
理论上,标记栈能够无限嵌套,从而提供无限的业务支持能力。这是MPLS技术最大的魅力所在。oop
0~15:特殊标签。如标签3,称为隐式空标签,用于倒数第二跳弹出;
16~1023:静态LSP和静态CR-LSP(Constraint-based Routed Label Switched Path,基于约束的标签交换路径)共享的标签空间;
1024及以上:LDP、RSVP-TE(Resource Reservation Protocol-Traffic Engineering,资源预留协议流量工程)、MP-BGP(MultiProtocol Border Gateway Protocol,多协议边界网关协议)等动态信令协议的标签空间。ui
LSP(Label Switched Path):标签交换路径,报文在MPLS网络中通过的路径,数据流所走的路径就是LSP。3d
LSR:
Label Switching Router,用于标签的交换
LER:
Label Switching Edge Router,在MPLS的网络边缘,在MPLS网络中,用于标签的压入或弹出code
LSP的入口LER被称为入节点(Ingress)
位于LSP中间的LSR被称为中间节点(Transit)
LSP的出口LER被称为出节点(Egress)
一条LSP能够有0个、1个或多个中间节点,但有且只有一个入节点和一个出节点orm
该阵法分为内外两层,外层由功力高强的弟子担纲(至少是个堂主(LER),在IP报文冲阵时负责接收IP报文,查找标签转发表,给IP报文打标签操做(PUSH)在IP报文出阵时对标签报文进行弹出操做(POP),按IP路由进行转发。
内层由功力较低的入门弟子组成,负责对标签报文进行快速的标签交换操做(SWAP)blog
下游给上游分发标签接口
Forwarding Equivalence Class,FEC(转发等价类),是在转发过程当中以等价的方式处理的一组数据分组, MPLS创始人在秘笈原本规定:能够经过地址、隧道、COS等来标识建立FEC,只惋惜后辈弟子大多资质愚钝,不能理解其中的精妙之处,因此咱们如今看到的MPLS中只是一条路由对应一个FEC。一般在一台设备上,对一个FEC分配相同的标签。
创建LSP的方式有两种:
静态LSP:用户经过手工方式为各个转发等价类分配标签创建转发隧道;
动态LSP:经过标签发布协议动态创建转发隧道
in标签是我分给别人的
Out标签是别人分给个人
实验查看5.5.5.5分配标签的过程
控制平面:负责产生和维护路由信息以及标签信息。
路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。
标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的创建、标签交换路径的创建、拆除等工做。
标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。
转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发。
转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。
标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议创建LFIB,负责带MPLS标签报文的转发。
MPLS路由器上,报文的转发过程:
当收到普通IP报文时,查找FIB表,若是Tunnel ID为0x0,则进行普通IP转发;若是查找FIB表,Tunnel ID为非0x0,则进行MPLS转发。
LSR ID用来在网络中惟一标识一个LSR。LSR没有缺省的LSR ID,必须手工配置。为了
提升网络的可靠性,推荐使用LSR某个Loopback接口的地址做为LSR ID
执行命令mpls lsr-id lsr-id,配置本节点的LSR ID
若是要修改已经配置的LSR ID,必须先在系统视图下执行undo mpls命令
执行undo mpls命令会删除全部MPLS配置,致使MPLS业务中断。所以,请配置前对
网络中每一个LSR的LSR ID进行统一规划,避免出现修改LSR ID的状况
执行命令system-view,进入系统视图。 执行命令mpls,使能本节点的MPLS,并进入MPLS视图。
缺省状况下,节点的MPLS能力处于未使能状态。
执行命令interface interface-type interface-number,配置须要转发MPLS报文的接口。 执行命令mpls,使能接口的MPLS。
缺省状况下,接口的MPLS能力处于未使能状态。