Skip to main content

MPLS LDP报文格式

MPLS(Multiprotocol Label Switching)体系有多种标签发布协议,LDP(Label Distribution Protocol)是其中使用较广的一种标签发布协议。LDP协议规定了标签分发过程中的各种消息以及相关的处理进程,主要用于LSR(Label Switched Routers )之间协商会话参数,进行标签分配,进而建立起标签交换路径LSP(Label Switched Paths)。

协议栈结构

为保证LDP消息的可靠发送,除了Discovery(Hello)消息使用UDP(端口646)外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP(端口646)传输。

 +----------------------------------------+
 |                 LDP                   |
 +----------------------------------------+
 |                 TCP/UDP               |
 +----------------------------------------+
 |                 IP                   |
 +----------------------------------------+
 |                 L2                   |
 +----------------------------------------+
 |                 L1                   |
 +----------------------------------------+

MPLS LDP报文通用格式

LDP协议消息头部格式如下(PDU,协议数据单元,每个LDP PDU有个LDP消息头,后面跟着一个或多个LDP消息内容)。

报文格式-消息头部格式

LDP协议消息头部格式
     0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-------------------------------+-------------------------------+
    | Version                     |         PDU Length           |
    +-------------------------------+-------------------------------+
    |                             LSR-ID                           |
    +-------------------------------+-------------------------------+
    |         LabelSpace ID         |                               |
    +-------------------------------+                               |
    |                                                               |
    |                       Bunch of messages                       |
    |                                                               |
    +---------------------------------------------------------------+
LDP协议消息头部字段解释
字段 长度 说明
Version 2B 表示版本号。目前LDP的版本号始终为1。
PDU Length 2B 表示PDU的总长度,包括LDP ID和整组LDP消息,不包括Version和PDU Length字段。 例如某个LDP报文中包含3个Hello消息,则该报文的PDU length = 3 * Message length。
LSR-ID 4B LSR-ID标识一台LSR,必须全局唯一。
LabelSpace ID 2B 标识了LSR内的标签空间。对于平台范围标签空间,这些数值都应当为0。
Bunch of messages 变长 是一组LDP消息的集合,可以是一个或者多个LDP消息。 当LDP报文以UDP方式传输时,“Bunch of messages”只能是Hello消息的集合。当LDP报文以TCP方式传输时,“Bunch of messages”可以是除Hello消息外任意类型的LDP消息的集合。 所有LDP消息的格式如图5-71

报文格式-消息内容格式

LDP消息内容格式
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |U|   Message Type             |     Message Length           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                     Message ID                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 +                                                               +
 |                     Mandatory Parameters                     |
 +                                                               +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 +                                                               +
 |                     Optional Parameters                       |
 +                                                               +
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
LDP消息各字段解释
长度 说明
U 1比特 未知的消息。 如果对端收到的LDP消息中“Message type”字段为未知的LDP消息类型,且“U”字段的值为“0”,则向源端发送通知(Notification)消息。如果对端收到的LDP消息中“Message type”字段为未知的LDP消息类型,且“U”字段的值为“1”,则忽略该未知消息。
Message Type 15比特 LDP消息的类型。
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Mandatory Parameters 变长 LDP消息的强制参数。
Optional Parameters 变长 LDP消息的可选参数,包含0~n个TLV。

MPLS LDP通告(Notification)

LSR发送通告消息来通知重要事件到LDP对等体。通告消息通知致命错误或提供咨询信息,如处理LDP消息的结果或LDP会话的状态。

Notification消息格式
   0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |0|   Notification (0x0001)     |     Message Length           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Message ID                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Status TLV                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Optional Parameters                       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Notification消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Status TLV 变长 标识一个事件。
Optional Parameters 变长 可选参数,包含0~n个TLV。

MPLS LDP Discovery(Hello)

MPLS LDP Discovery(Hello)消息用于通告和维护网络中LSR的存在。

Hello消息格式
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-----------------------------+-------------------------------+
 |0|   Hello (0x0100)           |     Message Length           |
 +-+-----------------------------+-------------------------------+
 |                     Message ID                               |
 +-+-+---------------------------+-------------------------------+
 |0|0| Common Hello Parms(0x0400)|     Length                   |
 +-+-+---------------------------+-+-+---------------------------+
 |     Hold Time               |T|R| Reserved                 |
 +-------------------------------+-+-+---------------------------+
 |                     Optional Parameters                       |
 +---------------------------------------------------------------+
Hello消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
Hold Time 16比特 保持时间,以秒为单位的Hello保持时间。LSR维护来自潜在同伴的Hello的记录。为0的数值意味着使用缺省值。0xffff的数值意味着无穷大。
T 1比特 T(Targeted Hello)值为1表示为远端Hello消息,值为0表示本地Hello消息。
R 1比特 R(Request Send Targeted Hellos)值为1表示请求接收者周期性发送远端Hello消息给该Hello的发送源端,值为0表示没有此需求。
Reserved 14比特 保留字段,必须置0,接收端忽略此字段。
Optional Parameters 变长 可选参数,包含0~n个TLV。

MPLS LDP Initialization

MPLS LDP的Initialization消息在LDP会话建立阶段发送。

Initialization消息格式
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-------------------------------+-------------------------------+
 |0|   Initialization (0x0200)   |     Message Length           |
 +-+-----------------------------+-------------------------------+
 |                     Message ID                               |
 +-+-+---------------------------+-------------------------------+
 |0|0| Common Sess Parms (0x0500)|     Length                   |
 +-+-+---------------------------+-------------------------------+
 | Protocol Version             |     KeepAlive Time           |
 +-+-+-----------+---------------+-------------------------------+
 |A|D| Reserved |     PVLim     |     Max PDU Length           |
 +-+-+-----------+---------------+-------------------------------+
 |                 Receiver LDP Identifier                       |
 +                               +-------------------------------+
 |                               |                               |
 --------------------------------+                               |
 |                     Optional Parameters                       |
 +---------------------------------------------------------------+
Initialization消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
Protocol Version 16比特 表示协议版本号 = 1。
KeepAlive Time 16比特 TCP连接的保持时间,这个定时器的刷新并不是收到KeepAlive消息才会刷新,而是通过TCP连接收到的LDP PDU时都会刷新
A 1比特 表明标签分配方式 ( 0 = DU ;1 = DoD)
D 1比特 表明是否使能了环路检测功能(0 = Disable ; 1 = Enable)。
Reserved 6比特 保留字段,必须置0,接收端忽略此字段。
PVLim 8比特 PVLim (Path Vector Limit),LSP支持的最大跳数(只有在使能了Loop detection功能时有效,默认值为32)。
Max PDU Length 16比特 LDP PDU的最大长度,默认值为4096字节。
Receiver LDP Identifier 6B Initialization消息的接收者的LDP标识符(LDP ID)。
Optional Parameters 变长 可选参数,包含0~n个TLV。

MPLS LDP KeepAlive

MPLS LDP Keepalive消息用于维护MPLS LDP会话的状态。MPLS LDP Keepalive消息无Mandatory Parameters字段及后面的字段,用于维护SESSION的状态,所以这里不需要什么特别的内容,只要对方知道自己还存在就好。

KeepAlive消息格式
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|   KeepAlive (0x0201)       |     Message Length           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                     Message ID                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                     Optional Parameters                       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
KeepAlive消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Optional Parameters 变长 可选参数,包含0~n个TLV。对于KeepAlive消息,包含0个TLV。

MPLS LDP地址(Address)

MPLS LDP Address消息用于LSR发送地址消息到LDP邻居,以公告其接口地址。

Address消息格式
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-----------------------------+-------------------------------+
 |0|   Address (0x0300)         |     Message Length           |
 +-+-----------------------------+-------------------------------+
 |                     Message ID                               |
 +-+-+---------------------------+-------------------------------+
 |0|0| Address List (0x0101)     |     Length                   |
 +-+-+---------------------------+-------------------------------+
 |     Address Family           |                               |
 +-------------------------------+                               |
 |                                                               |
 |                       Addresses                             |
 ~                                                               ~
 |                                                               |
 +---------------------------------------------------------------+
 |                     Optional Parameters                       |
 +---------------------------------------------------------------+
Address消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
Address Family 16比特 地址族编号。
Addresses 变长 指定地址族的地址列表,格式取决于地址族类型: IPv4地址为4字节 IPv6地址为16字节
Optional Parameters 变长 可选参数,包含0~n个TLV。

MPLS LDP地址撤销(Address Withdraw)

LSR发送Address Withdraw消息到LDP对等体,以撤销之前公告的接口地址。当接口地址被删除或接口down后,就会发送Address Withdraw消息。

Address Withdraw消息格式
 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-----------------------------+-------------------------------+
|0| Address Withdraw (0x0301) | Message Length |
+-+-----------------------------+-------------------------------+
| Message ID |
+-+-+---------------------------+-------------------------------+
|0|0| Address List (0x0101) | Length |
+-+-+---------------------------+-------------------------------+
| Address Family | |
+-------------------------------+ |
| |
| Addresses |
~ ~
| |
+---------------------------------------------------------------+
| Optional Parameters |
+---------------------------------------------------------------+
Address Withdraw消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
Address Family 16比特 地址族编号。
Addresses 变长 指定地址族的地址列表,格式取决于地址族类型: IPv4地址为4字节 IPv6地址为16字节
Optional Parameters 变长 可选参数,包含0~n个TLV。

MPLS LDP标签映射(Label Mapping)

对于特定的FEC,下游使用标签映射(Label Mapping)消息为上游分配标签。

Label Mapping消息格式
 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-----------------------------+-------------------------------+
|0| Label Mapping (0x0400) | Message Length |
+-+-----------------------------+-------------------------------+
| Message ID |
+-+-+---------------------------+-------------------------------+
|0|0| FEC (0x0100) | Length |
+-+-+---------------------------+-------------------------------+
| FEC Element(1) |
+---------------------------------------------------------------+
| |
~ ~
| |
+---------------------------------------------------------------+
| FEC Element(n) |
+---------------------------------------------------------------+
| Label TLV |
+---------------------------------------------------------------+
| Optional Parameters |
+---------------------------------------------------------------+
Label Mapping消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
FEC Element 每个Element 1字节,可以由多个FEC Element 表明该标签是为哪个FEC而分配的。 FEC Element的格式定义: Type = 0x01: 反掩码。只在Label Withdraw和Label Release消息中使用。 Type = 0x02: 前缀。格式详见前缀FEC Element的格式
Label TLV 52比特 表明下游为该FEC分配了什么标签。格式详见Label TLV的格式
Optional Parameters 变长 可选参数,包含0~n个TLV。
前缀FEC Element的格式
 0                   1                   2                   3       
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+-------------------------------+---------------+
| Prefix (2) | Address Family | PreLen |
+---------------+-------------------------------+---------------+
| Prefix |
+---------------------------------------------------------------+

表明下游为该FEC分配了什么标签。Label字段是个20比特的标签值。

Label TLV的格式
 0                   1                   2                   3    
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+---------------------------+-------------------------------+
|0|0| Generic Label (0x0200) | Length |
+-+-+---------------------------+-------------------------------+
| Label | |
+---------------------------------------+-----------------------+

MPLS LDP标签请求(Label Request)

LSR发送MPLS LDP标签请求消息给LDP对等体请求FEC对应的标签。

Label Request消息格式
 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-----------------------------+-------------------------------+
|0| Label Request (0x0401) | Message Length |
+-+-----------------------------+-------------------------------+
| Message ID |
+-+-+---------------------------+-------------------------------+
|0|0| FEC (0x0100) | Length |
+-+-+---------------------------+-------------------------------+
| FEC Element(1) |
+---------------------------------------------------------------+
| |
~ ~
| |
+---------------------------------------------------------------+
| FEC Element(n) |
+---------------------------------------------------------------+
| Optional Parameters |
+---------------------------------------------------------------+
Label Request消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
FEC Element 每个Element 1字节,可以有多个FEC Element 表明该标签是为哪个FEC而分配的。 FEC Element的格式定义: Type = 0x01: 反掩码。只在Label Withdraw和Label Release消息中使用。 Type = 0x02: 前缀。格式详见前缀FEC Element的格式
Optional Parameters 变长 可选参数,包含0~n个TLV。

MPLS LDP标签废弃请求(Label Abort Request)

上游LSR发送了标签请求消息后但还没有收到标签映射消息前,发现FEC对应的下一跳变化了或者其他可能的原因需要发送新的标签请求消息时,上游会向下游发送标签废弃请求消息。

标签废弃请求消息格式
 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-----------------------------+-------------------------------+
|0| Label Abort Req (0x0404) | Message Length |
+-+-----------------------------+-------------------------------+
| Message ID |
+-+-+---------------------------+-------------------------------+
|0|0| FEC (0x0100) | Length |
+-+-+---------------------------+-------------------------------+
| FEC Element(1) |
+---------------------------------------------------------------+
| |
~ ~
| |
+---------------------------------------------------------------+
| FEC Element(n) |
+---------------------------------------------------------------+
| Label Request Message ID TLV |
+---------------------------------------------------------------+
| Optional Parameters |
+---------------------------------------------------------------+
标签废弃请求消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
FEC Element 每个Element 1字节,可以有多个Element 表明该标签是为哪个FEC而废弃的。FEC Element的格式定义: Type = 0x01: 反掩码。只在Label Withdraw和Label Release消息中使用。 Type = 0x02: 前缀。格式详见前缀FEC Element的格式
Label Request Message ID TLV - 要被废弃的Label Request消息的消息ID。
Optional Parameters 变长 可选参数,包含0~n个TLV。

MPLS LDP标签撤销(Label Withdraw)

标签撤销消息一般由下游LSR发往上游LSR,通知上游LSR之前通告的与某FEC对应的Label不再使用,上游LSR需要解除Label和FEC的映射关系。

Label Withdraw消息格式
 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-----------------------------+-------------------------------+
|0| Label Withdraw (0x0402) | Message Length |
+-+-----------------------------+-------------------------------+
| Message ID |
+-+-+---------------------------+-------------------------------+
|0|0| FEC (0x0100) | Length |
+-+-+---------------------------+-------------------------------+
| FEC Element(1) |
+---------------------------------------------------------------+
| |
~ ~
| |
+---------------------------------------------------------------+
| FEC Element(n) |
+---------------------------------------------------------------+
| Label TLV(optional) |
+---------------------------------------------------------------+
| Optional Parameters |
+---------------------------------------------------------------+
Label Withdraw消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
FEC Element 1 to FEC Element n 每个Element 1字节 表明该标签是为哪个FEC而撤销的。 FEC Element的格式定义: Type = 0x01: 反掩码。只在Label Withdraw和Label Release消息中使用。 Type = 0x02: 前缀。格式详见前缀FEC Element的格式
Label TLV 52比特 表明该FEC对应的标签。格式详见Label TLV的格式
Optional Parameters 变长 可选参数,包含0~n个TLV。

MPLS LDP标签释放(Label Release)

MPLS LDP标签释放(Label Release)消息一般由上游发往下游,通知撤销标签和FEC的邦定,该消息相当于标签请求消息的逆过程。

标签释放消息格式
 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-----------------------------+-------------------------------+
|0| Label Release (0x0403) | Message Length |
+-+-----------------------------+-------------------------------+
| Message ID |
+-+-+---------------------------+-------------------------------+
|0|0| FEC (0x0100) | Length |
+-+-+---------------------------+-------------------------------+
| FEC Element(1) |
+---------------------------------------------------------------+
| |
~ ~
| |
+---------------------------------------------------------------+
| FEC Element(n) |
+---------------------------------------------------------------+
| Label TLV (optional) |
+---------------------------------------------------------------+
| Optional Parameters |
+---------------------------------------------------------------+
标签释放消息字段解释
字段 长度 说明
Message Length 16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。
Message ID 32比特 LDP消息的编号,用于唯一地标识一个LDP消息。
Length 16比特 LDP消息是以LDP PDU中的TLV形式定义的. 每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。
FEC Element 每个Element 1字节,可以有多个FEC Element 表明该标签对应的FEC。 FEC Element的格式定义: Type = 0x01: 反掩码。只在Label Withdraw和Label Release消息中使用。 Type = 0x02: 前缀。格式详见前缀FEC Element的格式
Label TLV 52比特 格式详见Label TLV的格式
Optional Parameters 变长 可选参数,包含0~n个TLV。

参考标准

MPLS LDP参考标准
标准 描述
RFC 5036 LDP Specification