Thursday, September 25, 2008

OSPF routing part I - RFC1583 vs RFC2328

When i first came across the router ospf command 'no compatible rfc1583' and read the cisco command reference description i was left feeling rather puzzled. I have pasted the Cisco documentation in the command reference section below.

The usage guidelines states
Because of the introduction of RFC 2328, OSPF Version 2, the method used to calculate summary route costs has changed. Use the no compatible rfc1583 command to enable the calculation method used per RFC 2328.

IMO this description, especially in the midst of a CCIE lab, would not be that helpfull in terms of understanding how and when to use this command. It doesn't really give enough context, unless you reference the RFC documentation which of course will not be available to you in the lab. Hence i have written the following to further expand on the use of this command in the OSPF routing protocol.

In the first implementation of OSPF (RFC1583) the summary route would assume the cost of the granular route with the lowest cost. This was and still is the default behaviour on Cisco routers.

When OSPF RFC 2328 came along this was changed so that the summary route assumes the cost of the granular route with the highest cost.

To enable the behaviour of RFC 2328 execute 'no compatible rfc1583' at the config router prompt. It is necessary to enable this command on all routers in the OSPF domain. If not the summary route from ABRs usind RFC 1583 will be chosen in preference, since the cost they are advertising will be lower.
One further point is how this command will slightly modify OSPFs behaviour. OSPF will re-advertise the summary whenever the cost of the summary changes. When using the default RFC 1583 behaviour this will be when the granular route with the lowest metric is changed or lost, wherease when RFC 2328 is used, this will be done dependant on the granular route with the highest cost.