1.8 Routing Tables
A routing table is a database repository that holds the router's routing information that represents each possible logical destination network that is known to the router. The entries for major networks are listed in ascending order and, most commonly, within each major network the subnetworks are listed in descending order. If the routing table entry points to an IP address, the router will perform a recursive lookup on that
next-hop address until the router finds an interface to use. The router will switch the packet to the outbound interfaces buffer. The router will then determine the Layer 2 address that maps to the Layer 3 address. The packet will then be encapsulated in a Layer 2 frame appropriate for the type of encapsulation used by the outbound interface. The outbound interface will then place the packet on the medium and forward it to the next hop. The packet will continue this process until it reaches its destination.
There are two ways in which a routing table can be populated: a route can be entered manually, this is called static routing; or a router can dynamically learning a route. Once router learns a route, it is added to its route table.
1.8.1 Static Routing
A statically defined route is one in which a route is manually entered into the router. A static route can be entered into the router in global configuration mode with the following command:
In the ip route command, the destination_ip_address and subnet_mask is the IP address and subnet mask for the destination host. The ip-address parameter is the IP address of the next hop that can be used to reach the destination and interface is the router interface to use. The optional distance parameter specifies the administrative distance.
The advantages to using static routes in an internetwork are the administrator has total control of what is in the routers routing table and there is no network overhead for a routing protocol. The disadvantage of using only static routes is they do not scale well.
1.8.2 Dynamic Routing
Dynamic routing is a process in which a routing protocol will find the best path in a network and maintain that route. Once a route fails, the routing protocol will automatically find an alternate route to the destination. Routing protocols are easier to use than static routes. However, a routing protocol will consume more CPU cycles and network bandwidth than a static route.
1.8.3 Routing Updates
Routing updates can occur using the distance vector approach or the link-state approach.
- Distance-vector protocols use a routine, periodic announcement that contains the entire contents of the routing table. These announcements are usually broadcasts and are propagated only to directly-connected, next-hop, devices. This allows the router to view the network from the neighbor's perspective and facilitates the addition of the router's metric to the 'distance' already stated by the neighboring router. However, this approach uses considerable bandwidth at regular intervals on each link even if no topology changes have occurred.
- Link-state protocols use a triggered-update type of announcement that is generated only when there is a topology change within the network. The link-state announcements only contain information about the link that changed and are propagated or flooded to all devices in the network. This approach saves bandwidth on each link because the announcements contain less information and is only sent when there is a topology change. In some link-state protocols, a periodic announcement is required to ensure that the topology database is synchronized among all routing devices.
1.8.4 Verifying Routing Tables
You can use the show ip route privileged exec command to view an IP routing table. If the information that is displayed is not correct, you can force an update from the neighboring devices with the clear ip route command. An optional keyword specifying an ip_address and subnet_mask, or the * (wildcard) character, can be used to further identify the routes to be refreshed.