ISIS目前作为骨干网唯一的路由协议,收敛速度是非常值得关注的。而普通的IGP路由收敛方式为用HELLO报文检测链路失效,周期性传递LSA的方式(在收到整个LSA的时候再向邻居扩散)。所以在网络规模扩大的时候,LSDB随之增大,SPF的计算时间也会相当漫长。为了改进计算方法,我们设计了如下几种改进方案。
I-SPF(IncrementalSPF)
I-SPF是指增量路由计算,顾名思义它每次只对变化的一部分路由进行计算,而不是对全部路由重新计算。在ISO-10589中定义使用Dijkstra算法进行路由计算。当网络拓扑中有一个节点发生变化时,这种算法需要重新计算网络中的所有节点,计算时间长,占用过多的CPU资源,影响整个网络的收敛速度。
I-SPF改进了这个算法,除了第一次计算时需要计算全部节点外,每次只计算影响的节点,而最后生成的最短路径树SPT与原来的算法所计算的结果相同,大大降低了CPU的占用率,提高了网络收敛速度。
PRC(PartialRoute
Calculation)
部分路由计算PRC的原理与I-SPF相同,都是只计算变化的那一部分。但PRC不需要计算节点路径,而是根据I-SPF算出来的SPT来更新叶子(路由)。
在路由计算中,路由代表叶子,路由器则代表节点。如果I-SPF计算后的SPT改变,PRC会只处理那个变化的节点上的所有叶子;如果经过I-SPF计算后的SPT并没有变化,则PRC只处理变化的叶子信息。
比如一个节点使
I-SPF(Incremental
I-SPF是指增量路由计算,顾名思义它每次只对变化的一部分路由进行计算,而不是对全部路由重新计算。在ISO-10589中定义使用Dijkstra算法进行路由计算。当网络拓扑中有一个节点发生变化时,这种算法需要重新计算网络中的所有节点,计算时间长,占用过多的CPU资源,影响整个网络的收敛速度。
I-SPF改进了这个算法,除了第一次计算时需要计算全部节点外,每次只计算影响的节点,而最后生成的最短路径树SPT与原来的算法所计算的结果相同,大大降低了CPU的占用率,提高了网络收敛速度。
PRC(Partial
部分路由计算PRC的原理与I-SPF相同,都是只计算变化的那一部分。但PRC不需要计算节点路径,而是根据I-SPF算出来的SPT来更新叶子(路由)。
在路由计算中,路由代表叶子,路由器则代表节点。如果I-SPF计算后的SPT改变,PRC会只处理那个变化的节点上的所有叶子;如果经过I-SPF计算后的SPT并没有变化,则PRC只处理变化的叶子信息。
比如一个节点使