MPLS LDP的原理与配置

一、LDP协议的概述

1.LDP会话

  • 本地会话:LSR之间是直连的,双方使用组播地址224.0.0.2建立会话
  • 远程会话:LSR之间可以是非直连的,双方建立会话是使用单播建立的

       缺省是本地会话

2.LDP领接体

只要双方建立了会话之后就建立了邻接体

3.LDP对等体

在建立邻接体关系的基础上,两台LSR之间交互LDP会话消息,建立起LDP会话,两台设备之间形成LDP对等体关系

4.LDP ID

  • LDP ID的长度为48bit,由32bitLSR ID16bit的标签空间标识符(Label Space ID)构成
  • LDP ID以“LSR ID : 标签空间标识”的形式呈现。例如2.2.2.2:0
  • 缺省情况下,路由器使用LSR ID作为LDP ID的

    标签空间形态

  • 值为0:表示基于设备(或基于平台)的标签空间
  • 值非0:表示基于接口的标签空间

 5.LDP消息

  • Discovery Message:用来发现LDP邻居,hello消息是用来发现LDP的邻居,在接口上开启的LDP协议之后就会使用hello消息来发现邻居,hello报文里面包含着LSR作为传输地址,默认情况下路由器以LSR ID作为传输
  • Session Message:用来建立、维护和终止LDP之间的会话,Initializations是用来和邻居之间协商参数的,KeepAlive·是邻居建立成功之后就会发送这个报文,用来维护LDP的邻居

  • Advertisement Message:用来改变和删除FEC的标签映射,Address用来宣告地址,Label Mapping是标签映射,LDP如果想要访问邻居的地址就是用标签映射的地址去访问

  • Notification Message:用来宣告告警和错误信息

    除了发现阶段的Discovery Message用的UDP传输,其他的消息类型都是用的TCP传输

6.LDP的状态

  • Non-Existent:初始状态,表示没有任何的LDP会话
  • Initialized:初始化状态,LSR发现了LDP邻居之后就会和邻居连接TCP三次握手,如果TCP三次握手建立失败就会进入到Non-Existent状态,这个状态下也会发送消息来协商参数,被动方接收到可接收的Init和KeepAlive报文之后进入到openrec状态。主动方发送init进入到OpenSent状态
  • Opensent:等待被动方回答Initialization消息和KeepAlive消息,如果收到的Initialization消息中的参数可以接受则转向OpenRec状态,如果参数不能接受或Initialization消息超时则断开TCP连接转向Non-Existent状态
  • openRec在此状态不管主动方还是被动方都是发出KeepAlive后的状态,在等待对方回应KeepAlive,只要收到KeepAlive消息就转向Operational状态;如果收到其它消息或KeepAlive超时则转向Non-Existent状态
  • Operational状态:该状态是LDP Session成功建立的标志。在此状态下可以发送和接收所有其它的LDP消息。在此状态如果KeepAlive超时或收到致命错误的Notification消息(Shutdown消息)或者自己主动发送Shutdown消息主动结束会话,都会转向Non-Existent状态

7.LDP的会话建立

  1. 发现阶段
  • LSR通过发送hello报文来建立LDP邻居,hello报文里面携带了自己的传输地址,默认情况下是把自己的LSD ID作为传输地址,传输地址大的作为主动端,小的成为被动端口,由主动端和被动端使用自己的传输地址建立TCP的三次握手,如果TCP三次握手成功就会进入到会话建立阶段
  1. 会话的建立与保持
  • 主动方发送初始化消息给被动方,如果被动方接收这个参数,则回应keeplive报文同时也会发送自己的初始化报文,这样是为了提高发送的效率,主动方如果能接收被动方发送过来的报文则建立起来了会话信息

8.标签的发布和管理

  • 上游:以LSP作为判断,距离目的地址远的作为上游
  • 下游:距离目的地址近的作为下游
  1. 标签的发布模式
  • 下游自主方式(Downstream UnsolicitedDU):LSR无需从上游获得标签请求消息即进行标签分配与分发

  • 下游按需方式(Downstream on DemandDoD):LSR只能从上游获得标签请求消息即进行标签分配与分发

  • DU模式跟DOD模式有什么区别:

  1. 如果使用DU模式的话就无需请求标签,所以转发的效率也会变高,但是的话会占用内存

  2. 如果使用DOD的话就需要请求标签,所以转发效率会变慢,华为默认是DU模式

9.标签分配控制方式

  1. 什么是标签分配控制方式?标签分配控制方式是指在LSP的建立过程中,LSR分配标签的时候采用的处理方式
  • 独立模式:在没有收到下游路由器发送过来的FEC的标签映射时,自己就可以像上游路由器发送标签路由器,配合DU模式使用,在没有收到下游LSR发送过来的标签的时候就可以自己向上游路由器发送标签,配置DOD模式使用,在没有收到下游的LSR发送过来的标签的时候,只有收到上游的LSR标签才可以向上游LSR发送标签
  • 有序模式:只有当下游LSR向自己发布了标签,才会想上游LSR发布标签,配合DU模式使用,只有下游的LSR向自己发布了标签映射,上游的LSR没有给自己发送标签请求信息,才可以向上上游LSR发布标签映射,配合DOD使用只有下游LSR向自己发布了特定标签映射,上游的LSR给自己发送了标签请求的时候才会向上游发布标签映射

10.标签的保留

  • 标签以什么形式保留在路由器上,华为默认是自由模式
  • 自由模式
  1. 不管接收到的标签映射消息的下一跳是不是最优的都会保留,
  • 保守模式
  1. 只有最优的下一跳标签才会保留,次优的是不会保留的 

11.MPLS的转发原理

  •  根据MPLS的数据转发原理,出站LSR在收到数据包之后需要把MPLS标签的头部弹出,然后变成普通的ip报文,转发给ip网络,在弹出标签的时候需要查看标签表,转发报文的时候需要ip路由表,这样子的话就会加重路由器的负担

12.PHP

  • 隐式空:为了解决MPLS转发数据的时候带来的问题,可以使用PHP来解决这个问题,出节点在发布标签的时候,会发布一个特殊标签3给上游的LSR,如果有数据转发,则路由器查找转发表,看到FEC对应的出标签是3,那么将会直接弹出标签,发给出站LSR,那出节点收到的数据就是普通的ip报文了,所以出站LSR只需要查找ip路由表就好了
  • 显式空:由于PHP的特点,出站LSR在收到的数据是没有MPLS头部的,如果MPLS域部署了qos,要知道MPLS的报文是EXP字段是用来部署QOS环境下去使用的,如果MPLS的头部没有了,那这个EXP的字段也就没有了,这样子会出现一些问题,出站LSR分配一个特殊的标签0给上游的LSR,路由器查找标签表发现特定的FEC的出标签是0的话就会保留当中的EXP的字段,其他字段则为空
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值