3.5.11. 标签释放消息
LSR 向 LDP 对等体发送标签释放 (Label Release) 消息, 以告知对等体该 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 Release (0x0403) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message ID
用于标识本消息的 32 位值。
FEC TLV
标识正在释放其 FEC-标签映射的 FEC。
Optional Parameters
该可变长度字段包含 0 个或多个参数, 每个参数编码为一个 TLV。可选参数为:
Optional Parameter Length Value
Label TLV variable See below
Label TLV 的编码见 "Label TLVs" 一节。
Label
如果存在, 则规定正在释放的标签 (见下文的过程)。
3.5.11.1. 标签释放消息过程
当 LSR 不再需要先前从某个对等体收到或向该对等体请求的标签时, 它向该对等体发送标签释放消息。
LSR 必须在以下任一情况下发送标签释放消息:
-
发送该标签映射的 LSR 不再是所映射 FEC 的下一跳, 且该 LSR 被配置为保守 (conservative) 运行。
-
该 LSR 从不是该 FEC 下一跳的 LSR 收到标签映射, 且该 LSR 被配置为保守运行。
-
该 LSR 收到一条标签撤销消息。
请注意, 如果 LSR 被配置为 "宽松模式 (liberal mode)", 则在上述情况 (1) 和 (2) 下永远不会发送释放消息。在这种情况下, 上游 LSR 保留每个未使用的标签, 以便当下游对等体成为该 FEC 的下一跳时可以立即使用它。
FEC TLV 规定要释放其标签的 FEC。如果 FEC 之后没有 Label TLV, 则要释放与该 FEC 关联的所有标签; 否则只释放可选 Label TLV 中规定的标签。
FEC TLV 可以包含 Wildcard FEC Element; 如果包含, 则它不得包含其他 FEC Element。在这种情况下, 如果标签释放消息包含可选的 Label TLV, 则该标签要针对它绑定到的所有 FEC 释放。如果标签释放消息中没有可选的 Label TLV, 则发送方 LSR 释放先前从接收方 LSR 学到的所有标签映射。
更多细节见附录 A "LDP Label Distribution Procedures"。