When you have multiple paths in your network, packets can go from point a to point b via different paths. How do you know which one it will be? Can you predict it? How can you troubleshoot when the routing goes awry? This tip, excerpted from Managing IP Networks with Cisco Routers, by Scott M. Ballew, provides some insight.
One of the most useful and interesting tasks you will need to perform is supporting dynamic routing in the presence of multiple paths between various points. Clearly, if you designed a network with redundant paths, you would like these paths to be used in the event of a network failure. You may also want them to be used to do some form of load balancing.
Controlling the selection of routes in a multipath network is no easy task. Since each router makes its own decisions about how it should route packets, it is possible, and even likely, that routers in different parts of your network may select different paths. Packets from host A to host B may take one pat, while packets from host B to host A may take another path. This is knows as asymmetric routing. Some network managers feel that asymmetric routing is to be avoided. While there is a certain merit to having the path from A to B be the exact reverse of the path from B to A, this is often difficult to achieve and may not be worth the effort. When all is working, the primary advantage of symmetry is that you can put monitoring equipment on any segment along the path and see both sides of a conversation. However, when it comes right down to it, you could put monitoring equipment on either the ultimate source or destination segment and see both sides of a conversation anyway.
Far more important than symmetric routing is stable and predictable routing. The routes selected by your routers should not be a crap shoot. If you know which routers and links are functioning, you should be able to compute manually which path packets between two hosts will take. This is critical for your ability to determine where to start looking for problems when the packets do not flow correctly. For example, if you have three network segments connected by two routers, it is clear that packets from host A to host B must traverse the three segments [in one direction]. If the packets should fail to reach their destination, you have a clearly defined set of places to look for failures.
If you add a redundant link between the two routers (say, an FDDI ring), packets from A to B may flow across either?link. If they fail to make it, which link do you probe? If you have predictable routing, you know which link to probe, and you can cut your troubleshooting time significantly, especially when your network contains dozens of routers and hundreds of segments.
How you achieve predictable routing is specific to each network and routing protocol. Several criteria can enter into the router's decision; each protocol gives you different ways to affect this decision. In general, the primary control you have over this decision is the protocol's route metric. The route metric is how a routing protocol communicates the cost of using a specific route. For TIP, the metric is simply a hop count, while OSPF computes an administratively defined link cost based on the speed of the link be default, and IGRP and EIGRP use a complex metric consisting, in part, of link bandwidth, load, and reliability.