Routing protocols use certain features to ensure that valid routing information is gathered as accurately as possible and without corruption. This section discusses IP RIP as an example.
IP RIP is widely used in the Unix industry and is relatively easy to configure and maintain. To enable RIP on a Cisco router, you simply type the command router rip and then enable the networks you wish to be advertised with the network <address> command.
Note: Chapter 6provides a detailed example of IP RIP operation and configurations.
One of the main functions of any routing protocol is to discover remote networks that are reachable via neighboring routers and to converge as quickly as possible. This ensures that all routers in a network have the same network information.
When a change occurs, flash or triggered updates are sent, which takes time to propagate to all routers. The better the convergence time, the more likely network devices will have correct information about all available networks. RIP has a poor convergence time compared to other protocols, such as OSPF.
IP RIP uses holddowns, triggered updates, split horizon, and poison reverse updates to ensure valid routing updates are sent. When using holddowns, triggered updates, split horizon, and poison reverse updates, routing protocols (such as IP RIP) can avoid routing loops, which helps to speed up convergence.
Let's take a closer look at holddowns, triggered updates, split horizon, and poison reverse updates, as well as summarization.
Holddowns prevent updates about networks that have been altered, disappeared, or broken from being inserted into a routing table. This, of course, is not the most accurate routing information, and it should be prevented from being placed in the routing table. Holddowns ensure that invalid routes are not relearned thus preventing problems, such as routing loops, within a network, unless the new route metric is smaller than the original.
Most routing protocols, such as RIP, will base a decision to place a route into the IP routing table on a metric. In the case of RIP, the network with the lowest hop count will be chosen.
A triggeredupdate is a method used by routing protocols to send updates to neighboring routers outside the normal update interval. Triggered updates are used to prevent routing loops in networks by sending an update whenever a network event triggers it. An example of this would be a link going down, which causes a triggered update.
Distance vector protocols send their full routing table of all active links at set intervals. In the case of RIP, updates are sent every 30 seconds. What happens if a network becomes unreachable in between the update interval? In this instance, a triggered update is used to notify other routers of the network event. This speeds up convergence time.
Let's view an example of a triggered update by turning on the following debug options: debug ip rip and debug ip rip events. Let's say you have three networks learned via RIP. Listing 2.1 shows what happens when RIP receives an update from another IP RIP router. The IOS command show debug in Listing 2.1 also displays that IP RIP events and protocols updates have been enabled.
Listing 2.1 Debug IP RIP display.
R1#show debug IP routing:
RIP protocol debugging is on RIP event debugging is on
RIP: sending general request on Ethernet0 to 255.255.255.255 RIP: received v1 update from 22.214.171.124 on Ethernet0 126.96.36.199 in 1 hops 0.0.0.0 in 1 hops 188.8.131.52 in 1 hops 184.108.40.206 in 1 hops 220.127.116.11 in 1 hops
Now, let's say that network 18.104.22.168 goes down. As a result, the triggered update shown in Listing 2.2 would occur.
RIP: received v1 update from 22.214.171.124 on Ethernet0 0.0.0.0 in 1 hops 126.96.36.199 in 1 hops 188.8.131.52 in 16 hops (inaccessible) 184.108.40.206 in 1 hops RIP: Update contains 4 routes
Notice that you still get the full routing table, but the network 220.127.116.11 is marked as inaccessible or with a hop count of 16. This value of 16 tells the router that the remote destination is no longer reachable and to drop any packets destined for this network. This specification prevents the router from installing the network in its routing table or sending an update to another router. The router drops any packets that are received for the network. Therefore, any chance of a routing loop occurring is prevented.
Distance vector protocols primarily use periodic updates that send the entire routing table to neighboring routers. Triggered updates are used when an event occurs outside the normal periodic update interval.
Split horizon is when a router that has learned of a network (via a route advertisement) from another router and that network will not be re-advertised back to the sending router. Split horizon is enabled by default on Cisco routers. Split horizon helps to prevent routing loops by ensuring all routing information is accurate, which enables information to be properly routed from source to destination.
Poison reverse updates are used in conjunction with split horizon to prevent routing loops on a larger scale. Poison reverse updates occur when a network is marked as invalid. For example, when a router receives a route through an interface, it advertises the same route back out the interface as a poisoned reversed update. The receiving router receives the invalid entry in the routing table, but with a hop count of 16, so it removes the network from the routing table. Then, when the routers converge, the holddown timer expires. In large networks, convergence takes longer for all routers due to the size of the network. Poison reverse places networks that have disappeared into an "unreachable state" for a period of time sufficient enough so that all routers in the network will have the same routing table through normal convergence.
Some of the more advanced topics of routing include loops and tunneling. A routing loop is detrimental to an IP network, because the IP packet will never end up at the correct location. A field in the IP frame called the Time-To-Live field will prevent IP packets from traversing the networks forever, but the result will be a disgruntled end user. A tunnel, on the other hand, is a software interface on a Cisco router that is used to transport non-routable protocols across an IP network. You may for instance have clients running the native AppleTalk protocol. (Note that you can tunnel both routable and non-routable protocols.) Instead of enabling AppleTalk along the entire path across your Wide Area Network you can create a tunnel interface at both remote points and enable AppleTalk over the IP network. Tunneling AppleTalk over an IP network involves encapsulating AppleTalk in IP and then sending "through" the tunnel to the destination where it is de-encapsulated.
Route summarization is used to reduce the number of entries in a routing table. A routing table consists of entries that define how a remote network can be reached.
The larger the routing table, the more memory required. This is because each entry takes up available memory. Therefore, if you can reduce the number of networks to be advertised, you can increase performance and the delivery of packets across the network because you have now reduced the IP routing table size that leads to less bandwidth and time required to advertise the network to remote locations. Summarization is typically used in very large networks, such as the World Wide Web.
Note: Chapter 6provides some common commands used on Cisco routers regarding summarization on IP networks.
Routing tables can be as large as the memory installed on the router. For example, an IP RIP table consisting of 1,000 networks will consume 20,000 bytes of memory. Each IP RIP entry consumes 20 bytes of memory. If your router does not contain enough memory, some of the remote networks will not be inserted into the IP routing table.
Was this article helpful?