Are there lessons that talk about the route selection rules in RFC 1583 and 2328? Also, can you explain what will happen when routers follow different rules?
Hello Homanle21
At this point no, we don’t currently have a dedicated lesson on the site that covers the RFC 1583 vs RFC 2328 external-path-selection difference. However, we do have related lessons on LSA Type 4 (ASBR Summary) and LSA Type 5 (External LSA) that cover the building blocks about how routers combine the cost-to-ASBR with the advertised external metric to pick an external route. Understanding those will give you good context for this topic. If you think that this is something we can add, feel free to suggest it at the Lesson Ideas page:
Now, how do these different RFC standards themselves operate in a real network?
- RFC 1583 picks the best path to an external destination strictly by lowest total cost (cost to ASBR + external metric). Simple and straightforward.
- RFC 2328 (the current standard, released in 1998): When multiple ASBRs in different areas advertise the same external prefix, RFC 2328 says to prefer intra-area paths through non-backbone areas first, then fall back to cost as a tiebreaker. This rule was added specifically to prevent routing loops in designs with virtual links and multi-area ASBRs.
What happens when routers mix the standards? This is a very real possibility. Cisco IOS and IOS-XE defaults to RFC 1583 behavior, while Cisco NX-OS defaults to RFC 2328. If you have both in the same network with multiple ASBRs advertising the same external route from different areas, you can get a routing loop.
The disagreement concerning the best path causes packets to bounce back and forth, resulting in a loop. The fix is using the rfc1583compatibility command on the NX-OS router to make it match IOS behavior. RFC 2328 itself recommends that all routers in the OSPF domain use identical RFC 1583 compatibility settings to avoid exactly this problem. The following Cisco documentation describes excactly this behavior and the solution:
However, keep in mind that this only matters in larger, multi-area networks with multiple ASBRs. Single-area designs won’t hit this issue. But it’s worth knowing if you’re designing or troubleshooting a complex OSPF network!
I hope this has been helpful!
Laz