I have a Cisco 2600 that is acting as DR on an Ethernet LAN with one other router on that network. It will happily become adjacent with the other router and they share their link databases. I can cause further LS updates to the 2600 and they are installed in its link state database. The 2600 is hence accepting these link updates but it is not acknowledging any of them.
RFC2328 section 13.5:
Each newly received LSA must be acknowledged. This is usually done by sending Link State Acknowledgment packets. However, acknowledgments can also be accomplished implicitly by sending Link State Update packets
The 2600 isn't doing this - any idea why?
I can see that it wouldn't ack explicitly if it could send out do it implicitly by multicasting out the LSA update. I can also see that this update might not happen if there is no other router present than the one that sent the LSA update, as the DR will know that all the routers on the network are up to date, but then shouldn't it ack the update explicitly?
A non-DR router on an Ethernet segment detects a topology change and needs to inform other routers about it. It sends the LSU packet to the DR and BDR using the 188.8.131.52 destination IP address.
Both DR and BDR receive the packet. Normally, you would expect that the DR would send an LSAck acknowledging the successful receipt of the LSU. However, the DR needs to propagate the LSU back to the segment using the 184.108.40.206 destination IP address anyway, so it just does exactly that, without sending a standalone LSAck.
The original router receives the same update from the DR, and it considers it as an implicit acknowledgement. No further LSAck from the DR is expected. Other routers on the segment receive the LSU and acknowledge its receipt via an explicit LSAck message back to the DR. This is an explicit form of acknowledgement. Are you on a broadcast or point-to-point network.
Please share the output of:
show ip ospf neighbors
Kind regards, Eehab
Thanks Eehab, this is on Ethernet, which is a broadcast network.
I understand this but the DR (2600) is not sending out any LSU either.
I think this is because there are no other routers on the network and hence no need to transmit an LSU.
Hence there is no acknowledgement of the original LSU either explicitly or implicitly.
As I wrote originally, the 2600 is using the LSU and installing the LSAs in its database so it's just ignoring the LSU.