To understand the kind of information that exists in the route table, it is useful to begin with an
examination of what happens when a framed packet arrives at one of a router's interfaces. The data-link
identifier in the frame's destination address field is examined. If it contains either the identifier of the
router's interface or a broadcast identifier, the router strips off the frame and passes the enclosed packet to
the network layer. At the network layer, the destination address of the packet is examined. If the
destination address is either the IP address of the router's interface or an all-hosts broadcast address, the
protocol field of the packet is examined and the enclosed data is sent to the appropriate internal process. [1]
[1] There is also the special case of a multicast address, which is destined for a group of devices, but not for all devices. An example of a multicast
address is the class D address 224.0.0.5, reserved for all OSPF-speaking routers.
Any other destination address calls for routing. The address may be for a host on another network to
which the router is attached (including the router interface attached to that network) or for a host on a
network not directly connected to the router. The address may also be a directed broadcast, in which there is a distinct network or subnet address, and the remaining host bits are all ones. These addresses are also
routable.
If the packet is to be routed, the router will do a route table lookup to acquire the correct route. At a
minimum, each route entry in the database must contain two items:
A destination address. This is the address of the network the router can reach. As this chapter
explains, the router may have more than one route to the same address and/or a group of subnets
of the same or of varying lengths grouped under the same major IP network address.
A pointer to the destination. This pointer either will indicate that the destination network is
directly connected to the router or it will indicate the address of another router on a directly
connected network. That router, which will be one router hop closer to the destination, is a nexthop
router.
The router will match the most specific address it can.[2] In descending order of specificity, the address
may be one of the following:
[2] There are two basic procedures for finding the best match, depending upon whether the router is behaving classfully or classlessly. Classful
table lookups are explained in more detail in Chapter 5, "Routing Information Protocol (RIP), and classless table lookups are explained in
Chapter 7, "Routing Information Protocol Version 2."
A host address (a host route)
A subnet
A group of subnets (a summary route)
A major network number
A group of major network numbers (a supernet)
A default address
This chapter provides examples of the first four types. Supernets are covered in Chapter 7, "Routing
Information Protocol Version 2." A default address is considered a least-specific address and is matched
only if no other match can be found. Default addressing is the topic of Chapter 12, "Default Routes and
On-Demand Routing."
If the destination address of the packet cannot be matched to any route table entry, the packet is dropped
and a Destination Unreachable ICMP message is sent to the source address.
Figure 3.1 shows a simple internetwork and the route table entries required by each router. Of primary
importance here is the "big picture," seeing how the route tables work as a whole to transport packets
correctly and efficiently. The destination addresses that the router can reach are listed in the Network
column of the route tables. The pointers to the destinations are in the Next Hop column.
Figure 3.1. The minimum information needed for each route table entry consists of the destination
networks and the pointers to those networks.
If router Carroll in Figure 3.1 receives a packet with a source address of 10.1.1.97 and a destination
address of 10.1.7.35, a route table lookup determines that the best match for the destination address is
subnet 10.1.7.0, reachable via next-hop address 10.1.2.2, on interface S0. The packet is sent to that next
router (Dahl), which does a lookup in its own table and sees that network 10.1.7.0 is reachable via nexthop
address 10.1.4.2, out interface S1. The process continues until the packet reaches router Baum. That
router, receiving the packet on its interface S0, does a lookup, and sees that the destination is on one of its
directly connected networks, out E0. Routing is completed, and the packet is delivered to host 10.1.7.35
on the Ethernet link.
The routing process, as explained, assumes that the router can match its listed next-hop addresses to its
interfaces. For example, router Dahl must know that Lewis's address 10.1.4.2 is reachable via interface
S1. Dahl will know from the IP address and subnet mask assigned to S1 that S1 is directly connected to
subnet 10.1.4.0. It then knows that 10.1.4.2, a member of the same subnet, must be connected to the same
network.
Notice that every router must have consistent and accurate information for correct packet switching to
occur. For example, in Figure 3.1 an entry for network 10.1.1.0 is missing from Dahl's route table. A
packet from 10.1.1.97 to 10.1.7.35 will be delivered, but when a reply is sent from 10.1.7.35 to 10.1.1.97,
the packet is passed from Baum to Lewis to Dahl. Dahl does a lookup and finds that it has no entry for
subnet 10.1.1.0, so the packet is dropped, and an ICMP Destination Unreachable message is sent to host
10.1.7.35.
Figure 3.2 shows the actual Cisco route table from router Lewis of Figure 3.1. The command for
examining the IP route table of a Cisco router is show ip route.
Figure 3.2. The Cisco route table for router Lewis of Figure 3.1.
Examine the contents of this database and compare it with the generic table shown for Lewis in Figure
3.1. A key at the top of the table explains the letters down the left side of the table. These letters indicate
how each route entry was learned; in Figure 3.2 all routes are tagged with either a C for "directly
connected," or an S for "static entry." The statement "gateway of last resort is not set" refers to a default
route.
At the top of the table is a statement indicating that the route table knows of seven subnets of the major
network address 10.0.0.0, subnetted with a 24-bit mask. For each of the seven route entries, the
destination subnet is shown; for the entries that are not directly connected—routes for which the packet
must be forwarded to a next-hop router—a bracketed tuple indicates [administrative distance/metric] for
that route. Administrative distances are introduced later in this chapter and are covered in detail in
Chapter 11, "Route Redistribution." Metrics, discussed in greater detail in Chapter 4, "Dynamic Routing Protocols," are a way for routes to be
rated by preference—the lower the metric, the "shorter" the path. Notice that the static routes shown in
Figure 3.2 have a metric of 0. Finally, either the address of the directly connected interface of the nexthop
router or the interface to which the destination is connected is shown.