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条
  • 将他们的开销值设置为相同,在路由表中看我们有三条等价路由,但是当我们需要一条主链路,和两条辅助链路时应该怎呀昂操作呢

如何选路

  1. 优先级,数值越小越优先
  2. 下一跳设备的system id 小的更优
  3. 比较出接口,小的优选

等价路由数量

  • 在这里我们将负载分担的数量改成两条,可是选那两条呢
  • 我们可以采用设置权重值的方式来分配负载分担的选路(权重值越小越优先)

缺省路由

手动通告

  • 与OSPF类似

自动产生

  • L1/2路由器在向L1区域通告L2区域的路由时会生成一条ATT位置位的LSP,L1路由器收到ATT位置位的LSP,就会自动产生一条缺省路由
  • 可以有两种方法制止自动产生
  1. 在L1/L2路由器上输入以下代码,代表此L1/L2路由器不产生ATT位置位,但坏处就是,所有连接此路由器的L1路由器都不会产生缺省路由了。
attached-bit advertise never

缺省情况下L1/L2设备发布的LSP的ATT位根据缺省置位规则来决定置位情况

  1. 为解决上一个问题,我们也可以采用另一种方法,将我们想要控制的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信息,用来表示初始系统与虚拟系统的关系

Posts in this Series