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地址格式
在IS-IS网络中,使用OSI地址来标识网络中的设备信息,从而建立拓扑信息
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)
数据都是以此类模型来封装
C1:标识区域地址
C2:标识邻居地址
C6:标识邻居的MAC地址
C128:IP的可达信息
C132:自己接口的IP地址
都是通过CLV格式来封装和传递数据
CLV比传统报文要好,传统报文一般写死的固定参数值(不能拓展)
而CLV可以通过扩展CLV来增加协议功能
IS-IS的网络类型
目前只有两个网络类型: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
- 首先向邻接路由器发送本地LSDB中所有LSP完整新,实现快速LSDB同步
- DIS周期性泛洪CSNP,通告完整的LSDB的摘要
- 某台路由器发现本地LSDB与DIS未同步,则向DIS发起PSNP,请求相应的LSP
- DIS收到请求互,单独发送该LSP至该路由器
- 收到LSP后,发送PSNP进行确认
P2P
- 首先向邻居发送本地LSDB中所有LSP完整信息,实现LSDB快速同步
- 向邻居发送一次CSNP,通告完整的LSDB的摘要
- 某台路哟器发现本地LSDB与对方发送的CSNP相比有缺失,则发送PSNP,请求相应的LSP
- 对方收到请求,单独发送该LSP
- 收到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邻接关系*/