X

Routing Tables and Routing Algorithms

Routing Tables

To aid the process of path determination, routing algorithms initialize and maintain routing tables, which contain route information. Route information varies depending on the routing algorithm used. Routing algorithms fill routing tables with a variety of information. Two examples are

destination/next hop associations and path desirability.

  • – Destination/next hop associations tell a router that a particular destination is linked to a particular    router representing the “next hop” on the way to the final destination. When a router receives an    incoming packet, it checks the destination address and attempts to associate this address with a    next hop.
  • – With path desirability, routers compare metrics to determine optimal routes. Metrics differ    depending on the routing algorithm used. A metric is a standard of measurement, such as path    length, that is used by routing algorithms to determine the optimal path to a destination.

Routers communicate with one another and maintain their routing tables through the transmission of a variety of messages.

  • – Routing update messages may include all or a portion of a routing table. By analyzing routing    updates from all other routers, a router can build a detailed picture of network topology.
  • – Link-state advertisements inform other routers of the state of the sender’s link so that routers    can maintain a picture of the network topology and continuously determine optimal routes to    network destinations.

Routing Algorithm Goals

Routing tables contain information used by software to select the best route. But how, specifically, are routing tables built? What is the specific nature of the information they contain? How do routing algorithms determine that one route is preferable to others?

Routing algorithms often have one or more of the following design goals:

  Optimality  the capability of the routing algorithm to select the best route, depending on metrics    and metric weightings used in the calculation. For example, one algorithm may use a number of    hops and delays, but may weight delay more heavily in the calculation.

  Simplicity and low overhead  efficient routing algorithm functionality with a minimum of software    and utilization overhead. Particularly important when routing algorithm software must run on a    computer with limited physical resources.

 Robustness and stability – routing algorithm should perform correctly in the face of unusual or    unforeseen circumstances, such as hardware failures, high load conditions, and incorrect    implementations. Because of their locations at network junctions, failures can cause extensive    problems.

  Rapid convergence  Convergence is the process of agreement, by all routers, on optimal routes.    When a network event causes changes in router availability, recalculations are need to    restablish networks. Routing algorithms that converge slowly can cause routing loops or network    outages. 

  Flexibility  routing algorithm should quickly and accurately adapt to a variety of network    circumstances. Changes of consequence include router availability, changes in network    bandwidth, queue size, and network delay.

Routing Metrics

Routing algorithms have used many different metrics to determine the best route. Sophisticated routing algorithms can base route selection on multiple metrics, combining them in a single (hybrid) metric. All the following metrics have been used:

  Path length  The most common metric. The sum of either an assigned cost per network link or    hop count, a metric specify the number of passes through network devices between source and    destination.

  Reliability  dependability (bit-error rate) of each network link. Some network links might go    down more often than others. Also, some links may be easier or faster to repair after a failure.

   Delay  The length of time required to move a packet from source to destination through the    internetwork. Depends on bandwidth of intermediate links, port queues at each router, network    congestion, and physical distance. A common and useful metric.

  Bandwidth  available traffic capacity of a link. 

  Load – Degree to which a network resource, such as a router, is busy (uses CPU utilization or    packets processed per second).

 Communication cost  operating expenses of network links (private versus public lines).

  Now let’s talk a little about network addressing.