组网如上:
现网建立OSPF邻居的设备上dis ospf statistics error, bad ack和less recent lsa均有历史计数增长
首先在A设备上通过配置产生新的LSA, 此时A会将这个lsa发给B, B会将这个lsa洪泛给C,同时将这个lsa挂到重传链上并启动重传定时器。如果B收到了C应答的ack就会从重传链上摘除这个lsa,否则,等待重传定时器超时后,就会再次向C发送lsa,一直到收到C应答的ack为止。
重传定时器的时间可以配置,同时为了避免大量重传发生时,重传的时间点太过集中对设备性能造成较大影响,协议有一个重传定时器的抖动机制。 默认情况下,重传定时器是5秒,由于抖动机制的存在,第一次重传定时器的超时时间会均匀的分布在1~5秒后。 而对端设备收到LSU报文,应答ACK报文不会实时发送,通常会过1秒左右。
因此,在这种串联组网中概率会出现短时间内(1秒左右)B给C已经发送了2个lsu报文,C才开始应答ack,此时C会将之前收到了2个lsu对应的ack都返回,通过抓包或者debug调试也可以看到B收到了C发送的ack报文中,有两个一样的ack信息。 随后B处理该ACK报文时, 逐个ack解析处理,解析第一个ack时,摘除了重传链,形成闭环,处理第二个ack的时候,由于重传链上已经没有数据了,就会记录invalid的bad ack。
因此,这个bad ack的少量增长,是正常的报文交互过程中满足特定的时序产生的,不存在功能的问题。
实验复现通过debug的详细过程来解析下这个过程:
组网中A、B、C建立OSPF邻居,A设备引入直连。B设备从C收到重复lsack,产生Bad ack计数。
我们实施的复现操作: OSPF邻居建立后,A设备引入直连。
debug过程分析如下:
B设备debug ospf packet update、debug ospf packet ack
A->B LSU
*Dec 29 21:12:30:020 2022 MSR5660-2 OSPF/7/DEBUG: Source address: 10.0.0.1
*Dec 29 21:12:30:020 2022 MSR5660-2 OSPF/7/DEBUG: Destination address: 224.0.0.5
*Dec 29 21:12:30:020 2022 MSR5660-2 OSPF/7/DEBUG: Version 2, Type: 4, Length: 184.
*Dec 29 21:12:30:020 2022 MSR5660-2 OSPF/7/DEBUG: Router: 10.0.0.1, Area: 0.0.0.0, Checksum: 20701.
*Dec 29 21:12:30:020 2022 MSR5660-2 OSPF/7/DEBUG: Authentication type: 00, Key(ASCII): 0 0 0 0 0 0 0 0.
*Dec 29 21:12:30:020 2022 MSR5660-2 OSPF/7/DEBUG: LSA count: 4.
B->C LSU
*Dec 29 21:12:30:047 2022 MSR5660-2 OSPF/7/DEBUG: OSPF 1: Sending packets.
*Dec 29 21:12:30:047 2022 MSR5660-2 OSPF/7/DEBUG: Source address: 20.0.0.1
*Dec 29 21:12:30:047 2022 MSR5660-2 OSPF/7/DEBUG: Destination address: 224.0.0.5
*Dec 29 21:12:30:047 2022 MSR5660-2 OSPF/7/DEBUG: Version 2, Type: 4, Length: 184.
*Dec 29 21:12:30:047 2022 MSR5660-2 OSPF/7/DEBUG: Router: 10.0.0.2, Area: 0.0.0.0, Checksum: 20696.
*Dec 29 21:12:30:047 2022 MSR5660-2 OSPF/7/DEBUG: Authentication type: 00, Key(ASCII): 0 0 0 0 0 0 0 0.
*Dec 29 21:12:30:047 2022 MSR5660-2 OSPF/7/DEBUG: LSA count: 4.
B->A LSACK
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: OSPF 1: Sending packets.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: Source address: 10.0.0.2
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: Destination address: 224.0.0.5
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: Version 2, Type: 5, Length: 104.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: Router: 10.0.0.2, Area: 0.0.0.0, Checksum: 62267.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: Authentication type: 00, Key(ASCII): 0 0 0 0 0 0 0 0.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 1, Link state ID: 10.0.0.1, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 2 Options: External routing:ON.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: Length: 48 Sequence number: 80000004 Checksum: 12693.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 1.1.1.1, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 2 Options: External routing:ON.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 44244.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 2.2.2.2, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 2 Options: External routing:ON.
*Dec 29 21:12:31:027 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 32510.
*Dec 29 21:12:31:028 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 10.0.0.0, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:028 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 2 Options: External routing:ON.
*Dec 29 21:12:31:028 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 22563.
C->B LSACK
*Dec 29 21:12:31:052 2022 MSR5660-2 OSPF/7/DEBUG: OSPF 1: Receiving packets.
*Dec 29 21:12:31:052 2022 MSR5660-2 OSPF/7/DEBUG: Source address: 20.0.0.2
*Dec 29 21:12:31:052 2022 MSR5660-2 OSPF/7/DEBUG: Destination address: 224.0.0.5
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: Version 2, Type: 5, Length: 104.
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: Router: 20.0.0.2, Area: 0.0.0.0, Checksum: 59703.
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: Authentication type: 00, Key(ASCII): 0 0 0 0 0 0 0 0.
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 1, Link state ID: 10.0.0.1, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 3 Options: External routing:ON.
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: Length: 48 Sequence number: 80000004 Checksum: 12693.
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 1.1.1.1, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 3 Options: External routing:ON.
*Dec 29 21:12:31:053 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 44244.
*Dec 29 21:12:31:054 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 2.2.2.2, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:054 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 3 Options: External routing:ON.
*Dec 29 21:12:31:054 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 32510.
*Dec 29 21:12:31:054 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 10.0.0.0, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:054 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 3 Options: External routing:ON.
*Dec 29 21:12:31:054 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 22563.
B->C 第二次发LSU,与第一次21:12:30:047发LSU间隔约1s。
*Dec 29 21:12:31:067 2022 MSR5660-2 OSPF/7/DEBUG: OSPF 1: Sending packets.
*Dec 29 21:12:31:067 2022 MSR5660-2 OSPF/7/DEBUG: Source address: 20.0.0.1
*Dec 29 21:12:31:067 2022 MSR5660-2 OSPF/7/DEBUG: Destination address: 224.0.0.5
*Dec 29 21:12:31:067 2022 MSR5660-2 OSPF/7/DEBUG: Version 2, Type: 4, Length: 184.
*Dec 29 21:12:31:067 2022 MSR5660-2 OSPF/7/DEBUG: Router: 10.0.0.2, Area: 0.0.0.0, Checksum: 20692.
*Dec 29 21:12:31:067 2022 MSR5660-2 OSPF/7/DEBUG: Authentication type: 00, Key(ASCII): 0 0 0 0 0 0 0 0.
*Dec 29 21:12:31:067 2022 MSR5660-2 OSPF/7/DEBUG: LSA count: 4.
C->B 第二次发LSACK,与第一次21:12:31:052发的LSACK相同。
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: OSPF 1: Receiving packets.
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: Source address: 20.0.0.2
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: Destination address: 224.0.0.5
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: Version 2, Type: 5, Length: 104.
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: Router: 20.0.0.2, Area: 0.0.0.0, Checksum: 59703.
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: Authentication type: 00, Key(ASCII): 0 0 0 0 0 0 0 0.
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 1, Link state ID: 10.0.0.1, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 3 Options: External routing:ON.
*Dec 29 21:12:31:068 2022 MSR5660-2 OSPF/7/DEBUG: Length: 48 Sequence number: 80000004 Checksum: 12693.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 1.1.1.1, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 3 Options: External routing:ON.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 44244.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 2.2.2.2, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 3 Options: External routing:ON.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 32510.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: LSA type: 5, Link state ID: 10.0.0.0, Advertising router: 10.0.0.1.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: LSA age: 3 Options: External routing:ON.
*Dec 29 21:12:31:069 2022 MSR5660-2 OSPF/7/DEBUG: Length: 36 Sequence number: 80000001 Checksum: 22563.
此时B设备记录了bad ack的增长。
<B>dis ospf statistics error
OSPF Process 1 with Router ID 10.0.0.2
OSPF Packet Error Statistics
0 : Router ID confusion 0 : Bad packet
0 : Bad version 0 : Bad checksum
0 : Bad area ID 0 : Drop on unnumbered link
0 : Bad virtual link 0 : Bad authentication type
0 : Bad authentication key 0 : Packet too small
0 : Neighbor state low 0 : Transmit error
0 : Interface down 0 : Unknown neighbor
0 : HELLO: Netmask mismatch 0 : HELLO: Hello-time mismatch
0 : HELLO: Dead-time mismatch 0 : HELLO: Ebit option mismatch
0 : DD: MTU option mismatch 0 : DD: Unknown LSA type
0 : DD: Ebit option mismatch 1 : ACK: Bad ack
0 : ACK: Unknown LSA type 0 : REQ: Empty request
0 : REQ: Bad request 0 : UPD: LSA checksum bad
0 : UPD: Unknown LSA type 0 : UPD: Less recent LSA
另外如果现网为ABCD四台设备环形组网建立OSPF邻居,A发出的报文在B、C上重新打时间戳,发到D的时候的先后和时间戳都无法保证,正常报文交互过程中出现less recent lsa很常见,不会影响业务。
综上,OSPF错包技术中缓慢出现BAD ACK和Less recent LSA,属于报文交互时间差导致的正常现象,无需纠结。当出现大量、急速的增长时才需要特意关注。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作