2022-06-17 网工进阶(十)IS-IS-通用报头、邻接关系的建立、IIH报文、DIS与伪节点

报文格式

IS-IS报文是直接封装在数据链路层的帧结构中的。

一个IS-IS PDU(协议数据单元)分为IS-IS报头可变字节长度部分。

IS-IS报头可分为IS-IS通用报头专用报头

通用头部详解

Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,固定为0x83。

Length Indicator:IS-IS头部的长度(包括通用头部和专用头部),以Byte为单位。

Version/Protocol ID Extension:版本/协议标识扩展,固定为0x01。

System ID Length:NSAP地址或NET中System ID区域的长度。值为0时,表示System ID区域的长度为6Byte。

R(Reserved):保留,固定为0。

Version:固定为0x01。

Max.Areas:支持的最大区域个数。设置为1~254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。 

抓包观察

1 域内路由协议:ISIS(0x83)

2 IS-IS PDU长度:27字节

3 版本/协议标识扩展:0x01

4 系统ID长度:6字节

5 保留位:0

6 携带的专用报文类型:等级2的hello(类型值16)

7 版本:0x01

8 保留位:0

9 支持最大区域数量:3

报文类型

ISIS有9种报文类型值

可分为4种类型

IS-IS HELLO 报文:相当于OSPF中的HELLO报文,用于建立和维持邻接关系,包括L1 LAN IIH(15)L2 LAN IIH(16)P2P IIH(17)

链路状态(LSP --- Link State PDU)报文:相当于OSPF中的LSU报文,用于交换链路状态信息,包括L1 LSP(18)L2 LSP(20)

全序列号(CSNP ---- Complete  Sequence Number PDU)报文:相当于OSPF中的DD报文,通过描述全部链路数据库中的LSP来同步各LSDB,包括 L1 CSNP(24)L2 CSNP(25)

部分序列号(PSNP ---- Partial  Sequence Number PDU)报文:相当于OSPF中的LSR报文和LSACK报文,通过描述部分链路数据库中的LSP来同步各LSDB,包括 L1 PSNP(26)L2 PSNP(27)

常见的TLV

TLV用于在报文中描述属性参数,含义是:类型(TYPE)长度(LENGTH)值(VALUE)。实际上是一个数据结构,这个结构包含了这三个字段。

使用TLV结构构建报文的好处是灵活性和扩展性好。采用TLV使得报文的整体结构固定,增加新特性只需要增加新TLV即可,不需要改变整个报文的整体结构。

邻接关系建立原则

只有同一层次的相邻路由器才有可能成为邻接。

对于Level-1路由器来说,Area ID必须一致。

链路两端IS-IS接口的网络类型必须一致。

链路两端IS-IS接口的地址必须处于同一网段(默认情况下),如果配置接口对接收的Hello报文不作IP地址检查,也可以建立邻接关系。

邻接关系建立过程

IS-IS中建立邻接关系的过程和OSPF类似。在状态称呼上OSPF的2-way改成了UP。 

过程描述

1.在Down状态下,R1组播发送Level-1 LAN IIH,此报文中邻接列表为空。

2.R2收到此报文后,将邻接状态标识为Initial。然后,R2再向R1回复Level-1 LAN IIH ,此报文中标识R1为R2的邻接。

3. R1收到此报文后,将自己与R2的邻接状态标识为Up。然后R1再向R2发送一个标识R2为R1邻接的Level-1 LAN IIH 。

4.R2收到此报文后,将自己与R1的邻接状态标识为Up。这样,两个路由器成功建立了邻接关系。

5.广播网络中需要选举DIS,在邻接关系建立后,路由器会等待两个Hello报文间隔,再进行DIS的选举。

PS:Level-1 IIH和Level-2 IIH发送的组播地址分别为01-80-C2-00-00-14、01-80-C2-00-00-15。

状态描述

Down:邻接关系的初始状态。

Initial:收到IIH,但是报文中的邻接列表未包含路由器自身的System ID。

UP:收到IIS,且邻接列表中包含路由器自身的System ID。

二次握手

在缺省情况下,IS-IS的邻接过程被称为三次握手,既交换三次报文后建立邻接关系。在网络类型为P2P的情况下还可以支持二次握手的方式来建立邻接关系。只要路由器收到对端发来的Hello报文,就单方面宣布邻居为Up状态,建立邻接关系。

二次握手存在明显的缺陷。当路由器间存在两条及以上的链路时,如果某条链路上到达对端的单向状态为Down,而另一条链路同方向的状态为Up,路由器之间还是能建立起邻接关系。

相关命令

修改邻接方式为二次握手

[R1-GigabitEthernet0/0/0]isis ppp-negotiation 2-way 

这条命令后还可以加上only参数 代表本接口只接收2-way或者3-way的邻接方式,例如

[R1-GigabitEthernet0/0/0]isis ppp-negotiation 3-way only

IIH报文

Reserved/Circuit Type:表示路由器的类型(01表示L1,10表示L2,11表示L1/L2)。

Source ID  :发出Hello报文的路由器的System ID。

Holding Time : 保持时间。在此时间内如果没有收到邻接发来的Hello报文,则中止已建立的邻接关系。相当于OSPF中的死亡时间。

Priority :选举DIS的优先级,取值范围为0~127。数值越大,优先级越高。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段,也没有此字段之前的R保留位。 默认值64。

LAN ID : 包括DIS的System ID和伪节点ID。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段。

Local Circuit ID :本地链路ID。该字段只在点到点网络的Hello消息(P2P IIH消息)携带;广播网中的Hello消息(LAN IIH消息)没有此字段。 

抓包观察

1.路由器类型:level 2

2.保留位:0

3.系统ID:0000.0000.0003

4.保持时间:9秒

5.PUD长度:1497

6.DIS优先级:64

7.保留位:0

8.系统ID(包括SEL):0000.0000.00003.01

9.区域地址信息

10.邻居信息

11.IP接口地址信息

12.支持的协议信息

13.重启标志位信息

14.多拓扑信息

15.填充用字段

DIS与伪节点

在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS(Designated Intermediate System)。DIS用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的LSP,用来描述这个网络上有哪些网络设备,记录该广播网络内所有IS-IS路由器,保证广播网络中链路状态数据库的同步。伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。

选举规则

1.DIS优先级数值最大的被选为DIS。缺省值64。

2.如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会成为DIS(PPP网络中比较system-id)

HELLO报文时间

DIS发送Hello PDU的时间间隔是普通路由器的1/3,这样可以确保DIS出现故障时能够被更快速地被发现。缺省情况下,普通路由器是10秒,因此DIS发送Hello PDU的时间间隔是3秒

DIS与DR的区别

1 优先级为0的路由器也参与DIS的选举,优先级为0的路由器不参与DR的选举。

2 DIS的HELLO时间缺省情况下是3秒。DR的HELLO时间缺省情况是10秒。

3 DIS的选举时间为发送时间的2倍,缺省值6秒。DR的选举时间为死亡时间,缺省值40秒。

4 DIS没有备份路由器。OSPF中有有BDR。

5 DIS的选举是抢占式的,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点被删除。此更改会引起一组新的LSP泛洪。在OSPF中,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR。

6 同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。而在OSPF中,路由器只与DR和BDR建立邻接关系。

相关命令

修改DIS优先级

[R1-GigabitEthernet0/0/0]isis dis-priority 127 level-1

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹅一只

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值