ISIS
协议概述
概念
前世今生,早期ISIS是应用在OSI模型中网络层协议,服务于CLNP,使用NSAP寻址,类似于我们在TCP/IP协议栈中的IP协议,使用IP寻址,后来经过修改ISIS协议,也叫集成式ISIS,即支持OSI模型,又支持TCP/IP协议栈。
场景
- 单区域大规模的网络中,数据中心之间使用的IGP协议
- 运营商的区域网中
网络类型
- 广播
- P2P
地址结构
路由器类型
L1路由器
和L1路由器建立L1的邻居关系,区域号必须一致,L1路由器不能和L2路由器直接建立邻居关系,通过L1/L2路由器就可以了
L2路由器
可以和L2路由器,建立L2的邻居关系,区域号可以相同,也可以不同
L1/L2路由器
和L1路由器建立L1的邻居关系,和L2路由器建立L2的邻居关系
区域划分
- OSPF划分区域,基于接口,区域0就是骨干区域,非0就是不同区域
- ISIS,划分区域,按照设备划分区域,区域号也标识路由器所属的区域类型
三种认证方式
- 接口认证:邻居关系的建立
- 区域认证:level-1的lsp认证
- 路由域认证:level-2的lsp认证
报文
OSPF
- LSU火车头,携带各种LSA,也就是车厢
ISIS
- 每一个报文的报文头就是火车头,每一节车厢就是TLV
开销值
不需要根据接口带宽计算,默认开销值就是10
度量类型
窄度量
- 小规模网络,开销范围1-63
- 拓扑信息
- 2号TLV
- 路由信息
- 128号TLV(内部路由)
- 130号TLV(外部路由)
宽度量
- 大规模网络中开销范围1-一千七百多万
宽度量和窄度量携带的TLV类型是不同的
T(类型/C代码)
L(长度)
V(值)
配置
- ISIS进程
- 宣告NET
- 修改度量值(可选)一般为宽度量
- 路由器类型(可选)一般为L2
- 接口下宣告
工作原理
报文
HELLO
- 广播
- L1 Hello
- L2 Hello
- P2P
- P2P Hello
- 作用
- 和OSPF的Hello报文类似,建立和维护邻居关系
LSP
- L1 LSP
- L2 LSP
- 作用
- 类似于OSPF中的LSU,携带链路状态信息,拓扑和路由
PSNP
- L1 PSNP
- L2 PSNP
- 作用
- 类似于DD报文,数据库描述信息
CSNP
- L1 CSNP
- L2 CSNP
- 作用
- 广播(相当于LSR)
- P2P(相当于LSR和Lsack)
状态机
- down
- init
- up
邻居表数据可以同步过程分析
广播
P2P
路由表分析
路由泄露(路由引入)
- L1区域的路由器在某些场景下,会存在次优路径的问题
- 解决方法
- 需要做路由引入,也就是在L1/2路由器上将L2区域的明细路由,引入到L1区域
- 解决方法
路由回灌
- 同时会产生路由环路的隐患
- 解决方法
- 通过给路由标识up/down这个比特位
- down位,L1/L2路由器不在将此路由引入L2区域
- up位,则路由引入正常,默认引入
- 解决方法
- ISIS对于这个情况会自动解决,在设计的时候已经解决了
还有一个和OSPF会出现相同问题的地方
- 就是对于割接时,同样会出现和OSPF相同的问题,在ISIS收敛完成后,EGP并没有收敛完成,导致链路中间会有一段断掉,所以也要命令来组织这种情况的发生,比如,使用过载位来让两端路由器认为需要走备份路径,当时间到了后,再回切。
高级特性
快速收敛
算法
区域内
- 拓扑计算
- 首次拓扑计算(SPF)
- 拓扑发生变化(I-SPF)
- 路由计算(PRC)
区域间
- 路由计算(PRC)
LSP快速扩散
- 正常情况下,ISIS收到邻居发来的LSP时,不会立即扩散,会计算路由,收敛时间长
- LSP快速扩散,改进了原来的方式,收到LSP以后,立即扩散,不会计算完路由再扩散,增加收敛时间
路由控制
等价路由
- 默认为8条
- 将他们的开销值设置为相同,在路由表中看我们有三条等价路由,但是当我们需要一条主链路,和两条辅助链路时应该怎呀昂操作呢
如何选路
- 优先级,数值越小越优先
- 下一跳设备的system id 小的更优
- 比较出接口,小的优选
等价路由数量
- 在这里我们将负载分担的数量改成两条,可是选那两条呢
- 我们可以采用设置权重值的方式来分配负载分担的选路(权重值越小越优先)
缺省路由
手动通告
- 与OSPF类似
自动产生
- L1/2路由器在向L1区域通告L2区域的路由时会生成一条ATT位置位的LSP,L1路由器收到ATT位置位的LSP,就会自动产生一条缺省路由
- 可以有两种方法制止自动产生
- 在L1/L2路由器上输入以下代码,代表此L1/L2路由器不产生ATT位置位,但坏处就是,所有连接此路由器的L1路由器都不会产生缺省路由了。
attached-bit advertise never
缺省情况下L1/L2设备发布的LSP的ATT位根据缺省置位规则来决定置位情况
- 为解决上一个问题,我们也可以采用另一种方法,将我们想要控制的L1路由器单独设置。控制L1设备不因为ATT位下发缺省路由到路由表。
attached-bit avoid-learning
引入路由
- 在L1区域引入路由的时候,需要增加L1字段,否则不生效
- L2则没有这个限制,只要加了,就能生效,而且开销值为0
- 默认计算内部路由开销和外部路由开销
import-router static (Leverl 2)默认L2区域
LSP分片
0000.0000.0002.00-00
前八位system ID
倒数三四位,为01则是伪节点,00则不是
最后两位,为01则分片,00则不是
- 当ISIS要发布的PDU中信息量太大时,ISIS路由器将会生成多个LSP分片,用来携带更多的ISIS信息
[Huawei-isis-1]lsp-fragments-extend[[level-1|level-2|level-1-2]|[mode-1|mode-2]]
- 一个ISIS进程最多可产生256个LSP分片,携带的信息量有限,但是一个ISIS还可以创建多个虚拟系统,每个系统都可以创建256个分片,我们最多创建50个虚拟系统(有附加系统ID表示的系统)
[Huawei-isis-1]virtual-system virtual-system-id
- 24号TLV:LSP分片携带该TLV信息,用来表示初始系统与虚拟系统的关系