欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > IS-IS(中间系统到中间系统)+抓包分析

IS-IS(中间系统到中间系统)+抓包分析

2025/4/2 22:32:38 来源:https://blog.csdn.net/2401_83878929/article/details/146884209  浏览:    关键词:IS-IS(中间系统到中间系统)+抓包分析

一、IS-IS的知识点

1.ISIS概述

IS-IS属于内部网关协议,这里中间系统应该是指路由器吧,IS-IS也是一种链路状态协议。

2.IS-IS链路状态协议

它与OSPF类似,IS-IS通过交换机链路状态信息构建网络拓扑,使用SPF算法计算最短路径

3.IS-IS网络分层结构(分两层)

Level 1(L1)‌:处理区域内路由,类似OSPF的非骨干区域。L1路由器仅知晓本区域拓扑。

Level 2(L2)‌:骨干区域,负责区域间路由。L2路由器可跨区域通信,确保全网连通性。

L1/L2路由器‌:同时属于 L1 和 L2,充当边界角色,汇总 L1 路由到 L2

4.ISIS工作原理

核心步骤

报文类型

作用

OSPF 对应

Hello

发现和维护邻居关系

OSPF Hello

LSP

传播链路状态信息(核心数据)

OSPF LSA

PSNP

确认和请求缺失的 LSP(类似 ACK)

OSPF LS Ack

CSNP

同步 LSDB(类似数据库摘要)

OSPF DD 报文

分步详细解析

(1)邻居发现与邻接关系建立

关键报文‌:‌IIH(IS-IS Hello)报文

过程‌:

① 每个IS-IS路由器在启动后,从参与协议的接口周期性发送IIH报文(默认每10秒一次)。

② IIH报文包含路由器的‌System ID、‌层级(Level 1/Level 2)‌和‌网络类型‌(广播网络或点到点网络)。

③ 当两台路由器收到彼此的IIH报文,并验证以下条件时,建立邻接关系:

‌        层级一致‌(同为Level 1、Level 2或Level 1-2)

        ‌认证通过‌(如果配置了认证)

        ‌MTU匹配‌(双方接口MTU一致)

(2)链路状态信息交换(LSP泛洪)

关键报文‌:‌LSP(Link State PDU)

过程‌:

①.每个路由器生成自己的LSP,描述其直连链路、邻居信息、IP前缀等。

②.LSP通过‌泛洪(Flooding)‌机制扩散到整个区域:

        路由器收到新LSP后,将其存入本地LSDB,并转发给其他邻居(除来源邻居外)。

        使用‌序列号(Sequence Number)‌和‌生存时间(Lifetime)‌确保LSP的‌一致性‌和‌更新机制

(3) 链路状态数据库(LSDB)同步

LSDB特点‌:

①.每个Level 1区域内的路由器维护‌本区域的LSDB‌。

②Level 2路由器维护‌全局LSDB‌(跨区域路由信息)。

③通过‌CSNP(Complete Sequence Number PDU)‌和‌PSNP(Partial Sequence Number PDU)‌实现LSDB的同步:

        ‌CSNP‌:用于广播网络中DIS定期发送的完整LSP摘要(类似OSPF的DD报文)。

        ‌PSNP‌:用于请求缺失的LSP或确认收到的LSP(类似OSPF的LSR/LSAck)。

4) 最短路径树(SPT)计算

算法‌:使用‌Dijkstra算法‌(SPF算法)基于LSDB计算到达所有节点的最短路径。

计算触发条件‌:

收到新的LSP(链路状态变化)。

邻居关系断开(通过Hello报文超时检测)。

‌(5) 路由表生成与维护

路由生成‌:

Level 1路由器:仅生成区域内路由,默认通过Level 1-2路由器访问外部区域。

Level 2路由器:生成全局路由表,直接计算跨区域路径。

路由泄露(Route Leaking)‌:

可选功能,允许将Level 2路由注入Level 1区域,优化路径选择(避免次优路由)。

最后,理解其工作原理的关键在于:‌邻居发现→LSP泛洪→LSDB同步→SPF计算→路由生成的链路状态协议核心逻辑。

5.ISIS的DIS与DR选举

 (1)在IS-IS广播网络中,优先级为0的路由器业canyu DIS的选举,而在OSPF中的优先级为0的路由器则不参与DR选举;

(2)在ISIS广播网络中,同一网段上同一级的路由器之间斗湖形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系;

6.ISIS与OSPF的区别 

特性

IS-IS

OSPF

协议层

数据链路层(直接封装)

网络层(依赖 IP)

地址标识

NSAP 地址(System ID)

Router ID(IP 地址格式)

区域设计

区域边界在链路上,L2 骨干更灵活

严格依赖 Area 0,区域边界在路由器上

扩展性

更适合超大规模网络(如运营商骨干)

适用于企业网和中小型网络

抓包特征

无 IP 封装,TLV 结构灵活

基于 IP 多播,LSA 类型复杂

多协议支持

原生支持 CLNS + IP 双栈

仅支持 IP(需扩展支持 IPv6)

二、多区域集成IS-IS的实验配置

实验要求:

配置基本的IP地址;配置ISIS;查看ISIS的路由表;

实验步骤:

1.基本的配置
AR1
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[AR1-GigabitEthernet0/0/0]q
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 13.1.1.1 24
[AR1-GigabitEthernet0/0/1]q
[AR1]int LoopBack 0
[AR1-LoopBack0]ip add 1.1.1.1 32
[AR1-LoopBack0]q
AR2
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip add 12.1.1.2 24
[AR2-GigabitEthernet0/0/1]q
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 24.1.1.2 24
[AR2-GigabitEthernet0/0/0]q
[AR2]int LoopBack 0
[AR2-LoopBack0]ip add 2.2.2.2 32
[AR2-LoopBack0]q
AR3
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip add 13.1.1.3 24
[AR3-GigabitEthernet0/0/0]q
[AR3]int g0/0/1
[AR3-GigabitEthernet0/0/1]ip add 35.1.1.3 24
[AR3-GigabitEthernet0/0/1]q
[AR3]int LoopBack 0
[AR3-LoopBack0]ip add 3.3.3.3 32
[AR3-LoopBack0]q
AR4
[AR4]int g0/0/1
[AR4-GigabitEthernet0/0/1]ip add 24.1.1.4 24
[AR4-GigabitEthernet0/0/1]q
[AR4]int g0/0/0
[AR4-GigabitEthernet0/0/0]ip add 45.1.1.4 24
[AR4-GigabitEthernet0/0/0]q
[AR4]int loo	
[AR4]int LoopBack 0
[AR4-LoopBack0]ip add 4.4.4.4 32
[AR4-LoopBack0]q
AR5
[AR5]int g0/0/0
[AR5-GigabitEthernet0/0/0]ip add 35.1.1.5 24
[AR5-GigabitEthernet0/0/0]q
[AR5]int g0/0/1
[AR5-GigabitEthernet0/0/1]ip add 45.1.1.5 24
[AR5-GigabitEthernet0/0/1]q
[AR5]int LoopBack 0
[AR5-LoopBack0]ip add 5.5.5.5 32
[AR5-LoopBack0]q
2.ISIS的配置
[AR1]isis      //启用IS-IS的进程,进程默认为1
[AR1-isis-1]network-entity 49.0123.0000.0000.0001.00    //配置NET地址
[AR1-isis-1]is-level level-1
[AR1-isis-1]cost-style wide
[AR1-isis-1]q
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]isis enable        //接口下打开IS-IS
[AR1-GigabitEthernet0/0/0]q
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]isis enable
[AR1-GigabitEthernet0/0/1]q
[AR1]int LoopBack 0
[AR1-LoopBack0]isis enable
[AR1-LoopBack0]q[AR2]isis	
[AR2-isis-1]network-entity 49.0123.0000.0000.0002.00	
[AR2-isis-1]cost-style wide
[AR2-isis-1]q
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]isis enable
[AR2-GigabitEthernet0/0/1]q
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]isis enable
[AR2-GigabitEthernet0/0/0]q
[AR2]int LoopBack 0
[AR2-LoopBack0]isis enable
[AR2-LoopBack0]q[AR3]isis	
[AR3-isis-1]network-entity 49.0123.0000.0000.0003.00	
[AR3-isis-1]cost-style wide
[AR3-isis-1]q
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]isis enable
[AR3-GigabitEthernet0/0/0]q
[AR3]int g0/0/1
[AR3-GigabitEthernet0/0/1]isis enable
[AR3-GigabitEthernet0/0/1]q
[AR3]int LoopBack 0
[AR3-LoopBack0]isis enable
[AR3-LoopBack0]q
[AR3]isis[AR4]isis
[AR4-isis-1]network-entity 49.0045.0000.0000.0004.00
[AR4-isis-1]is-level level-2
[AR4-isis-1]cost-style wide
[AR4-isis-1]q
[AR4]int g0/0/1
[AR4-GigabitEthernet0/0/1]isis enable
[AR4-GigabitEthernet0/0/1]q
[AR4]int g0/0/0
[AR4-GigabitEthernet0/0/0]isis enable
[AR4-GigabitEthernet0/0/0]q
[AR4]int LoopBack 0
[AR4-LoopBack0]isis enable
[AR4-LoopBack0]q
[AR4]q[AR5]isis 
[AR5-isis-1]network-entity 49.0045.0000.0000.0005.00	
[AR5-isis-1]cost-style wide 	
[AR5-isis-1]is-level level-2
[AR5-isis-1]cost-style wide
[AR5-isis-1]q
[AR5]int g0/0/0
[AR5-GigabitEthernet0/0/0]isis enable
[AR5-GigabitEthernet0/0/0]q
[AR5]int g0/0/1
[AR5-GigabitEthernet0/0/1]isis enable
[AR5-GigabitEthernet0/0/1]q
[AR5]int LoopBack 0
[AR5-LoopBack0]isis enable
[AR5-LoopBack0]q
[AR5]

注意:这里为什么要配置NET地址?

‌NET地址是IS-IS的“身份证”‌,决定了路由器的身份、所属区域和层级。

3. 查看路由器上的IS-IS邻接关系

从上面路由器看出AR1与AR2、AR3是level-1的邻接关系,其它的路由器也是这条命令可以查出

4.查看路由器上的路由表

5.R4和R5上引入一条外部路由

[AR4]int LoopBack 100

[AR4-LoopBack100]ip add 100.1.1.1 32

[AR4-LoopBack100]q

[AR4]isis 

[AR4-isis-1]import-route direct

[AR4-isis-1]q

[AR5]int LoopBack 200

[AR5-LoopBack200]ip add 200.1.1.1 32

[AR5-LoopBack200]q

[AR5]isis  

[AR5-isis-1]import-route direct

查看路由器

通过上面的输出可以看出,AR1并没有收到外部路由

 6.分别在R2和R3上路由渗透给AR1

注:为什么要进行路由渗透,因为isis协议里面没有像ospf的3类lsa,只能进行路由渗透

[AR2]isis

[AR2-isis-1]import-route isis level-2 into level-1   //把level-2的路由泄露给level-1

[AR3]isis

[AR3-isis-1]import-route isis level-2 into level-1

再次查看路由器,可以看出level-2区域的路由都传递给了level-1区域

三、IS-IS的数据抓包详细分析 

分以下四种来分析:通用报文;IIH报文;LSP报文;CSNP报文

通用报文示例

IIH报文 示例

Circuit Type:最后两位表示发出hello报文路由器的类型(01表示L1,10表示L2,11表示L1-L2);

SystemID:表示这个hello报文是哪个路由器发出来的

Holding Timer:相当于死亡时间,如果这个时间内没有收到邻居发来的hello报文,则结束邻居关系

PDU Length:总长度,单位是字节;

Priority:优先级,默认64,范围为0~127,DIS选举会关注它

Area address:发hello包那台路由器所属的区域名

IS Neighbor:发出hello包的路由器的邻居的接口mac地址

IPv4 interface address:从哪个接口发出的hello报文

Protocols Supported:表示支持的协议

Restart Signaling:表示重启信号

Multi Topology‌:表示多拓扑信息

LSP报文抓包示例

PDU Length:总长度,单位:字节

Remaining Lifetime:剩余的生命周期,单位:秒

LSP-ID:发出LSP报文的路由器,由三部分组成,SystemID、伪节点ID(00,如果第一位不为0则表示伪节点)和LSP编号(00,第一位不为0代表被分片)

Sequence number:序列号

Checksum:校验和

Attachment(ATT):由Level-1-2路由器产生,用来指明始发路由器是否与其它区域相连。 标识路由器是否连接到其他区域的 Level 2骨干网‌(用于Level 1-2路由器)。每个位 对应一个区域(最多4个区域),1表示连接到对应区域的骨干网。

Overloadbit:过载标志位。对路由器设置过载位后,其它路由器在进行SPF计算时不会考虑这台路由器。当路由器内存不足时(例如表示1的时候),系统自动在发送的LSP报文中设置过载标志位

Type Of IntermediateSystem:生成LSP的路由器的类型。

Area address:发出此报文的路由器所在区域

IPv4 Interface Address:发出此报文身上的ip地址

Extended IP Reachability:用于描述ipv4路由可达性的扩展字段

CSNP报文抓包实例

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

Start LSP ID:CSNP报文中第一个LSP的ID值

End LSP ID:CSNP报文中最后一个LSP的ID值

四、总结

IS-IS通过分层设计、抢占式DIS选举和高效LSP同步,成为大规模网络的首选协议。掌握其NET地址配置、层级划分和DIS机制,是部署和优化的关键!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词