Unformatted text preview: that starts at 0 when the node turns
on, and increments by 1 each time the node sends an LSA. This information is used by the
ﬂooding process, as follows. When a node receives an LSA that originated at another node,
s, it ﬁrst checks the sequence number of the last LSA from s. It uses the “origin addr” ﬁeld
of the LSA to determine who originated the LSA. If the current sequence number is greater
than the saved value for that originator, then the node re-broadcasts the LSA on all its links,
and updates the saved value. Otherwise, it silently discards the LSA, because that same SECTION 18.5. A SIMPLE LINK-STATE ROUTING PROTOCOL 11 or later LSA must have been re-broadcast before by the node. There are various ways to
improve the performance of this ﬂooding procedure, but we will stick to this simple (and
For now, let us assume that a node sends out an LSA every time it discovers a new
neighbor or a new link gets added to the network. The next lecture will reﬁne this step to
send advertisements periodically, in order to handle failures and packet losses, as well as
changes to the link costs.
18.5.2 Integration step: Dijkstra’s shortest path algorithm The competent programmer is fully aware of the limited size of his own skull. He
therefore approaches his task with full humility, and avoids clever tricks like the plague.
—Edsger W. Dijkstra, in The Humble Programmer, CACM 1972
You probably know that arrogance, in computer science, is measured in nanodijkstras.
—Alan Kay, 1997
The ﬁnal step in the link-state routing protocol is to compute the minimum-cost paths
from each node to every destination in the network. Each node independently performs
this computation on its version of the network topology (map). As such, this step is quite
straightforward because it is a centralized algorithm that doesn’t require any inter-node
coordination (the coordination occurred during the ﬂooding of the advertisements).
Over the past few decades, a number of algorithms for computing various properties over graph...
View Full Document
This document was uploaded on 02/26/2014 for the course CS 6.02 at MIT.
- Fall '13