IGP:ISIS的几种快速收敛特性

ISIS目前作为骨干网唯一的路由协议,收敛速度是非常值得关注的。而普通的IGP路由收敛方式为用HELLO报文检测链路失效,周期性传递LSA的方式(在收到整个LSA的时候再向邻居扩散)。所以在网络规模扩大的时候,LSDB随之增大,SPF的计算时间也会相当漫长。为了改进计算方法,我们设计了如下几种改进方案。

I-SPF(Incremental SPF)

I-SPF是指增量路由计算,顾名思义它每次只对变化的一部分路由进行计算,而不是对全部路由重新计算。在ISO-10589中定义使用Dijkstra算法进行路由计算。当网络拓扑中有一个节点发生变化时,这种算法需要重新计算网络中的所有节点,计算时间长,占用过多的CPU资源,影响整个网络的收敛速度。

I-SPF改进了这个算法,除了第一次计算时需要计算全部节点外,每次只计算影响的节点,而最后生成的最短路径树SPT与原来的算法所计算的结果相同,大大降低了CPU的占用率,提高了网络收敛速度。

PRC(Partial Route Calculation)

部分路由计算PRC的原理与I-SPF相同,都是只计算变化的那一部分。但PRC不需要计算节点路径,而是根据I-SPF算出来的SPT来更新叶子(路由)。

在路由计算中,路由代表叶子,路由器则代表节点。如果I-SPF计算后的SPT改变,PRC会只处理那个变化的节点上的所有叶子;如果经过I-SPF计算后的SPT并没有变化,则PRC只处理变化的叶子信息。

比如一个节点使能一个IS-IS接口,则整个网络拓扑的SPT是不变的,这时PRC只更新这个节点的接口路由,从而节省CPU占用率。

PRC和I-SPF配合使用可以将网络的收敛性能进一步提高,它是原始SPF算法的改进,所以已经代替了原有的算法。

LSP快速扩散

为了加快整个网络的收敛速度,当IS-IS收到其它路由器发来的LSP时,如果此LSP比自己LSDB中的要新,按原来RFC协议的实现,则是用一个定时器,定时将LSDB内的LSP扩散出去,所以LSDB的同步会比较缓慢。

LSP快速扩散特性改进了这种方式,配置此特性的路由器收到一个或多个比较新的LSP时,在路由计算之前,先将小于指定数目的LSP扩散出去,加快LSDB的同步过程。这种方式在很大程度上可以提高整个网络的收敛速度。

智能定时器

改进了路由算法后,如果触发路由计算的间隔较长,同样会影响网路的收敛速度。使用毫秒级定时器可以缩短这个间隔时间,但如果网络变化比较频繁,又会造成过度占用CPU资源。SPF智能定时器既可以对少量的外界突发事件进行快速响应,又可以避免过度的占用CPU。

通常情况下,一个正常运行的IS-IS网络是稳定的,发生大量的网络变动的几率很小,IS-IS路由器不会频繁的进行路由计算,所以第一次触发的时间可以设置的非常短(毫秒级)。如果拓扑变化比较频繁,智能定时器会随着计算次数的增加,间隔时间也会逐渐延长,避免占用大量的CPU资源。