Troubleshooting Tips
A handy tool for troubleshooting routed networks is the "traceroute" utility. By entering the traceroute command followed by the destination IP address that you are trying to reach from a UNIX workstation, you will be given the IP address of every router that is reachable along the path between the two machines. The command looks like this:
traceroute 192.168.25.1
Similarly, you can run Microsoft's version of this command (tracert) from the DOS command line on an NT or Win9x machine.
The "ping" command is also an indispensable tool for troubleshooting basic communications problems. It is available on Microsoft, UNIX and Novell hosts. Ping followed by a destination IP address will attempt to send a packet to the destination host. The host will then echo a reply. On a Unix machine, this command looks like this:
ping 192.168.25.1
If your machine is able to communicate with local hosts but not with hosts on the other side of a router, the most common cause is either a misconfigured router address or subnet mask. If you run into this problem, be sure double check your router and subnet mask settings before you start worrying about the network. The easiest way to check the current configuration on a Windows 9x host is to run the "winipcfg" command. On an NT host, it's slightly different, "ipconfig." You can get this information from a UNIX host by running the following command.
ifconfig -a
Once you've verified that these settings are correct, you can ping the router's address to verify that it is reachable. If you still cannot reach the destination host, it's certainly possible that there is a network problem between the host and the router.
Choosing an Interior Gateway Protocol
When you enable routing protocols and their corresponding processes, you unleash a powerful, dynamic force that automates the population of routing tables on your network. But using any major IGP (Interior Gateway Protocol), such as RIP/RIP2, OSPF or IGRP/ EIGRP has trade-offs.
The first rule of thumb is to implement IGPs only where a single administrator has responsibility for the operation and performance of the network. Otherwise, you can expect serious problems such as configuration errors, which may bring down the network or cause stability problems. In addition, when problems occur, you'll want to be able to fix them quickly without waste time arguing about which administrator caused them. For networks where many administrators share responsibility, such as the Internet, consider an EGP (Exterior Gateway Protocol), like BGP4. We'll explore BGP3 in the next section.
If you have only one router, you may not need a routing protocol, which is necessary only where you have multiple routers that need to share information. Even then, if you have only a handful of networks, you can update the tables manually via static routes, though they don't scale very well. That's where routing protocols come into play.
Routing Information Protocol
The Routing Information Protocol (RIP) is based on a program called "routed" that was developed to run on the BSDI version of Unix. It was standardized in RFC 1058 in 1988. Version 2, specified in RFC 1388, added support for VLSMs (Variable Length Subnet Masks), but it did not address the protocol's major weaknesses: delay. In networks with multiple paths to the same destination, for instance, it takes some time before RIP will move to use an alternative path.
In spite of the popular phrase, "RIP: May it RIP," RIP is well tested, widely implemented and ideally suited for networks without redundant routes. RIP v.1 is still used to support most of Syracuse University's 10,000-node network. It does the job, and the university has not suffered a serious network outage in over two years.
RIP is classified as a distance vector protocol, which means it uses distance, as measured in routing hops, to determine a packet's optimal path. Routers send out advertisements to one another every 30 seconds. Each router that receives a given advertisement increases the hop count by one. If advertisements are received from multiple routers, the path to the router with the lowest hop count is the path chosen. Should the preferred route be unavailable, the route with the higher hop count is used as a backup.
With RIP as well as other routing protocols, the routers on a network must go through a process to determine alternate paths when one path becomes unavailable. This process is called convergence. As stated above, the fact that RIP takes a long time to converge is a major problem. RIP was designed to wait until it has missed six updates, totaling 180 seconds, before it will consider a route unreachable. It then waits for the next advertisement of another available route before it updates the routing table with the new route. This means at least three minutes will pass before a backup route can be used, which is certainly long enough for most users to notice a lag and for most applications to time out. Of course this latency won't pose a problem, if you have only one route to any destination anyway.
The other fundamental problem with RIP is that it ignores the speed of links involved when choosing a path. For example, if one path consisting entirely of Fast Ethernet links is one hop further away than a path that includes a 10-Mbps Ethernet link, the path with the slower 10-Mbps Ethernet link will be incorrectly selected as optimal.
The original version of RIP was unable to use VLSMs, which kept administrators from slicing and dicing address space to make the most efficient use of limited IP addresses. RIP 2 fixes this by advertising the subnet mask in use with every routing advertisement. Because the earlier version did not advertise a subnet mask, it had no way to convey the details of different-length masks for different networks or subnets.
Routing protocols should also prevent your packets from going in circles, or falling into routing loops, a problem that affects networks with redundant links. RIP assumes that if there are more than 15 routing hops from one end of a network to another, loops must be involved. Therefore when a route reaches 16 hops it considers it to be unavailable. Obviously, this limits RIP to networks in which no more than 15 routers must be traversed.
Obviously, RIP's biggest problems involve larger networks with redundant paths. If your network does not have redundant paths, RIP should work just fine. It is an Internet standard implemented by just about every vendor that supports routing. RIP is implemented in most server operating systems and is very easy to configure and troubleshoot. If you have a larger network, or one with redundant paths, however, you should seriously consider one of the other routing protocol choices.
Editor's Note: Tune in next week, as we tackle alternatives to RIP such as the venerable OSPF Version 2.
Peter Morrissey is a faculty member of Syracuse University's School of Information Studies, and a Contributing Editor.
. Send your comments on this article to him at ppmorris@syr.edu.