Connected: An Internet Encyclopedia
RFC 1812 - E.3.3 The OSPF Algorithm

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1812
Up: APPENDIX E Additional Next-Hop Selection Algorithms
Up: E.3 Some Route Lookup Algorithms
Prev: E.3.2 The Variant Router Requirements Algorithm
Next: E.3.4 The Integrated IS-IS Algorithm

### E.3.3 The OSPF Algorithm

OSPF uses an algorithm that is virtually identical to the Router Requirements Algorithm except for one crucial difference: OSPF considers OSPF route classes.

The algorithm is:

1. Basic match
2. OSPF route class
3. Longest match
4. Weak TOS
5. Best metric
6. Policy

Type of service support is not always present. If it is not present then, of course, the fourth step would be omitted

This algorithm has some advantages over the Revised Classic Algorithm:

1. It supports type of service routing.

2. Its rules are written down, rather than merely being a part of the Internet folklore.

3. It (obviously) works with OSPF.

However, this algorithm also retains some of the disadvantages of the Revised Classic Algorithm:

1. Path properties other than type of service (e.g., MTU) are ignored.

2. As in the Revised Classic Algorithm, the details (or even the existence) of the Policy step are left to the discretion of the implementor.

The OSPF Algorithm also has a further disadvantage (which is not shared by the Revised Classic Algorithm). OSPF internal (intra- area or inter-area) routes are always considered to be superior to routes learned from other routing protocols, even in cases where the OSPF route matches fewer bits of the destination address. This is a policy decision that is inappropriate in some networks.

Finally, it is worth noting that the OSPF Algorithm's TOS support suffers from a deficiency in that routing protocols that support TOS are implicitly preferred when forwarding packets that have non-zero TOS values. This may not be appropriate in some cases.

Next: E.3.4 The Integrated IS-IS Algorithm

Connected: An Internet Encyclopedia
RFC 1812 - E.3.3 The OSPF Algorithm