rfc-1793

Extending OSPF to Support Demand Circuits

J. Moy
date1995-04 streamIETF areartg wgospf statusPROPOSED STANDARD pages32 canonicalhttps://www.rfc-editor.org/rfc/rfc1793 doi10.17487/RFC1793
This memo defines enhancements to the OSPF protocol that allow efficient operation over "demand circuits". [STANDARDS-TRACK]

updated by

Extracted elements (29)

design-rationale §2.3

A MaxAge interval (not a shorter one) is required before flushing stale DoNotAge LSAs from an unreachable originator to avoid thrashing—flushing an LSA only to have it reoriginated soon afterwards. This ensures DoNotAge LSAs are removed no faster than naturally aged LSAs.

routing

design-rationale §3.2

Hello suppression is not provided for broadcast and NBMA networks configured as demand circuits because correct operation of the Designated Router election algorithm requires periodic Hello exchange. These network types therefore keep data-link connections constantly open despite being configured as demand circuits, gaining only reduced flooding traffic.

routing

design-rationale §1

Oversubscription (inability to open all demand circuit connections simultaneously) is deliberately treated as a local resource problem rather than a routing unreachability event. Discarding packets to unopenable circuits rather than reporting unreachability prevents excessive routing churn when connections temporarily cannot be established.

routing

design-rationale §2.4

The flooding algorithm change (Section 2.4, sending back a more recent database copy instead of discarding a stale received LSA) is applied to all interfaces, not just demand circuits, because it also resolves the problem of MaxAge LSAs blocking the flooding of new LSA instances with initial sequence numbers.

routing

design-rationale §6

The periodic LSA refresh (every LSRefreshInterval) provided in standard OSPF acts as protection against database corruption due to software errors. Over demand circuits this protection is removed, requiring routers to correctly hold DoNotAge LSAs indefinitely. Additionally, the ospfAreaLSACksumSum and ospfExternLSACksumSum MIB variables can no longer reliably verify database synchronization across demand circuits because LS Sequence Numbers (covered by the checksum) will differ.

routing

design-rationale §8

Topology changes are always flooded immediately over demand circuits (even requiring reconnection) rather than being delayed until circuits open for application traffic, because delayed flooding would sometimes impair discovery of new network destinations.

routing

interoperability-note §3.5

For Point-to-MultiPoint interfaces, Hello suppression is negotiated independently on each component point-to-point link. Negotiation may succeed on some component links and fail on others; this is acceptable. Failed links continue sending periodic Hellos.

routing

interoperability-note §2.5

Unmodified OSPF routers will likely treat DoNotAge LSAs as MaxAge LSAs, potentially causing continual retransmissions. To prevent this, DoNotAge LSAs are only used in areas where all LSAs have the DC-bit set, ensuring backward compatibility.

routing

interoperability-note §4.2

When a non-supporting router (not implementing demand circuit extensions) joins an OSPF domain, its router-LSA will lack the DC-bit, causing all DoNotAge LSAs to be flushed throughout the domain and reverting flooding over demand circuits to standard OSPF behavior. However, Hello suppression already in effect on demand circuits continues even after this reversion.

routing

normative-requirement §3.4 MUST

A router implementing Sections 2 and 3 MUST always treat virtual links as demand circuits, negotiating Hello suppression and using demand circuit flooding. Virtual link state is determined by existence of an intra-area path through the transit area, not by data-link diagnostics.

routing

normative-requirement §2.1 MUST

A router MUST set the DC-bit in the Options field of all LSAs it originates if it implements Section 2 of this memo, regardless of LSA type and regardless of whether it implements demand circuit endpoint functionality.

routing

normative-requirement §2.5.1 SHOULD

An area border router SHOULD originate indication-LSAs into all directly-connected regular areas (including backbone) if its connected regular non-backbone area has LSAs with DC-bit clear (other than indication-LSAs), or if the backbone has non-indication-LSAs with DC-bit clear from other routers.

routing

normative-requirement §2.5 SHOULD

DoNotAge LSAs are allowed in an OSPF area if and only if all LSAs in the area's link state database have the DC-bit set in their Options field. If any LSA lacks the DC-bit, the router SHOULD flush all DoNotAge LSAs from the area, which will be reoriginated with DoNotAge clear.

routing

normative-requirement §3.3 MUST

Flooding over demand circuits is modified only if all LSAs in the area's link state database have the DC-bit set. When modified: (1) only truly changed LSAs are flooded (periodic refreshes with unchanged content are suppressed), and (2) DoNotAge MUST be set in LSA copies flooded out demand interfaces (except when LS age equals MaxAge).

routing

normative-requirement §3.2 MUST NOT

For broadcast and NBMA networks configured as demand circuits, there are no changes to the Interface State Machine or Hello sending/receiving, because proper Designated Router election requires periodic Hello exchange.

routing

normative-requirement §2.3 REQUIRED

Routers are REQUIRED to flush a DoNotAge LSA if both: (1) the LSA has been in the router's database for at least MaxAge seconds, and (2) the originator of the LSA has been unreachable for at least MaxAge seconds. This is an exception to the normal rule that only self-originated LSAs can be flushed.

routing

normative-requirement §2.5.1.1 SHOULD NOT

To limit indication-LSA proliferation, an ABR SHOULD NOT originate indication-LSAs into an area that already has non-indication LSAs with DC-bit clear, and SHOULD NOT originate into an area if another ABR with a higher OSPF Router ID has already originated one there.

routing

normative-requirement §2.4 MUST

When a Link State Update is received containing an LSA less recent than the database copy, the router MUST send the database copy back to the sending neighbor (encapsulated in a Link State Update) without placing it on the retransmission list and without acknowledging the received instance. This applies to all interfaces, not just demand circuits.

routing

normative-requirement §3.3 MUST

When checking if an LSA has changed, the following constitute content changes: Options field changed; either instance has LS age of MaxAge; length field changed; or LSA contents excluding the 20-byte header changed (excluding LS Sequence Number and LS Checksum changes).

routing

normative-requirement §2.2 MUST

When comparing two LSA instances, the DoNotAge bits MUST be masked off from the LS age fields before comparison. For backward compatibility, when flushing LSAs the MaxAge form (not DoNotAge+MaxAge) MUST always be used.

routing

protocol-element §2.1

A new DC-bit is added to the OSPF Options field to indicate demand circuit capability. A router sets the DC-bit in all self-originated LSAs if it can correctly process DoNotAge LSAs, and sets it in Hello and Database Description packets if it wants to treat the attached point-to-point link as a demand circuit.

routing

protocol-element §B

A new OSPF interface configuration parameter 'ospfIfDemand' is defined. When TRUE, Section 3 procedures are followed. On point-to-point interfaces this enables circuit closure when idle; on broadcast/NBMA interfaces it reduces flooding traffic but cannot close the data-link due to required periodic Hellos.

routing

protocol-element §3.2.1

Hello suppression on point-to-point demand circuits is negotiated by both endpoints setting the DC-bit in Hello and Database Description packets. Receiving a Hello or DBD with DC-bit set indicates agreement. Receiving a Hello with DC-bit clear that also lists the router's ID (indicating bidirectionality), or a DBD with DC-bit clear, indicates refusal and causes reversion to periodic Hellos.

routing

protocol-element §2.5.1

Indication-LSAs are type-4-summary (ASBR-summary) LSAs with the LSA's cost set to LSInfinity and the DC-bit clear, originated by area border routers to convey the existence of DoNotAge-incapable routers across area boundaries. They always have the DC-bit clear and are used even when the originating ABR is not actually an ASBR.

routing

security-consideration §Security Considerations

Security issues are not discussed in this memo. No security mechanisms specific to demand circuit operation are defined.

security, routing

state-machine §3.1

A point-to-point demand circuit interface is in state 'Point-to-point' if its neighbor is in state '1-Way' or greater; otherwise it is 'Down'. Hellos are sent at PollInterval when in 'Down' state. After successful Hello suppression negotiation and neighbor reaching 'Full', Hellos cease. An LLDown event forces both interface and neighbor back to 'Down'.

routing

state-machine §3.2.2

After successful Hello suppression negotiation, Hellos are sent over point-to-point demand circuits only until the neighbor reaches state 'Full'. Thereafter, the InactivityTimer has no effect on demand circuit neighbors in state 'Loading' or 'Full'. The neighbor transitions back to 'Down' only upon a discouraging diagnostic code from a failed call, not merely from the data-link connection closing to save resources.

routing

wire-format §C

The DoNotAge architectural constant equals 0x8000 (the high bit of the 16-bit LS age field). The OSPF Options field bit layout is: T | E | MC | N/P | EA | DC | * | *, where the DC-bit is the third bit from the high end.

routing

wire-format §2.2

The DoNotAge bit is defined as the high bit (0x8000) of the 16-bit LS age field in OSPF LSAs. When set, the LSA is not aged in the link state database and does not require periodic refresh every LSRefreshInterval. Valid LS age values fall in two ranges: 0 through MaxAge and DoNotAge through DoNotAge+MaxAge.

routing