Back
Home
Routing Basics
-
- Routing Basics
What is Routing?
Routing is the act of moving information across an internetwork from a source
to a destination.
Along the way, at least one intermediate node typically is encountered.
Routing is often contrasted
with bridging, which might seem to accomplish precisely the same thing to the
casual observer. The
primary difference between the two is that bridging occurs at Layer 2 (the
link layer) of the OSI
reference model, whereas routing occurs at Layer 3 (the network layer). This
distinction provides
routing and bridging with different information to use in the process of
moving information from
source to destination, so the two functions accomplish their tasks in
different ways.
The topic of routing has been covered in computer science literature for more
than two decades, but
routing achieved commercial popularity as late as the mid-1980s. The primary
reason for this time
lag is that networks in the 1970s were fairly simple, homogeneous
environments. Only relatively
recently has large-scale internetworking become popular.
Routing Components
Routing involves two basic activities: determining optimal routing paths and
transporting
information groups (typically called packets) through an internetwork. In the
context of the routing
process, the latter of these is referred to as switching. Although switching
is relatively
straightforward, path determination can be very complex.
Path Determination
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. 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. Destination/next hop
associations tell a router that a particular destination can be gained
optimally by sending the packet
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. Figure depicts a sample destination/next hop routing table.
Destination/next hop associations determine the data's optimal path

- Routing tables also can
contain other information, such as data about the desirability of a path.
Routers compare metrics to determine optimal routes, and these metrics differ
depending on the
design of the routing algorithm used. A variety of common metrics will be
introduced and described
later in this chapter.
Routers communicate with one another and maintain their routing tables through
the transmission
of a variety of messages. The routing update message is one such message that
generally consists of
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. A link-state advertisement,
another example of a
message sent between routers, informs other routers of the state of the
sender's links. Link
information also can be used to build a complete picture of topology to enable
routers to determine
optimal routes to network destinations.
-
- Switching
Switching algorithms are relatively simple and are basically the same for most
routing protocols. In
most cases, a host determines that it must send a packet to another host.
Having acquired a router's
address by some means, the source host sends a packet addressed specifically
to a router's physical
(Media Access Control [MAC]-layer) address, this time with the protocol
(network layer) address
of the destination host.
As it examines the packet's destination protocol address, the router
determines that it either knows
or does not know how to forward the packet to the next hop. If the router does
not know how to
forward the packet, it typically drops the packet.
-
- If the router knows how to
forward the packet, it changes the destination physical address to that of the
- next hop and transmits the
packet. The next hop may, in fact, be the ultimate destination host.
- If not, the next hop is
usually another router, which executes the same switching decision process.
- As the packet moves through
the internetwork, its physical address changes, but its protocol address
- remains constant, as
illustrated in Figure .
-
- The preceding discussion
describes switching between a source and a destination end system. The
International Organization for Standardization (ISO) has developed a
hierarchical terminology that
is useful in describing this process. Using this terminology, network devices
without the capability
to forward packets between subnetworks are called end systems (ESs), whereas
network devices
with these capabilities are called intermediate systems (ISs).
-
- ISs are further divided into
those that can communicate within routing domains (intradomain ISs) and
- those that communicate both
within and between routing domains (interdomain ISs). A routing domain
- generally is considered to
be a portion of an internetwork under common administrative authority that
- is regulated by a particular
set of administrative guidelines.
-
- Routing domains are also
called autonomous systems. With certain protocols, routing domains can be
- divided into routing areas,
but intradomain routing protocols are still used for switching both within and
between
- areas.
Numerous routers may come into play during the switching process

-
- Routing Algorithms
Routing algorithms can be differentiated based on several key characteristics.
First, the particular
goals of the algorithm designer affect the operation of the resulting routing
protocol. Second, various
types of routing algorithms exist, and each algorithm has a different impact
on network and router
resources. Finally, routing algorithms use a variety of metrics that affect
calculation of optimal
routes. The following sections analyze these routing algorithm attributes.
Design Goals
Routing algorithms often have one or more of the following design goals:
. Optimality
. Simplicity and low overhead
. Robustness and stability
. Rapid convergence
. Flexibility
Optimality refers to the capability of the routing algorithm to select the
best route, which depends
on the metrics and metric weightings used to make the calculation. One routing
algorithm, for
example, may use a number of hops and delays, but may weight delay more
heavily in the
calculation. Naturally, routing protocols must define their metric calculation
algorithms strictly.
Routing algorithms also are designed to be as simple as possible. In other
words, the routing
algorithm must offer its functionality efficiently, with a minimum of software
and utilization
overhead. Efficiency is particularly important when the software implementing
the routing algorithm
must run on a computer with limited physical resources.
Routing algorithms must be robust, which means that they should perform
correctly in the face of
unusual or unforeseen circumstances, such as hardware failures, high load
conditions, and incorrect
implementations. Because routers are located at network junction points, they
can cause
considerable problems when they fail. The best routing algorithms are often
those that have
withstood the test of time and have proven stable under a variety of network
conditions.
In addition, routing algorithms must converge rapidly. Convergence is the
process of agreement, by
all routers, on optimal routes. When a network event causes routes either to
go down or become
available, routers distribute routing update messages that permeate networks,
stimulating
recalculation of optimal routes and eventually causing all routers to agree on
these routes. Routing
algorithms that converge slowly can cause routing loops or network outages.
In the routing loop displayed in Figure 5-3, a packet arrives at Router 1 at
time t1. Router 1 already
has been updated and thus knows that the optimal route to the destination
calls for Router 2 to be the
next stop. Router 1 therefore forwards the packet to Router 2, but because
this router has not yet been
updated, it believes that the optimal next hop is Router 1. Router 2 therefore
forwards the packet
back to Router 1, and the packet continues to bounce back and forth between
the two routers until
Router 2 receives its routing update or until the packet has been switched the
maximum number of
times allowed.
Slow convergence and routing loops can hinder progress
-
-
-
- Routing algorithms should
also be flexible, which means that they should quickly and accurately
adapt to a variety of network circumstances. Assume, for example, that a
network segment has gone
down. As they become aware of the problem, many routing algorithms will
quickly select the
next-best path for all routes normally using that segment. Routing algorithms
can be programmed to
adapt to changes in network bandwidth, router queue size, and network delay,
among other variables.
-
- Algorithm Types
Routing algorithms can be classified by type. Key differentiators include:
. Static versus dynamic
. Single-path versus multi-path
. Flat versus hierarchical
. Host-intelligent versus router-intelligent
. Intradomain versus interdomain
. Link state versus distance vector
Static Versus Dynamic
Static routing algorithms are hardly algorithms at all, but are table mappings
established by the
network administrator prior to the beginning of routing. These mappings do not
change unless the
network administrator alters them. Algorithms that use static routes are
simple to design and work
well in environments where network traffic is relatively predictable and where
network design is
relatively simple.
Because static routing systems cannot react to network changes, they generally
are considered
unsuitable for today's large, changing networks. Most of the dominant routing
algorithms in the
1990s are dynamic routing algorithms, which adjust to changing network
circumstances by
analyzing incoming routing update messages.
-
- If the message indicates
that a network change has occurred, the routing software recalculates routes
- and sends out new routing
update messages. These messages permeate the network, stimulating routers
- to rerun their algorithms
and change their routing tables accordingly.
Dynamic routing algorithms can be supplemented with static routes where
appropriate. A router of
last resort (a router to which all unroutable packets are sent), for example,
can be designated to act
as a repository for all unroutable packets, ensuring that all messages are at
least handled in some way.
-
- Single-Path Versus Multipath
Some sophisticated routing protocols support multiple paths to the same
destination. Unlike
single-path algorithms, these multipath algorithms permit traffic multiplexing
over multiple lines.
The advantages of multipath algorithms are obvious: They can provide
substantially better
throughput and reliability.
Flat Versus Hierarchical
Some routing algorithms operate in a flat space, while others use routing
hierarchies. In a flat routing
system, the routers are peers of all others. In a hierarchical routing system,
some routers form what
amounts to a routing backbone.
-
- Packets from non-backbone
routers travel to the backbone routers,where they are sent through the
backbone
- until they reach the general
area of the destination. At this point, they travel from the last backbone
router
- through one or more
non-backbone routers to the final destination.
Routing systems often designate logical groups of nodes, called domains,
autonomous systems, or
areas. In hierarchical systems, some routers in a domain can communicate with
routers in other
domains, while others can communicate only with routers within their domain.
-
- In very large networks,
additional hierarchical levels may exist, with routers at the highest
hierarchical level
forming the routing backbone.
The primary advantage of hierarchical routing is that it mimics the
organization of most companies
and therefore supports their traffic patterns well. Most network communication
occurs within small
company groups (domains).
-
- Because intradomain
routers need to know only about other routers within their domain, their
routing algorithms
- can be simplified, and,
depending on the routing algorithm being used, routing update traffic can be
reduced accordingly.
Host-Intelligent Versus Router-Intelligent
Some routing algorithms assume that the source end-node will determine the
entire route. This is
usually referred to as source routing. In source-routing systems, routers
merely act as
store-and-forward devices, mindlessly sending the packet to the next stop.
Other algorithms assume that hosts know nothing about routes. In these
algorithms, routers
determine the path through the internetwork based on their own calculations.
In the first system, the
hosts have the routing intelligence. In the latter system, routers have the
routing intelligence.
The trade-off between host-intelligent and router-intelligent routing is one
of path optimality versus
traffic overhead. Host-intelligent systems choose the better routes more
often, because they typically
discover all possible routes to the destination before the packet is actually
sent. They then choose the
best path based on that particular system's definition of ``optimal.'' The act
of determining all routes,
however, often requires substantial discovery traffic and a significant amount
of time.
Intradomain Versus
Interdomain
Some routing algorithms work only within domains; others work within and
between domains. The
nature of these two algorithm types is different. It stands to reason,
therefore, that an optimal
intradomain- routing algorithm would not necessarily be an optimal interdomain-
routing algorithm.
Link State Versus
Distance Vector
Link- state algorithms (also known as shortest path first algorithms) flood
routing information to all
nodes in the internetwork. Each router, however, sends only the portion of the
routing table that
describes the state of its own links. Distance- vector algorithms (also known
as Bellman-Ford
algorithms) call for each router to send all or some portion of its routing
table, but only to its
neighbors. In essence, link- state algorithms send small updates everywhere,
while distance- vector
algorithms send larger updates only to neighboring routers.
Because they converge more quickly, link- state algorithms are somewhat less
prone to routing loops
than distance- vector algorithms. On the other hand, link- state algorithms
require more CPU power
and memory than distance vector algorithms. Link-state algorithms, therefore,
can be more
expensive to implement and support. Despite their differences, both algorithm
types perform well in
most circumstances.
Routing Metrics
Routing tables contain information used by switching 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 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
Reliability
Delay
Bandwidth
Load
Communication Cost
Path length is the most common routing metric. Some routing protocols allow
network
administrators to assign arbitrary costs to each network link. In this case,
path length is the sum of
the costs associated with each link traversed. Other routing protocols define
hop count, a metric that
specifies the number of passes through internetworking products, such as
routers, that a packet must
take en route from a source to a destination.
Reliability, in the context of routing algorithms, refers to the dependability
(usually described in
terms of the bit-error rate) of each network link. Some network links might go
down more often than
others. After a network fails, certain network links might be repaired more
easily or more quickly
than other links. Any reliability factors can be taken into account in the
assignment of the reliability
ratings, which are arbitrary numeric values usually assigned to network links
by network
administrators.
Routing delay refers to the length of time required to move a packet from
source to destination
through the internetwork. Delay depends on many factors, including the
bandwidth of intermediate
network links, the port queues at each router along the way, network
congestion on all intermediate
network links, and the physical distance to be travelled. Because delay is a
conglomeration of several
important variables, it is a common and useful metric.
Bandwidth refers to the available traffic capacity of a link. All other things
being equal, a 10-Mbps
Ethernet link would be preferable to a 64-kbps leased line. Although bandwidth
is a rating of the
maximum attainable throughput on a link, routes through links with greater
bandwidth do not
necessarily provide better routes than routes through slower links. If, for
example, a faster link is
busier, the actual time required to send a packet to the destination could be
greater.
Load refers to the degree to which a network resource, such as a router, is
busy. Load can be
calculated in a variety of ways, including CPU utilization and packets
processed per second.
Monitoring these parameters on a continual basis can be resource-intensive
itself.
Communication cost is another important metric, especially because some
companies may not care
about performance as much as they care about operating expenditures. Even
though line delay may
be longer, they will send packets over their own lines rather than through the
public lines that cost
money for usage time.
Network Protocols
Routed protocols are transported by routing protocols across an internetwork.
In general, routed
protocols in this context also are referred to as network protocols.
-
- These network protocols
perform a variety of functions required for communication between user
- applications in source and
destination devices, and these functions can differ widely among protocol
- suites. Network protocols
occur at the upper four layers of the OSI reference model: the transport
layer,
- the session layer, the
presentation layer, and the application layer.
Confusion about the terms routed protocol and routing protocol is common.
Routed protocols are
protocols that are routed over an internetwork. Examples of such protocols are
the Internet Protocol
(IP), DECnet, AppleTalk, Novell NetWare, OSI, Banyan VINES, and Xerox Network
System (XNS).
Routing protocols, on the other hand, are protocols that implement routing
algorithms.
-
- Put simply,routing protocols
direct protocols through an internetwork. Examples of these protocols include
Interior Gateway Routing Protocol (IGRP), Enhanced Interior Gateway Routing
Protocol
(Enhanced IGRP), Open Shortest Path First (OSPF), Exterior Gateway Protocol (EGP),
Border
Gateway Protocol (BGP), Intermediate System to Intermediate System (IS-IS),
and Routing
Information Protocol (RIP). Routed and routing protocols are discussed in
detail later in this book.
Back
Home