4 - Routing Algorithms
Published online by Cambridge University Press: 05 June 2012
Summary
A process (a node in a computer network) is in general not connected directly to every other process by a channel. A node can send packets of information directly only to a subset of the nodes called the neighbors of the node. Routing is the term used to describe the decision procedure by which a node selects one (or, sometimes, more) of its neighbors to forward a packet on its way to an ultimate destination. The objective in designing a routing algorithm is to generate (for each node) a decision-making procedure to perform this function and guarantee delivery of each packet.
It will be clear that some information about the topology of the network must be stored in each node as a working basis for the (local) decision procedure; we shall refer to this information as the routing tables. With the introduction of these tables the routing problem can be algorithmically divided into two parts; the definition of the table structure is of course related to the algorithmical design.
Table computation. The routing tables must be computed when the network is initialized and must be brought up to date if the topology of the network changes.
Packet forwarding. When a packet is to be sent through the network it must be forwarded using the routing tables.
Criteria for “good” routing methods include the following.
Correctness. The algorithm must deliver every packet offered to the network to its ultimate destination.
- Type
- Chapter
- Information
- Introduction to Distributed Algorithms , pp. 103 - 154Publisher: Cambridge University PressPrint publication year: 2000