一.路由器硬件组成:
1. CPU 中央处理器:路由器与电脑一样都有一个CPU,不同系列不同型号的路由器CPU也不一样。以Cisco为例,一般采用Motorola型的CPU。
2. RAM 随机存取存储器:包含了让路由器发挥功能的软件和数据结构,RAM中运行的软件是Cisco IOS印像和运行的配置。它类似于PC中的内存。
3. ROM 只读存储器,包含启动和维护路由器基本功能的微代码。其内部软件结构如图:
它由以上四个部分组成。
4. Flash memory 闪存就是硬盘,只是在路由器中用flash来代替硬盘。主要用于包含IOS软件映像,维持路由器正常工作。它用来引导路由器的IOS软件的默认位置。只要flash足够大,就可以保存多个IOS映像,以提供多重引导选项。
5. NVRAM 非易失性的随机存取存储器,主要用于保存配置文件。当电源断开时,NVRAM任然维持数据。
6. 路由器各个部件的内容及功能如下图:
二.启动过程
1. 当主板加电时,各个组件通电,首先工作的时ROM。ROM里面保存着路由器的引导(启动)软件,负责让路由器进入正常工作。ROM通常是一个或多个芯片,焊接在主板上。如上图所示,包含ROM微代码的有四个主要区域,分别有各自功能。
2. 当加电时首先执行POST(Power-on self test code加电自检代码),它来测试路由硬件,判断有哪些组件,是否有问题。
3. 如果POST没有检测到问题,则接下来执行Bootstrap code(启动代码),它用于在初始化阶段调出路由器。它读取配置寄存器,决定如何启动。这里提到了寄存器这个东西,它是干什么的呢?Bootstrap code是用来决定启动什么系统的。在选择IOS时,它需要参照(读取)寄存器里面的指定。其实真实的寄存器是不存在的,它只是存储在NVRAM中的一个16位的值,并不是一个物理实体。在这个寄存器里面用最后的4位指明引导字段,引导字段告诉路由器配置文件的所在地。这个4位数以十六进制数表示,如0x2142,0x表示是十六进制,每个十六进制的数字代表4位二进制数,其中最后一个数就是引导字段,以下列出了各字段代表什么:
自启域值 |
路由器的解释 |
0 |
自动从RAM启动,即ROM monitor |
1 |
RXBOOT模式,如有Mini IOS则加载 |
2~F |
是boot system命令,检查NVRAM中寄存器配置 |
当引导程序读取了寄存器中的值后,就知道怎么启动系统了。
4. 当寄存器里面的值是2时,则会启动Flash中的IOS。
5. 当找到IOS后,系统会自解压IOS,解压完成后即启动了系统。之后系统会去NVRAM里面读取startup-config配置文件,如果有则逐条执行配置文件,如果没有则会询问用户是否进入初始化配置。到此系统开机完毕。
6. 我们刚才提到在NVRAM中保存着系统配置文件,这个配置文件是startup-config文件,它是系统在刚开机的时候读取的。读取完成后系统会在RAM中也存一份,在RAM里面的配置文件叫做running-config,它是系统在运行时读取的。可用命令查看相关内容,具体如下: