|
Networking
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 5-1
depicts a sample destination/next hop routing table.

Figure 5-1: 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.
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,. 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.
|