ISIS特性使用指南Word格式.docx
《ISIS特性使用指南Word格式.docx》由会员分享,可在线阅读,更多相关《ISIS特性使用指南Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
![ISIS特性使用指南Word格式.docx](https://file1.bdocx.com/fileroot1/2023-2/3/032745ae-6e01-4991-a9ad-ce1275a84290/032745ae-6e01-4991-a9ad-ce1275a842901.gif)
如果经过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的同步过程。
这种方式在很大程度上可以提高整个网络的收敛速度。
用户可以使用flash-flood命令指定每次扩散的LSP数量。
用于控制LSP快速扩散的命令是
Flash-floodlsp-number<
1-15>
为提高收敛速度可把lsp-number设成15
智能定时器
改进了路由算法后,如果触发路由计算的间隔较长,同样会影响网路的收敛速度。
使用毫秒级定时器可以缩短这个间隔时间,但如果网络变化比较频繁,又会造成过度占用CPU资源。
使用SPF智能定时器可以在一定程度上缓解这个问题,它既可以对少量的外界突发事件进行快速响应,又可以避免过度的占用CPU。
通常情况下,一个正常运行的IS-IS网络是稳定的,发生大量的网络变动的几率很小,IS-IS路由器不会频繁的进行路由计算,所以第一次触发的时间可以设置的非常短(毫秒级)。
如果拓扑变化比较频繁,智能定时器会随着计算次数的增加,间隔时间也会逐渐延长,避免占用大量的CPU资源。
与SPF智能定时器类似的还有LSP生成智能定时器。
在IS-IS协议中,当LSP生成定时器到期时,系统会根据当前拓扑重新生成一个自己的LSP。
原有的实现机制是采用间隔时间定长的定时器,不能同时满足快速收敛和低CPU占用率的需要。
为此将LSP生成定时器也设计成智能定时器,使其可以对于突发事件(如接口Up/Down)快速响应,加快网络的收敛速度。
同时,当网络变化频繁时,智能定时器的间隔时间会自动延长,避免过度占用CPU资源。
在IS-IS协议中,当本地路由信息发生变化时,路由器将产生新的LSP来通告这种变化。
当本地路由信息的变化比较频繁时,必须延迟一定的时间产生新的LSP,以避免占用大量的系统资源,导致系统性能下降。
但另一方面,如果产生LSP的延迟时间过长,会导致本地路由信息的变化无法及时的通告到邻居路由器,使得网络收敛速度变慢。
使用智能定时器可以解决上述问题,它可以根据网络变化频繁程度自动调整延迟时间。
用于控制spf调度的命令是
timerspfMaximum-interval<
1-120s>
Initial-wait<
1-100000ms>
Incremental-interval<
控制lsp产生的命令是:
timerlsp-generationMaximum-interval<
参数说明
max-interval:
产生LSP的最大间隔时间。
init-interval:
产生同一LSP分片的延迟时间。
incr-interval:
两次产生同一LSP分片之间的递增时间间隔,每次都增大为前一次的两倍。
如果在2倍的最大时间间隔内没有产生同一LSP分片,则上述计时器会复位。
在高端路由器上可参考以下值
SPF
LSP-Generation
参考值
缺省值
Maximum-interval
1s
10s
5s
Initial-wait
50ms
100ms
Incremental-interval
120ms
IS-IS快速收敛时间参数表
这些定时器应根据网络的实际情况和设备的性能进行调整,不能为了追求快速而牺牲了网络的稳定性。
网络类型优化
IS-IS在广播网上的邻接关系建立过程和point-to-point接口上的处理是完全不同的,当广播网上只有两台物理设备互相链接时,将二者看作broadcast类型的邻接关系的管理优势就体现不出来了(比如DIS的概念),这时可以将他们模拟为point-to-point邻接关系。
LSP长度的调整
在邻居关系建立以后,邻居之间将进行路由信息同步,为了加快同步的速度,可将LSP长度调大,考虑到长度超过MTU值的LSP会被分片,因此应该先把MTU值改大,但应注意全网的MTU值要改成一致,否则大的分片在小MTU值的接口将不能通过。
路由的稳定性
接口damping
在网络中,设备接口可能会因各种原因而导致接口频繁up、down,造成路由协议等反复振荡,路由的变化会造成短暂的业务中断,或造成数据流的乱序。
为防止不稳定链路频繁up/down造成的路由波动,启动链路Damping机制。
当每次链路状态变化时,为其实施惩罚,当惩罚值累计大于一个抑制阈值后,将其抑制(如果此时接口是up也会被认为处于down的状态),IS-IS不再感知其变化。
这个惩罚值随着时间呈指数下降,到达一个活动阈值后,解除抑制(此时接口会向协议上报自己最终的状态)。
配置:
control-flapsuppress<
1-20000>
reuse<
ceiling<
suppress,20000>
decay-ok<
1s-45min>
decay-ng<
缺省参数为
参数
suppress
reuse
ceiling
Decay-ok
Decay-ng
2000
750
20000
54s
建议采用缺省参数
control-flap使用的是bgp协议的damp算法,提供的可设置参数为5个,
接口未被抑止时的半衰期decay-ok
接口被抑止时的半衰期decay-ng
接口重用门限reuse
接口抑止门限suppress
接口最大惩罚值ceiling
实现的算法如下:
当接口第一次收到down事件时,将惩罚值置为1000,惩罚值随着时间衰减,衰减频率由配置的半衰期decay-ok和decay-ng决定,以后每次收到down事件都会将当前衰减后的惩罚值加1000,当惩罚值达到抑止门限suppress时就将接口抑止,如果惩罚值达到了最大惩罚值,惩罚值就不在增加,当接口趋于稳定后,惩罚值降到重用门限reuse,接口就解除抑止。
需要注意的是使能了damping以后会影响协议收敛的速度。
Graceful-Restart
在主控板进行主备倒换时,也需要保持路由的稳定性,这称为不间断路由(NoStopRouting)。
目前常用的是Graceful-Restart技术。
Graceful-Restart(以下简称GR)是一种冗余容错技术,支持GR能力的路由器在路由协议重启的时候能够确保流量转发的正常,以保证关键业务不中断。
在没有采用GR时,由于各种原因引起的主备倒换会导致数据转发的短暂中断,并且会引起全网的路由震荡。
如下图:
当R1主备倒换时,R2将会中断跟R1之间的邻居关系,并且马上会删除FIB表中相关的转发条目;
同时R2会把拓扑变化信息通告给邻居。
在R1备用主控板切换成主用主控板并完成路由发布和计算之前所有经过R1转发的数据将会中断。
当R1和R2重新建立起邻居后,R2又会把拓扑变化信息通告给邻居,造成网络震荡。
对于大型网络特别是运营上来说这些路由震荡和转发中断是不可容忍的,但是采用了GR以后即可避免上述问题。
当R1和R2均支持GR时,它们之间通过交换hello报文协商成具有GR能力的邻居关系。
当R2检测到R1发生故障时并不中断跟R1的邻居关系,而是启动一个restarttimer,在计时器超时之前R2不会删除和R1的邻居关系,也不会删除和R1相关的转发信息,所有去往R1的流量将继续被转发到R1。
R1在主备倒换时也不删除业务板里的转发信息,而是打上一个stale的标记,经过R1的流量也不会中断。
R1完成倒换后,会向R2发送一个带restartrequest的hello报文,R2收到后就不会复位跟R1的邻居关系,而是给R1发送一个restartacknowledgement,R1收到后会重建跟R2的邻居关系,邻居关系重建后R1和R2之间会重新同步数据库,完成路由信息的交换,R1经过路由计算后会刷新路由表,完成路由协议的收敛。
在这个过程中,R1R2上的数据转发不会中断,R2不会把拓扑变化信息通告给其他邻居,因此网络上除了R2外其他路由均不知道R1的协议重启了,从而避免了由于R1主备倒换给网络带来的震荡。
采用了GR技术以后,可以解决网络上个别路由器由于协议重启所带来的丢包和路由震荡,因此建议在全网所有支持GR的路由器上启用GR功能。
LSP的老化时间和刷新周期
缺省情况下LSP的老化时间为1200s,刷新周期为900s,为了减少LSP周期性更新给网络带来的冲击可考虑把老化时间和刷新周期调大,但由此带来的缺点是无效的路由信息将会长时间驻留在数据库里。
考虑到LSP出错的几率很低,建议修改成较大值。
其他特性的使用
set-overloadon-startupwait-for-bgp
在ISISLSP报文里面定义了一个叫overload的标志位,当该位置位时表示本路由器因内存不足而导致LSDB不完整,其他路由器在计算路由时会忽略掉该路由信息,因此不会把需要此路由器转发的报文发给它,但到此路由器直连地址的报文仍然可以被转发。
如下图,图中所有路由器均运行BGP,并且R1,R2,R4,R5都通过RR学到R3发布的1.1.1.1/32路由,正常情况下R1通过路由递归查询查到去往1.1.1.1的下一跳为R2直联R1的接口地址,流量通过R2正常转发到R3。
当R2发生故障时,R1会重新计算出到1.1.1.1的链路为R1R4R5R3,流量将通过备份路径到达R3。
当R2重新上线后R1到1.1.1.1的流量会重新通过R2转发,但由于BGP的收敛时间要比ISIS长的多,这时候R2上面由于没有到达1.1.1.1的BGP路由,去往1.1.1.1的数据将在R2上被丢弃,在BGP收敛前将出现路由黑洞。
如果在R2上启用ISISset-overloadon-startupwait-for-bgp后,R2在启动后会创建一个计时器,在该计时器超时前或BGP收敛之前,R2发布的LSP均打上overload的标记(除直联链路的LSP),于是在BGP收敛之前或计时器超时之前所有去往1.1.1.1的数据不过通过R2转发,而会通过备份链路转发,从而避免了路由黑洞的出现。
当R2上BGP完成收敛以后,BGP会通知ISIS清除overload位,从而恢复R2的转发能力。
其中5~86400为计时器超时的时间,缺省为600s,应根据网络BGP收敛的路由速度适当调整。
动态主机名
动态主机名交换机制是为了方便对IS-IS网络的维护和管理而引入的,它为IS-IS路由器提供了一种从主机名到SystemID映射的服务。
这个动态的主机名信息在LSP中以一个动态主机名TLV的形式发布。
这个机制同时还提供将主机名与广播网中的DIS相关联的服务,并将此信息通过伪节点的LSP以动态主机名TLV的形式发布出去。
在维护和管理中,使用主机名比使用SystemID会更直观,也更容易记忆。
配置此功能后,当在路由器上使用display命令显示IS-IS相关信息时,看到的是路由器的主机名,而不再是SystemID。
smallhello
在邻接关系的建立过程中,IS-IS需要检查两端的MTU是否大小一致,缺省情况下,IS-IS协议在将Hello报文填充至MTU大小。
IS-IS最近的增强功能取消了该做法以简化Hello报文的收发操作,减小对于网络带宽的浪费。
建议在VRPV5R1D051之前的版本如果ISIS邻居在10个以上最好使能该特性(邻居双方都应使能)。
使能该特性后在邻居建立以后设备发送的hello报文就不再填充到MTU大小,而只有100字节左右。