MPLS——LDP四种消息类型及其报文、五种状态

目录

LDP的四类消息类型

LDP消息类型的协议报文

LDP消息头部

Discovery Message  建立维护LDP邻接体

Session Message   建立维护LDP会话

Advertisement Message   标签通告

Notification Message   向LDP对等体通知重要事件

LDP五种状态


LDP的四类消息类型

注意事项:

其中除了Hello使用UDP(端口646)外,LDP其余消息都是使用TCP(端口646)传输

  1. 发现消息(Discovery)----------用于通告和维护网络中LSR的存在,建立LDP邻接关系
  2. 会话消息(Session)-------------用于建立、维护和终止LDP邻接之间的会话
  3. 通告消息(Advertisement)-----用于创建、改变和删除FEC的标签映射
  4. 通知消息(Notification)---------用于提供建议性的消息和差错通知

消息类型

报文

消息类型

基本TLV类型

作用

Discovery Message

Hello

0x0100

0x0400

LDP发现机制中宣告LSR并发现邻居

Session Message

Initialization

0x0200

0x0500

在LDP Session建立过程中协商参数

KeepAlive

0x0201

-

监控LDP Session的TCP连接的完整性

Advertisement Message

Address

0x0300

0x0101

宣告接口IP地址

Address Withdraw

0x0301

0x0101

撤销接口IP地址

Label Mapping

0x0400

0x0100、0x0200

宣告FEC/Label映射信息

Label Request

0x0401

0x0100

请求FEC的标签映射

Label Abort Request

0x0404

0x0100

终止未完成的Label Request Message

Label Withdraw

0x0402

0x0100、0x0200

撤销FEC/Label映射

Label Release

0X0403

0x0100、0x0200

释放标签

Notification Message

Notification

0X0001

Status TLV

通知LDP Peer错误信息


LDP消息类型的协议报文

LDP协议信息(LDP PDU---LDP协议数据单元)都有一个LDP消息头部+一个/多个LDP消息内容组成。其中LDP消息内容又由多个TLV定义

LDP消息头部

标签空间——决定本台设置的入标签如何产生(两种类型)

基于平台标签空间(全局标签空间)

整个LSR只能为特定FEC生成唯一标签(目前主要也是使用这种方式)

即LSR为同一条FEC在不同接口通告的标签是相同的

基于接口标签空间

LSR的每个接口都可以为特定FEC生成一个标签

即LSR为同一条FEC在不同接口通告的标签是不同的(小概率会相同)

Discovery Message  建立维护LDP邻接体

Hello消息  周期性的发送消息(5s),建立并维护LDP邻接体

Session Message   建立维护LDP会话

Initialization消息  在建立LDP会话过程中协商参数

KeepAlive消息   用于维护LDP会话状态,不需要特别的内容,只需要对方知道自己存在就好

Advertisement Message   标签通告

Address消息  LSR发送地址消息到LDP对等体,宣告自身相关的所有接口IP地址

Address Withdraw消息  LSR发送地址消息到LDP对等体,撤销之前宣告的接口IP地址

报文格式

Address Withdraw消息与Address消息区别不大,只是消息类型不一样

Address Withdraw消息类型为0x3001

Label Mapping消息——通告本地FEC与Label标签之间的映射关系

  • Label Mapping会携带转发等价类信息(将自身路由产生的标签传递给邻居互相学习)
  • 对于特定的FEC,下游使用Label消息为上游分配标签
  • Label Mapping消息的发送方式会因为标签分配方式和标签控制方式的不同而不同

报文格式

Label Request消息——请求相关FEC的标签信息

  • 此消息只能由作为Ingress的LSR向下游LSR发送
  • 下游收到此消息后,需要发送Label Mapping消息给上游(Label Mapping消息携带Label Reques 消息中的Message ID TLV)

以下情况,下游收到Label Request消息后不会向上游返回Label Mapping消息

  1. 下游找不到与Label Request中FEC TLV中对应的路由,此时返回No Route的Notification消息
  2. 下游没有足够的标签来分配,此时返回No Label Resource的Notification消息
  3. 下游检测到有环路发生,此时返回Loop Detected的Notification消息

报文格式——报文字段信息类似Label Mapping

FEC(0x100)携带信息表明该标签是为哪个FEC而分配的

Label Abort Request消息——中止未完成的Label Request

当上游LSR向下游LSR发送Label Request消息后,在收到Label Mapping消息前,发现FEC对应的下一跳变化了等其它原因需要重新发送Label Request消息时,上游会向下游LSR发送此消息,终止未完成的Label Reques Messsage

报文格式——报文字段信息类似Label Mapping

FEC(0x100)携带信息表明该标签是为哪个FEC而废弃的

Label Request Message ID TLV:携带的是要废弃的Label Request消息的Message ID

Label Withdraw消息——解除Label和FEC的映射关系

Label Withdraw消息一般是下游LSR发给上游LSR的,通知上游LSR之前通告的与某FEC对应的Label不再使用,上游需要解除Label和FEC的映射关系

以下情况下,才会发送Label Withdraw消息:

  1. 下游节点不再有某条FEC,如果已经为该FEC发送了Label Mapping消息,则发送Label Withdraw消息;
  2. 下游单方面的决定不再使用标签转发时也会发送Label Withdraw消息

报文格式——报文字段信息类似Label Mapping

FEC(0x100)携带信息表明该标签是为哪个FEC而撤销的

Label TLV表示该FEC对应的标签

Label Release消息——解除Label与FEC的映射关系(与Label Withdraw方向相反)

Label Release消息一般是由上游发往下游,通知下游LSR撤销Label和FEC的绑定(相当于Label Reques消息的逆过程)

以下情况下,才会发送Label Release消息:

  1. 当上游LSR的标签保持方式是保守方式,发送Label Mapping消息的LSR不再是FEC的下一跳时,上游LSR需要发送Label Release消息来撤销Label和FEC的映射关系
  2. 当上游LSR的标签保持方式是保守方式,从不是FEC的下一跳收到Label Mapping消息后,上游LSR需要发送Label Release消息
  3. LSR收到Label Withdraw消息后需要发送Label Release消息。

报文格式

FEC(0x100)携带信息表明该标签对应的FEC

Label TLV表示该FEC对应的标签

Notification Message   向LDP对等体通知重要事件

Notification消息  向LDP对等体通知重要事件(致命错误信息或提供咨询信息)


LDP五种状态

Non Existent

LDP初始状态,双发互发Hello消息,选举主动方并建立TCP连接

Initialized

TCP连接建立成功后,由Non Existent状态转为此状态

Opensent

  • 主动方发送Initialization消息,由Initialized状态转为Opensent状态。等待被动方回应应Initialization信息
  • 主动方如果等待超时或者收到的Initialization消息中包含的相关参数不接受,则断开TCP连接,由Opensent转向Non Existent状态

Openrec

  • 被动方等待主动方发给自己的Initialization消息,收到Inilization消息并接受相关参数,则发送Initialization消息和KeepAlive消息,则由Initialized状态转向Openrec状态
  • 主动方收到被动方的Initialization消息后,接受相关参数,则由Opensent状态转为Openrec状态
  • 如果被动方等待超时或不接受相关参数,则由Initialized状态转向Non Existent状态

Operational

  • 表明LDP会话已经建立,在此状态下可以发送或接受所有其它的LDP消息
  • 如果Keepalive超时或收到致命错误的Notification消息、或自己主动发送Shudown消息,都会结束会话,转为Non Existent状态
  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静下心来敲木鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值