Understanding Routing Protocol Fundamentals

5 Mar

Understanding Routing Protocol Fundamentals
This section covers the definition, purpose, and operation of a routing protocol. It also covers the difference between a routing protocol and a routed protocol. You need to understand the definition of a protocol to understand exactly what a routing protocol is trying to achieve.

The Definition of a Routing Protocol
In simple terms, a protocol is an agreed upon set of rules that determines how something will operate. A routing protocol is a set of rules that describes how Layer 3 routing devices send updates between each other about the available networks. If more than one path to the remote network exists, the protocol also determines how the best path or route is selected.

A routing protocol is the mechanism used to update the Layer 3 routing devices. When they all have the same accurate understanding of the network, they can route the data across the best path.

How the Routing Protocol Works
Participating routers advertise the routes that they know about to their neighbors in routing updates. Routes learned from routing updates are dynamic routes held in the routing table. (You will learn more about routing tables later in this chapter in the section “The Routing Table.”)

The routing process is confusing until you realize that there are actually three steps involved in building, maintaining, and using the routing table. These three steps are independent of one another and include the following:

1- The routing protocol sends the information about the routes or networks within the autonomous system, such as RIPv1, IGRP, and EIGRP, and between autonomous systems with BGP-4.

2- The routing table receives updates from the routing protocol and provides the forwarding
process with information on request.

3- The forwarding process determines which path to select from the routing table in order to
forward a datagram.

These three steps use the following criteria to make decisions:

■ Metrics—The routing protocol uses metrics to calculate which path is the best path to the
remote destination network. Multiple IP routing protocols cannot easily share information
because their metrics are completely different.

■ Administrative distance—If more than one routing process is running on the router, the administrative distance is used to select which protocol will update the routing table. This is based on which routing protocol is considered the most reliable source of accurate information.

■ Prefix length—The forwarding process will use the route where the most number of subnet bits match that of the destination network. It chooses the most specific match, known as the match to the longest prefix length.

Routing and Routed
Distinguishing between the datagram and the routing protocol used to determine the path of the datagram is important. The distinction is between the routed protocol and the routing protocols.

The routed protocol is the Layer 3 protocol used to transfer data from one end device to another across the network. The routed protocol is the Layer 3 datagram that carries the application data in addition to the upper-layer information.

The routing protocol is the protocol used to send updates between the routers about the networks that exist in the organization, thereby allowing the routing process to determine the path of the datagram across the network.

Table 1-2 provides a list of routed protocols and their corresponding interior routing protocols.

Routing and Routed Protocols

Foundation Topics
a. IGRP and EIGRP are Cisco Systems proprietary routing protocols.

Types of Routing Protocols        11

Types of Routing Protocols
Although the switching and routing functions within the router are set, there are many differences
among the different routing protocols.

The routing protocols are essentially applications on the router. Their purpose is to ensure the correct
and timely exchange of information about the network between the routers so that the routers can
successfully perform the routing and switching functions described previously.

IP routing protocols can be divided into several distinct groups. The first difference is between
protocols that send the subnet mask in the updates and the older protocols that do not. These are
labeled classless and classful protocols, respectively.

Classful Routing
Classful routing protocols do not carry the subnet or routing mask in the update. The older distance
vector protocols tend to be classful. This incapability of carrying the subnetting information leads
to design constraints in the IP network.

Classful IP routing protocols include RIPv1 and IGRP. The characteristics of a classful routing
protocol are as follows:

■ Summarization occurs at the network boundary.

■ Routes exchanged between foreign networks are summarized to the IANA classful network boundary.

■ Within the same network (IANA classful network), subnet routes are exchanged by routers, without the mask.

■ The subnet mask is assumed to be consistent for a IANA classful network used within a network, so all router interfaces must share the subnet mask for interfaces in the same IANA classful network.

The rules of classful addressing lead the router to make specific decisions. Therefore, if there is an entry in the routing table for a specific subnet, the datagram is forwarded to that destination. If the destination subnet is unknown, the datagram is dropped. There is nothing unexpected here. If there is a default network configured for the router, you might expect it to be used. However, the default network is only used in classful routing if there is no knowledge of the network at any level. Thus, if the major network is known, the datagram is dropped even if there is a default network.

The forwarding decision made by a router using classful forwarding is as follows:

1. Send the datagram to the subnet if there is an entry in the routing table.
2. If there is no entry in the routing table, discard the datagram.
3. If there is an entry for a major network but not for the specific subnet, discard the datagram.
4. If there is an entry for a major network but not the specific subnet, do not consider the default network but instead discard the datagram.
5. If there is no entry for either the major network or the subnet, but there is a default route, forward the datagram to the default network.

Classless Routing
Classless routing protocols were designed to overcome the constraints of classful routing, which
include the following:

■ The utilization of address space might be inefficient.

■ Variable-length subnet mask (VLSM) is not possible within the network.

■ The inability to use VLSM can lead to very large routing tables and overloaded network links, saturated with routing updates. The routing protocols that are capable of classless routing are OSPF, EIGRP, RIPv2, IS-IS, and BGP.

The characteristics of a classless routing protocol are as follows:

■ Router interfaces within the same network can have different subnet masks (VLSM).

■ The classless routing protocols support the use of classless interdomain routing (CIDR).

■ Some routes can be summarized within the major IANA classful network number. This is done manually.

To utilize the advantages of classless routing, Cisco created the command ip classless , which is the default configuration in current IOS releases. Although this command might seem to solve many of your problems, you need to consider a few caveats. The following section describes the use of the ip classless command and, in particular, how it changes the decisions made by the routing process.

The ip classless Command
The ip classless command changes the forwarding decisions made on entries in the routing table. It does not change the way the routing table is built, but rather how datagrams are routed based on the contents of the routing table.

The ip classless command is the default configuration from IOS software 12.0. To turn off this facility, use the global configuration command no ip classless . Issuing this command will create the actions described in the previous list.

Although it makes sense that Cisco would create the inverse of any command that it introduces, there are instances when making classless routing decisions can cause problems. In these instances, the command no ip classless should be issued.

Consider a network using a Class B addressing system of 131.108.0.0. A remote stub router is configured; it has two Ethernet connections and a serial connection to the hub. The stub router is configured with a default route and no routing protocol running. If the router is running an IOS software version earlier than 12.0, it would be able to connect to the Internet, but not to any other network within its classful (or major) network.

NOTE: Default routes learned through IS-IS or OSPF ignore the no ip classless command.

In Figure 1-1, Router A is a stub router running Cisco IOS version 11.0 and has not had IP classless configured on it. Although it can reach the network—188.56.10.0 on Router J—on the other side of the Internet through the default network, it cannot see or reach the network within its own autonomous system, 131.108.12.0/24, because it has a different subnet mask.

The ip classless Command

The ip classless Command

The Routing Table
The previous sections discussed how routing decisions are made and referenced the routing table. This section demystifies the routing table by dealing in depth with the following topics:

■ The routing table fields
■ How to keep the routing table current and correct
■ Other methods of entering routes into the routing table

The Routing Table Fields
The router will reference the routing table and make a decision about forwarding data datagrams to the end destination identified in the destination address of the datagram/packet.

Table 1-3 shows the fields that are present in a typical routing table.

Table 1-3 The Routing Table

The Routing Table
It is useful to look at each field in the routing table to determine the functionality of the table to the routing process. The next sections cover the following fields of the routing table:

■ The Network field

■ The Outgoing Interface field

■ The Metric field

■ The Next Hop field

The Network Field
The Network field contains the networks that the router knows exist in the organization. These entries either were entered manually as static routes or were learned via a routing protocol as dynamic routes. Default routes can be learned either by manual configuration or by routing updates.

When a datagram comes into the router, the routing process attempts to forward it to the remote network, where it should find the destination host. To successfully forward the datagram to the destination host, the routing process must know that the remote network exists. The routing process determines the remote network’s existence by looking in the routing table for the remote network.

Typically, only the network portion of the address is stored in the table. Using the hierarchical strength of the addressing keeps the routing table small and the lookup short. The routing process

The Routing Table        15

makes a decision based on the longest match to find the most specific entry. This ensures that if VLSM has been deployed, the most specific network is chosen. Cisco IOS code mandates that the longest match can be a /32 or 255.255.255.255 mask. This is a match based on the full host address and is used in specific situations, such as an OSPF environment. It is not encouraged as a common configuration because the size of the routing table grows rapidly. VLSM is described in detail in
Chapter 2, “IP Addressing.”

The routes in the table are held in an order that speeds up the lookup process, ensuring that the routing decision is streamlined.

Later in the chapter, in the section “How to Keep the Routing Table Current and Correct,” you will see how the networks are placed in the table and how path selection to a remote network is chosen.

The Outgoing Interface Field
The Outgoing Interface field in the routing table indicates the following:

■ To which interface to send the datagram

■ Through which interface the routing update came

The Outgoing Interface field corresponds to the column in the routing table that stores the information about the interface on the router to which the routing process sends the datagram. This is the first step of its journey, the exit point of the router.

The routing process must know which interface queue to use to send the outbound datagram. The outgoing interface field also informs the administrator of the interface through which the network was heard in the routing update, or, more accurately, the interface through which the chosen network was heard.

The Metric Field
The metric is a value that is assigned to each path based on the criteria specified in the routing protocol. The Metric field is used to determine the best path to use if there are multiple paths to theremote destination network. The metric used depends on the routing protocol.

This value is used to choose between different paths to the same destination network to select the best path. If the values are the same, the router either selects the path that it heard first or uses all of the multiple paths, sending the datagrams across each route. 16

Chapter 1: IP Routing Principles

Table 1-4 shows how the metrics are derived by the different routing protocols.

Table 1-4 Routing Protocol Metrics

IP Routing Principles

IP Routing Principles

NOTE:  By default, on a Cisco router, if multiple equal-cost paths exist in IP, up to six paths are used in a round-robin manner to load balance the traffic across the network.

The Next Hop Field
The next hop is the destination address of the next forwarding router. The address of the next hop will be on the same subnet as the outgoing interface. However, there are exceptions to this rule, for example, the next hop in Internal BGP. Internal BGP is beyond the scope of this chapter but is
described in more detail in Chapter 15, “Connecting to Other Autonomous Systems—The Basics of BGP-4.”

The purpose of identifying the next hop is so that the router can create the Layer 2 frame with the destination address. When troubleshooting, remember that the next hop address is the address of the router directly connected to the forwarding router. Therefore, the address of the next hop shares the same subnet as the determining router.

Now that you understand the fields of the routing table, the next section discusses how to keep the routing table current.

How to Keep the Routing Table Current and Correct
The routing table in every router within the autonomous system must be both accurate and up-to- date so that datagrams can be directed across the network to their destination. The more recent routing protocols are more efficient than the early offerings of RIP, using fewer network resources,

The Routing Table      17

which allows networks to scale while maintaining routing tables that are accurate. For example, the older routing protocol RIP sends out the entire routing table every 30 seconds to a broadcast address. On the other hand, OSPF updates contain information only about network changes and are sent only when that change occurs, using multicast addressing. To ensure that the routing tables are synchronized, OSPF sends a summarization of the entire routing table 30 minutes after the last update was sent.

The accuracy of the table will be affected by how quickly it responds to changes in the network. These changes include the following:

■ Learning new networks

■ Learning a better path to an existing network

■ Learning that a network is no longer available

■ Learning an alternative route to a network

How each of these changes is achieved depends on the routing protocol.

Emptying the contents of the routing table and thus forcing the router to relearn the information about the network is very useful in troubleshooting a network.

This command empties all the routes from the table:

Router# clear ip route *

This command removes the specific network from the table:

Router# clear ip route {network [mask] | *}

The following section gives an example of a routing table. In the BSCI exam, you might be asked to interpret the output of the show ip route command. Therefore, you will need to be able to extrapolate information from this table. The following section shows you how.

The show ip route Command
The show ip route command is used to show the IP routing table on the router. It details the network as known to the router and its sources for the information (such as the routing protocols). This command is excellent for troubleshooting configuration errors and understanding how the network is communicating routing information.

18   Chapter 1: IP Routing Principles

Example 1-1 shows the output of the show ip route command. Table 1-5 explains how to read this information.

Example 1-1 The show ip route Command Output

show ip route

The Routing Table  19

Table 1-5 Explanation of the show ip route Command That Was Performed on Router Building 1

show ip route Command

The show ip route command is useful to verify that the configuration has worked and that the network is functioning correctly.

Other Methods of Entering Routes into the Routing Table
Using a routing protocol is the easiest method to create and maintain an accurate and current routing

table. However, it is not the only way, nor is it always the most efficient way to inform the router of the different routes available in the autonomous system. If the router has few resources and is connected to a stub network, it might be more efficient to simply state the path to a router that has full knowledge of the network. This section considers some of the other methods—including static routes, default static routes, On Demand Routing, and floating static routes—and how, when, and why you might use them.

20   Chapter 1: IP Routing Principles

Static Routes
The routing process sends and receives updates to and from other routers in the autonomous system. These updates populate the routing table, by which forwarding decisions are made and data grams are sent to the destination address.

There are instances, however, when it is better for the administrator to manually insert a route into the routing table, thus either bypassing the routing process altogether and having no routing protocol running on the router, or adding individual routes into the routing table.

Manually configuring the routing table means adding static routes into the routing table. The advantages of static routes are the conservation of both router and network resources. A routing protocol requires memory, CPU, and bandwidth not simply of the immediate router but of every router in the autonomous system.

The trade-off is that the resources required from the network administrator are considerable. The administrator is responsible for adding every static route. If there is a change in the network topology, it is the administrator’s responsibility to change every affected static route within the network. By definition, these routes cannot dynamically correct themselves. Therefore, the network will not converge until the routers are reconfigured.

It seems unlikely that there could be any situation that could warrant such a labor-intensive solution, but there are a few. These include

■ Links have very low bandwidth, such as dialup links.

■ The administrator needs control over the link.

■ The link is a backup to the dynamically learned route.

■ There is only one path to the remote network, such as a stub network.

■ The router has very limited resources and cannot run a routing protocol.

■ The administrator needs to control the routing table to allow a classful and classless routing

protocol to populate the routing table. Classful and classless routing was explained earlier in this chapter.

The command for configuring a static route is a global configuration command. The correct syntax is as follows:

ip route prefix mask {ip-address | interface-type interface-number} [distance] [tag tag]
[permanent]

The Routing Table

Table 1-6 describes the usage and meaning of the command parameters.

Table 1-6 The ip route Command Description

ip route Command Description

Default Static Routes

On occasion, you need to use a static route to create a default route. A default route is the route that is used if there is no entry for the specific destination route in the routing table. If a datagram comes in destined for the Internet, the routing table, unaware of all the networks outside its autonomous system, will direct the traffic to the edge router that connects to the outside world.

Occasions for using a default route include:

■ Connecting to the autonomous system from a stub network

■ Connecting to the Internet

Figure 1-2 shows an example of when to use a default route and static route together. Router A is the edge router in the autonomous system and has a default route to the Internet. This default route is propagated to every router in the organization. If a router within the organization is asked to route to a network that is not in its routing table, it directs the traffic to Router A and to the Internet. Likewise, Router B does not need the entire routing table of the organization to which Router A
belongs; a static route is configured with the IANA classful network for the organization. This ensures that the routing tables are no larger than they need to be and that the link does not have to suffer the overhead of a routing protocol.

22   Chapter 1: IP Routing Principles

Figure 1-2 Static and Default Static Routes

IP Routing Principles

NOTE: Remember that when a static route is configured, you have simply told the connected router how to get to the remote network. If routing is disabled on that remote router, it cannot reply. A reciprocal route (static or dynamic) is required. Also, static routes that point to an interface are fine for point-to-point circuits, but in point-to-multipoint topologies, the router will not be able to resolve a next hop.

The command for configuring a default static route is a global configuration command. The correct syntax was shown earlier in the “Static Routes” section, because it is configured in the same way as a static route. However, the source and destination prefix is set to 0.0.0.0 0.0.0.0. If the default route has no knowledge of the destination route because there is no entry in the routing table, it does not care where the datagram came from or where it is destined and therefore sends it to the address
defined in the default route.

Floating Static Routes
Floating static routes are another mechanism for entering information manually into the routing table. They also overcome a limitation or constraint in the network design. A floating static route allows a backup route to lie dormant until the primary route dies. Then the backup route is activated and takes the place of the primary route until the network is mended. At that point, the backup route returns to sleep until the next time it is called upon. An example is a dialup line that serves as the
backup to the Frame Relay link connecting a campus to the core of the network.

The complication of this solution is that the backup route is statically defined and is therefore considered more reliable than the route learned through a routing protocol. This means that the backup link would immediately become the primary path and be entered into the routing table.

To be sure that the backup route never overrides the original route, it is defined as a floating static route, allowing it to be the primary link only in the event of the primary link’s untimely death. The

The Routing Table        23

static link is made less attractive than the primary link, despite its status as a static route, by changing the administrative distance to a higher value than that of the primary link.

On Demand Routing
Everything comes at a cost. In the case of routing updates, static routing has a high administrative overhead, and dynamic routing consumes network resources. Normally, choosing whether to implement static or dynamic routing is a straightforward decision; high speed and cheap network resources reduce the concern nowadays. Static routing, while still used to define networks, is often used to share routing information between classful and classless routing protocols or to define a
default route. However, in a network that has a large distributed topology, neither dynamic nor static might be appropriate. In such a network, the links are often low bandwidth and very little information might need to be sent across the link. It would appear that static and default routes are a prime candidate for this situation. However, if there are many remote sites in the typical hub and spoke configuration, this might become an unmanageable administrative burden. In On Demand
Routing (ODR), all spoke routers can have an identical configuration, though obviously the IP addresses must be unique to each router.

ODR uses Cisco Discovery Protocol (CDP) to send the prefixes of attached networks from the spokes, or stub networks, to the hub or core router. The hub router sends its interface address of the shared link as the default route for the stub router.

ODR has the advantage of sending minimal information, such as the prefix and mask and the metric of one, every 60 seconds by default. This information populates the routing table of the hub router and can be redistributed into a routing protocol. Because the mask is sent in the update, VLSM can be used.

Figure 1-3 shows a typical example of when ODR could be used. In this figure, Router A, as the hub, has knowledge of all the networks connected to every spoke (stub router). The networks for the rest of the autonomous system have not been placed in Router A’s routing table in order to simplify the figure.

Every spoke router, represented here by Router B, is sent a default route to the rest of the network. The default route is 0.0.0.0, with the next hop being the IP address of the interface that connects Router A to each spoke router. Router B, therefore, has two networks to which it is directly connected: the default network 0.0.0.0, and the next hop address to the default network, which is the IP address of Router A.

24   Chapter 1: IP Routing Principles

Figure 1-3  Typical Network Topology for ODR

Typical Network Topology for ODR

When configuring ODR, it is important to remember the following points:

■ No IP routing protocol should be configured on the stub routers; IP routing is on by default,allowing the use of default routes.

■ Any secondary addresses configured on the stub routers are not propagated by CDP to the hub router.

■ ODR must be configured on the hub router.

■ Although CDP is enabled by default on interfaces, some WAN interfaces, such as ATM, require CDP to be configured on the interface with the command cdp enable .

■ CDP uses multicast; therefore, on WAN technologies that require mapping statements, use the broadcast statement to ensure the CDP updates are propagated.

■ It might be necessary to tune the CDP timers to send updates more frequently than every 60 seconds.

Routing Versus Switching           25

To configure CDP/ODR, use the commands described in Table 1-7.

Table 1-7  ODR Configuration Commands

ODR Configuration Commands

Routing Versus Switching

This section describes the roles of routing and switching and how these functions work together to move datagrams through the network. Cisco makes a distinction between the routing function and the switching function of a router. The difference is simple: Two jobs within a router need to be done to move a datagram from an incoming interface to the outgoing interface. The destination path first must be determined, and then the datagram can be sent to the outgoing interface and on to the next
stage in its journey. The path determination is the routing function, while sending the datagram to the outgoing interface is the job of the switching process.

The Routing Function
The routing function is responsible for learning the logical topology of the network and then making decisions based on that knowledge. The decisions determine whether the incoming datagram can be routed and, if so, how.

The routing process goes through these steps when a datagram is received. The steps to route a datagram can be summarized into the following questions:

1. Is the protocol stack and routing protocol configured on the router?

2. If the protocol stack is present, is there an entry for the remote network in the routing table?

3. If the destination network is not in the routing table, is there a default network configured?

4. If either a dynamic or a default route is available, is the destination network reachable?

5. Which is the best path to that remote network?

6. Are there multiple equal-cost paths?

7. If there are multiple equal-cost paths, to which outgoing interfaces should the datagrams be queued?

26   Chapter 1: IP Routing Principles

The Switching Function
The switching function is concerned with moving data across the router. It is responsible for forwarding the datagram. Switching takes over after the routing decisions have been made. Although the router has lookups to make, the few decisions that need to be made are performed in hardware. Therefore, this function is very fast.

The switching function does the following:

1. Checks the incoming frame for validity

2. Checks whether the frame is addressed (at Layer 2) to the router

3. Checks whether the frame is within the scope of the framing criteria (too big or too small)

4. Checks whether the frame passes cyclic redundancy check (CRC)

5. Strips the Layer 2 header and trailer from the frame and checks the destination address against the cache entries

6. Creates the appropriate frame header and trailer (if there is an entry in cache for the destination address) and forwards the frame to the outbound interface queue

NOTE: Note that the preceding sections refer to the internals of the Cisco IOS software, which are extremely complex. The software has been described at the level required by the BSCI exam. If you are designing and configuring live networks, it would be wise to understand some of the issues in more depth. This information is readily available on the Cisco web site.

Functionality is broken into two components to ensure that the process is as fast as possible. After the routing decisions are made, the Cisco router caches the result, allowing subsequent datagrams to be switched.

The Routing/Switching Relationship in a Cisco Router
A datagram transiting the router is accepted into the router if the frame header (of the frame in which the datagram resides) contains the Layer 2 address of one of the router’s interfaces. If properly addressed, after the framing is checked, the frame and its content (the datagram) are buffered, pending further processing. The buffering occurs in main memory or some other specialized memory location.

If the source and destination Layer 3 address of the datagram have not been seen by this router before, the datagram will be process switched, or routed. This involves the following actions:

1. When a datagram is to be forwarded, a process initiates a lookup in this routing table and a decision about how the datagram should be forwarded.

2. The datagram is then encapsulated.

3. If fast switching is enabled, the datagram is examined again, and an entry is put into a route cache. The entry in this cache consists of the following:

— An IP prefix
— The output interface
— The link-layer header to be used in forwarding the datagram

On subsequent datagrams, if the IP destination matches a prefix found in the route cache, the datagram is forwarded using this information. The routing function is not disturbed, nor are the CPU cycles required to feed this monster expended.

The type of route cache used depends on the hardware used. The caches available are called fast switching, autonomous switching, silicon switching, and Cisco Express Forwarding (CEF).

No comments yet

Leave a Reply

You must be logged in to post a comment.