Network Working Group J. Moy
Request for Comments: 1765 Cascade
Category: Experimental March 1995
OSPF Database Overflow
Moy [Page 1]
RFC 1765 OSPF Database Overflow March 1995 1. OverviewOSPF requires that all OSPF routers within a single area maintain an identical copy of the OSPF link-state database. However, when the size of the link-state database becomes very large, some routers may be unable to keep the entire database due to resource shortages; we term this "database overflow". For example, a regional network may have a very large OSPF database because it is importing a large number of external routes into OSPF. Unless database overflow is handled correctly, routers will end up with inconsistent views of the network, possibly leading to incorrect routing.
Moy [Page 2]
RFC 1765 OSPF Database Overflow March 1995
The method of dealing with database overflow described herein has the following desirable properties:
2. Implementation details
This section describes the mechanism for dealing with database overflow in more detail. The section is organized around the concept OverflowState, describing how routers enter the OverflowState, the operation of the router while in OverflowState, and when the router leaves OverflowState.
Moy [Page 3]
RFC 1765 OSPF Database Overflow March 1995
ospfExtLsdbLimit MUST be set identically in all routers attached to the OSPF backbone and/or any "regular" OSPF area. (This memo does not pertain to routers contained within OSPF stub areas nor NSSAs, since such routers do not receive AS-external-LSAs.) If ospfExtLsdbLimit is not set identically in all routers, then when the database overflows: 1) the routers will NOT converge on a common link-state database, 2) incorrect routing, possibly including routing loops, will result and 3) constant retransmission of AS-external-LSAs will occur. Identical setting of ospfExtLsdbLimit is achieved/ensured by network management.
Moy [Page 4]
RFC 1765 OSPF Database Overflow March 1995
Whenever the router enters OverflowState it flushes all non- default AS-external-LSAs that it itself had originated. Flushing is accomplished through the premature aging scheme described in Section 14.1 of [1]. Only self-originated LSAs are flushed; those originated by other routers are kept in the link-state database.
Moy [Page 5]
RFC 1765 OSPF Database Overflow March 1995
2.3.2. Originating AS-external-LSAs
3. An example
As an example, suppose that a router implements the database overflow logic, and that its ospfExtLsdbLimit is 10,000 and its ospfExitOverflowInterval is set to 600 seconds. Suppose further that the router itself is originating 400 non-default AS-external-LSAs, and that the current number of non-default AS-external-LSAs in the router's database is equal to 9,997. Next, it receives a Link State Update packet from a neighbor, containing 6 non-default AS-external-LSAs, none of which have current database copies. The first two LSAs are then installed in the database. The third LSA is also installed in the database, but causes the router to go into OverflowState. Going into OverflowState causes the router to flush (via premature aging) its 400 self-originated non-default LSAs. However, these 400 LSAs are still considered to be part of the link-state database until their re-flooding (with age set to MaxAge) is acknowledged (see Section 14 of [1]); for this reason, the last three LSAs in the received update are discarded without being acknowledged.
Moy [Page 6]
RFC 1765 OSPF Database Overflow March 1995
After some small period of time all routers will converge on a common database, having less than 10,000 non-default AS-external-LSAs. During this convergence period there may be some link-state retransmissions; for example, the sender of the above Link State Update packet may retransmit the three LSAs that were discarded. If this retransmission happens after the flushing of the 400 self- originated LSAs is acknowledged, the 3 LSAs will then be accepted.
4. Administrative response to database overflow
Once the link-state database has overflowed, it may take intervention by network management before all routing is restored. (If the overflow condition is transient, routing may be restored automatically; see Section 2.4 for details.) An overflow condition is indicated by SNMP traps (see Appendix B). Possible responses by a network manager may include:
Moy [Page 7]
RFC 1765 OSPF Database Overflow March 1995 5. Operational experienceThe database overflow scheme described in this memo has been implemented in the Proteon router for a number of years, with the following differences. First, the router did not leave OverflowState until it was restarted (i.e., ospfExitOverflowInterval was always 0). Second, default AS-external-LSAs were not separated from non-default AS-external-LSAs. Operationally the scheme performed as expected: during overflow conditions, the routers converged on a common database having less than a configured number of AS-external-LSAs.
6. Possible enhancements
Possible enhancements to the overflow scheme include the following:
A. Related MIB parameters
The following OSPF MIB variables have been defined to support the database overflow procedure described in this memo (see [4] for more information):
Moy [Page 8]
RFC 1765 OSPF Database Overflow March 1995
ospfLsdbOverflow