1、路由器的硬件架构?
   首先我们来了解路由器一般硬件架构,主要有CPU 、内存、NVRAMFlash、接口等组成,可以把路由器的看作一个具有特殊功能的计算机,大家都知道一个完整的计算机系统由硬件系统和软件系统构成。路由器硬件结构如下图所示:
路由器注册寄存器值_休闲
   
uFlash(闪存)中存放的是路由器的操作系统,大家所熟悉IOSInterconnection Operation System 就是CISCO的路由器操 作系统,用压缩的格式存放在路由器Flash中。
uNVRAM(非易失性存储器)使用IOS提供的相关命令对路由器进行配置,并以文件的形式存放在NVRAM中,这样方便在启动时加载到内存中。
uROMRead Only Memory)只读存储器里包含了POSTPower On Self Test)加电自检代码、Boot Strap引导代码、Mini IOS (简化版的IOS相当于windows 系统的安全模式)ROM Monitor(相当与windows的命令提示模式主要用于灾难恢复) 
uRAMRandom-Access Memory)随机存取存储器包含启动时加载的IOS、各种路由协议进程、活动配置文件、缓冲区等

 
2、什么是注册寄存器的值?
   注册的寄存器是由16位的二进制数组成的放置在路由器的NVRAM中的一组数值,用于决定路由器如何启动。Cisco路由器的默认注册寄存器的值是0x2102(十六进制)表示路由器根据NVRAM中配置文件决定启动位置。
路由器注册寄存器值_休闲_02
下表描述了注册寄存器各个比特位的含义.
Bit Number(比特位)
Meaning (含义)
0-3
引导区. (See Table C-2.)
6
是否加载NVRAM中的配置文件内容
7
开启OEM
8
关闭Break
9
Causes the system to use the secondary bootstrap.
This is typically not used (set to 0).
10
IP 广播到所有域
51112
Console 口速率
13
如果网络启动失败,默认从ROM中启动
14
IP broadcasts do not have net numbers.
15
启动诊断信息同时忽略NVRAM内容
 
3、修改注册寄存器的值 (以Cisco2600系列的路由器为例)
       1)如何让路由器开机后进入ROMmon模式
             Router1(config)# config-register 0x2100     //设置注册寄存器的值为0x2100
             Router# show version                               //验证注册寄存器的值
             Router# copy run start                              //保存配置到NVRAM 配置文件中
             Router# reload                                         //重启路由器
             …
             Rommon>                                               //进入Rommon模式提示符

       注意:
*         想让路由器开机进入Mini IOS,将注册寄存器的值该为0x2101
*         如果保存了以上的配置路由器在每次启动都将生效!

    2)如何在ROMmon模式中在如何修改配置寄存器的值
        Rommon>confreg 0x2102            //将寄存器的值改为0x2102(默认值)
        Rommon> reset                    //重启路由器

        提示:
*         如果寄存器的值为0x2102表示根据NVRAM中的设置决定启动位置
*         在路由器开机时按住键盘上Ctrl+Break键也可以进入路由器的 ROMmon

    3)如何设置NVRAMIOS的寻找和加载顺序
              Router(config)# boot system flash [slot0:] [ios_filename]      //表示从0号插槽的flash中加载IOS
              Router(config)# boot system rom                                       //表示从ROM中加载IOS
              Router(config)# boot system tftp [ios_filename] [tftp-ip]        //表示从TFTP服务器中加载IOS
              Router# copy run start                                                      //保存以上的配置到NVRAM

    4)如何设置开机不加载配置文件
              Step1: 使用 console线把路由器的Console口和计算机的Com相连
              Step2: 给路由器加电时并时按住键盘上的Ctrl+Break 键进入监控模式;
              Step3: 在监控模式下设置配置寄存器的值为0x2142,并重启路由器;
 
              提示:
*         注册寄存器的第6位的取值决定路由器启动时是否加载配置
*         将配置寄存器的值设置为0x2142表示开机不加载配置文件但是配置文件仍然存放在NVRAM中。