【思科文档】ISIS 的 TLV 类型汇总(翻译自 Cisco 英文文档)

本文转载自:思科英文文档 —— Intermediate System-to-Intermediate System (IS-IS) TLVs

1、Introduction(前言)

This document explains the Intermediate System-to-Intermediate System (IS-IS) Type Length Value (TLV) and its use.

本文解释中间系统到中间系统(IS-IS)的类型、长度、值(TLV 是 Type Length Value 的缩写)和其使用。

2、Prerequisites(前提)

a. Requirements(要求)

There are no specific requirements for this document.

本文档没有任何特定的前提条件。

b. Components Used(使用组件)

This document is not restricted to specific software and hardware versions.

本文不限于特定的软硬件版本。

c. Conventions(约定)

For more information on document conventions, see the Cisco Technical Tips Conventions.

有关规则文档的更详尽信息请参阅 Cisco 技术提示规则

3、The Function of TLV(TLV 的功能)

IS-IS, originally designed for Open System Interconnection (OSI) routing, uses TLV parameters to carry information in Link State Packets (LSPs). The TLVs make IS-IS extendable. IS-IS can therefore carry different kinds of information in the LSPs. As defined by ISO 10589, IS-IS supports only the Connectionless Network Protocol (CLNP). However, IS-IS was extended for IP routing in RFC 1195 with the registration of TLV 128 which contains a set of 12-octet fields to carry IP information.

IS-IS,最初设计为开放式互联(OSI)路由,使用 TLV 参数传递链路状态数据报文(LSP)的信息。TLV 使 IS-IS 协议具有可扩展性。因此 IS-IS 协议可以传递不同类型的 LSP 信息。这些规则是由 ISO 10589 定义的,当时 IS-IS 仅支持无连接网络协议(CLNP)。然而,IS-IS 在 RFC 1195 上开始支持 IP 路由,使用 TLV 128 上包含的一套 12 个八位组集合来传递 IP 信息。

注:在传统的二进制数字概念中,1 byte(字节)= 8 bit(位)。大多数因特网标准使用八位组(octet)这个术语而不是使用字节来表示 8 位的量。该术语起始于 TCP / IP 发展的早期,当时许多早期的工作是在诸如 DEC-10 这样的系统上进行的,然而这些系统的结构使用的字节(byte)长度是 10 位(bit),因此出现了 octet 的单位,即准确定义 1 octet = 8 bit 。

In the IS-IS Protocol Data Unit (PDU), there is a fixed and a variable part of the header. The fixed part of the header contains fields that are always present, and the variable part of the header contains the TLV which permits the flexible encoding of parameters within link state records. These fields are identified by one octet of type (T), one octet of length (L) and “L” octets of value (V). The Type field indicates the type of items in the Value field. The Length field indicates the length of the Value field. The Value field is the data portion of the packet. Not all router implementations support all TLVs, but they are required to ignore and retransmit the ignored types.

在 IS-IS 协议数据单元(PDU)中,头部里有一个固定的部分和一个可变的部分。头部里固定的部分包含一些总是存在的字段,而头部里可变的部分包含 TLV,这些 TLV 是参数允许灵活编码的链路状态记录。这些字段分别是:一个八位组 type 字段(T),一个八位组 length 字段(L)和 “L” 八位组所确定的 value(V)。Type 字段指明了 Value 字段中 item 的种类。Length 字段指明了 Value 字段的长度。Value 字段是数据包的数据部分。不是所有的路由器都能识别所有的 TLV,虽然有些 TLV 它们没法识别会忽略掉,但是它们不能删掉这些被忽略掉的字段,这些被忽略掉的字段在需要时是要重新传输给其他邻居的。

As explained by RFC 1195 , TLV 128 extends IS-IS to carry IP, in addition to Connectionless Network Service (CLNS), routing information in the same packet. DEC has also implemented an extension to IS-IS with TLV 42. This extension allows the IS-IS to hold information about DECnet Phase IV networks. In the future, a new TLV may be implemented allowing CLNS to carry IPv6 routing information.

RFC 1195 文档定义的 TLV 128 扩展了 IS-IS,让 IS-IS 去传递 IP,除了无连接网络服务(CLNS)以外,路由信息都在同一个数据包中。DEC 也实现了一个 IS-IS 的扩展,这个扩展是 TLV 42 。这个扩展允许 IS-IS 去持有关于 DECnet 第 IV 阶段网络的信息。在未来,一个新的 TLV 将会被实现,这个新的 TLV 允许 CLNS 去传递 IPv6 的路由信息。

Several routing protocols use TLVs to carry a variety of attributes. Cisco Discovery Protocol (CDP), Label Discovery Protocol (LDP), and Border Gateway Protocol (BGP) are examples of protocols that use TLVs. BGP uses TLVs to carry attributes such as Network Layer Reachability Information (NLRI), Multiple Exit Discriminator (MED), and local preference.

有好几个路由协议都使用 TLV 来传递各种各样的属性。 Cisco 发现协议(CDP)、标签发现协议(LDP)和边界网关协议(BGP),这些协议都是使用 TLV 的示例。 BGP 使用 TLV 来传递一些属性,例如:网络层可达性信息(NLRI),多出口鉴别器(MED),和本地优先级。

4、TLV Encoding(TLV 编码)

The variable length fields are encoded as follows:

可变长字段的编码如下:

Field(字段) Number of Octets(八位组的编号)
Type / 类型 1
Length / 长度 1
Value / 值 LENGTH / 长度

RFC 1142 Section 9, a revision of ISO 10589, provides detail about the packet layouts for each type of IS-IS PDU, as well as the TLVs supported for each type. The first eight octets of all IS-IS PDUs are header fields that are common to all PDU types. The TLV information is stored at the very end of the PDU. Different types of PDUs have a set of currently-defined codes. Any codes that are not recognized should be ignored and passed through unchanged.

RFC 1142 的第 9 部分,ISO 10589 的修订版本,为 IS-IS PDU 的每种类型提供了关于数据包布局的细节,以及每种类型支持的 TLV 。所有 IS-IS PDU 的前八个八位组是头部字段,这个头部字段是所有 PDU 类型都含有的字段。TLV 信息被存储在 PDU 的末尾。不同类型的 PDU 有一套目前定义的版本。任何不被认可的版本都应该被忽略,同时通过路由器原封不动地传递出去。

5、IS-IS PDU and TLV Definitions(IS-IS PDU 和 TLV 定义)

Definitions for IS-IS PDU types and valid code values have been established. ISO 10589 defines type codes 1 through 10. RFC 1195 defines type codes 128 through 133.

IS-IS PDU 的类型和有效值的定义已经完成。ISO 10589 定义了值为 1 到 10 的类型,RFC 1195 定义了值为 128 到 133 的类型。

Note: TLV code 133 (Authentication Information) is specified in RFC 1195 , but Cisco uses the ISO code of 10 instead. Additionally, TLV code 4 is used for partition repair and is not supported by Cisco.

注意:类型为 133 的 TLV(认证信息)在 RFC 1195 中已经定义好了,但是思科使用 ISO 中规定的类型 10 来代替。另外,类型为 4 的 TLV 用于分区修复,思科将不支持该类型。

6、TLVs Implemented by Cisco(Cisco 实现的 TLV)

Cisco implements most TLVs. However, in some cases, draft or low-demand TLVs are not implemented. Below are the explanations of the popular TLVs implemented by Cisco.

思科实现了大部分的 TLV 。然而,在某些情况下,一些草案的 TLV 或者是需求量没有那么大的 TLV 将不会被实现。下表中列出的是一些已经被思科实现的、且很常用的 TLV。

TLV Name(名字) Description(说明)
1 Area Address / 区域地址 Includes the Area Addresses to which the Intermediate System is connected. / 包括用于中间系统连接的区域地址。
2 IIS Neighbors / IIS邻居 Includes all the IS-ISs running interfaces to which the router is connected. / 包括所有 IS-IS 上运行的、用于路由器之间连接的接口。
8 Padding / 填充 Primarily used in the IS-IS Hello (IIH) packets to detect the maximum transmission unit (MTU) inconsistencies. By default, IIH packets are padded to the fullest MTU of the interface. / 主要用在 IS-IS Hello(IIH)数据包上,用来检测最大传输单元(MTU)的一致性。默认情况下,IIH 数据包在接口上使用最大的 MTU 进行填充。
10 Authentication / 认证 The information that is used to authenticate the PDU. / 这是用来验证 PDU 的信息。
22 TE IIS Neighbors / 流量工程 IIS 邻居 Increases the maximum metric to three bytes (24 bits). Known as the Extended IS Reachability TLV, this TLV addresses a TLV 2 metric limitation. TLV 2 has a maximum metric of 63, but only six out of eight bits are used. / 增加最大度量值到 3 个字节(24位)。这个 TLV 称为扩展 IS 可达性 TLV,这个 TLV 重写了 TLV 2 的度量值限制。TLV 2 最大度量值可到 63,但是 8 位中仅有 6 位被使用。
128 IP Int. Reachability / IP 接口可达性 Provides all the known IP addresses that the given router knows about via one or more internally-originated interfaces. This information may appear multiple times. / 为给定路由器提供所有已知的 IP 地址,这些 IP 地址起源于内部的一个或多个接口。这个信息可能会出现多次。
129 Protocols Supported / 支持的协议 Carries the Network Layer Protocol Identifiers (NLPID) for Network Layer protocols that the IS (Intermediate System) is capable. It refers to the Data Protocols that are supported. For example, IPv4 NLPID value 0xCC, CLNS NLPID value 0x81, and/or IPv6 NLPID value 0x8E will be advertised in this NLPID TLV. / 用于运载 IS(中间系统)所支持的网络层协议的网络层协议 ID(NLPID)。它指的是那些被支持的数据协议。比如:IPv4 的 NLPID 是 0xCC,CLNS 的 NLPID 是 0x81,和(或)IPv6 的 NPLID 是 0x8E,这些 NLPID 将会被这个 NLPID TLV 通告出去。
130 IP Ext. Address / IP 外部地址 Provides all the known IP addresses that the given router knows about via one or more externally-originated interfaces. This information may appear multiple times. / 为给定路由器提供所有已知的 IP 地址,这些 IP 地址起源于外部的一个或多个接口。这个信息可能会出现多次。
132 IP Int. Address / IP 接口地址 The IP interface address that is used to reach the next-hop address. / 用于到达下一跳地址的 IP 接口地址。
134 TE Router ID / 流量工程路由器 ID This is the Multi-Protocol Label Switching (MPLS) traffic engineering router ID. / 这个 TLV 在多协议标签交换(MPLS)的流量工程上用来传递路由器 ID。
135 TE IP Reachability / 流量工程 IP 可达性 Provides a 32 bit metric and adds a bit for the “up/down” resulting from the route-leaking of L2->L1. Known as the Extended IP Reachability TLV, this TLV addresses the issues with both TLV 128 and TLV 130. / 提供 32 位的度量值,而且增加了一个 ” up / down ” 位,用在 IS-IS 路由泄露(路由从 L2 泄露到 L1)上。这个 TLV 称为 扩展 IP 可达性 TLV,这个 TLV 解决了 TLV 128 和 TLV 130 上的一个问题。
137 Dynamic Hostname / 动态主机名 Identifies the symbolic name of the router originating the link-state packet (LSP). / 标识产生链路状态数据包(LSP)的路由器的符号名称。
10 and 133 TLV 10 should be used for Authentication; not the TLV 133. If TLV 133 is received, it is ignored on receipt, like any other unknown TLVs. TLV 10 should be accepted for authentication only. / TLV 10 用于认证;而不是 TLV 133 。如果收到 TLV 133,接收端会忽略掉它,就像收到其他未知的 TLV 一样。收到 TLV 10 后只能用于认证。

TLV Details(TLV 详细资料)

Name TLV IIH SNP L1 LSP L2 LSP Origin
Area Addresses 1 Yes No Yes Yes ISO 10589
IIS Neighbors 2 No No Yes Yes ISO 10589
ES Neighbors 3 No No Yes No ISO 10589
Part. DIS 4 No No Yes ISO 10589
Prefix Neighbors 5 No No Yes ISO 10589
IIS Neighbors 6 Yes No Yes ISO 10589
Padding 8 Yes No No No ISO 10589
LSP Entries 9 No Yes No No ISO 10589
Authentication 10 Yes Yes Yes Yes ISO 10589
Opt. Checksum 12 Yes Yes Yes Yes draft-ietf-isis-wg-snp-checksu
LSPBufferSize 14 Yes No SIF-DRAFT
TE IIS Neighbors 22 No No draft-ietf-isis-traffic-04.txt
HMAC-MD5 Authentic 54 draft-ietf-isis-hmac-03.txt
IP Int. Reach 128 No No Yes Yes RFC 1195
Prot. Supported 129 Yes No Yes Yes RFC 1195
IP Ext. Address 130 No No Yes Yes RFC 1195
IDRPI 131 No Yes No Yes RFC 1195
IP Intf. Address 132 Yes No Yes Yes RFC 1195
Authentication *133 No No No No RFC 1195 (illegal / 不合规)
TE-Router ID 134 No No Yes Yes draft-ietf-isis-traffic-04.txt
TE IP. Reach 135 No No draft-ietf-isis-traffic-04.txt
Dynamic Name 137 No No RFC 2763
Shared Risk Link Group 138 draft-ietf-isis-gmpls-extensions-12.txt
MT-ISN 222 No No draft-ietf-isis-wg-multi-topol
M-Topologies 229 Yes No draft-ietf-isis-wg-multi-topol
IPv6 Intf. Addr. 232 Yes No draft-ietf-isis-ipv6-02.txt
MT IP. Reach 235 No No draft-ietf-isis-wg-multi-topol
3-Way hellos 240 Yes No draft-ietf-isis-3way-01.txt
Restart TLV 211 Yes No No No draft-shand-isis-restart-01.txt
IPv6 Reachability 236 No No Yes Yes draft-ietf-isis-ipv6-02.txt
MT IPv6 IP Reach 237 No No Yes Yes draft-ietf-isis-wg-multi-topol
p2p 3-way Adj. 240 Yes No draft-ietf-isis-3way-06.txt

7、Sub-TLVs and Traffic Engineering(子 TLV 和流量工程)

Sub-TLVs use the same concepts as TLVs. The difference is that TLVs exist inside IS-IS packets, while sub-TLVs exist inside TLVs. TLVs are used to add extra information to IS-IS packets. Sub-TLVs are used to add extra information to particular TLVs. Each sub-TLV consists of three fields. A one-octet Type field, a one-octet Length field, and zero or more octets of Value. The Type field indicates the type of items in the Value field. The Length field indicates the length of the Value field in octets. Each sub-TLV can potentially hold multiple items. The number of items in a sub-TLV can be computed from the length of the whole sub-TLV, when the length of each item is known. Unknown sub-TLVs are to be ignored and skipped on receipt.

子 TLV 的概念跟 TLV 一样。区别是 TLV 存在于 IS-IS 数据包中,而子 TLV 存在于 TLV 中。TLV 用来把额外的信息添加到 IS-IS 数据包中。子 TLV 用来把额外的信息添加到特定的 TLV 中。每个子 TLV 包含三个字段。一个八位组的 Type (类型)字段,一个八位组的 Length(长度)字段,和零个或者多个八位组的 Value(值)字段。这个 Type 字段指明了 Value 字段中 item 的种类,Length(长度)字段指明了 Value(值)字段的八位组长度。每个子 TLV 可以容纳多个 item 。当每个 item 的长度已知时,在子 TLV 里 item 的数量就可以通过整个子 TLV 的长度计算出来。未知的子 TLV 在接收端上将会被忽略和被跳过。

The majority of the Sub-TLVs are defined in draft-ietf-isis-traffic-04.txt and draft-ietf-isis-gmpls-extensions-12.txt.

子 TLV 大部分是在 draft-ietf-isis-traffic-04.txt 和 draft-ietf-isis-gmpls-extensions-12.txt 中定义的。

Additionally, these sub-TLVs are part of Extended IS Reachability TLV 22, with the exception of the sub-TLV 1 which is part of Extended IP Reachability TLV 135. The sub-TLV 1 is defined in draft-martin-neal-policy-isis-admin-tags-01.txt

另外,除了子 TLV 1 是扩展 IP 可达性 TLV 135 的一部分以外,这些子 TLV 都是扩展 IS 可达性 TLV 22 的一部分。这个子 TLV 1 在 draft-martin-neal-policy-isis-admin-tags-01.txt 中定义。

Below is the brief description of the Sub-TLVs:

下面是子 TLV 的简要描述:

Sub-TLV Name(名字) Description(说明)
1 Administration Group / 管理组 This sub-TLV associates a tag with an IP prefix. Some of the examples of this ‘tag’ include controlling redistribution between levels and areas, different routing protocols, or on an interface. / 这个子 TLV 关联了 一个 IP 前缀的标记。这个标记包含了一些信息,比如:使用标记在 levels(层次)和 areas(区域)之间控制重分布,在不同路由协议,或是接口上。
3 Administration Group / 管理组 If the link or interface has been colored (from the traffic engineering point of view), that information is carried by this TLV. / 如果链路或者是接口上颜色改变了(从流量工程的视角来看),该信息将由此 TLV 传递。
6 IPv4 Interface Address / IPv4 接口地址 The interface IP address that is used for the traffic engineering purposes. / 用于以流量工程为目的的接口 IP 地址。
8 IPv4 Neighbor Address / IPv4 邻居地址 The neighbor interface IP address that is used for the traffic engineering purposes. / 用于以流量工程为目的的邻居接口 IP 地址。
9 Maximum Link Bandwidth / 最大链路带宽 The maximum link bandwidth of the interface in question (for the traffic engineering purposes). / 接口中的最大链路带宽(以流量工程为目的)。
10 Maximum Reservable Link Bandwidth / 最大可预留的链路带宽 The maximum amount of bandwidth that can be reserved on the interface in question. / 在接口上,最大可预留的带宽总量。
11 Unreserved Bandwidth / 没有预先预留下来的带宽 The amount of bandwidth which is not yet reserved on the interface. / 在接口上,还没有被提前预留下来的带宽总量。
18 Traffic Engineering Default Metric / 流量工程的默认度量值 The metric that is administratively assigned for the traffic engineering purposes. / 从管理角度而言,以流量工程为目的进行分配的度量值。

Sub-TLV Details(子 TLV 详细资料)

Sub-TLV TLV Definitions Bytes
Administrative Tag 1 ISIS_ROUTE_ADMIN_TAG
Admin. Group (color) 3 ISIS_ADMIN_GROUP 4
Outgoing Int. Identifier 4 4
Incoming Int. Identifier 5 4
IPv4 Inter. Address 6 ISIS_INTERFACE_IP_ADDRESS 4
Interface MTU 7 2
IPv4 Neigh. Address 8 ISIS_NEIGHBOR_IP_ADDRESS 4
Maximum Link Bandwidth 9 ISIS_MAXIMUM_LINK_BW 4
Max. Reserv. Link Bandwidth 10 ISIS_MAXIMUM_LINK_RES 4
Unreserved Bandwidth 11 ISIS_CURRENT_BW_UNRESERVED 32
TE Default Metric 18 ISIS_TRAFFIC_ENGINEERING_METRIC 3
Link Protection Type 20 2
Int. Switch. Capability Desc. 21 variable
MT Reachable IPv4 Prefixes 117
Max. Link. Reser. Sub Pool *250 ISIS_MAXIMUM_LINK_RES_SUB
Current BW UnReser. Sub Pool *251 ISIS_CURRENT_BW_UNRESERVED_SUB

* The Sub-TLVs 250 and 251 are part of Cisco-specific extensions in support of MPLS-TE that is documented in draft-ietf-isis-traffic-04.txt. These Sub-TLVs are used during the Guraranteed Bandwidth application under MPLS-TE.

* 子 TLV 250 和 子 TLV 251 是思科专门为支持 MPLS TE 进行扩展的一部分,这两个子 TLV 可在文档 draft-ietf-isis-traffic-04.txt 中查看。这些子 TLV 在 MPLS TE 下用来预留带宽。

Note: Always refer to the most recent Internet Engineering Task Force (IETF) draft. The IETF draft mentioned in this document is subject to change. It may be replaced by a more recent version or RFC, or it may expire.

注意:请一直关注最新的互联网工程任务组(IETF)草案。 本文中提到的 IETF 草案是随时变化的。 它随时可能被更多最新的版本或 RFC 替换,或者随时可能到期。

8、Related Information(相关信息)

 

其他相关文章:

打赏作者
这里是 “ CCIE 工程师社区 ” 官方的捐款通道,您是否可以考虑请我们喝杯咖啡呢?

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

Was this article helpful?

Related Articles

Leave A Comment?

This site uses Akismet to reduce spam. Learn how your comment data is processed.