Most network problems are caused by configuration problems, not by glitches in hardware or errors in telecommunications circuits. This is not surprising if you think about it. The config file is where all the network administrator's input goes and, by implication, where human error is most likely to be manifested. As we saw in the previous chapter, a router in and of itself is a sophisticated device. Put one on an internetwork-where a router interacts with other routers-and you understand how the average router's config file is rife with interdependencies. Every router added to an internetwork increases complexity exponentially. It follows, then, that each time you make a change to a config file, the complexity becomes that much harder to track.
Configuration mistakes don't necessarily make themselves immediately apparent in the form of operational problems. Many problems are harder to see (and thus harder to avoid) because they remain latent-lying in config files across a network, waiting to rear their ugly heads at the worst possible moment.
So when internetworking people talk about "configuring" a router, the subject isn't what parts to put into the box. They're talking about making a change to a router's behavior and considering everything that might flow from that change. Internetworks, by their very nature, tend to magnify things by passing them down the line. This is why network administrators put a lot of thought and planning into what might seem inconsequential to the uninitiated. Network administrators spend most of their time either changing or reviewing config files because that's where the action is.
Further magnifying the importance of config file design is the fact that the average config file incorporates many of the same standards as specified by corporate standards. These are generally applied to more than one router. By and large, network management isn't performed one router at a time. Config files are generally maintained for groups of routers en masse, taking into account specific router parameters. For example, links and IP addresses will differ from router to router . Mass distribution of config files is done as much for design control as for convenience. It's a way of assuring the consistency that internetworks need to run smoothly.
Network designers typically divide router populations into subgroups-or classes-with common characteristics having to do with network areas, equipment software version levels, or security requirements. Therefore, it makes sense to implement network policy changes, upgrades, tests, and so on en masse in config file downloads and uploads. A router's config file is usually dealt with individually only when there is a problem with that particular machine.
Three types of files are used to run a Cisco router: the two permanent files-the IOS image and config file-and files created and maintained by the router itself. It's important to have an idea about how they fit together.
Like any operating system, IOS is dedicated to running the computer on which it sits. It differs from other operating systems in that its predominant focus is moving transient packets in and out of the box. Whereas other kinds of operating systems are concerned with user interaction, crunching numbers, printing output, and the like, IOS is almost solely concerned with forwarding packets unchanged to their next destination. It cares about supporting a user interface only insofar as one is necessary to let network administrators perform housekeeping chores.
The config file is where management instructions are put to tell IOS how to function properly in the internetwork. The config file defines the network interface hardware in the router box, the protocols to support, what packets get through, and so on. In short, the config file is where network administrators store all their work. Once you learn to work well with config files, you'll have mastered the basics of internetwork management.
But the router creates a number of files on its own. These files-as a class sometimes called dynamic files-come into existence only after the router is turned on. Turn the router off, and the dynamic files "disappear" (only the IOS image and config file are permanently stored).
Dynamic files are created and maintained by the router in order to adapt on a moment-by-moment basis, which is why it wouldn't be practical for a person to keep them updated. But while network administrators cannot put instructions into dynamic files, they can control the behavior of dynamic files indirectly by setting parameters in the config file. Also, administrators frequently examine dynamic file contents in order to troubleshoot network problems. The ins and outs of how the various dynamic files work will be covered in later chapters. For now, just remember the following:
You cannot put things directly into dynamic files.
The contents of dynamic files change minute by minute in response to trends in network traffic-that's why they're called "dynamic."
Control over dynamic files is indirect, through parameters set in the config file.
Taken together, IOS, the config file, and dynamic files make up the router's operational environment. The config file is the focal point of control over routers and, by implication, control over whole networks. IOS is left to the Cisco software engineers; you control it only by loading new versions every year or so. You control dynamic files only indirectly. Thus, all network management changes go into the config file.
Given that you cannot edit config files interactively, the process of administering Cisco routers tends to be more indirect than what most of us are accustomed to. Figure 4-1 depicts the typical process of modifying a config file.
Figure 4-1: Managing config files involves many steps
To some, the combination of a character-based user interface and the indirect management process that routers involve seems complicated. But internetworking is simpler than it seems. Understanding these basic facts will help the beginner get started in analyzing and troubleshooting network problems:
IOS is your interface; you use IOS commands to interact with the router.
The config file and the various dynamic files hold the information you need to analyze network problems.
The config file tells you how a router is set up; dynamic files show how the setup is working in the network environment.
The config file is your single point of control.
You can't directly edit the config file; you change it through IOS commands and then review the results.
Now that you know your way around a router, it's time for some hands-on work. If you have access to a Cisco router, log in and follow along.