ISIS协议基础
- 简介
- 应用场景
- 路由计算过程
- 地址结构
- 路由器分类
- 邻居Hello报文
- 邻居关系建立
- DIS及DIS与DR的类比
- 链路状态信息的载体
- 链路状态信息的交互
- 路由算法
- 网络分层路由域![在这里插入图片描述](https://img-blog.csdnimg.cn/9027c43b614a4399ae1f54e87a37f047.png)
- 区域间路由
简介
与OSPF协议一样,ISIS协议也是一种基于链路状态并且使用最短路径优先算法进行路由计算的一种IGP协议。ISIS协议的兼容性很好,因为ISIS协议的所有数据包都采用TLV(Type Len Value)架构,不同的TLV可以对应不同的作用。
应用场景
- 在园区网使用OSPF协议可以使得调度更加精细,还可以设置各种特殊区域,用于减轻设备负担,可以灵巧的调用多种策略。
- 在骨干网中进行扁平化管理,不进行分层,也就不存在层层调用,可以达到收敛快的目的,由于设备的任务相当,所以可以承载的路由数目也变得更多。
路由计算过程
路由计算基本过程同OSPF,但还是有细微的差别,在同步数据库的过程中,ISIS发送的是LSP(PDU协议数据单元),不同于OSPF的LSA。
地址结构
关于地址结构,可以直接与OSPF进行类比,Area ID:可以类比于OSPF的区域号,System ID:可以理解为OSPF设备中的Router-id,最后的00是固定值。
路由器分类
- ISIS路由器的三种类型
- Level-1路由器(只能创建level-1的LSDB)
- Level-2路由器(只能创建level-2的LSDB)
- Level-1-2路由器(路由器的默认类型,可以同时创建level-1和level-2的LSDB)
其中level-1的设备只能与同种类型的设备建立邻接关系且区域ID必须一致,然而level-2的设备可以与不同类型的设备建立邻接关系即区域ID可以不一致。现在解释为什么level-1-2的设备可以同时创建level-1和level-2的LSDB:首先level-2设备可以与不同的设备建立邻接关系,然后level-1设备只能与相同类型的设备建立邻接关系,所以只能是让level-1-2设备的Area ID与level-1设备的Area ID一致,虽然如此,但是也可以与level-2类型设备建立邻接关系。所以level-1-2设备同时与level-1设备与level-2设备建立邻接关系,于是便同时有了level-1和level-2的LSDB。
邻居Hello报文
IIH就是ISIS Hello报文,在广播类型的网络中有两种类型Hello包,分别是level-1的和level-2的ISIS Hello包。
邻居关系建立
- 点到点网络中:
- 使用两次握手,最开始都是Down状态,当收到对端发来的IIH报文之后,立即变为UP状态,但是不会考虑自己发送的IIH报文对方是否可以收到,于是会产生单方向建邻居的现象。
- 广播网络中:(必须是三次握手)
- 在本端发送了IIH报文之后,只有等对端发送给自身的IIH报文中含有自身的系统ID时,才会到达UP状态,最后进行DIS的选举。
DIS及DIS与DR的类比
首先先看一张术语对照表:
IS-IS协议可以理解为Router到Router的协议,也就是路由器到路由器的协议。
ES直接理解为终端系统就可以。
DIS理解为OSPF中的DR角色。
- DR用于减少邻接关系,减少LSA的更新,定期发送LSA,并且是触发更新。
- 而DIS用于定期的发送DD报文,使得全网设备达到统一。
在ISIS中: - 选举优先级:所有的优先级都会参与选举;OSPF-DR中设置优先级为0可以不参与选举。
- 选举等待时间:40s的等待时间用于保证所有的设备都进入选举状态。
- 备份:没有备份。
- 邻接关系:所有的设备之间都是邻接关系,也间接解释了为什么没有备份,因为所有设备都进行互联了,备份也就没有那么重要了。
- 抢占性:会进行抢占。
- 作用:周期性发送CSNP(等价于DD报文),保证MA网络中的LSDB同步。
链路状态信息的载体
- LSP PDU——用于交换链路状态信息
- 实节点LSP(普通路由器都可以发)
- 伪结点LSP(只在广播链路存在,只有DIS进行发送)
- SNP PDU——用于维护LSDB的完整与同步,且为摘要信息。
- CSNP(用于同步LSP,可以理解为DD报文)
- PSNP(用于请求和确认LSP,可以理解为LSR+LSAck)
协议报文都分为Level-1和Level-2两种,在MA网络之中所有协议报文的目的MAC地址都是组地址:
Level-1地址为:0180-C200-0014
Level-2地址为:0180-C200-0015
链路状态信息的交互
P2P网络:
- 首先有一方先发送CSNP(理解为DD报文)
- 对端收到后会发送PSNP(请求自己LSDB中没有的LSP)
- 随后更新对端未收到的报文
- 这个时候如果对端发送的PSNP报文没有到达对端,等待重传计时器到期,就会重新更新LSP进行发送
广播网络,现在RTC新加入了这个ISIS的广播网络:
- 首先先发送自身的LSP
- DIS收到之后发送CSNP进行更新数据库给新加入的设备
- 新加入的设备进行请求自身没有的LSP
- DIS发送新设备没有的LSP
MA的CSNP报文由DIS进行发送,时间默认为10s。
路由算法
虽然ISIS协议也是链路状态协议,但是并没有根据带宽来生成最终的转发路径树。ISIS将接口开销都默认设置为10,所以在端口不去考虑带宽,于是就都等价,最终生成了负载的路径树,可以通过手工修改接口的开销值进行改变路径。
网络分层路由域
在ISIS中Level-2设备是骨干设备,level-1设备是非骨干设备。ISIS协议的区域边界是整个Router,OSPF协议的区域边界就是Router的接口。
区域间路由
简单说就是,L1路由器要去访问L2的设备时,L-1-2设备会产生给L1设备产生一条默认路由,指向L2区域。
L1设备只有自身的LSDB,但是L2设备有全部的LSDB。