3)棒棒糖序列号空间
这种方法是线性序列号空间和循环序列号空间的综合,它有一个线性组件和一个圆形组件;性线空间的缺点是不能循环使用序列号,即序列号是有限的,而圆形空间的缺点是不存在一个数小于其他所有的数;其结构如下:
当路由器重启时,它将从小于其他所有数的a开始,邻居将会识别出这个数,这时如果邻居数据库中还保留有上次序列号为b的LSA,那么它们会发送b给路由器A,则路由器A将跳至该序列号。在知道自己重启前使用的序列号之前,路由器A可能会发送不止一个LSA,因此,在邻居通知路由器A上次使用的序列号或上次使用的序列号从所有数据库中消失之前,必须准备充足的启动数以便路由器A不会用光所有重启序列号。
这些线性重启序列号开成了棒棒糖的棒;在这些数用完或邻居提供了使路由器A跳转的序列号之后,路由器A进行循环数空间,也就是棒棒糖的糖体部分。棒棒糖序列号空间使用了有符号数,即-k<0<k。从-k到-1的负数形成棒棒,从0到k的正数形成循环空间。其规则如下:< p="">
假设给出两个数a、b及一个序列号空间n,当且仅当:
a < 0 且 a < b, 或
a > 0, a < b, 且 (b-a) < n/2, 或
a > 0, b > 0, a > b, 且 (a-b) > n/2
认为b比a更新!
棒棒糖形序列号空间用在OSPFv1(RFC 1131)中。当前使用的OSPF版本2采用了线性和棒棒糖形序列号空间的最好的特性。OSPFv2像棒棒糖形序列号一样使用了从0×80000001开始的有符号数空间,但是当序列号数变为正数时,序列号间持续保持线性直至到达最大数0×7FFFFFFF为止。此时,在重启之前OSPF进程必须从所有链路状态数据库中删除LSA。
2、老化(Aging)
LAS包格式中有一个年龄字段,当LSA被创建时,路由器将该字段设置为0,随着数据包的扩散,每台路由器都会增加通告中的年龄。当然,另一个选项是从某个最大年龄开始,然后递减,OSPF是递增,IS-IS是递减。