3.3 The BGP-LS Attribute (BGP-LS 属性)
3.3. The BGP-LS Attribute (BGP-LS 属性)
BGP-LS 属性是一个可选的、非传递性的 BGP 属性, 用于承载链路、节点和前缀参数及属性。它被定义为一组 Type/Length/Value (TLV) 三元组, 在后续章节中描述。此属性应该 (SHOULD) 仅与 Link-State NLRI 一起包含。此属性必须 (MUST) 对所有其他地址族忽略。
Node attribute TLV 是可以在 BGP-LS 属性中与 Node NLRI 一起编码的 TLV。定义了以下 Node Attribute TLV:
+-------------+----------------------+----------+-------------------+
| TLV Code | Description | Length | Reference |
| Point | | | (RFC/Section) |
+-------------+----------------------+----------+-------------------+
| 263 | Multi-Topology | variable | Section 3.2.1.5 |
| | Identifier | | |
| 1024 | Node Flag Bits | 1 | Section 3.3.1.1 |
| 1025 | Opaque Node | variable | Section 3.3.1.5 |
| | Attribute | | |
| 1026 | Node Name | variable | Section 3.3.1.3 |
| 1027 | IS-IS Area | variable | Section 3.3.1.2 |
| | Identifier | | |
| 1028 | IPv4 Router-ID of | 4 | [RFC5305]/4.3 |
| | Local Node | | |
| 1029 | IPv6 Router-ID of | 16 | [RFC6119]/4.1 |
| | Local Node | | |
+-------------+----------------------+----------+-------------------+
表 7: Node Attribute TLV
Node Flag Bits 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|O|T|E|B|R|V| Rsvd|
+-+-+-+-+-+-+-+-+-+
图 15: Node Flag Bits TLV 格式
这些位定义如下:
+-----------------+-------------------------+------------+
| Bit | Description | Reference |
+-----------------+-------------------------+------------+
| 'O' | Overload Bit | [ISO10589] |
| 'T' | Attached Bit | [ISO10589] |
| 'E' | External Bit | [RFC2328] |
| 'B' | ABR Bit | [RFC2328] |
| 'R' | Router Bit | [RFC5340] |
| 'V' | V6 Bit | [RFC5340] |
| Reserved (Rsvd) | Reserved for future use | |
+-----------------+-------------------------+------------+
表 8: Node Flag Bits 定义
一个 IS-IS 节点可以属于一个或多个 IS-IS 区域。这些区域地址中的每一个都在 IS-IS Area Identifier TLV 中承载。如果存在多个区域地址, 则使用多个 TLV 来编码它们。IS-IS Area Identifier TLV 只能 (MAY) 在 Link-State Node NLRI 中通告时出现在 BGP-LS 属性中。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Area Identifier (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 16: IS-IS Area Identifier TLV 格式
Node Name TLV 是可选的。其结构和编码借鉴自 [RFC5301]。Value 字段标识路由器节点的符号名称。此符号名称可以是路由器的完全限定域名 (Fully Qualified Domain Name, FQDN), 可以是 FQDN 的子集 (例如主机名), 或者可以是运营商希望用于路由器的任何字符串。强烈建议 (RECOMMENDED) 使用 FQDN 或其子集。Node Name TLV 的最大长度为 255 个八位字节。
Value 字段以 7 位 ASCII 编码。如果配置或显示此字段的用户界面允许 Unicode 字符, 则该用户界面负责应用 [RFC5890] 中描述的 ToASCII 和/或 ToUnicode 算法, 以实现正确的传输或显示格式。
尽管 [RFC5301] 描述了特定于 IS-IS 的扩展, Node Name TLV 的使用对所有协议都是可能的。路由器如何派生和注入节点名称 (例如 OSPF 节点) 超出了本文档的范围。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Node Name (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 17: Node Name 格式
本地 IPv4/IPv6 Router-ID TLV 用于描述 IGP 可能使用的辅助 Router-ID, 例如用于 TE 和迁移目的, 例如在不同协议之间关联 Node-ID。如果给定类型的辅助 Router-ID 不止一个, 则每个都在其自己的 TLV 中编码。
Opaque Node Attribute TLV 是一个透明承载路由器通告的可选 Node Attribute TLV 的封装。发起路由器应该 (SHALL) 使用此 TLV 来编码特定于 NLRI 头部 Protocol-ID 字段中通告的协议的信息, 或者 NLRI 头部 Protocol-ID 字段中通告的协议的新协议扩展, 这些扩展在 BGP Link-State NLRI 中没有协议中立的表示。Opaque Node Attribute TLV 的主要用途是弥合文档滞后, 例如在定义新的 IGP 链路状态属性和发布协议中立的 BGP-LS 扩展之间。例如, 路由器可以使用此扩展来通告原生协议的 Node Attribute TLV, 例如 [RFC7770] 中定义的 OSPF Router Informational Capabilities TLV 或 [RFC5073] 中描述的 IGP TE Node Capability Descriptor 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Opaque node attributes (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 18: Opaque Node Attribute 格式
Link Attribute TLV 是可以在 BGP-LS 属性中与 Link NLRI 一起编码的 TLV。每个 'Link Attribute' 是一个按照 Section 3.1 中定义的格式的 Type/Length/Value (TLV) 三元组。一些 Link Attribute TLV 中 Value 字段的格式和语义对应于 IS-IS Extended IS Reachability sub-TLV 中 Value 字段的格式和语义, 这些 sub-TLV 在 [RFC5305] 和 [RFC5307] 中定义。其他 Link Attribute TLV 在本文档中定义。
尽管 Link Attribute TLV 的编码最初是为 IS-IS 定义的, 但这些 TLV 可以承载由 IS-IS 或 OSPF 提供的数据。
以下 Link Attribute TLV 在 Link NLRI 的 BGP-LS 属性中是有效的:
+-----------+---------------------+--------------+------------------+
| TLV Code | Description | IS-IS TLV | Reference |
| Point | | /Sub-TLV | (RFC/Section) |
+-----------+---------------------+--------------+------------------+
| 1028 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
| | Local Node | | |
| 1029 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
| | Local Node | | |
| 1030 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
| | Remote Node | | |
| 1031 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
| | Remote Node | | |
| 1088 | Administrative | 22/3 | [RFC5305]/3.1 |
| | group (color) | | |
| 1089 | Maximum link | 22/9 | [RFC5305]/3.4 |
| | bandwidth | | |
| 1090 | Max. reservable | 22/10 | [RFC5305]/3.5 |
| | link bandwidth | | |
| 1091 | Unreserved | 22/11 | [RFC5305]/3.6 |
| | bandwidth | | |
| 1092 | TE Default Metric | 22/18 | Section 3.3.2.3 |
| 1093 | Link Protection | 22/20 | [RFC5307]/1.2 |
| | Type | | |
| 1094 | MPLS Protocol Mask | --- | Section 3.3.2.2 |
| 1095 | IGP Metric | --- | Section 3.3.2.4 |
| 1096 | Shared Risk Link | --- | Section 3.3.2.5 |
| | Group | | |
| 1097 | Opaque Link | --- | Section 3.3.2.6 |
| | Attribute | | |
| 1098 | Link Name | --- | Section 3.3.2.7 |
+-----------+---------------------+--------------+------------------+
表 9: Link Attribute TLV
本地/远程 IPv4/IPv6 Router-ID TLV 用于描述 IGP 可能使用的辅助 Router-ID, 例如用于 TE 目的。本地和远程节点的所有辅助 Router-ID 必须 (MUST) 包含在每个 Link NLRI 的链路属性中。如果给定类型的辅助 Router-ID 不止一个, 则使用多个 TLV 来编码它们。
MPLS Protocol Mask TLV 携带描述哪些 MPLS 信令协议已启用的位掩码。此 TLV 的长度为 1。该值是 8 个标志的位数组, 其中每个位代表一个 MPLS 协议能力。
MPLS Protocol Mask TLV 的生成仅对具有本地链路洞察力的发起者有效, 并且应该 (SHOULD) 仅用于这些发起者, 例如根据表 2 的 Protocol-ID 'Static configuration' 或 'Direct'。MPLS Protocol Mask TLV 绝对不能 (MUST NOT) 包含在表 2 中列出的其他 Protocol-ID 的 NLRI 中。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L|R| Reserved |
+-+-+-+-+-+-+-+-+
图 19: MPLS Protocol Mask TLV
定义了以下位:
+------------+------------------------------------------+-----------+
| Bit | Description | Reference |
+------------+------------------------------------------+-----------+
| 'L' | Label Distribution Protocol (LDP) | [RFC5036] |
| 'R' | Extension to RSVP for LSP Tunnels | [RFC3209] |
| | (RSVP-TE) | |
| 'Reserved' | Reserved for future use | |
+------------+------------------------------------------+-----------+
表 10: MPLS Protocol Mask TLV 代码
TE Default Metric TLV 携带此链路的流量工程度量。此 TLV 的长度固定为 4 个八位字节。如果源协议使用小于 32 位的度量宽度, 则此字段的高位必须 (MUST) 用零填充。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TE Default Link Metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 20: TE Default Metric TLV 格式
IGP Metric TLV 携带此链路的度量。此 TLV 的长度是可变的, 取决于底层协议的度量宽度。IS-IS 小度量的长度为 1 个八位字节 (两个最高有效位被忽略)。OSPF 链路度量的长度为 2 个八位字节。IS-IS 宽度量的长度为 3 个八位字节。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// IGP Link Metric (variable length) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 21: IGP Metric TLV 格式
Shared Risk Link Group (SRLG) TLV 携带共享风险链路组 (Shared Risk Link Group) 信息 (参见 [RFC4202] 的 Section 2.3 ("Shared Risk Link Group Information"))。它包含一个由 SRLG 值的 (可变) 列表组成的数据结构, 其中列表中的每个元素有 4 个八位字节, 如图 22 所示。此 TLV 的长度为 4 * (SRLG 值的数量)。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Shared Risk Link Group Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// ............ //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Shared Risk Link Group Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 22: Shared Risk Link Group TLV 格式
OSPF-TE 的 SRLG TLV 在 [RFC4203] 中定义。在 IS-IS 中, SRLG 信息承载在两个不同的 TLV 中: [RFC5307] 中定义的 IPv4 (SRLG) TLV (Type 138) 和 [RFC6119] 中定义的 IPv6 SRLG TLV (Type 139)。在 Link-State NLRI 中, IPv4 和 IPv6 SRLG 信息都承载在单个 TLV 中。
Opaque Link Attribute TLV 是一个透明承载路由器通告的可选 Link Attribute TLV 的封装。发起路由器应该 (SHALL) 使用此 TLV 来编码特定于 NLRI 头部 Protocol-ID 字段中通告的协议的信息, 或者 NLRI 头部 Protocol-ID 字段中通告的协议的新协议扩展, 这些扩展在 BGP Link-State NLRI 中没有协议中立的表示。Opaque Link Attribute TLV 的主要用途是弥合文档滞后, 例如在定义新的 IGP 链路状态属性和发布 '协议中立' 的 BGP-LS 扩展之间。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Opaque link attributes (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 23: Opaque Link Attribute TLV 格式
Link Name TLV 是可选的。Value 字段标识路由器链路的符号名称。此符号名称可以是链路的 FQDN, 可以是 FQDN 的子集, 或者可以是运营商希望用于链路的任何字符串。强烈建议 (RECOMMENDED) 使用 FQDN 或其子集。Link Name TLV 的最大长度为 255 个八位字节。
Value 字段以 7 位 ASCII 编码。如果配置或显示此字段的用户界面允许 Unicode 字符, 则该用户界面负责应用 [RFC5890] 中描述的 ToASCII 和/或 ToUnicode 算法, 以实现正确的传输或显示格式。
路由器如何派生和注入链路名称超出了本文档的范围。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Link Name (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 24: Link Name TLV 格式
前缀从 IGP 拓扑 (IS-IS 或 OSPF) 中学习, 并带有一组 IGP 属性 (例如度量、路由标签等), 这些属性必须 (MUST) 反映到带有前缀 NLRI 的 BGP-LS 属性中。本节描述与 IPv4/IPv6 前缀相关的不同属性。
Prefix Attribute TLV 应该 (SHOULD) 仅在通告 NLRI 类型 3 和 4 时使用。定义了以下 Prefix Attribute TLV:
+---------------+----------------------+----------+-----------------+
| TLV Code | Description | Length | Reference |
| Point | | | |
+---------------+----------------------+----------+-----------------+
| 1152 | IGP Flags | 1 | Section 3.3.3.1 |
| 1153 | IGP Route Tag | 4*n | [RFC5130] |
| 1154 | IGP Extended Route | 8*n | [RFC5130] |
| | Tag | | |
| 1155 | Prefix Metric | 4 | [RFC5305] |
| 1156 | OSPF Forwarding | 4 | [RFC2328] |
| | Address | | |
| 1157 | Opaque Prefix | variable | Section 3.3.3.6 |
| | Attribute | | |
+---------------+----------------------+----------+-----------------+
表 11: Prefix Attribute TLV
IGP Flags TLV 包含最初分配给前缀的 IS-IS 和 OSPF 标志和位。IGP Flags 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|D|N|L|P| Resvd.|
+-+-+-+-+-+-+-+-+
图 25: IGP Flag TLV 格式
Value 字段包含根据下表定义的位:
+----------+---------------------------+-----------+
| Bit | Description | Reference |
+----------+---------------------------+-----------+
| 'D' | IS-IS Up/Down Bit | [RFC5305] |
| 'N' | OSPF "no unicast" Bit | [RFC5340] |
| 'L' | OSPF "local address" Bit | [RFC5340] |
| 'P' | OSPF "propagate NSSA" Bit | [RFC5340] |
| Reserved | Reserved for future use. | |
+----------+---------------------------+-----------+
表 12: IGP Flag Bits 定义
IGP Route Tag TLV 携带前缀的原始 IGP 标签 (IS-IS [RFC5130] 或 OSPF), 编码如下:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Route Tags (one or more) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 26: IGP Route Tag TLV 格式
Length 是 4 的倍数。
Value 字段包含一个或多个在 IGP 拓扑中学习的 Route Tag。
Extended IGP Route Tag TLV 携带前缀的 IS-IS Extended Route Tag [RFC5130], 编码如下:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Extended Route Tag (one or more) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 27: Extended IGP Route Tag TLV 格式
Length 是 8 的倍数。
Extended Route Tag 字段包含一个或多个在 IGP 拓扑中学习的 Extended Route Tag。
Prefix Metric TLV 是一个可选属性, 可能只出现一次。如果存在, 它携带 IGP 拓扑中已知的前缀度量, 如 [RFC5305] 的 Section 4 中所述 (因此表示到前缀的可达性成本)。如果不存在, 则意味着前缀是在没有任何可达性的情况下通告的。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 28: Prefix Metric TLV 格式
Length 为 4。
OSPF Forwarding Address TLV [RFC2328] [RFC5340] 携带原始 OSPF 通告中已知的 OSPF 转发地址。转发地址可以是 IPv4 或 IPv6。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Forwarding Address (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 29: OSPF Forwarding Address TLV 格式
对于 IPv4 转发地址, Length 为 4, 对于 IPv6 转发地址, Length 为 16。
Opaque Prefix Attribute TLV 是一个透明承载路由器通告的可选 Prefix Attribute TLV 的封装。发起路由器应该 (SHALL) 使用此 TLV 来编码特定于 NLRI 头部 Protocol-ID 字段中通告的协议的信息, 或者 NLRI 头部 Protocol-ID 字段中通告的协议的新协议扩展, 这些扩展在 BGP Link-State NLRI 中没有协议中立的表示。Opaque Prefix Attribute TLV 的主要用途是弥合文档滞后, 例如在定义新的 IGP 链路状态属性和发布协议中立的 BGP-LS 扩展之间。
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Opaque Prefix Attributes (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
图 30: Opaque Prefix Attribute TLV 格式
Type 如表 11 中指定。Length 是可变的。