MPLS技术学习总结

来源:互联网 发布:编程猫加盟 编辑:程序博客网 时间:2024/05/21 18:31
                                                                                                                                   MPLS技术

MPLS技术产生背景

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

标签

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

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

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

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

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

MPLS网络域

 

   LSR(Lable SwitchingRouter):采用标签交换技术转发报文的路由器;

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

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

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

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

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

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

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

LDP协议

4.1LDP基本概念

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

4.2LDP报文格式

 

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

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

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

4.3 LDP消息

4.3.1LDP消息格式

 

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

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

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

Message ID:用来标示消息。

4.3.2LDP消息类型

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

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

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

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

4.3.3LDP会话建立

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

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

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

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

4.4MPLS的工作流程

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

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

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

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

……中途的转发过程如Step4

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

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

4.5标签相关知识

4.5.1标签分发方式

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

DOD(Downstream onDemand):下游LSR如果工作在DoD方式下,只有接收到上游LDP邻居的Label requestmessage后才回应label mappingmessage分发标签。

4.5.2:标签保留方式

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

 

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

4.6MPLS技术学习心得

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

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

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

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

1 0
原创粉丝点击