如何理解IS-IS的基本原理 IS-IS与OSPF的区别

通信网络

648人已加入

描述

ISIS知识点
ISIS基本配置,ISIS 9种报文,2种网络类型,3种路由器类型,hello报文中的padding的开启域关闭,P2P 链路 3-way,接口认证,修改路由器级别,接口级别,路由过载,DIS选举,DIS域DR的区别,接口优先级的修改,接口开销值,接口开销类型(narrow,wide),修改网络类型(p2p,broadcast),ISIS路由聚合,ISIS缺省路由,路由引入,引入外部路由的类型(internal,External),路由过滤filter-policy,IS-IS路由渗透

ISIS也是一种基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议(用于ISP)
一个OSPF链路状态数据库是若干条LSA的集合。与此相似,一个IS-IS链路状态数据库是若干条LSP的集合。与OSPF链路状态数据库不同,IS-IS链路状态数据库有level-1和level-2之分

理解IS-IS的基本原理

熟悉IS-IS与OSPF的区别

掌握IS-IS的常用配置(level1 level2 level1-2)

OSPF

路由器少,交换机多,分层 —— OSPF
OSPF特点:目前只支持IP网络,工作在IP层
集成IS-IS特点:支持CLNP网络和IP网络,工作在数据链路层(MAC地址),没有组播地址

IS-IS 9种报文

P2P Hello
Broadcast L1-Hello 0014
Broadcast L2-Hello 0015
LSP(链路状态PDU)CSNP(完全序列号数据包)PSNP(部分序列号数据包)(都分为level 1 2)
CSNP类似于OSPF的DD报文 传递的是LSDB里所有链路信息摘要
PSNP类似于OSPF的LSRequest或LSAck报文 用于请求和确认部分链路信息
LSP类似于OSPF的LSU

2种网络类型

IS-IS 只支持 P2P和Broadcast 网络类型
点到点网络不选举DIS

修改网络类型:网络只支持由广播类型改为P2P
int g0/0/0
isis circuit-type p2p

IS-IS 基本结构

协议优先级:15   metric : cost
运行 IS-IS 协议的路由器必须有一个必须有一个被称为 NET (Network Entity Title)的网络地址,NET 也称为网络实体名,长度为 8 至 20 字节,其格式可以多种多样。
通常,在 IP 环境下 NET 格式为:区域 ID (1 字节)+系统 ID(6 个字节)+SEL (1 个字节),NET 中的 SEL 总是为 00
配置路由器的网络实体名,同一台路由,可以配置 3 个网络实体名,但它们的system ID 要相同

OSPF

49.0001.0000.0000.0001.00
   10.0000.0000.0001.00

字节数是 8~20,因此是可变长的。 从后面开始看

OSPF


用IS-IS协议物理接口的MTU为1497,有3个字节给LLC使用了
System ID length 默认为6,是系统ID号长度
max area 默认为3,代表最大支持3个network-entity。isis进程最多支持三个区域
每台设备最多可以配置三个NET,系统ID必须是相同,区域ID可以不同

3种路由器类型

Level-1的邻接关系的建立,区域ID必须一致
不同区域的,要Level-1和Level-1-2配合
IS-IS路由器的三种类型
· Level-1路由器(只能创建level-1的LSDB) 同一区域
· Level-2路由器(只能创建level-2的LSDB) 不同区域
· Level-1-2路由器(路由器默认的类型,能同时创建level-1和level-2的LSDB) 跨区域
接口上改 [R1]int g0/0/1 [ ]isis circuit-level level-1
路由器上改 [R1-isis-1]is-level level-1
L1-2 L2 L1-2 这样搭建路由才能通。
IS-IS的骨干区域:是由所有的L2路由器(含L1/L2)组成的 (连续)

邻居关系建立

OSPF

P2P 链路 3-way 3次握手
点到点网络才有 选择两次或三次。 MA网络就是三次

int g0/0/0
isis ppp-negotiation 3-way only 只采用三次握手

hello报文中的padding的开启与关闭 作用是填充MTU
isis padding-hello 开启填充字段,先undo才能small,不填充
isis small-hello 关闭填充字段
填充字段的作用:

OSPF

OSPF

需求:ISIS不同网段建立邻居。使地址不在同一个网段 也能建立起邻居关系。
int s0/0/0
isis peer-ip-ignore (两端都得改)
解析:因为ISIS本质是基于二层建立起来的

需求:修改System ID ,让它更短一点
isis
is-name R2R1 (两端都得改)
OSPF

IS-IS 认证

接口认证:对Level-1和Level-2的Hello 报文进行认证
区域认证:对Level-1的SNP和LSP报文进行认证
路由域认证:对Level-2的SNP和LSP报文进行认证
认证方式:NULL、明文、MD5

int g0/0/0
isis authentication-mode md5 huawei (isis没有md5的kid号,ospf有)

IS-IS 形成邻居关系的条件

①同一层次
②同一区域
③同一网段
④相同网络类型 P2P broadcast
⑤相同的mtu值
⑥认证相同
⑦在P2P网络中,system-id长度要一致,最大区域地址数要相同
·IS-IS接口开销类型两端类型不一致,邻居可以建立,但路由不能学习
·不同的进程ID号,可以建立邻居关系
R1是1类 区域1,R2是2类 区域2,这种是没问题的

IS-IS邻居建立不起来的原因:
①级别不同、②区域号不在区域内、③认证不同、④MTU、⑤网络类型不同、⑥cost-style…

·对于OSPF 一个路由器不同接口属于不同区域
·对于ISIS来讲,属于某个区域,所有路由器接口都属于某个区域

DIS与DR的区别

OSPF

CSNP类似OSPF的DD报文,LSP类似OSPF的LSU,PSNP类似OSPF的LSR、LSAck

OSPF协议中的DR与ISIS协议的DIS的区别
①DR 选举先看优先级,再比较 router-id ,DIS 先看优先级,再比较 mac 地址
②DR 默认为 1,取值范围为 0-255,DIS 默认为 64,取值范围为 0-127,
③DR 的值为 0 ,代表放弃 DR 选取,DIS 的值为 0 ,只是值小,并不放弃 DIS 选举
④DR 主要为了减少 LSA 泛洪,DIS 是为周期发送 CSNP,同步LSDB
⑤DR 有备份的设备 BDR ,DIS 没有备份的 DIS
⑥DR 的选举是在链路上选举的,DIS 的选举分为 Level-1和 Level-2,在路由器上选举
⑦DR 默认不开启抢占, DIS 默认抢占
⑧OSPF 选举 DR/BDR 需要 waiting time 达 40秒,过程也较为复杂,而ISIS选举DIS 等待两个 Hello 报文间隔就可以,简单快捷
⑨选举完成后,ISIS 网络链路内所有的路由器之间都建立的是邻接关系。OSPF中DRothers 只与 DR/BDR 形成 full 邻接关系, DRothers 之间只有 2-way 的关系

ISIS和OSPF的区别
ISIS:工作在数据链路层,优先级15,选举DIS,9个报文,2个网络类型
OSPF:工作在网络层,优先级10和150,选举DR,5个报文,4个网络类型
网络类型和开销方式:
IS-IS 协议只支持两种网络类型,且所有带宽默认开销值都是一样的,OSPF 协议支持四种网络类型,且会根据不同的带宽设定相应的开销值,对帧中继,按需链路等网络类型有很好的支持。
区域类型:
IS-IS 协议分 L1/L2 区域,L2 区域是骨干区域有全部明细路由。L1 去往 L2 只有默认路由。OSPF 协议分骨干区域,普通区域,特殊区域。普通区域和特殊区域跨区域访问需要经过骨干区域。
报文类型:
IS-IS 协议路由承载报文类型只有 LSP 报文且里面路由信息是不区分内部与外部的,简单高效,无需递归计算。OSPF 协议路由承载报文 LSA 类型多样,有1/2/3/4/5/7 类等。路由级别等级森严,且需要递归计算,适合精细化调度计算。
存活时间: OSPF叫dead time,ISIS叫holding time

了解部分

了解:剩余生存时间——holdtime 是Hello时间的三倍 10*3。 OSPF是4倍,其他都是3倍

OSPF

了解:分片 ISIS 的 LSPID dis isis lsdb

OSPF

了解:dis isis lsdb 的 ATT/P/OL
ATT:可以理解为OSPF的ABR它会告诉本区域的L1路由器,有去往其他区域的路由。
OverLoad:[]isis []set-overload 表示过载
P:区域修复,相当于OSPF的虚链路

OSPF

DIS选举规则

DIS默认是64,取值范围0~127。 MA网络才会选DIS。点到点不选DIS
比较DIS优先级,优先级大的为DIS。 优先级相同,比较MAC,MAC地址大的为DIS
DIS分为:1类DIS和2类DIS

查看:dis isis int [verbose]
修改DIS:
int g0/0/0
isis dis-priority 120 这种没有指明改1类DIS还是2类DIS,默认都改
isis dis-priority 120 level-1 指明改1类DIS。 如果之前默认都配置,要先undo isis dis-priority,再配指定1类。

DIS的选举周期:2倍的Hello时间(默认10秒), Hello时间可 dis isis in verbose 查看到

IS-IS 链路状态数据库

OSPF

OSPF


· P2P网络CSNP报文只发送一次,邻居建立后立即发送
· MA网络CSNP报文只由DIS组播发送,时间默认为10秒

IS-IS 路由算法

OSPF

接口cost值都是默认为10,默认类型为Narrow

OSPF

注意划分区域的边界。

区域间的路由

OSPF

IS-IS 开销值

IS-IS 有三种方式来确定接口的开销,按照优先级由高到底分别如下:
①接口开销:为单个接口设置开销,优先级最高。
int g0/0/0
isis cost 50
②全局开销:为所有接口设置开销,优先级中等。
isis
circuit-cost 30
③自动计算开销:根据接口带宽自动计算开销,优先级最低。
isis
bandwidth-reference 1000
auto-cost enable

isis
cost-style narrow
auto-cost enable 自动计算开销,接口开销为20。 如果是wide,接口开销为1

IS-IS接口的默认开销为10,开销类型默认为narrow,开销范围:1-63,但是在大型网络设计中,较小的度量范围不能满足实际需求。IS-IS开销类型wide,开销范围:1-16777215

查看ISIS 协议的默认参数:dis default-parameter isis

OSPF

IS-IS 路由配置需求

OSPF

最优路径。 修改cost值,让RTA到达RTB的cost值更小。
配置1:启用IS-IS,进程号100,RTA为DIS

OSPF

配置2:RTD与RTE之间采用P2P网络类型

OSPF

配置3:引入路由 + 路由渗透

OSPF

IS-IS 汇总默认路由

OSPF只能在ABR和ASBR路由器上进行路由聚合,而IS-IS路由器能否进行路由聚合以及对什么样的路由才能进行聚合取决于路由器的类型及路由的类型。

在IS-IS网络中,level-1路由器只维护level-1链路状态数据库,只能对相应的level-1的直连路由进行聚合,并将聚合后的路由以level-1 LSP的形式发送给其他路由。level-2路由器只维护level-2链路状态数据库,只能对相应的level-2的直连路由进行聚合,并将聚合后的路由以level-2 LSP的形式发送给其他路由。 (level-1-2则都可以)

OSPF

[R1]isis
[R1-isis-1]network-entity 10.0000.0000.0001.00
[R1-isis-1]is-name R1
[R1-isis-1]is-level level-1
[R1-isis-1]int g0/0/0 对Loopback012 也是这样配
[ ]isis enable 1

[R2]isis
[R2-isis-1]network-entity 10.0000.0000.0002.00
[R2-isis-1]is-name R2
[R2-isis-1]int g0/0/0
[ ]isis enable 1
[ ]isis circuit-level level-1
[ ]int g0/0/1
[ ]isis circuit-level level-2

[R3]isis
[R3-isis-1]network-entity 20.0000.0000.0003.00
[R3-isis-1]is-name R3
[R3-isis-1]is-level level-2
[R3-isis-1]int g0/0/1 对Loopback012 也是这样配
[ ]isis enable 1

路由聚合(默认以L2类型发送)
[R1-isis-1]summary 10.0.1.0 255.255.255.252 level-1
[R3-isis-1]summary 10.0.3.0 255.255.255.252

dis isis route
①D:表示直连路由
②A:表示此路由被加入单播路由表中
③L:表示此路由通过LSP发布出去

IS-IS 缺省路由

第一种缺省路由是 由 level-1 路由器在特定条件下自动产生的,它的下一跳是离它最近的 (cost 最小)level-1-2 路由器。
第二种缺省路由是 IS-IS 路由器上使用 default-route-advertise 命令产生并
发布的。
isis
default-route-advertise match default level-1-2

OSPF

第一种缺省路由:它是自动产生的,如果R2的G0/0/1口down掉了,那么R1就认为失去了和骨干网的联络,从而不会自动产生第一种缺省路由,无法自动产生,ping不通R4

第二种缺省路由:手工产生:(默认以L2类型发送)
R2有缺省路由的情况下,可不配always,R1也有默认路由
[R2-isis-1]default-route-advertise level-1

如果R2指向R4没有缺省路由,就一定要有always 。 R1才会有默认路由。
[R2-isis-1]default-route-advertise always level-1
但这种即使R2到R4的接口down掉了,R1路由也会在,这种比较不科学,应该 不能连接外部就不下放,能连接的时候再下放。

R2到R4的接口down掉了就没,up就有。这种适用性最好,建议配置缺省路由就这样配
[R2-isis-1]default-route-advertise match default level-1-2 这种满足了R1和R3

IS-IS 路由引入

IS-IS 网络能够引入其他路由协议的路由和其他 IS-IS 协议进程的路由。默认情况下,IS-IS 总是以 level-2 路由类型引入外部路由。但是,通过手动配置,也可以以 level-1 路由类型引入外部路由。
isis
import-route ospf 1 level-1 cost-type internal cost 30

OSPF

 

 

[R1]isis
[R1-isis-1]network-entity 10.0000.0000.0001.00
[R1-isis-1]is-name R1
[R1-isis-1]is-level level-1
[R1-isis-1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis enable

[R2]isis
[R2-isis-1]network-entity 10.0000.0000.0002.00
[R2-isis-1]is-name R2
[R2-isis-1]int g0/0/0
[R2-GigabitEthernet0/0/0]isis enable
[R2-GigabitEthernet0/0/0]isis circuit-level level-1
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]isis enable
[R2-GigabitEthernet0/0/1]isis circuit-level level-2

[R3]isis
[R3-isis-1]network-entity 20.0000.0000.0003.00
[R3-isis-1]is-name R3
[R3-isis-1]is-level level-2
[R3-isis-1]int g0/0/0
[ ]isis enable
[ ]int loo0
[ ]isis en

OSPF:
[R1]ospf router-id 1.1.1.1
[R1-ospf-1]area 0
[ ]net 192.168.14.1 0.0.0.0

[R4]ospf router-id 4.4.4.4
[R4-ospf-1]area 0
[ ]net 192.168.14.4 0.0.0.0
[ ]net 4.4.4.4 0.0.0.0
[ ]net 44.44.44.44 0.0.0.0

R3 引入,让R2通过引入方式学习到3.3.3.3
[R3]isis
[R3-isis-1]import-route direct  
·对于External类型的cost,在IP路由表中的cost值的计算方法为,64+IS-IS路由表中的Incost+IS-IS路由表的Extcost
[R3-isis-1]import-route direct cost-type internal     内部路由默认开销是10
[R3-isis-1]import-route direct cost-type internal cost 50 在R2查看路由表会发现是60  10+50

精确引入,只希望引入 4.4.4.4,让R2只能学习到4.4.4.4
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 4.4.4.4 0
[R1]route-policy 10 permit node 1
[R1-route-policy]if-match acl 2000
[R1-isis-1]import-route ospf 1 level-1 route-policy 10
[R1-isis-1]import-route ospf 1 level-1 route-policy 10 cost-type internal cost 60

 

 

IS-IS 路由过滤

在IS-IS网络中,有时需要使用filter-policy工具对IS-IS路由进行过滤。这里所说的过滤,是指路由器在将自己IS-IS路由表中的某些IS-IS路由纳入进自己的IP路由表的过程,一些满足了过滤条件的IS-IS路由将被限制纳入IP路由表中。
· filter-policy 它的过滤 只能针对自己的路由表
需要注意的是,filter-policy进行过滤的并非是生成那些IS-IS路由的LSP,所以filter-policy进行路由过滤之后,路由器中的IS-IS链路状态数据库和IS-IS路由表都不会受到任何影响。

使用 filter-policy 工具对 IS-IS 路由进行过滤
route-policy 10 deny node 2
if-match ip next-hop acl 2014
if-match acl 2001
route-policy 10 permit node 3
isis
filter-policy route-policy 10 import

OSPF

 

 

基础配置:
R1
[R1]isis
[R1-isis-1]network-entity 10.0000.0000.0001.00
[R1-isis-1]is-name R1
[R1-isis-1]is-level level-2
[R1-isis-1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis en
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]isis en
[R1-GigabitEthernet0/0/1]int loo0
[R1-LoopBack0]isis en

R2
[R2]isis
[R2-isis-1]network-entity 10.0000.0000.0002.00
[R2-isis-1]is-name R2
[R2-isis-1]is-level level-2
[R2-isis-1]int g0/0/0
[R2-GigabitEthernet0/0/0]isis en
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/2]isis en

R3
[R3]isis
[R3-isis-1]network-entity 20.0000.0000.0003.00
[R3-isis-1]is-name R3
[R3-isis-1]is-level level-2
[R3-isis-1]int g0/0/1
[R3-GigabitEthernet0/0/1]isis en
[R3-GigabitEthernet0/0/1]int g0/0/2
[R3-GigabitEthernet0/0/2]isis en
[R3-GigabitEthernet0/0/2]int loo1
[R3-LoopBack0]isis en
[R3-LoopBack0]int loo2
[R3-LoopBack2]isis en

R4
[R4]isis
[R4-isis-1]network-entity 10.0000.0000.0004.00
[R4-isis-1]is-name R4
[R4-isis-1]is-level level-2
[R4-isis-1]int g0/0/1
[R4-GigabitEthernet0/0/1]isis en
[R4-GigabitEthernet0/0/1]int g0/0/2
[R4-GigabitEthernet0/0/2]isis en

需求:
(1)R1只能经R2访问R3的loopback 1
(2)R2只能经R4访问R3的loopback 2
—————————————— 看看有问题吗?————————————————
在R2上过滤掉R3的loopback 2
R2:
acl 2000
rule deny source 172.16.2.0 0.0.0.255
rule permit source any

isis
filter-policy 2000 import
R1还是有两个下一跳。

在R4上过滤掉R3的loopback 1
R4:
acl 2000
rule deny source 172.16.1.0 0.0.0.255
rule permit source any

isis
filter-policy 2000 import

只针对路由表起作用,对路由传递不起作用, OSPF亦是如此
——————————— R1路由表还是有两个下一跳 —————————————


综合运用:filter-policy和router-policy  才能过滤
[R1]acl 2001
[R1-acl-basic-2001]rule permit source
 172.16.1.0 0.0.0.255
[R1]acl 2002
[R1-acl-basic-2002]rule permit source
 172.16.2.0 0.0.0.255

[R1]acl 2012
[R1-acl-basic-2012]rule permit source
 192.168.12.2 0.0.0.0
[R1]acl 2014
[R1-acl-basic-2014]rule permit source
 192.168.14.2 0.0.0.0

[R1]route-policy 10 deny node 1
[R1-route-policy]if-match ip next-hop acl 2012
[R1-route-policy]if-match acl 2002
拒绝 下一跳是 acl2012的,并且是去往acl2002网段的

[R1]route-policy 10 deny node 2
[R1-route-policy]if-match ip next-hop acl 2014
[R1-route-policy]if-match acl 2001
[R1]route-policy 10 permit node 3

调用
isis
filter-policy route-policy 10 import

 

 

IS-IS 路由渗透

Level-1区域必须只能与骨干区域相连,不同level-1区域之间不能直接相连。level-1区域内的路由信息会通过level-1-2路由器通报给level-2区域,即level-1-2路由器会将学习到的level-1路由信息封装进level-2 LSP,并将这些level-2 LSP传递给其他level-2和level-1-2路由器。因此,level-1-2和level-2路由器是指定整个IS-IS路由域的路由信息的。

另一方面,为了减小路由表的规模,在缺省情况下,level-1-2和level-2路由器并不会将自己知道的路由域中其他level-1区域以及骨干区域的路由信息通报给level-1区域。这样一来,level-1路由器只能通过缺省路由来访问 区域以外的任何目的地

通常情况下,level-1路由器只能通过缺省路由来访问本区域以外的目的地,但是如果需求特殊,则这种方式或许不能被接收,例如,如果要求一个level-1路由器必须经由最优路径(也就是总的开销值最小)访问其他某个区域的目的地时,使用缺省路由就无法满足需求。在这种情况下,level-1路由器需要知道并使用其他区域的目的地明细路由,而不是盲目地使用缺省路由。

OSPF


IS-IS 路由渗透指的是 Level 1-2 和 Level-2 路由将自己知道的其他 Level-1 区域以及 Level-2 区域的路由信息通报给指定的 Level-1 区域的过程。
isis
import-route isis level-2 into level-1

IS-IS没有全局的概念,Level-1 只认自己最近的Level-1-2的cost值,这样会产生次优路径。

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分