06-13-2012 05:33 AM - edited 03-07-2019 07:13 AM
Hello,
According to Cisco, each router originally advertising an LSA refloods each LSA based on a per-LSA Link State Refresh timer(30 minutes default).
In case that other routers do not have their LSA refreshed within each's LSA Maxage timer, they will remove the LSA from their database.
I would like to know, if someone could explain, why is it necessary to have these LSA flooded throughout the area when OSPF triggers LSA Updates every time any LSA changes its sequence number, or when it is being deleted from the database, or whenver a data base change occurs.
I understand its required by the Maxage timer, but what is logical reason of this Maxage ?
According to RFC 2328 "This periodic updating of LSAs adds robustness to the link state algorithm".
Thanks in advance !
Solved! Go to Solution.
06-13-2012 12:33 PM
Hello Alex,
To add to other friends' answers here, in OSPF, no router is allowed to prematurely delete other router's LSAs from its link-state database. LSAs may only be removed from the link-state database either if they reached their maximum age, or if their original advertising router has explicitly flushed them by flooding them with the age set to MaxAge. The loss of a neighbor does not result in its LSAs being flushed.
This has an interesting effect: a restarted router will resume the sequence numbers of its LSAs. If a neighbor transiently goes away and returns after some time, when it starts synchronizing its link-state database, its own LSAs will be sent to it. The router will notice the sequence numbers of its own (albeit older) LSAs and subsequently emit its own LSAs with a higher sequence number, effectively resuming its own sequencing. Note that this procedure is necessary: if the router restarted sooner than in 3600 seconds and reverted back to the initial sequence number of 0x80000001, other routers would not accept this LSA because they would still have an LSA stored whose sequence number is higher.
Please feel welcome to ask further!
Best regards,
Peter
06-13-2012 05:56 AM
Hi,
If a router crash, a LSA can stays in the ospf database mark as unreachable. A some point, 60 minutes if I remember correctly, the maxage timer expire and the entry is completely removed. If maxage was not there, you could have a memory problem after a while.
06-13-2012 06:02 AM
Hello Dominic,
But if the router crashes, the neighbor will mark him as down after the timeout period, and will remove all the LSA that were learned from him and let the others know about it. Isn't this correct ?
Thanks.
06-13-2012 06:13 AM
No...the router that is originating the LSA needs to flood a LSA with age set to maxage to remove it from the database. This apply to the database and not the routing table. When a network is unreachable, ospf will remove it from the routing table.
06-13-2012 06:09 AM
hey Alex,
if the state of a link changes for any reason, the Directly attached router detects it and triggers an update regarding to Link's State change.
now, if a router shuts down or removed from the network, all of its attached routes will be unreachable and there would be no router to update the network about what happened. so if we only rely on triggered updates, these kind of situations create a black hole in the network, unless we monitor every move manually.
plz Rate if it helped.
Soroush.
06-13-2012 12:33 PM
Hello Alex,
To add to other friends' answers here, in OSPF, no router is allowed to prematurely delete other router's LSAs from its link-state database. LSAs may only be removed from the link-state database either if they reached their maximum age, or if their original advertising router has explicitly flushed them by flooding them with the age set to MaxAge. The loss of a neighbor does not result in its LSAs being flushed.
This has an interesting effect: a restarted router will resume the sequence numbers of its LSAs. If a neighbor transiently goes away and returns after some time, when it starts synchronizing its link-state database, its own LSAs will be sent to it. The router will notice the sequence numbers of its own (albeit older) LSAs and subsequently emit its own LSAs with a higher sequence number, effectively resuming its own sequencing. Note that this procedure is necessary: if the router restarted sooner than in 3600 seconds and reverted back to the initial sequence number of 0x80000001, other routers would not accept this LSA because they would still have an LSA stored whose sequence number is higher.
Please feel welcome to ask further!
Best regards,
Peter
06-14-2012 12:49 AM
Hey Peter,
So if a router sees a neighbor down, he cannot delete the LSAs learned from him. The only way to do it, is to wait for the maxage to expire and then it will flush them out from the database. And the second option is for another router to reflood these LSAs with the max age timer set ?
06-14-2012 12:53 PM
Hello Alexandru,
So if a router sees a neighbor down, he cannot delete the LSAs learned from him.
That is correct. There is a rule in link-state protocols: you can never touch nor modify someone else's LSAs. You can at most ignore them in your own SPF calculation if they fail certain checks, but you are not allowed to not flood them or to flush them just because you think that's a good idea The only reason to flush someone else's LSAs is when their age grows over a maximum threshold.
The only way to do it, is to wait for the maxage to expire and then it will flush them out from the database.
Correct.
And the second option is for another router to reflood these LSAs with the max age timer set ?
Yes, with the "another router" being the author of these LSAs (the advertising router).
Best regards,
Peter
06-15-2012 06:28 AM
Thanks Peter for your detailed explanation, now everything is clear.
Cheers.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide