IS-IS协议全

IS-IS协议全

Falcon

2025-06-07 发布115 浏览 · 0 点赞 · 0 收藏

IS-IS--------中间系统到中间系统

IS-IS适用于扁平化网络,收敛快,普遍用于数据中心网络,广域网

image

IS-IS---链路状态LS协议,两台设备之间需要建立邻居,邻居之间传递LSP(链路状态数据单元),邻居收到后存放到LSDB中,通过spf算法计算路由。

IS-IS早期支持OSI参考模型,后期为了支持TCP/IP模型,进行了优化称之为:集成IS-IS。

NSAP---网络服务访问点,NSAP(Network Service Access Point,网络服务访问点)是OSI协议栈中用于定位资源的地址。

image

AFI:49(私网)/47(公网)

IDI:0000,某个区域

AFI+IDI=xx.xxxx(相当于OSPF中的area id)

High order DSP===不使用

System id:0000.0000.0001(相当于OSPF中的router-id)

SEL:00--------代表NET地址,说明该NSAP被IS-IS使用

image

49.0001.0000.0000.0001.00

区域ID:49.0001-------和OSPF中的area -id类似

System ID:0000.0000.0001--------和OSPF中的router-id类似

SEL:00----------固定

路由优先级:15

路由开销:控制层面开销之和,ISIS的所有接口的cost都为10.

IS-IS的更新方式:触发式组播更新,组播地址:0180-c200-0014 level-1

0180-c200-0015 level-2

IS-IS存在两个等级,IS-IS按照等级划分区域:Level1(其他区域)和Level2(骨干区域)

IS-IS存在三种类型的设备:level1,level1-2,level2

image

华为默认情况下属于Level1-2设备

Level-1设备:只维护level-1的数据库,只能与同区域的level1(level1-2)建立邻居

Level-2设备:只维护level-2的数据库,能与同区域或不同区域的level-2(Level1-2)建立邻居关系

Level1-2设备:能和同区域的level-1(level1-2)建立邻居,维护level-1数据库

能和同区域或不同区域的level-2(level1-2)建立邻居,维护level-2的数据库

如果level-1-2和level-1-2建立邻居关系,维护level-1和level-2的数据库

Level-2设备所属的区域为骨干区域

Level1设备所有的区域为非骨干区域

Level1-2设备和OSPF中ABR类似

OSPF和ISIS最大的区别:IS-IS具有很强的扩展性,通过TLV(type类型,length长度,value值)进行扩展

实验:

image

AR1:

isis 1

network-entity 49.0001.0000.0000.0001.00

interface
GigabitEthernet0/0/0

ip address 12.1.1.1 255.255.255.0

isis enable 1

AR2:

isis 1

network-entity 49.0001.0000.0000.0002.00

interface
GigabitEthernet0/0/0

ip address 12.1.1.2 255.255.255.0

isis enable 1

ISIS的报文:

ISIS头部内容:

image

一台设备配置多个区域,为了实现平滑过渡

image

Hello---发现,建立,维系邻居关系,普通的hello时间为10s,特殊的Hello,DIS的hello时间为3s

Holding time = 3倍的Hello时间

image

CSNP-----完全协议号数据单元,携带LSP头部信息,用于对比数据库;类似于OSPF中的DD报文

image

PSNP-------部分协议号数据单元,携带LSP的摘要信息进行请求,以及确认;类似于OSPF中LSR和LSAck

image

LSP-------链路状态协议数据单元,携带明细信息(路由,拓扑),更新数据库;类似于OSPF中LSU。

image

①邻居表

查看IS-IS的邻居

image

System id : 邻居的system id,与router-id类似

interface:从哪个接口学到

Circuit id:DIS的system id

state:状态

Hold time:类似于ospf的dead时间,此时为倒计时

type:等级,默认为L1/2,MA网络中会显示两个,但在PPP网络中只会显示一个

PRI:优先级,默认为64

需要分MA网络和P2P网络

1.MA网络---广播型网络,邻居状态(down---init---up)

第一步:发送Hello报文,携带自身的system-id发送,寻找自己的邻居,请求建立连接--down

第二步:邻居收到Hello报文时,则进入init,再次发送报文时会携带TLV=6的字段进行回复,TLV=6地段中携带邻居的MAC地址

image

第三步:当收到TLV=6的Hello报文时,则进入up 状态

image

2.P2P网络---点到点类型

①3-way(三次握手):该P2P网络类型状态为:down---init---up

将接口类型转换为P2P

interface
GigabitEthernet0/0/0

isis circuit-type p2p

第一步:发送Hello报文,携带自身的system-id 进入down状态

第二步:对方收到Hello报文后,进入init状态,并且会回复携带TLV=240的Hello报文,TLV240中携带邻居的system-id

image

第三步:收到携带TLV=240的Hello报文,则进入up状态

image

②2-way(两次握手),邻居状态(down---up)

第一步:发送Hello报文,携带自身的 system-id,进入down

第二步:邻居收到Hello报文,直接进入up状态,并且不需要任何描述的TLV字段

image

修改握手方式:(MA网络无法修改握手方式)

[AR2-GigabitEthernet0/0/0]isis circuit-type p2p ----------只有在P2P网络中才可以修改握手方式

[AR2-GigabitEthernet0/0/0] isis ppp-negotiation 2-way------------改为两次握手

[AR2-GigabitEthernet0/0/0]isis ppp-negotiation 3-way----------P2P的默认类型,可以兼容2-way

[AR2-GigabitEthernet0/0/0]isis ppp-negotiation 3-way only -------只允许对端是3-way

2-way优点:邻居建立快

缺点:不可靠,容易出现单点故障

细节:

P2P和MA网络第一个Hello报文都会使用Padding的TLV进行填充,填充至MTU的上线

P2P网络的后续报文不存在填充字段,本身串口链路带宽小,不填充Hello为了节约带宽资源。

[AR2-GigabitEthernet0/0/0]isis padding-hello-------------发送hello时填充padding

MA网络的后续报文继续存在填充字段,本身的链路带宽大,不需要考虑资源问题,在MA网络中可以通过填充字段判断MTU的大小。

[AR2-GigabitEthernet0/0/0]isis small-hello ------------发送Hello时不填充padding

问题1:如果一端配置为MA类型,一端配置为P2P类型,能建立邻居关系吗

答:根本原因,MA网络无法接受TLV=240,P2P网络无法接收TLV=6的,导致无法建立up状态


邻居建立的必要条件:

①system-id不冲突

②level等级需要一致

③level-1建立邻居area id 需要一致

④网络类型需要一致

⑤接口认证需要一致

⑥网络和掩码需要一致,排除P2P网络添加忽略网段和掩码[AR2-GigabitEthernet0/0/0]isis peer-ip-ignore

⑦最大支持区域要一致

注意:Hello,hold time时间不影响邻居的建立

ISIS会为每个邻居单独分配计时器

可以通过DIS和普通路由器比较,DIS的hello时间为3,普通路由器的Hello时间为10s,仍然可以建立邻居


②链路状态数据库

image

第一步:配置ISIS的NET地址

AR1:

isis 1

network-entity 49.0001.0000.0000.0001.00

AR2:

isis 1

network-entity 49.0001.0000.0000.0002.00

AR3:

isis 1

network-entity 49.0002.0000.0000.0003.00

AR4:

isis 1

network-entity 49.0002.0000.0000.0004.00

第二步:配置接口IP地址,然后再各个接口启用ISIS

AR1:

interface
Serial1/0/0

ip address 12.1.1.1 255.255.255.0

isis enable 1

AR2:

interface
Serial1/0/0

ip address 12.1.1.2 255.255.255.0

isis enable 1

interface
GigabitEthernet0/0/0

ip address 100.1.1.2 255.255.255.0

isis enable 1

AR3:

interface
GigabitEthernet0/0/0

ip address 100.1.1.3 255.255.255.0

isis enable 1

AR4:

interface
GigabitEthernet0/0/0

ip address 100.1.1.4 255.255.255.0

isis enable 1

在AR2上查看ISIS的邻居关系:

image

查看ISIS的链路状态数据库:

image

LSPID:用于标识唯一的LSP

Seq Num:序列号,每次更新序列号+1,用于防止重放攻击

Checksum:校验和

Holdtime:老化时间,采用倒数的方式,默认的老化时间为1200s

如果老化时间为0,不会立刻老化,LSP会等待60s(其他设备产生的)/1200s(自己产生)的延迟时间

其他设备学习到的,不会立即老化,等待60s

image

如果是自己产生的,不会立即老化,等待1200s

image

Length:长度,LSP的长度

ATT/P/OL:ATT,如果ATT置位,则会触发默认路由。

OL:过载位,如果OL置位,则不会计算路由。

P:因为设计师比较懒惰,没有删除

LSPID格式

0000.0000.0001. 00 - 00 *

System-id 角色标识 分片标识 自身设备

角色标识:如果角色标识为0,则代表该节点为实节点,如果角色标识不为0,则代表伪节点

实节点:网络中真实存在的设备所产生的LSP,包含路由信息和拓扑信息,且cost为实际开销。

image

伪节点:MA网络中DIS所产生的LSP,只包含拓扑信息,且cost值为虚拟0.

image

分片标识:

当设备需要描述LSP的长度过长,则会分片,一台设备最多产生256个分片

高级特性:

可以创建虚拟系统,一个虚拟系统可以再次产生256个分片,一台设备最多可以创建50个虚拟系统

一台设备最多可以存在(50+1)*256个分片

所有的外部路由都会直接采用分片的形式标识

在MA网络中需要选举DIS

DIS选举规则:

①比较DIS的优先级,优先级比大,范围0-127,优先级为0也参与选举,

[AR2-GigabitEthernet0/0/0]isis dis-priority 127-----------修改DIS的优先级

②如果优先级一致,比较MAC地址,比大

image

DIS支持抢占,并且没有备份

DIS和DR的区别

区别 ISIS-DIS OSPF-DR
优先级 范围0-127,0参与选举 范围0-255,0不才能与选举
抢占 支持抢占 不支持抢占
备份 不存在备份 存在备份,BDR
邻居关系 和所有路由器的关系都为UP Other之间属于2-way关系
选举时间 2个Hello报文交互 40s(公平选举)
作用 周期发送CSNP消息,维护LSDB 减少LSA的泛洪

数据库同步过程

①P2P

image

P2P网络中CSNP消息只会发送一次,邻居建立完成后立即发送。

第一步:AR1只发送一次CSNP,其中包含数据库中所有的LSP的头部信息

第二步:AR2收到CSNP后,对比自身的数据库,缺少的内容通过PSNP消息进行请求

第三步:AR1设备收到PSNP消息后,会回复LSP,携带详细的路由和拓扑信息,

第四步:AR2设备收到LSP后会,回复PSNP确认消息,存在PSNP消息不可达的情况

第五步:AR1回复LSP的同时,会启动5s重传计时器,如果计时器时间内没有收到AR2发来的PSNP确认消息,则会重传LSP

第六步:AR2设备再次收到LSP后会,重新回复PSNP确认消息

此时PSNP消息(具有请求和确认的功能)

抓包查看,CSNP消息和PSNP消息:

image

②MA

AR3设备为新增路由器

image

第一步:AR3设备为新增路由器,加入进网络后,会发送LSP消息,用于告知网络中其他设备自身路由和拓扑信息

第二步:由网络中的DIS设备发送CSNP消息,用于MA网络中的所有成员对比数据库

第三步:AR3设备收到CSNP消息后,通过PSNP消息请求自身缺少的LSP

第四步:DIS设备收到后会回复LSP消息

此时PSNP消息,只具备请求功能

不存在PSNP回复消息,进行确认,因为DIS设备可以通过每隔10s发送的CSNP消息来进行确认

问题1:如果新接入的路由器的DIS优先级由最高,会怎样?

答:当新接入的设备成为DIS,其他设备会向DIS发送LSP,步骤与上述一致。

③路由表

image

第一步:配置各个设备的ISIS

AR1:

isis 1

is-level level-2

network-entity 49.0001.0000.0000.0001.00

AR2:

isis 1

network-entity 49.0002.0000.0000.0002.00

AR3:

isis 1

network-entity 49.0002.0000.0000.0003.00

AR4:

isis 1

is-level level-1

network-entity 49.0002.0000.0000.0004.00

AR5:

isis 1

is-level level-1

network-entity 49.0002.0000.0000.0005.00

第二步:配置接口IP地址

AR1:

interface
GigabitEthernet0/0/0

ip address 12.1.1.1 255.255.255.0

isis enable 1

interface
GigabitEthernet0/0/1

ip address 13.1.1.1 255.255.255.0

isis enable 1

interface LoopBack0

ip address 172.16.1.1 255.255.255.0

ip address 172.16.2.1 255.255.255.0 sub

isis enable 1

AR2:

interface
GigabitEthernet0/0/0

ip address 12.1.1.2 255.255.255.0

isis enable 1

interface
GigabitEthernet0/0/1

ip address 24.1.1.2 255.255.255.0

isis enable 1

AR3:

interface
GigabitEthernet0/0/0

ip address 13.1.1.3 255.255.255.0

isis enable 1

interface
GigabitEthernet0/0/1

ip address 34.1.1.3 255.255.255.0

isis enable 1

AR4:

interface
GigabitEthernet0/0/0

ip address 24.1.1.4 255.255.255.0

isis enable 1

interface
GigabitEthernet0/0/1

ip address 34.1.1.4 255.255.255.0

isis enable 1

interface
GigabitEthernet0/0/2

ip address 45.1.1.4 255.255.255.0

isis enable 1

AR5:

interface
GigabitEthernet0/0/0

ip address 45.1.1.5 255.255.255.0

isis enable 1

interface LoopBack0

ip address 192.168.1.1 255.255.255.0

isis enable 1

在AR1和AR4上查看ISIS的邻居:

image

image

在AR1和AR5上测试连通性:

ping -a 192.168.1.1 172.16.1.1(-a代表带源ping)

      源地址        目的地址

image

如果ping 172.16.1.1(使用物理接口ping)

image

查看AR1和AR4/AR5上的路由表

image

image

在AR1所在的level-2区域存在完整的路由,AR4和AR5所在的Level-1区域没有Level-2区域的路由条目。


路由泄露!!!

①自动泄露

默认情况下,Level-1区域的路由会自动泄露进level-2.

Level-1-2设备会将level-1区域的路由携带在自身的LSP中

Level-1-2设备会向Level-1区域的所有设备下发一条ATT置位的LSP

Level-1设备收到ATT置位的LSP后,会自行计算生成去往Level-1-2设备的默认路由

如果存在多个level-1-2设备同时下发ATT置为的LSP时,会优先选择离自身进的LSP,如果距离一致则负载分担。

问题1:Level-1-2设备下发了一条默认路由,level-1设备会自动学习到该路由。

答:错误,level-1-2设备只会下发ATT置位的LSP,而默认路由是由level-1设备自行产生的

ATT置位的必要条件:

1.Level-1-2设备必须具有同区域的level-1的邻居关系

2.Level-1-2设备同时具有不同区域的level-2的邻居关系

3.Level-1-2设备不能配置ATT永不置位:[AR3-isis-1]attached-bit advertise never

将AR1设备的区域改为49.0002,Level-1-2设备就不会下发ATT置位的内容:

image

Level-1-2设备配置ATT永不置位:

image

ATT永不置位和总是置位只能配置在level-1-2设备上

②手动泄露

需求:AR5设备需要学习到172.16.1.0/24的明细网段

手动泄漏,在level-1-2设备上配置,将level-2区域的路由手动泄露进level-1区域

AR2:

acl number 2000

rule 5 permit source 172.16.1.0 0 --------------匹配需要放行的路由条目

isis 1

import-route isis level-2 into level-1 filter-policy 2000-----------将level-2区域引入进level-1区域,且匹配中acl2000,如果不存在acl,则全部引入

AR3

acl number 2000

rule 5 permit source 172.16.2.0 0 --------------匹配需要放行的路由条目

isis 1

import-route isis level-2 into level-1 filter-policy 2000-----------将level-2区域引入进level-1区域,且匹配中acl2000,如果不存在acl,则全部引入

image


路由汇总-----------在路由产生者设备上进行汇总

需求1:将AR1设备的172.16.1.0/24和172.16.2.0/24汇总成大网段

AR1:

isis 1

summary 172.16.0.0 255.255.252.0----------------配置汇总后的网段

AR2

isis 1

import-route isis level-2 into level-1--------------在level-1-2设备上,将level-2的路由引入进level-1

AR3

isis 1

import-route isis level-2 into level-1

在AR4上查看路由表:

image

需求2:AR5上存在两个网段,192.168.1.0/24和192.168.2.0/24,将两个网段合成一个大网段。

第一步:在AR5上创建两个网段

第二步:在AR5上做汇总,需要注意,汇总的等级默认为level-2,AR5作为level-1区域,需要在汇总后添加命令level-1

AR5:

isis 1

summary 192.168.0.0 255.255.252.0 level-1----------------配置汇总后的网段

路由过滤

[AR1-isis-1]filter-policy
2000 ?

export Filter incoming routing updates-------------针对外部路由进行过滤

import Filter outgoing routing updates------------本地过滤,影响本地路由加入到IP路由表中,但是不影响其他设备计算

①本地过滤

固定格式:filter-policy + acl + import

需求:AR4设备上不存在172.16.1.0网段的路由

AR4:

acl 2000 --------------创建ACL

rule 5 deny source 172.16.1.0 0 -------------拒绝172.16.1.0这个网段

rule 10 permit ----------------因为ACL在匹配路由时会拒绝所有,需要额外放行其他路由

isis 1

filter-policy 2000 import ---------路由过滤的固定格式

再次查看AR4的路由表:

image

查看AR5的路由表:发现AR5上仍然存在172.16.1.0网段路由,判断出本地过滤只影响本地路由表加入到IP路由表

image

②外部过滤

固定格式:filter-policy + acl + export

需求:AR5上存在外部路由 192.168.10.0/24,192.168.11.0/24,现在只能存在192.168.10.0/24

第一步:AR5上存在外部路由

AR5:

interface LoopBack10------------创建环回接口

ip address 192.168.10.254 255.255.255.0

ip address 192.168.11.254 255.255.255.0 sub

route-policy LO permit node 10 ----------------创建路由策略,匹配对应的环回接口

if-match interface LoopBack10

isis 1

import-route direct route-policy LO level-1-----------引入10.0/24,11.0/24两个网段,默认引入的类型为level-2,需要强制修改为level-1

在AR4上查看是否存在ISIS的外部路由,默认情况下ISIS外部路由的开销值64.

image

第二步:做外部路由过滤

AR5:

acl 2000 ----------创建ACL

rule 5 permit source 192.168.10.0 0

isis 1

filter-policy 2000 export --------固定格式

在AR4上查看外部路由是否被过滤:

image


认证

认证类型:明文simple,密文MD5

认证方式:接口认证,区域认证,域认证

认证字段采用TLV=10

①接口认证---认证TLV携带在Hello包中,影响邻居的建立,双向认证。

明文:

interface
GigabitEthernet0/0/0

isis authentication-mode simple plain 123

image

密文:

interface
GigabitEthernet0/0/0

isis authentication-mode md5 cipher 123

image

②区域认证---认证TLV携带在Level-1的PSNP,CSNP和LSP报文中,不会影响邻居的建立,会影响Level-1数据库的同步,单向认证。

单向认证---一端配置区域认证,一端不配置认证,配置认证的设备无法同步数据库,但是没有配置认证的设备可以同步。

isis 1

area-authentication-mode md5 cipher 123

查看ISIS的邻居表,邻居不受影响:

image

查看链路状态数据库,只存在AR4自己本身的LSP:

image

查看Level-1区域的其他未配置区域认证的设备,LSDB中是全的:

image

抓包查看,查看CSNP,PSNP,LSP:

image

③域认证---认证TLV携带在Level-2的PSNP,CSNP和LSP报文中,不会影响邻居的建立,会影响Level-2数据库的同步,单向认证。

isis 1

domain-authentication-mode md5 cipher 123

查看数据库,只存在自身的LSP:

image

邻居不受影响:

image

抓包查看:

image


开销类型

[AR1-isis-1]cost-style
?

compatible 兼容,可以同时存在narrow和wide

narrow 窄度

narrow-compatible 接收时兼容,发送时采用窄度

wide 宽度

wide-compatible 接收时兼容,发送时采用宽度

所有设备的开销类型建议一致!!!

①narrow---窄度,cost取值范围0-63,开销值最大为63,经过第7台设备后,开销值不会再增加,并且narrow不支持打tag。

固定外部路由的cost=64

narrow类型为ISIS默认的开销类型

image

1.采用TLV=2描述拓扑信息

image

2.采用TLV=128描述内部路由信息

image

3.采用TLV=130描述外部路由信息

image

②wide---宽度,cost取值范围0-224,适用于大型网络的开销类型,并且wide支持打tag。

[AR5-GigabitEthernet0/0/0]isis
cost ?

INTEGER<1-16777214> Cost value

1.采用TLV=22描述拓扑信息

image

2.采用TLV=135描述内部路由信息,外部路由信息

image

请前往 登录/注册 即可发表您的看法…