In my last several posts I have described the basic functions and operation of a router in electronic data networks. We know that routing is defined as the process of determining where to send data packets destined for IP addresses outside a user’s local network. Routers gather and maintain routing information to enable the forwarding of data packets.
Routing information takes the form of entries in a routing table, with one entry for each identified route. One can statically or manually configure entries in the routing table. Or, the router can use a routing protocol to create and maintain the routing table dynamically to accommodate network changes when and if they occur.
A commonly accepted truth is that routers “route by rumor.” You can configure any router to enable and run a routing protocol and, in addition, examine and understand the routed protocol carried in the Layer-3 header of any received packet. As we learned previously, routers commonly processed protocols such as DECnet, IPX, Appletalk, IP, and Xerox protocols. However, virtually all networking devices now use IP at the network layer and TCP at the transport layer. But, unless possible routes to other end networks are communicated to a router, it is mute and cannot route any packets anywhere. And, the router becomes a fully functional but non-routing device.
So, to be able to route anything, a router, or any entity that performs routing, must do the following:
- Identify sources from which to learn routing information – Find and communicate with sources to learn all possible end networks to which it can forward packets. The process of discovering these sources is dependent upon the routing protocol that is enabled. Some routing protocols discover the sources in a physical manner while other routing protocols use a logical discovery process.
- Identify routes to end networks – Determine the initial possible routes, or paths, to an intended destination by dynamically learning and filling the routing table with a route to all subnets in the network. It is desirable that adding new routes, or replacing lost routes with the best currently available information,should be accomplished as quickly as possible. The time between losing a route and finding a working replacement route is called convergence time.
- Select routes – Select the optimal routes or paths to the intended destination. The routing protocol algorithm generates a metric value for each path through the network. Sophisticated routing protocols can base route selection on multiple metrics for a more granular selection of the optimal route or routes. If more than one route to a subnet is available, only the optimal route will be placed in the routing table.
- Maintain and verify routing information – Determine if the known paths to the available destinations are the most current and make adjustments to the routing table as required. If routes in the routing table are no longer valid, they will be removed from the routing table. If a route is removed from the routing table and another route through another neighboring router is available, it will be added to the routing table.
- Identify the destination address – Examine the layer-3 three logical address of each packet received and determine the destination or address of the item that needs to be routed. The destination address is then compared with the routing table to identify if that packet can be forwarded.
The routing or forwarding process depends heavily on having an accurate and up-to-date IP routing table on each router. IP routing protocols fill the router’s IP routing tables with valid, loop-free routes. Each route includes a subnet number, the interface out which to forward packets so that they are delivered to that subnet, and the IP address of the next router that should receive packets destined for that subnet.
As you continue your CCNA studies and learn more about routers and routing protocols, you will find that routing protocols can become rather complicated. However, the basic logic they use is relatively simple. Routing protocols follow these general steps for advertising routes in a network:
- Each router adds a route to its routing table for each subnet directly connected to the router. These networks are displayed in the routing table as directly connected and are preceded with the letter “C.”
- Each router tells its neighbors about all of the routes in its routing table, including the directly connected routes from other routers.
- After learning a new route from a neighbor, the router adds a route to its routing table, with the next-hop router typically being the neighbor from which the route was learned. It should be noted that routes do not always refer to the neighboring router’s IP address as the next hop IP address. However, for protocols covered for the CCNA exams, the routes typically refer to a neighboring router as the next hop.
In my next post we will take a look at some of the individual routing protocols and exam the operational algorithms of each and evaluate how they differ from each other in operation.
Author: David Stahl