加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MPLS技术详解

(2016-09-28 08:44:28)
标签:

网络技术

                                                                MPLS技术

1  MPLS技术产生背景

   IP转发时,在转发的每一跳都要进行至少一次的最长匹配查找,操作比较耗时,导致转发速度较慢。为了提高报文的转发效率,提出了MPLSMulti-Protocal Label Switching)技术,该技术的核心思想是通过标签交换取代IP查表转发。

2  标签

   标签是MPLS技术的核心,它位于二层头与IP报文之间,其报文格式如下:

Lable:标签值,长度为20bit,标签值是标签转发的关键索引;

Exp:用于QoS,长度3bit,作用与Ethernet 802.1P值相似;

S:栈底标示,长度为1bit,如果有多个label时,在栈底的LabelS位置为“1”,其他为“0”;

TTL:存活时间,8bit,与IP报文中的TTL值相似,它是从IP域中拷贝出,每进行一次Lable交换,TTL的值减去1

3  MPLS网络域

 

    LSRLable Switching Router):采用标签交换技术转发报文的路由器;

    LERLable Edge Router):标记边缘路由器,处在MPLS网络的边缘,负责将进入MPLS网络的报文或帧对应到具体的FEC并打上标签,变成MPLS帧转发;将离开MPLS网络的帧去掉Label,还原成原来的报文或帧,再查找相应的转发表转发;

FECForwarding Equivalance Class):LSR认为具有相同转发处理方式的报文,使用同一个标签来标记这些报文;

Push:在第一跳的LER上打上标签,即在报文的二层头和三层头之间插入Lable或者中间LSRMPLS报文的标签栈顶增加新的标签;

Pop:在最后一跳的LER上将报文中的Label全部去掉,还原成报文或者在中间LSR去掉栈顶标签或减少标签的层次;

Swap:交换标签,在转发过程中根据标签转发表中的LSP替换报文中的Lable的过程;

LSP:标记转发路径,也就是转发MPLS报文的路径;

PHP:倒数第二跳弹出,在实际应用中,出口LSR在弹出最外层标签后,还需要进行其他较为复杂的三层操作,比如查表转发。而一般最外层标签的作用只是为了将报文送到出口LSR,所以在倒数第二跳LSR已知报文下一跳的情况下,可以将最外层标签弹出后转发到最后一跳LER,这样减轻了最后一跳的压力,提高了转发效率。

4  LDP协议

4.1 LDP基本概念

LDP是标签分发协议,LDP定义了一组程序和消息,通过它们一个LSR可以通知另一个LSR其已经形成的标签捆绑。通过网络层路由信息与数据链路层交换路径之间的直接映射,LSR可以使用LDP协议通过网络来建立标签交换路径。LDP协议除了Hello报文基于UDP外,其他报文都是基于TCP,端口646。当发生传输丢包时,能够利用TCP协议提供错误指示,实现快速响应和恢复。

4.2 LDP报文格式

 

Version:版本号,16bit,目前只有一个版本,版本号始终为“1”;

PDU Length:报文长度,16bit,值为LDP PDU,头部以后的数据部分的长度不包含LDP PDU头部;

LDP ID:长度48bit,前32bitLSR-ID,后16bit为标记空间标志,全部空间为“0”,局部接口空间为“1”。如收到192.168.1.2:0,表示对方LSR-ID192.168.1.2,标签空间为全局空间。

4.3  LDP消息

4.3.1 LDP消息格式

 

U:“0”表示可识别信息,“1”表示不可识别信息;

Message Type:协议根据这个域识别不同的消息;

Message Length:指示出长度域之后的数据部分长度;

Message ID:用来标示消息。

4.3.2 LDP消息类型

邻居发现消息:在启用LDP协议的接口上周期性发送该消息(Hello);

会话建立和维护消息:用来建立和维护LDP会话(Initialization消息,KeepAlive消息);

标签分发消息:用来请求、通告及撤销标签绑定;

错误通知消息:用来提示LDP对等体在会话过程中的重要事件(Notification消息)。

4.3.3 LDP会话建立

Step1:互发Hello报文,Hello消息中包括LDP-IDTransport Adress;双方将用Transport Adress建立LDP会话,收到Hello消息后再进一步比较Transport Address确定有谁作为主动方发起TCP连接,一般大的主动发起;

Step2TCP连接完成后,由主动方发送Initilization消息来协商参数,包括LDP协议版本、Label分发方式、Holdtime等;

Step3:如果接收到的被动方发觉对方的参数自己不能接受,则发送Notification消息结束会话,否则由被动方回应Intilization消息的同时也发送KeepAlive消息,两个消息可以在同一个报文中同时携带;

Step4:如果主动方接受Intillization中的参数,则发送KeepAlive消息,LDP会话成功建立。

4.4 MPLS的工作流程

Step1:所有LSP启动传统的路由协议,在LSR中建立IP路由表;

Step2:由LSP结合IP路由表建立LSP

Step3Ingress LER接收到IP数据包,分析IP包头并对应到FEC,然后给IP数据报加上标记,根据标签转发表中的LSP将已经标记的报文送到相应的出接口;

Step4LSR收到带标记的报文,将只分析标记头,不关注标记头之上的部分,根据Label头查找LSP,替换Label,送到相应的出接口;

……中途的转发过程如Step4

Step N-1:倒数第二跳LSR收到带有标记的报文,查找转发表,发现对应出口的标签为隐式空标签或显示空标签,弹出标签,发送IP报文到最后一跳LSR

Step N:在最后一跳Egress LER上执行三层路由功能,根据报文目的地址转发。

4.5 标签相关知识

4.5.1 标签分发方式

DUDownstream Unsolicited):下游LSR如果工作在DU方式下,根据某一策略向上游LDP邻居主动分发标签;

DODDownstream on Demand):下游LSR如果工作在DoD方式下,只有接收到上游LDP邻居的Label request message后才回应label mapping message分发标签。

4.5.2:标签保留方式

自由保留方式(Liberal retention mode):收到无效的Label通告后,虽然不生成LSP,但在标签绑定表里存储,并且LSR向上游通告其他FEClable绑定时也不占用这些标签。优点是LSR应对网络拓扑变化的响应较快;缺点是浪费标签。

 

保守保留方式(Conservative retention mode):收到无效的Label通告后,将不存到标签绑定表里,在向上游通告Label时可以自由使用这些标签。这种方式优点是节省标签;缺点是响应较慢。

4.6 MPLS技术学习心得

通过学习MPLS技术,学好MPLS技术的关键点如下:

1,MPLS的产生背景及其要解决的网络问题;

2,深入理解典型MPLS网络域的实现过程,体会标签转发和IP查表转发的区别;

3,熟练掌握MPLS中涉及到的标签分配协议及其工作原理。

                                       

0

阅读 收藏 喜欢 打印举报/Report
后一篇:VPLS技术详解
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有