An important part of your Cisco CCENT and CCNA certification studies is learning the differences between RAM, ROM, NVRAM, and Flash memory. You better know the differences when it comes to working in real-life networks as well, because vital Cisco files are found in these memory types - and since some of these files are lost on a router reload and some are not, we better know which is which!
The memory types and functions discussed in this section are the same for routers and switches, but to keep from saying "routers and switches" 500 times, I'll just say "routers". :)
Configuring the routers is a lot of fun, but we've got to know what's going on inside the router, too! Cisco routers have four different kinds of memory, and while some of the names are similar, their purpose is totally different.
The contents of some of these memory types is kept when the router is reloaded, and others are lost on a reload. We better know which is which!
It's a fair bet that these topics will come up on your CCENT and CCNA exams, and this is also information you've got to know to be a real network admin. Let's examine these four memory types closely and see what each one does!
ROM: Read-Only Memory. ROM stores the router’s bootstrap startup program, operating system software, and power-on diagnostic test programs (POST).
Flash Memory: Generally referred to simply as “flash", the IOS images are held here. Flash is erasable and reprogrammable ROM. Flash memory content is retained by the router on reload.
RAM: Random-Access Memory. Stores operational information such as routing tables and the running configuration file. RAM contents are lost when the router is powered down or reloaded. By default, routers look here first for an Internetwork Operating System (IOS) file during boot.
NVRAM: Non-volatile RAM. NVRAM holds the router’s startup configuration file. NVRAM contents are not lost when the router is powered down or reloaded.
Some important comparisons:
RAM contents are lost on reload, where NVRAM and Flash contents are not.
NVRAM holds the startup configuration file, where RAM holds the running configuration file.
Let's take a look at the boot process of a Cisco router, and then talk about the dreaded Setup Mode!
The Router Boot Process
When a Cisco router powers up, it first runs a series of POSTs (Power-On Self Test). A POST is a series of diagnostic tests designed to verify the basic operation of the network interfaces, memory, and the CPU.
Depending on the model or router of switch you're using, you can actually see some of these tests being passed. Here, I've reloaded a Cisco 2950 switch, and you can see some of the POSTs being run and passed at the very beginning of the bootup process.
flashfs: 79 files, 3 directories
flashfs: 0 orphaned files, 0 orphaned directori
flashfs: Total bytes: 7741440
flashfs: Bytes used: 5980672
flashfs: Bytes available: 1760768
flashfs: flashfs fsck took 7 seconds.
flashfs: Initialization complete.
Done initializing flashfs.
POST: System Board Test : Passed
POST: Ethernet Controller Test : Passed
ASIC Initialization Passed
POST: FRONT-END LOOPBACK TEST : Passed
POSTs are particularly effective at detecting major problems early in the boot process, such as a broken fan. If the POST detects such a problem (usually called an "environmental factor") that would cause the router or switch to overheat after booting, the POST will fail, give you a clear message as to why the POST failed, and will then stop the boot process.
But let's speak positively here!
After the router passes the POST, it looks for a source from which to load a valid Internetwork Operating System (IOS). The router has three sources from which it can load an IOS image, and it's a good idea to know these sources and the order in which the router will look in each for the IOS image:
1. Flash memory (the default).
2. A TFTP server. (Trivial File Transfer Protocol)
3. Read-Only Memory (ROM)
To change that order, a change must be made to the configuration register, and we'll talk about that later in the course. It's similar to the Microsoft Registry in that you should never change this value unless you are sure of the result.
Once the IOS is found, the router looks for a valid startup configuration file. By default, the router will look for the startup configuration file in Non-volatile RAM (NVRAM).
If no valid startup configuration file is found, the router enters setup mode, where the router runs the system configuration dialogue, a series of questions involving basic router setup. We'll take a look at Setup Mode in the next installment of my exclusive 640-802 CCNA and CCENT certification exam tutorial series!