IS-IS基本概述

全国骨干网大概率用的IS-IS
IS-IS最初是由ISO为无连接网络协议设计的一种动态路由协议
IETF对IS-IS进行了扩充和修改,让他能够应用在TCP/IP的OSI环境中,简称为集成化IS-IS
同样IS-IS属于IGP,一种链路状态型路由协议
域概念
IS:中间系统,泛指路由器
ES:终端系统,泛指最后的暖设备
路由域:可以相当于AS(自治系统)

IS-IS分层网络

分级路由
Level 0、Level 1、Level 2、Level 3、

Level 0 路由

用于终端和路由器之间连接的路由

Level 1 路由

就相当于OSPF的区域内路由

Level 2 路由

骨干网路由
类似OSPF的区域间路由

Level 3 路由

跨路由域的路由
相当于OSPF的自治系统外部路由

集成化IS-IS分层网络
集成化
常用的Level 1和Level 2路由、Level1-Level2同时连接Level-1/Level-2的路由器(相当于ABR)
默认所有的路由器都是Level1-2路由器

IS-IS与OSPF对比

区域划分

骨干网

在OSPF中,区域0为骨干区域,所有非 骨干区域都要连接到骨干区域
但IS-IS中是吧由L1-L2或者L2路由器组成的网络范围称为骨干网,所有的区域都属于骨干网上的某个节点
其中IS-IS的收敛速度比OSPF要快

IS-IS协议原理

OSI地址NSAP地址格式

OSI地址
在IS-IS网络中,使用OSI地址来标识网络中的设备信息,从而建立拓扑信息
NSAP
IDP部分相当于IP地址中的主机网络号
DSP部分相当于IP地址中的子网号和主机地址
AFI:由运营商划分,相当于区域地址(一个大段)
IDI:用户可以自主划分的一个网络编号
High Order DSP:相当于子网号
System ID:标识设备编号,唯一的ID
NSEL:标识网络工作的类型,00标识工作在IP网络
详细解释

NET地址

就是上方的NSAP的特殊版本
就是NSEL为0工作在IP协议的版本
每台IS可以拥有不超过三个的NET地址,这些NET拥有相同的System ID和不同的区域地址

NET地址的生成算法:
生成

NET地址规划注意事项:
划分

同一个区域内所有IS包含相同的区域地址
每台IS拥有所在区域唯一的System ID

IS-IS协议报文

报文
IS-IS报文直接封装在链路层数据中
IS-IS报文头部中包含了通用报头和专用报头
对应说有的PDU来说,通用报头都是相同的,但是专用报头根据PDU类型不同而有所差异
IS-IS报文类型有四种:
IIH、LSP、CSNP、PSNP

IIH

IS-IS Hello PDU
用于建立和维护邻接关系

LSP

Link State PDU
传输链路状态信息

CSNP

Complete Sequence Numbers PDU
通告链路状态数据库(LSDB)中所有的摘要信息

PSNP
Partial Sequence Numbers PDU
请求和确认链路状态信息

IS-IS报文中的CLV(或者TLV)
CLV格式
数据都是以此类模型来封装

格式表
C1:标识区域地址
C2:标识邻居地址
C6:标识邻居的MAC地址
C128:IP的可达信息
C132:自己接口的IP地址
都是通过CLV格式来封装和传递数据
CLV比传统报文要好,传统报文一般写死的固定参数值(不能拓展)
而CLV可以通过扩展CLV来增加协议功能

IS-IS的网络类型

广播和P2P
目前只有两个网络类型:Broadcast、Point-to-Point
广播型和点到点
PPP、HDLC上接口缺省网络类型为点到点
Ethernet、令牌环上,接口缺省网络类型为广播网络

邻居关系建立

邻居建立
邻居关系有Level-1和Level-2的两种
点到点网络上,只要收到IS能够收到对端的P2Peye.com IIH报文,就直接建立邻居关系,邻居关系UP
但广播网络上,建立邻居需要三次握手过程

点到点网络中邻接关系

邻接关系
跨区域只能建立Level-2邻居,跨区域只有L2路由器,L1不会建立邻居
区域内一般都是Level-1
如果双方都是Level-1-2,那么会建立L1的邻居也会建立L2的邻居

广播网络中邻接关系

邻接关系
DIS(Designated IS)作用域创建和更新伪节点,用于简化拓扑,减少资源消耗(就类似于OSPF中的DR)
同一级路由器之间都会形成邻接关系

两种网络上邻居建立过程比较

比较图

LSDB的同步

LSP:
用于描述链路状态信息
Level-1 LSP:仅在区域内传播
Level-2 LSP:仅在骨干网传播

L1路由器只建立L1的LSDB
L2路由器只建立L2的LSDB
L1-2的路由器分别建立一个L1的LSDB和L2的LSDB
L1的路由只能进入L1的LSDB,L2的路由只能进入L2的LSDB
默认情况下,L1-2的路由器会自动把L1路由转换成L2路由传递给L2邻居,不会把L2路由转换成L1路由

SNP:
用于描述LSDB中LSP的摘要
并对邻居之间最新接收的LSP进行确认

CSNP
包括所有LSP的摘要信息
在广播网络中周期发送
点到点网络中,只在第一次发送

PSNP
列举最近收到的一个或者多个LSP的序号
用于LSP的确认

Broadcast
  1. 首先向邻接路由器发送本地LSDB中所有LSP完整新,实现快速LSDB同步
  2. DIS周期性泛洪CSNP,通告完整的LSDB的摘要
  3. 某台路由器发现本地LSDB与DIS未同步,则向DIS发起PSNP,请求相应的LSP
  4. DIS收到请求互,单独发送该LSP至该路由器
  5. 收到LSP后,发送PSNP进行确认
P2P
  1. 首先向邻居发送本地LSDB中所有LSP完整信息,实现LSDB快速同步
  2. 向邻居发送一次CSNP,通告完整的LSDB的摘要
  3. 某台路哟器发现本地LSDB与对方发送的CSNP相比有缺失,则发送PSNP,请求相应的LSP
  4. 对方收到请求,单独发送该LSP
  5. 收到LSP后,发送PSNP进行确认

LSDB的更新

Broadcast

[1] 向DIS单独发送新增或者有变化的LSP
[2] 在下次DIS的CSNP泛洪中,如果发现已经包含了之间发送的LSP摘要,则判断已经更新完成
[3] 如果没有包含则下次再次发送,知道收到CSNP泛洪中包含此LSP为止。

P2P

[1] 向邻居单独发送有变化的LSP
[2] 邻居收到后会发送PSNP来确认
[3] 如果没有收到,则重新发送,直到收到对方确认为止

PRC机制

除了第一次同步需要对整个LSDB计算外
稳定之后的拓扑变动,IS-IS仅对发生变化的LSP进行路由计算

而OSPF的PRC只针对于3、4、5、7类LSA进行单独计算
其余区域内部如果发生变动,会引起整个LSDB重新计算

IS-IS的开销类型

IS-IS中Cost值的类型:Narrow、Wide

Narrow[窄]

取值范围0 -63
其中如果路由器只支持Narrow模式的话
就只会接受Narrow和发送Narrow类型的Cost

Wide[宽]

取值范围0 - 166777215
其中如果路由器只支持Wide模式的话
就只会接受Narrow和发送Wide类型的Cost

路哟器所支持的Cost模式

[1] Narrow模式:只接收和发送Narrow类型Cost
[2] Wide模式:只接收和发送Wide类型Cost
[3] Narrow-compatible模式:Narrow兼容模式,只发送Narrow类型Cost,可以接受两种类型的Cost
[4] Wide-compatible模式:Wide兼容模式,只发送Wide类型Cost,可以接受两种类型的Cost

IS-IS的验证

一共有三种验证模式:接口验证、区域范围验证、域验证

接口验证

验证信息在IIH报文中,验证不成功则无法建立邻居

区域范围验证

验证信息在L1的CSNP、PSNP、LSP报文中,验证不成功不影响邻居建立,只是无法同步L1的LSDB

域验证

验证信息在L2的CSNP、PSNP、LSP报文中,验证不成功不影响邻居建立,只是无法同步L2的LSDB

路由渗透

在IS-IS中不会把L2的明细路由传递至L1路由器
只会由L1/L2路由器向区域内发布一条ATT Bit置位的LSP
让区域内的L1路由器产生一条默认路由
只在Level1-2路由器需要用到L2转L1的时候用到
可能会导致次优路由的出现

原理:
L1-2路由器会将L2路由转换成L1后传递至L1路由器

IS-IS的基础配置

[h3c] is-is [id]
/*创建IS-IS进程,进入IS-IS协议*/
[h3c-isis-1] network-entiy [NET-address]
/*配置NET地址*/
[h3c-isis-1] is-level level-1/2/1-2/
/*配置IS-IS路由级别*/
[h3c-GigabitEthernet0/0] isis enable [id]
/*接口使能IS-IS*协议*/
[h3c-GigabitEthernet0/0] isis circuit-level 1/2/1-2
/*配置接口邻接*/
[h3c-GigabitEthernet0/0]  isis cost [cost]
/*设置IS-IS的开销*/
[h3c-isis-1-ipv4] import-route isis level-2 into level-1
/*配置IS-IS路由渗透*/
[h3c-GigabitEthernet0/0] isis authentication-mode 
/*配置IS-IS接口验证*/
[h3c-isis-1-ipv4]
/*进入地址范围*/
[h3c] display is-is peer
/*查看IS-IS邻接关系*/