1、路由器的硬件架构?
首先我们来了解路由器一般硬件架构,主要有CPU 、内存、NVRAM、Flash、接口等组成,可以把路由器的看作一个具有特殊功能的计算机,大家都知道一个完整的计算机系统由硬件系统和软件系统构成。路由器硬件结构如下图所示:
uFlash(闪存)中存放的是路由器的操作系统,大家所熟悉IOS(Interconnection Operation System) 就是CISCO的路由器操 作系统,用压缩的格式存放在路由器Flash中。
uNVRAM(非易失性存储器)使用IOS提供的相关命令对路由器进行配置,并以文件的形式存放在NVRAM中,这样方便在启动时加载到内存中。
uROM(Read Only Memory)只读存储器里包含了POST(Power On Self Test)加电自检代码、Boot Strap引导代码、Mini IOS (简化版的IOS相当于windows 系统的安全模式)、ROM Monitor(相当与windows的命令提示模式主要用于灾难恢复)
uRAM(Random-Access Memory)随机存取存储器包含启动时加载的IOS、各种路由协议进程、活动配置文件、缓冲区等
2、什么是注册寄存器的值?
注册的寄存器是由16位的二进制数组成的放置在路由器的NVRAM中的一组数值,用于决定路由器如何启动。Cisco路由器的默认注册寄存器的值是0x2102(十六进制)表示路由器根据NVRAM中配置文件决定启动位置。
下表描述了注册寄存器各个比特位的含义.
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 广播到所有域 |
5,11,12 |
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)如何设置NVRAM中IOS的寻找和加载顺序
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中。