message format
IS-IS packets are directly encapsulated in the frame structure of the data link layer. The PDU can be divided into two parts, the message header and the variable-length field part. Among them, the head can be divided into a general head and a special head. The common header is the same for all PDUs, but the specific headers vary according to the PDU type.
There are four types of IS-IS PDUs: Hello message, LSP, CSNP, and PSNP.
Figure 1 IS-IS PDU format
All PDUs have the same general header format:
Figure 2 IS-IS general header format
- Intradomain Routing Protocol Discriminator: intradomain routing protocol discriminator, set to 0x83.
- Length Indicator: The length of the PDU header (including the general header and the dedicated header), in bytes.
- Version/Protocol ID Extension: Version/Protocol ID Extension, set to 1 (0x01).
- ID Length: the length of the System ID field in the NSAP address or NET. When the value is 0, it indicates that the length of the System ID area is 6 bytes. When the value is 255, it means that the System ID area is empty (that is, the length is 0).
- R (Reserved): Reserved, set to 0.
- PDU Type: the type of PDU. There are 9 types of IS-IS PDUs, please refer to the table below for details.
- Version: Set to 1 (0x01).
- Maximum Area Address: The maximum number of supported areas. If it is set to an integer ranging from 1 to 254, it indicates the maximum number of area addresses allowed by the IS-IS process; if it is set to 0, it indicates that the IS-IS process only supports a maximum of 3 area addresses.
type value | PDU type | Abbreviation |
---|---|---|
15 | Level-1 LAN IS-IS Hello PDU | L1 LAN IIH |
16 | Level-2 LAN IS-IS Hello PDU | L2 LAN IIH |
17 | Point-to-Point IS-IS Hello PDU | P2P IIH |
18 | Level-1 Link State PDU | L1 LSP |
20 | Level-2 Link State PDU | L2 LSP |
24 | Level-1 Complete Sequence Numbers PDU | L1 CSNP |
25 | Level-2 Complete Sequence Numbers PDU | L2CSNP |
26 | Level-1 Partial Sequence Numbers PDU | L1 PSNP |
27 | Level-2 Partial Sequence Numbers PDU | L2 PSNP |
CLV message format
The variable-length field part in the PDU is multiple CLV (Code-Length-Value) triplets. CLV is also called TLV (Type-Length-Value). Its format is shown in the figure below.
Figure 3 CLV format
The CLV contained in different PDU types is different.
CLV Code | name | Applied PDU type |
---|---|---|
1 | Area Addresses | IIH、LSP |
2 | IS Neighbors(LSP) | LSP |
4 | Partition Designated Level2 IS | L2 LSP |
6 | IS Neighbors(MAC Address) | LAN IIH |
7 | IS Neighbors(SNPA Address) | LAN IIH |
8 | Padding | IIH |
9 | LSP Entries | SNP |
10 | Authentication Information | IIH、LSP、SNP |
128 | IP Internal Reachability Information | LSP |
129 | Protocols Supported | IIH、LSP |
130 | IP External Reachability Information | L2 LSP |
131 | Inter-Domain Routing Protocol Information | L2 LSP |
132 | IP Interface Address | IIH、LSP |
Among them, CLVs with Code values from 1 to 10 are defined in ISO10589 (there are 2 types not listed in the above table), and several other CLVs are defined in RFC1195.
Message example
Figure 4 IS-IS packet format
Guideline
standard | describe |
---|---|
ISO 10589 | ISO IS-IS Routing Protocol |
RFC 1195 | Use of OSI IS-IS for Routing in TCP/IP and Dual Environments |