码迷,mamicode.com
首页 > 其他好文 > 详细

网工提款机---MPLS协议

时间:2019-12-27 15:15:21      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:ESS   格式   空间   维护   gre   情况下   路由   匹配   tun   

MPLS物种起源/报文格式

IP的危机

在90年代中期,当时路由器技术的发展远远滞后于网络的发展速度与规模,主要表现在转发效率低下、无法提供QOS保证。原因是:当时路由查找算法使用最长匹配原则,必须使用软件查找;而IP的本质就是“只关心过程,不注重结果”的“尽力而为”。当时江湖上流行一种论调:过于简单的IP技术无法承载网络的未来,基于IP技术的因特网必将在几年之后崩溃。

ATM的野心

此时ATM跳了出来,欲收编所有帮派,一统武林。不幸的是:信奉唯美主义的ATM走向了另一个极端,过于复杂的心法与招式导致没有任何厂商能够完全修练成功,而且无法与IP很好的融合。在与IP的大决战中最终落败,ATM只能寄人篱下,沦落到作为IP链路层的地步。

ATM技术虽然没有成功,但其中的几点心法口诀,却属创新

屏弃了繁琐的路由查找,改为简单快速的标签交换
将具有全局意义的路由表改为只有本地意义的标签表
这些都可以大大提高一台路由器的转发功力。
MPLS的创始人“label大师”充分吸取了ATM的精华,但也同时认识到IP为江湖第一大帮派,无法取而代之。遂主动与之修好,甘当IP的承载层,但为了与一般的链路层小帮有所区别,将自己定位在第2. 5层的位置。“label大师”本属于八面玲珑之人,为了不得罪其他帮派,宣称本帮是“multiprotocol”,来者不拒,也可以承载其他帮派的报文。在经过一年多的招兵、上下打点之后,于1997年的武林大会上,正式宣布本帮成立,并命名为MPLS(MultiProtocol label Switch) MPLS可以扩展到多种网络协议(如IPv6,IPX等)

MPLS在TCP/IP模型里面的位置

技术图片

MPLS包头结构

通常,MPLS包头有32Bit,其中有:
20Bit用作标签(Label)在本地有意义
3个Bit的EXP, 协议中没有明确,通常用作COS QOS打标用的
1个Bit的S,用于标识是否是栈底,表明MPLS的标签可以嵌套,S值为1时表明为最底层标签
8个Bit的TTL
技术图片
技术图片
二层首部的标签称为栈顶MPLS标签或外层MPLS标签
靠近IP首部的标签称为栈底MPLS标签或内层MPLS标签
理论上,标记栈可以无限嵌套,从而提供无限的业务支持能力。这是MPLS技术最大的魅力所在。

标签空间

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,多协议边界网关协议)等动态信令协议的标签空间。

抓包现象

技术图片

MPLS术语

LSP

LSP(Label Switched Path):标签交换路径,报文在MPLS网络中经过的路径,数据流所走的路径就是LSP。
技术图片

LSR

LSR:
Label Switching Router,用于标签的交换
LER:
Label Switching Edge Router,在MPLS的网络边缘,在MPLS网络中,用于标签的压入或弹出
技术图片

Ingress、Transit、 Egress

LSP的入口LER被称为入节点(Ingress)
位于LSP中间的LSR被称为中间节点(Transit)
LSP的出口LER被称为出节点(Egress)
一条LSP可以有0个、1个或多个中间节点,但有且只有一个入节点和一个出节点
技术图片

MPLS北斗阵法图

该阵法分为内外两层,外层由功力高强的弟子担纲(至少是个堂主(LER),在IP报文冲阵时负责接收IP报文,查找标签转发表,给IP报文打标签操作(PUSH)在IP报文出阵时对标签报文进行弹出操作(POP),按IP路由进行转发。
内层由功力较低的入门弟子组成,负责对标签报文进行快速的标签交换操作(SWAP)
技术图片

上游、下游

下游给上游分发标签
技术图片

FEC

Forwarding Equivalence Class,FEC(转发等价类),是在转发过程中以等价的方式处理的一组数据分组, MPLS创始人在秘笈本来规定:可以通过地址、隧道、COS等来标识创建FEC,只可惜后辈弟子大多资质愚钝,不能理解其中的精妙之处,所以我们现在看到的MPLS中只是一条路由对应一个FEC。通常在一台设备上,对一个FEC分配相同的标签。
技术图片
技术图片

LSP的建立方式

建立LSP的方式有两种:
静态LSP:用户通过手工方式为各个转发等价类分配标签建立转发隧道;
动态LSP:通过标签发布协议动态建立转发隧道
技术图片
in标签是我分给别人的
Out标签是别人分给我的

实验模拟

实验查看5.5.5.5分配标签的过程
技术图片

MPLS网络模型

控制平面:负责产生和维护路由信息以及标签信息。
路由信息表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转发。
技术图片

路由信息表RIB

技术图片

转发信息表FIB

技术图片

标签信息表LIB

技术图片

标签转发信息表LFIB

技术图片

Tunnel ID为非0x0

技术图片
技术图片
技术图片

MPLS基础配置

配置LSR ID

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的情况

使能MPLS

执行命令system-view,进入系统视图。 
执行命令mpls,使能本节点的MPLS,并进入MPLS视图。 

缺省情况下,节点的MPLS能力处于未使能状态。

执行命令interface interface-type interface-number,配置需要转发MPLS报文的接口。
执行命令mpls,使能接口的MPLS。 

缺省情况下,接口的MPLS能力处于未使能状态。

网工提款机---MPLS协议

标签:ESS   格式   空间   维护   gre   情况下   路由   匹配   tun   

原文地址:https://blog.51cto.com/13817711/2462203

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!