Memory

                       

There are four types of router memory – all are permanent (non-volatile) except RAM.  Volatile memory is erased upon power-off, non-volatile holds it’s data indefinitely through the use of a small battery  :

 

IOS Memory

 

ROM (Read-Only Memory) –a small initializing bootstrap routine and hardware dioagnostics that allows the router to initialize and power up (POST) even if the other memory in the router becomes erased.  It also has a subset of the basic IOS.  Only the 7000 and 7500 router series have a full version of the IOS stored in ROM

 

Flash – non-volatile memory that stores the IOS – not the config !!!.  In 7500 routers, it can also store several config files.

 

 

Config Memory

 

NVRAM – non-volatile memory – permanently stores the initial startup config – not the IOS !!!.  The running config can be copied to the NVRAM, and becomes the startup config if the “copy run start” command is issued.  The NVRAM insures that even if power is lost, the router can reboot and load the configuration (which is lost in DRAM during a power outage).

 

RAM (or DRAM) – volatile memory - this is the main working memory (is loaded with both the IOS from Flash, and the config from NVRAM) and is used by the CPU to store data which can be quickly transferred between RAM and CPU, such as the routing tables.  Upon bootup, info from both NVRAM and Flash is copied into DRAM for the duration (until the router is turned off).  As you enter commands and make changes to the config, the changed config is stored in DRAM and is called the “running config”.  Make sure to copy the running config to the permanent storage (NVRAM) so that if you need to reboot, your changes are not lost !!!  (copy run start)

 

Configuration  Register – a tiny 16-bit (2-byte) register whose value determines certain router parameters, such as boot preferences.  The default hexadecimal value of the register is 0x2102.  Use the “show version” command to view the contents of this register, as four hexadecimal digits.  To change the riegister’s value, use the “config-register” command while in the config mode. 

 

For example, if you want to recover the  password, bit 6 is the “ignore NVRAM bit, and is usually set to 0 so that the config is loaded from NVRAM.  In this case you want to set it to 1, leaving the other 15 bits the same:

 

            config-register 0x2142  (new contents will not load until reboot)