跳到主要内容

3.5.8. 标签请求消息

LSR 向 LDP 对等体发送标签请求 (Label Request) 消息, 以请求某个 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 Request (0x0401) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Message ID

用于标识本消息的 32 位值。

FEC TLV

正在请求其标签的 FEC。编码见 "FEC TLV" 一节。

Optional Parameters

该可变长度字段包含 0 个或多个参数, 每个参数编码为一个 TLV。可选参数为:

      Optional Parameter     Length       Value

Hop Count TLV 1 See below
Path Vector TLV variable See below

Hop Count 和 Path Vector TLV 的编码见 "TLV Encodings for Commonly Used Parameters" 一节。

Hop Count

规定由标签请求消息正在建立的 LSP 上 LSR 跳数的累计值。 "Hop Count Procedures" 一节描述如何处理该 TLV。

Path Vector

规定由标签请求消息正在建立的 LSP 上的各 LSR。 "Path Vector Procedures" 一节描述如何处理该 TLV。

3.5.8.1. 标签请求消息过程​

请求 (Request) 消息由上游 LSR 用来显式请求下游 LSR 为某个 FEC 分配并通告一个标签。

LSR 可以在以下任一情况下发送请求消息:

  1. 该 LSR 通过转发表识别出一个新的 FEC, 且下一跳是一个 LDP 对等体, 并且该 LSR 尚未拥有来自该下一跳的、针对该 FEC 的映射。

  2. 该 FEC 的下一跳发生变化, 且该 LSR 尚未拥有来自该下一跳的、针对该 FEC 的映射。

    请注意, 如果该 LSR 已经为该新下一跳发出了一个尚未完成的标签请求消息, 则它 不应 (SHOULD NOT) 因下一跳变化而再发出一个额外的标签请求。

  3. 该 LSR 从上游 LDP 对等体收到针对某个 FEC 的标签请求, 该 FEC 的下一跳是一个 LDP 对等体, 且该 LSR 尚未拥有来自该下一跳的映射。

    请注意, 由于非合并 (non-merge) LSR 必须为每个请求标签的上游对等体建立单独的 LSP, 它必须为每个这样的对等体发送单独的标签请求。其后果之一是, 一台非合并 LSR 可能同时有多条针对某个给定 FEC 的标签请求消息尚未完成。

接收方 LSR 应当 (SHOULD) 用所请求标签的标签映射消息, 或者用一条说明为何无法满足该请求的通知消息, 来响应标签请求消息。

当请求标签的 FEC 是前缀 (Prefix) FEC Element 时, 接收方 LSR 使用其路由表来确定其响应。除非其路由表包含与所请求前缀精确匹配的条目, 否则该 LSR 必须用一条 No Route 通知消息响应。

标签请求消息的 message ID 充当该标签请求事务的标识符。当接收方 LSR 用标签映射消息响应时, 该映射消息必须包含一个 Label Request/Returned Message ID TLV 可选参数, 其中包含该标签请求消息的 message ID。请注意, 由于 LSR 使用标签请求消息的 ID 作为事务标识符, LSR 不应 (SHOULD NOT) 在该事务完成之前重用某条标签请求消息的 message ID。

本版本协议为信号请求无法满足的通知消息定义了以下 Status Code:

No Route

请求标签的 FEC 中包含该 LSR 没有路由的 FEC Element。

No Label Resources

由于资源限制, 该 LSR 无法提供标签。当资源变为可用时, 该 LSR 必须通过发送一条带有 Label Resources Available Status Code 的通知消息来通知请求方 LSR。

收到针对某条标签请求消息的 No Label Resources 响应的 LSR, 在收到带有 Label Resources Available Status Code 的通知消息之前, 不得 (MUST NOT) 再发出标签请求消息。

Loop Detected

该 LSR 检测到一条成环 (looping) 的标签请求消息。

更多细节见附录 A "LDP Label Distribution Procedures"。