Reliable Flooding: Sequencing, Checksums, and Aging
Each LSA contains three values that are used to ensure that the most recent copy of the LSA exists in
every database. These values are sequence number, checksum, and age.
OSPF uses a linear sequence number space and 32-bit signed sequence numbers ranging from InitialSequenceNumber (0x80000001) to
MaxSequenceNumber (0x7fffffff). When a router originates an LSA, the router sets the LSA’s sequence
number to InitialSequenceNumber. Each time the router produces a new instance of the LSA, the router
increments the sequence number by one.
If the present sequence number is MaxSequenceNumber and a new instance of the LSA must be created,
the router must first flush the old LSA from all databases. This is done by setting the age of the existing
LSA to MaxAge and reflooding it over all adjacencies. As soon as all adjacent neighbors have acknowledged the prematurely aged LSA, the new instance of the LSA with a sequence number of InitialSequenceNumber may be flooded.
The checksum is a 16-bit integer calculated using a Fletcher algorithm. The checksum is calculated over
the entire LSA with the exception of the Age field (which changes as the LSA passes from node to node
and would therefore require recalculation of the checksum at each node). The checksum of each LSA is
also verified every five minutes as it resides in the link state database, to ensure that it has not been
corrupted in the database.
The age is an unsigned 16-bit integer that indicates the age of the LSA in seconds. The range is 0 to 3600
(1 hour, known as MaxAge). When a router originates an LSA, the router sets the age to 0. As the flooded
LSA transits a router, the age is incremented by a number of seconds specified by InfTransDelay. Cisco
routers have a default InfTransDelay of 1 second, which can be changed with the command ip ospf
transmit-delay. The age is also incremented as it resides in the database.
When an LSA reaches MaxAge, the LSA is reflooded and then flushed from the database. When a router
needs to flush an LSA from all databases, it prematurely sets the age to MaxAge and refloods it. Only the
router that originated the LSA can prematurely age it.