IS-IS网络协议报文通用格式
介绍IS-IS报文的协议栈结构和通用头部格式。IS-IS PDU可分为4种类型:Hello,LSP,CSNP和PSNP。IS-IS PDU可以分为两个部分,报文头和变长字段部分。其中头部又可分为通用头部和专用头部。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。
一、IS-IS通用报头格式
+----------------------------------------------+------------
| Intradomain Routing Protocol Discriminator | |
+----------------------------------------------+ |
| Length Indicator | |
+----------------------------------------------+ |
| Version/Protocol ID Extension | |
+----------------------------------------------+ |
| ID Length | PDU
+----------------------------------------------+ Common
| R | R | R | PDU Type | Header
+----------------------------------------------+ |
| Version | |
+----------------------------------------------+ |
| Reserved | |
+----------------------------------------------+ |
| Maximum Area Address | |
+----------------------------------------------+------------
| PDU Specific Header |
+----------------------------------------------+
| Variable Length Fields (CLV) |
+----------------------------------------------+
二、IS-IS通用报头格式释义
字段 | 长度 | 含义 |
---|---|---|
Intradomain Routing Protocol Discriminator | 1字节 | 域内路由选择协议鉴别符,设置为0x83。 |
Length Indicator | 1字节 | PDU头部的长度(包括通用头部和专用头部),以字节为单位。 |
Version/Protocol ID Extension | 1字节 | 版本/协议标识扩展,设置为1(0x01)。 |
ID Length | 1字节 | NSAP地址或NET中System ID区域的长度。值为0时,表示System ID区域的长度为6字节。值为255时,表示System ID区域为空(即长度为0)。 |
R | 1比特 | 保留(Reserved)位,设置为0。 |
PDU Type | 5比特 | PDU的类型。IS-IS PDU共有9种类型,详细信息请参考后面PDU类型对应关系表。 |
Version | 1字节 | IS-IS版本号,设置为1(0x01)。 |
Maximum Area Address | 1字节 | 支持的最大区域个数。设置为1~254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。 |
PDU Specific Header | 变长 | 专用头部,根据PDU类型不同而有所差别。 |
Variable Length Fields | 变长 |
由多个CLV(Code-Length-Value)三元组组成。CLV也称为TLV(Type-Length-Value),其格式如后面CLV格式所示。不同PDU类型所包含的CLV是不同的,如后面 CLV Code表所示,其中,Code值从1到10的CLV在ISO 10589中定义(有2类未在上表中列出),其他几种CLV在RFC 1195中定义。 |
三、PDU类型对应关系表
类型值 | PDU类型 | 简称 |
---|---|---|
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 | L2 CSNP |
26 | Level-1 Partial Sequence Numbers PDU | L1 PSNP |
27 | Level-2 Partial Sequence Numbers PDU | L2 PSNP |
四、CLV格式
+-------------- -+
| Code |
+----------------+
| Length |
+----------------+
| Value |
+----------------+
五、CLV Code
CLV Code | 名称 | 所应用的PDU类型 |
---|---|---|
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 |
六、IS-IS报文格式示例
Frame 1: 529 bytes on wire (4232 bits), 529 bytes captured (4232 bits)
Arrival Time: May 1, 2015 02:09:20.703345000
Epoch Time: 1430417360.703345000 seconds
[Time delta from previous captured frame: 0.000000000 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 0.000000000 seconds]
Frame Number: 1
Frame Length: 529 bytes (4232 bits)
Capture Length: 529 bytes (4232 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:llc:osi:isis]
[Coloring Rule Name: Broadcast]
[Coloring Rule String: eth[0] & 1]
IEEE 802.3 Ethernet
Destination: ISIS-all-level-1-IS's (01:80:c2:00:00:14)
Address: ISIS-all-level-1-IS's (01:80:c2:00:00:14)
.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Source: AlcatelI_2b:c3:d7 (00:20:60:2b:c3:d7)
Address: AlcatelI_2b:c3:d7 (00:20:60:2b:c3:d7)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Length: 515
Logical-Link Control
DSAP: ISO Network Layer (0xfe)
IG Bit: Individual
SSAP: ISO Network Layer (0xfe)
CR Bit: Command
Control field: U, func=UI (0x03)
000. 00.. = Command: Unnumbered Information (0x00)
.... ..11 = Frame type: Unnumbered frame (0x03)
ISO 10589 ISIS InTRA Domain Routeing Information Exchange Protocol
Intra Domain Routing Protocol Discriminator: ISIS (0x83)
PDU Header Length: 27
Version (==1): 1
System ID Length: 6
PDU Type : L1 HELLO (R:000)
Version2 (==1): 1
Reserved (==0): 0
Max.AREAs: (0==3): 3
ISIS HELLO
Circuit type : Level 1 only, reserved(0x00 == 0)
System-ID {Sender of PDU} : 0020.602b.c3ae
Holding timer: 50
PDU length: 512
Priority : 64, reserved(0x00 == 0)
System-ID {Designated IS} : 0020.602b.c3ae.02
Area address(es) (14)
Area address (13): 39.764f.8000.0000.0000.0001.0002
IS Neighbor(s) (36)
IS Neighbor: HewlettP_9d:73:61
IS Neighbor: AlcatelI_2b:c3:bc
IS Neighbor: AlcatelI_2b:2f:7f
IS Neighbor: AlcatelI_2b:c3:ba
IS Neighbor: AlcatelI_2b:2e:aa
IS Neighbor: AlcatelI_2b:2f:2e
Padding (255)
Padding (172)
七、IS-IS协议栈结构
IS-IS报文是直接封装在数据链路层的帧结构中的,数据帧中的负载称为IS-IS PDU。下面为为IS-IS报文在IEEE 802.3帧中的封装结构。其中,DSAP字段值设为0xFE,SSAP字段值设为0xFE。
6 byes 6 byes 2 bytes 1 byte 1 byte 1 byte variable 4 bytes
+--------+--------+--------+--------+--------+--------+-----------+-------+
| DMAC | SMAC | Length | DSAP | SSAP | Ctrl | IS-IS PDU | FCS |
+--------+--------+--------+--------+--------+--------+-----------+-------+
发表评论