The New Routing Algorithm for the ARPANET

The New Routing Algorithm for the ARPANET

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-28, NO. 5, MAY 1980 71 1 The New Routing Algorithmfor the ARPANET JOHN M. McQUILLAN,MEMBER, IEEE. IRA RICHER,MEMBER. IEEE. AND ERIC C. ROSEN Absrracr-The new ARPANET routingalgorithm is animprovement test results. This paper is a summary of our conclusions only; over theold procedurein that it uses fewer network resources, operates on for more complete descriptions of our research findings, see more realistic estimates of network conditions, reacts faster to important our internai reportson this project [3] -[5]. network changes, and does not suffer from long-term loopsor oscillations. In the new procedure, each node in the network maintainsa database 11. PROBLEMS WITH THE ORIGINAL ALGORITHM describing the complete network topology and the delays on all lines, and uses the databasedescribing the network to generate a tree representing the me original ARPANET routing algorithm and the new ver- minimum delay pathsfrom a given root node to every other network node.sion both attempt to route packets along paths of least delay. Becausethe traffic in thenetwork can be quite variable, each node The total path is not determined in advance; rather, each node periodically measures the delays along its outgoing lines and forwards this information to all other nodes. The delay information propagates quickly decides which line to use in forwarding the packet to the next through the network so thatall nodes can update their databases and node. In the original approach, each node maintained a table continue to route traffic in a consistent and efficient manner. of estimated delay to each other node, and sent itstable to all An extensive series of tests were conducted on the ARPANET, showing adjacent nodes every 128 ms. When node I received the table that line overhead andCPU overhead are 60th less than two percent, most from adjacent node J, it would first measure the delay from it- nodeslearn ofan updatewithin 100 ms, andthe algorithm detects congestion and routes packets around congested areas. self to J. (we will shortly discuss the procedure used for meas- uring the delay.) Then it would compute its delay via J to all other nodes by adding to each entry inSs table its own delay I. INTRODUCTION to J. Once a table was received from all adjacent nodes, nodeI HE last decade has seen the design, kfdementation, and could easily determine which adjacent node wouldresult in Toperation of several routing algorithms for distributed net- the shortest delay to each destination node in the network. worksof computers. The firstsuch algorithm,the original In recent years, we began to observe a number of problems routing algorithm for the ARPANET, has served remarkably with the original ARPANET routing algorithm [7] and came well considering how long ago (in the history of packet switch- to the conclusion that a complete redesign was the only way ing) it was conceived. This paperdescribes the new routing to solve some of them. In particular,.we decided that a new algorithm we installed recently in the ARPANET. Readers not algorithm was necessary to solve the following problems. familiar with our earlier activities may consult [I] for a survey 1) Although the exchange of routing tables consumed only ofthe ARPANET design decisions,. induding the previous a s..aLfraction of line bandwidth, the packets containing the routing algorithm; readers interested in a survey of routing al- tables were long, and the periodicTransmission and processing gorithms for other computer networks and currentresearch in of suchlong, high-prioritypackets can adversely affectthe the area may consult [2]. flow of network traffic. Moreover, as the ARPANET grows to A distributed, adaptive routing schemetypically has a 100 or more nodes, the routing packets would become cor- number of separate components, including: 1) a measurement respondingly larger (ormore frequent),exacerbating the process fordetermining pertinent network characteristics, problem. 2) a protocol for disseminating informationabout these 2) The route calculation is performed in a distributed man- characteristics, and 3) a calculation to determine how traffic ner, with each node basing its calculation on local information shouldbe routed. A routing “algorithm” or “procedure” is togetherwith calculations madeat every othernode. With not specified until all these components are defined.In the such a scheme, it is difficult to ensure that routes used by dif- presentpaper, we discuss these componentsof the new ferent nodes are consistent. ARPANET algorithm. We begin with abrief outline of the 3) The rate ofexchange of routing tables and the distributed shortcomings of the original algorithm; then,following an over- nature of the calculations causes a dilemma: the network is view of the new procedure, we provide some greater detail on too slow in adapting to congestion and to important topology the individual components. The new algorithm has undergone changes, yet it can respond too quickly (and, perhaps, inac- extensivetesting in the A*ANET under operational condi- curately) to minor changes. tions, and thefinal section of thepaper gives a summary of the The delay measurement procedure of the oldARPANET routing algorithm is quite simple. Periodically, an IMP counts Paper approved by the Editor for Computer Communication of the the number of packets queued for transmission on its lines and IEEE Communications Societyfor publication withoutoral presentation. Manuscript received May 11, 1979; revised October 5, 1979. This work adds a constant to these counts; the resulting number is the was supported by theDefense Advanced Research Projects Agency “length” of the line for purposes of routing. This delay meas- under ARPA Order 3941, and by the Defense Communications Agency urement procedure has three serious defects. (DoD) under Contract MDA903-78C-0129, monitored by DSSW. The authors are with Bolt Beranek and Newman Inc., Cambridge, 1) If two lines have different speeds, or different propaga- MA 02138. tion delays, then the fact that the same number of packets is 0090-6778/80/0500-0711$00.75 0 1980 IEEE 712 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-28, NO. 5, MAY 1980 queued for each line does not imply that packets can expect given node,the root of thetree. A recent article [9] dis- equaldelays over thetwo lines. Even if two lines have the cusses some of these algorithms and references several survey same speed andpropagation delay, a difference in the size articles. The algorithm we have implemented is based on one ‘of the packets which are queued for each line may cause dif- attributed to Dijkstra [lo] ; because of its search rule, we call ferent delays on the two lines. it the shortest-path-first(SPF) algorithm. 2) In the ARPANET, where the queues are constrained to The basic SPF algorithm uses a database describing the net- have a (short) maximum length, queue length is a poor indi- work to. generate a tree representing the minimum delay paths cator of delay. The constraints on queue length are imposed from a given root node to every other network node. Fig. 1 by the software in orderto fairly resolve contention for a limitedshows a simplified flowchart of the algorithm. The database amount of resources. There are a number of suchresources specifies which nodes are directly connected to which other which must be obtained before a packet can even be queued nodes, and what the average delay per packet is on each net- for an output line. If a packet must wait a significant amount work line. (Both types of data are updated dynamically, based of time to get these resources, it may experience a long delay, on real-time measurements.) The tree initially consists of just even though the queue forits output line is quite short. the root node. The tree is then augmented to contain the node 3) An instantaneous measurement of queue lengthdoes not that is closest (in delay) to the root and that is adjacent to a accurately predict average delay because there is a significant node already on the tree. The process coritinueP by repetition real-time fluctuation in queue lengths at any traffic level. Our of this last step. LIST denotesa data structure containing measurements show that under a high constant offered load, nodesthat have notyet been placed onthe tree but are the average delay is high, but many individual packets show neighbors of nodes that are on the tree. The tree is built up lowdelays, andthe queue length often falls to zero!This shortest-paths-first-hence, the name of the algorithm. Event- variation may be due tovariation in the utilization of the CPU, ually, the furthest node from the rootis added to the tree, and or to other bottlenecks, thepresence of whichis not accurately the algorithm terminates. We have made important additions reflected by measuring queue lengths. to this basic algorithm so that changes in network topology or These threedefects are all reflectionsof a single point, characteristics require only an incremental calculation rather namely, that the length of an output queue is only one of than a complete recalculation of all shortest paths. many factors that affect a packet’s delay. A measurement pro- Fig. 2 shows a six-node network and thecorresponding cedure that takes into account only one such factor cannot shortest path tree for node 1. The figure also shows the rout- give accurate results. ing directory which ‘is produced by the algorithm and which The new routing algorithm is an improvement over the old wouldbe used bynode 1 to dispatch traffic. Forexample, one in that it uses fewer network resources, operates on more traffic for node 4 is routed via node 2. Only the routing direc- realistic estimates of network conditions, reacts faster to im- tory is used in forwardingpackets; the tree is used only in portant network changes, and does not suffer from long-term creating the directory.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us