OSPF LSA 组定步特性答应路由器将OSPF 连接状态通告组织在一起,并为刷新、校验以及生存期这些功能定步调。组定步的结果会更有效地使用路由器。
路由器将OSPF LSA组织在一起并为刷新、校验和以及生存期功能定步调,防止冲击CPU和网络资源。该特性对大型的OSPF网络有益。OSPF LSA组定步缺省时有效。对于普通用户来讲,缺省的组定步时间间隔对于刷新、校验和以及生存期都是适宜的,不需要配置该特性。
一、原始的LSA特性
每一个OSPF LSA都有一个生存期,它指示LSA是否仍然还有效。一旦LSA到达了最大生存期(1小时),它就会被抛弃。在生存期内,源路由器每30分钟发送一个刷新包来刷新LSA。发送刷新包为了防止LSA过期,不管网络拓朴结构是否有变化。每10分钟在所有LSA上完成一次校验和。路由器对它产生的LSA和从其他路由器接收的LSA保持跟踪。路由器刷新它产生的LSA;计算从其他路由器接收的LSA的生存期。
在具有LSA组定步特性之前,Cisco IOS软件在一个计时器上完成刷新,在另一个计时器上完成校验和及生存期计算。比如刷新时,软件每30分钟扫描一次整个数据库,刷新路由器产生的每一个LSA,不管它有多老了。图11-1表示所有的LSA立即被刷新。该过程浪费了CPU的资源,因为只有一小部分数据库需要被刷新。一个大型的OSPF数据库(几千个LSA)包括上千个具有不同生存期的LSA。在一个计时器上的刷新导致所有LSA的生存期同步,引起立即产生多个CPU进程。而且,巨大数量的LSA还能引起网络传输量剧增,在短时间消耗大量的网络资源。
所有LSA被刷新,以太网上120个外部LSA需要3个包
定步前,所有的LSA立即被刷新
图1 单个计时器上的没有组定步的OSPF LSA
二、解决方法
这个问题通过使每个LSA具有自己的计时器来解决。还借用这个刷新示例,30分钟后每个LSA都得到刷新,与其他LSA无关。所以CPU只在需要时才被使用。但是,频繁地、随意地、刷新的LSA需要那些路由器必须发送出去的、很少被刷新的LSA提供许多包。这将降低带宽的利用率。
在频繁地、随意的时间间隔内,另一个LSA需要被刷新 这个被刷新的包只包含几个LSA 单个LSA计时器
有组定步的单个LSA计时器
图2 在单个计时器上有组定步的OSPF LSA
因此,用路由器延迟一个时间间隔来代替单个计时器时间直至完成LSA刷新功能。累积的LSA组成一个组,然后被刷新,并在一个或几个包中被发送出去。这样,刷新包被定步、校验和及计算生存期也一样。定步间隔是可配置的,缺省值是4分钟,为进一步避免同步而被随意化了。
组定步间隔与路由器正在刷新、做校验和及计算生存期的LSA的个数成反比。比如,假设有将近10,000个LSA,减小定步间隔是有益的。假如有一个很小的数据库(40~100个LSA),那么将定步间隔增加到10~20分钟会稍有益处的。
LSA组之间的定步缺省值是240秒(4分钟)。取值范围在10秒到1800秒之间(半小时)。为了修改LSA组定步间隔,在路由器配置方式中执行下列命令:
命令
作用
lsa-group-pacing seconds
修改LSA组定步。