I want you to take a moment and look at the components we have listed here.
- CPU - Executes operating system instructions
- RAM (Random access memory) - Contains the running copy of the configuration file. Stores the rougint table. RAM contents lost when power is off.
- ROM (Read-only memory) - Holds diagnostic software used when router is powered up. Stores the router's bootstrap program.
- NVRAM (Nonvolatile RAM) - Stores startup configuration. This may include IP addresses (routing protocol, hostname of a router).
- Flash memory - Contains the operating system (Cisco IOS)
- Interfaces - Multiple fisical interfaces that are used to connect the network. Fast Ethernet, Gigabit Ethernet; Serial; Management interfaces
CPU, RAM, ROM, interfaces - those all sound very familiar to something else. A computer, a PC! All of these components we find inside the tower of our PC or inside of our laptop. So we have our router, we look inside, we have the same types of components. Let's go through these individually.
CPU, what does the CPU do for us? Well obviously, it does the computing, but we talked about things like Dijkstra's Shortest Path First Algorithm run by the CPU. What about the DUAL algorithm? Absolutely, run by the CPU, a lot of things are done by the CPU. But we do try to minimize this because it's not like we got some super powerful CPU inside of our router chassis, here's why. Because a lot of the intelligence is baked into these things called ASICs and the line cards and other things and so we try to minimize the impact to the CPU.
The primary thing that lives inside a RAM and we need to know about is our running configuration file - what is happening now. so the configuration that our router is currently using that's in the running config and that is stored in RAM. What else might we find in RAM? The routing table, the routing table would be stored in RAM. Now in certain hardware platforms, we're going to take that and put it into hardware as well in a different location. But routing table, running config, classic things that live inside of RAM. What about the topology table or the link state database? Yeah, yeah, anything like that is going to be stored in RAM. ARP information can be stored here. So not a lot of surprises, right?
And remember, RAM is volatile. Power is turned off, everything in RAM is gone.
Now for me one of the least important sections of this is ROM, Read Only Memory. Why? Because as people who maintain Cisco gear, we almost never worry about this, okay. This has things like the bootstrap for our chassis. Now I will say that once in a blue moon you will be affected by this. I'll give you one example where it affected me. I was using a feature, the disabled password recovery, so you couldn't do password recovery on the chassis at all. And then I tested it and I was still able to do a password recovery. I'm like wait a minute, I configured the feature right, but I was still able to do what it was supposed to disallow. Then I had to look it up, as we do in Cisco, figure out why it's not working, and they said, "Oh, you need this version of the bootstrap in order for this to work."
See the bootstrap was bypassing the logic that was enforced by the command and so it didn't work for me. But that's pretty unusual, right? Because I don't even like that feature that I enabled, I was doing it just for a laboratory, okay. So rarely are we going to worry about Read Only Memory. Now this is a little bit different than RAM. Read Only Memory is not volatile not in the same way, we don't call it nonvolatile RAM, okay or nonvolatile ROM that is. It is stored even when there is no power to supplied to it and is kind of like a really underlying foundation information. But I have a question for you folks, you should know one thing that lives inside of NVRAM even before you read anything. NVRAM - what comes to your mind when you hear that?
When I hear NVRAM I'm thinking about my startup configuration file and what is that? It's a backup copy of my running configuration and it's stored in NVRAM because NVRAM is nonvolatile. So when the router loses power, reloads, and we're looking for the configuration file to load, so that way there we can return to the previous configuration we had before the reboot. We're going to look in NVRAM for that, we find that startup configuration file, and we load it.
Now let's say this is a page on routers, but I want to give you a full understanding, right? Let's not be limited to that. On a Catalyst chassis, NVRAM can store something else also. So Catalyst chassis still store the startup config in NVRAM and one more thing that I think is a big deal and that is the virtual LANs, or VLANs, on a transparent mode VLAN Trunking Protocol, or VTP, switch are stored here as well. So just a little bit of food for thought. I think we got you covered on NVRAM.
What is the primary item we'll find in Flash memory? It's our operating system and what do we call that? Cisco Internetwork Operating System, or IOS. Now on routers, there can be a lot of other things inside of Flash also and it kind of depends. But you can have things like security device manager software, web management software, such as what we would use to interface with HTTP, HTTPS, even VPN software can sometimes be stored here on a router chassis. Let's talk about switch chassis for a moment, now that I've opened that can of worms not in a bad way though, okay, I think it's important. We don't want to be too narrow-minded here. What else would a Catalyst switch store in Flash? We do a show flash what else might you see there? Well we see our IOS image, but we'll also see our VLAN.DAT file, the file that has all the information pertaining to the VLANs that we created on this device. And then lastly Dan, we have interfaces - Ethernet, Fast Ethernet, Gigabit Ethernet, serial, different management interfaces, whatever we need to connect up this device to other devices on the network or connect to it for management purposes.
Now management interfaces is kind of a funny thing for me here. Because the reality is, there is no designated management interface on a router chassis. Any IP address that is active on that router chassis can be used as a target IP address for management connectivity, which means every interface is a management interface. On some other kinds of chassis, we do have designated management interfaces and in fact, on some Catalyst switches, you might see we've got loads of Gigabit interfaces and then one itty-bitty Fast Ethernet interface. What do you think that Fast Ethernet interface is, the singular Fast Ethernet interface is on, maybe, a Catalyst 3750? Well that is a management interface, that would be a management interface, okay. So this is a pretty good overview, in fact, of the guts of these chassis.
So we mentioned earlier, ROM is going to contain some code that is necessary for the device to perform very small functions, that are necessary to get it to the point where we want it to be at. Think about what happens when you start a PC. Turn it on, and you see stuff on the screen, goes through all that. Do we really care about what's on the screen? No. I want to get to the point where I could enter my password and username, hit enter, and start using the PC. So everything that happens before that point is going to be utilizing basic software to perform basic functions and that's what we find in ROM. First and foremost, that bootstrap. What is bootstrap all about? Well when you turn on the router, when you turn on the switch, it needs something to tell it what to do? And that's what we find in the bootstrap. So what do we need it to do? Well I need my device to check the hardware, see what's installed, look at the various components, make sure they're functioning properly. And what do we call that particular phase?
POST, the power on self test and if you're a PC person, that's not new to you, right? And so we have the same thing power on self test, something done very early on to make sure everything in the chassis from a hardware perspective, at least, at a high-level, looks pretty good. And then there is something else that we can find here that we'll teach you about and that's called ROMMON mode. ROMMON, short for ROM monitor, is similar to the BIOS on your PC. Now you're adding a new hard drive, what do you do? You go into your BIOS and you make sure that it is detected. Well ROMMON is lower level than that, but it serves a similar function. And for us, we're going to use it to do one of two things in the real world. We don't have an operating system and if you don't have an operating system, you can't get to privilege mode, where you can do nice copy commands, which is unfortunate. So you can do it for IOS recovery. Now I said two things and the other thing is that we could use it for password recovery as well. And we'll show you how to do password recovery a little later, so we'll visit ROM monitor mode shortly.