23: RIP Versions 1 and 2
Bar Code Printer In Objective-C
Using Barcode generator for iPhone Control to generate, create barcode image in iPhone applications.
PDF417 Creator In Visual C#
Using Barcode drawer for Visual Studio .NET Control to generate, create PDF-417 2d barcode image in .NET framework applications.
PDF417 Creation In Visual Studio .NET
Using Barcode drawer for ASP.NET Control to generate, create PDF 417 image in ASP.NET applications.
PDF417 Creation In .NET Framework
Using Barcode creator for .NET framework Control to generate, create PDF-417 2d barcode image in .NET framework applications.
This chapter examines routing with Routing Information Protocol (RIP) versions 1 and 2, arguably the most common dynamic interior IP routing protocol You will learn the advantages and disadvantages of using RIP in most networks and take a look at how to
Print PDF 417 In Visual Basic .NET
Using Barcode encoder for .NET framework Control to generate, create PDF 417 image in VS .NET applications.
Printing Bar Code In Objective-C
Using Barcode encoder for iPhone Control to generate, create barcode image in iPhone applications.
configure, troubleshoot, and optimize RIP The beginning of the chapter concentrates on RIP version 1, and later in the chapter, you'll learn about the improvements in version 2
EAN-13 Supplement 5 Creation In Objective-C
Using Barcode maker for iPhone Control to generate, create EAN-13 image in iPhone applications.
Painting UPCA In Objective-C
Using Barcode maker for iPhone Control to generate, create GTIN - 12 image in iPhone applications.
How RIP Works
Code 39 Full ASCII Printer In Objective-C
Using Barcode encoder for iPhone Control to generate, create ANSI/AIM Code 39 image in iPhone applications.
Bar Code Drawer In Objective-C
Using Barcode generator for iPhone Control to generate, create barcode image in iPhone applications.
RIP is a simple distance vector routing protocol intended for small- to medium-sized redundant networks It is vendor independent, and version 1 is defined primarily in RFC 1058 This vendor independence gives RIP the advantage of having multivendor interoperability (Even Microsoft supports RIP, assuming you need to use a Windows 2000 box as a router) Also, because RIP is such a simple protocol, it is very easy to configure Unfortunately, its simplicity also means it is prone to problems
Drawing Data Matrix In Objective-C
Using Barcode printer for iPhone Control to generate, create ECC200 image in iPhone applications.
Create Bar Code In Objective-C
Using Barcode creation for iPhone Control to generate, create barcode image in iPhone applications.
Basic RIP 1 Operation
UPC-E Supplement 2 Generator In Objective-C
Using Barcode creator for iPhone Control to generate, create UPC-E Supplement 2 image in iPhone applications.
Drawing Code-39 In None
Using Barcode drawer for Font Control to generate, create USS Code 39 image in Font applications.
The basic operation of RIP is very simple and follows some fairly basic rules:
Generating EAN / UCC - 14 In Visual C#
Using Barcode creator for .NET framework Control to generate, create EAN128 image in .NET applications.
UCC-128 Creation In None
Using Barcode generator for Online Control to generate, create GS1 128 image in Online applications.
When a router boots, the only routes it is initially aware of are its directly connected networks In RIP version 1, the router broadcasts information about all known networks to all directly connected networks These broadcasts are known as updates or advertisements RIP routers listen for RIP broadcasts By listening to RIP broadcasts, RIP routers can become aware of networks they may not have direct knowledge of RIP's metric is hop count (loosely defined as the number of routers in the path), and is advertised in RIP broadcasts for each network RIP's maximum hop count is 15 A metric of 16 is considered infinite Any route learned from a RIP router is assumed to be through that router In other words, if Router A sends an update to Router B, Router B assumes that the next hop for the networks included in the update is Router A Updates are sent at regular intervals
Reading EAN 13 In VB.NET
Using Barcode scanner for Visual Studio .NET Control to read, scan read, scan image in VS .NET applications.
Creating UPC Code In None
Using Barcode generation for Microsoft Word Control to generate, create Universal Product Code version A image in Word applications.
To solidify these basic rules, let's walk through an example Figure 23-1 has four routers and eight networks I have also included the initial routing tables for all routers, but note that some information (such as the next hop address) has been left out to simplify the example The beginning metrics in this case are all zero because RIP uses hop count as a metric, and, currently, all known networks are directly connected
Code 128 Code Set A Drawer In None
Using Barcode maker for Software Control to generate, create Code 128 Code Set C image in Software applications.
Creating Bar Code In None
Using Barcode encoder for Font Control to generate, create bar code image in Font applications.
Figure 23-1: A network topology for a basic RIP example When Richard boots, he sends a broadcast about all known networks to Stan and Fran, advertising a metric of 1 for these networks RIP does not "locate" or determine which RIP routers exist in the network, so Richard has no idea that a router does not exist on Net 5 Therefore, Richard also sends a broadcast to Net 5 Note that the lack of knowledge of other routers also means that Richard has no idea how many routers are connected to Nets 1 and 4, or if any are connected at all He just broadcasts out and assumes someone is listening Stan and Fran add the new networks to their routing tables with a metric of 1 (using the advertised metric in the update) This example allows only one route to each destination network, so Stan and Fran will add to their routing tables only the best (lowest metric) route for each destination Therefore, Stan will not change his routing table to include Net 1 as advertised by Richard, because he already has a better route to that destination in his table Similarly, Fran will not add the new route for Net 4 Figure 23-2 shows this initial broadcast and the routing table additions it causes
Figure 23-2: Initial RIP broadcast Fran and Stan then broadcast information about all of their known networks, including the new networks just learned from Richard, to all directly connected subnets From this broadcast, Richard learns of Nets 3 and 8 (from Fran), and Nets 2 and 6 (from Stan) Flagg learns of all networks in the topology during this update process and adds them to his table Note that because this example allows only one route for each network in the table, when Flagg hears of two equal-cost paths to the same network (for instance, the update about Net 5 with a metric of 2 from both Stan and Fran), he includes into his routing table only the first advertised route heard Figure 23-3 shows the second broadcast and the routing table updates it caused
Figure 23-3: Updates from Fran and Stan Finally, Flagg broadcasts information about his networks to Stan and Fran At the next update interval, Stan and Fran broadcast these new routes to Richard, and convergence is achieved This setup is shown in Figure 23-4
Figure 23-4: The network after convergence is achieved This entire example, although a bit oversimplified, displays the basic operation of RIP For a more complete understanding of RIP, you need to learn about a few other features: update timers, split horizon (with and without poison reverse), holddown timers, route poisoning, and triggered updates Update timers are used so that the router knows how long to wait before sending periodic updates In RIP version 1, each update includes all routes (except those removed by split horizon), regardless of whether any changes have occurred since the last update The periodic update process ensures that routers can determine whether other routers are down (almost like a pulse) But the short time period that RIP waits between updates, coupled with the fact that the full routing table is advertised during each update, means that RIP updates can use large amounts of bandwidth in complex networks The update timer is configurable on Cisco routers, but you must ensure that all routers have the same timer settings Split horizon is one of several features implemented in distance vector routing to reduce the possibility of routing loops Basic split horizon ensures that routes learned through a given interface are never broadcast back out the same interface In addition, the network associated with an interface is never advertised on that same interface Split horizon with poison reverse reduces the convergence time associated with split horizon in the case of a routing loop by advertising an infinite metric on a given interface for routes learned through that interface The examples following this brief explanation include both split horizon and split horizon with poison reverse, so don't get concerned if this discussion doesn't make sense yet Holddown timers are used to prevent loops in a complex topology by requiring that the RIP router wait a specified period of time (180 seconds, or 6 times the update interval, by default) before believing any new information about an updated route Holddown timers are sort of like the reality check of distance vector routing They are discussed further in the coming example as well Route poisoning is also used to reduce the possibility of routing loops Without route poisoning, bad routing entries are removed from the table after the route timeout and routeflush timers expire The route timeout timer (called the invalid timer in IOS) is used to determine when a route has failed If an update has not heard about a given route before this
timer expires, the route is considered invalid and enters holddown The route, however, is still used (but no longer advertised) until the route-flush timer expires Once the route-flush timer expires, the route is entirely removed from the routing table The default setting for the route timeout is 180 seconds, and the default setting for the routeflush timer is 240 seconds Without route poisoning, a router simply stops advertising bad routes after the route timeout timer expires The next router in line then needs to wait for its route timeout to expire, and so on This means that in a large RIP network (10+ hops), it could take over 30 minutes for all routers to be notified of a bad route (which can eliminate the usefulness of holddown timers) Route poisoning works with triggered updates to reduce this time by advertising a route with an infinite metric (16 in RIP) once that route's timeout timer expires Route poisoning, when combined with triggered updates, could reduce the convergence time for a 10+ hop network to less than 30 seconds Triggered updates are used to reduce both the possibility of routing loops and to reduce the network convergence time If a link to a directly connected network fails, rather than waiting on an update timer to expire, RIP immediately advertises the failure (as an infinite distance, as per route poisoning) Also, once a route has been updated, RIP immediately advertises the updated route, rather than waiting for the update timer to expire Finally, if an indirect failure occurs (ie, the router doesn't hear about an advertised route and the timeout timer expires), triggered updates are used in conjunction with route poisoning to propagate the route failure quickly At this point, you are probably thinking that RIP is not so simple after all In truth, it is really a very simple protocol Being simple has its benefits, but the major drawback is that routing loops are very easy to come by Because of routing loops, all of these additional features are required, which introduce the complexity into the equation To help you understand why all of these features are required, let's take a simple mesh network (shown in Figure 23-5) and examine the RIP update process without the benefit of any of the loop-prevention mechanisms
Figure 23-5: A simple mesh for the routing loop example Initially, the only routes that any routers are aware of are their directly connected networks This means that Jack, Danny, and Hallorann would have routing tables similar to those shown in Table 23-1
Table 23-1: Initial Routing Tables for Figure 23-5 Network Next Hop Metric Jack Danny Hallorann 10000 1721600 10000 19216810 19216810 1721600 192168500
The routers would begin sending updates as per the normal RIP update interval, and about 120 seconds later, would have converged to the routing tables shown in Table 23-2 Table 23-2: Routing Tables for Figure 23-5 After Convergence Network Next Hop Metric Jack 10000 1721600 19216810 192168500 Danny 10000 1721600 19216810 192168500 Hallorann 10000 1721600 19216810 192168500 10001 1721601 10002 19216812 1721602 1 1 1 1 1
Now, imagine that Hallorann's link to the 192168500 network fails Hallorann immediately removes the entry from his table (because he is no longer directly connected), but he does not inform Jack or Danny of the removal (Remember, this example is not using any loopprevention features) Because the network failure was not advertised to Danny or Jack, they will have to wait until the timeout for the 192168500 network expires, which is 180 seconds, before they stop advertising the network Because they haven't yet noticed that the 192168500 route is bad, they will send out an advertisement to all networks (remember, this example is not using split horizon), including their links to Hallorann, that have a route for the 192168500 network This update causes Hallorann to enter a bad route to the 192168500 network using one of the other routers as his next hop (let's say Danny, in this case) The routing table for Hallorann now resembles the following table Network 10000 Next Hop 1721602 Metric 1