The new ARPANET routing algorithm is an improvement over the old procedure in that it uses fewer network resources, operates on more realistic estimates of network conditions, reacts faster to important network changes, and does not suffer from long-term loops or oscillations. In the new procedure, each node in the network maintains a database describing the complete network topology and the delays on all lines, and uses the database describing the network to generate a tree representing the minimum delay paths from a given root node to every other network node. Because the traffic in the network can be quite variable, each node periodically measures the delays along its outgoing lines and forwards this information to all other nodes. The delay information propagates quickly through the network so that all nodes can update their databases and continue to route traffic in a consistent and efficient manner. An extensive series of tests were conducted on the ARPANET, showing that line overhead and CPU overhead are both less than two percent, most nodes learn of an update within 100 ms, and the algorithm detects congestion and routes packets around congested areas.
[1]
Edsger W. Dijkstra,et al.
A note on two problems in connexion with graphs
,
1959,
Numerische Mathematik.
[2]
David C. Walden,et al.
The ARPA Network Design Decisions
,
1977,
Comput. Networks.
[3]
Donald B. Johnson,et al.
Efficient Algorithms for Shortest Paths in Sparse Networks
,
1977,
J. ACM.
[4]
I. Richer,et al.
A Review of the Development and Performance of the ARPANET Routing Algorithm
,
1978,
IEEE Trans. Commun..
[5]
J.M. McQuillan.
Enhanced message addressing capabilities for computer networks
,
1978,
Proceedings of the IEEE.
[6]
Dimitri Bertsekas.
Dynamic models of shortest path routing algorithms for communication networks with multiple destinations
,
1979,
1979 18th IEEE Conference on Decision and Control including the Symposium on Adaptive Processes.
[7]
Eric C. Rosen.
The Updating Protocol of the ARPANET's New Routing Algorithm: A Case Study in Maintaining Identical Copies of a Changing Distributed Data Base
,
1979,
Berkeley Workshop.