0×1.路由器的基本硬件組成
路由器與計(jì)算機(jī)在硬件結(jié)構(gòu)上十分類似饭冬,下面是組成路由器的核心硬件:
CPU:執(zhí)行操作系統(tǒng)的功能,包括系統(tǒng)初始化,路由和交換等功能熊响。
閃存(Flash Memory):在大多數(shù)Cisco路由器上閃存被用來(lái)保存路由的IOS,設(shè)備斷電后诗赌,閃存的內(nèi)容不會(huì)丟失汗茄。
只讀儲(chǔ)存器(Read Only Memory,ROM):ROM用來(lái)儲(chǔ)存那些不經(jīng)常變動(dòng)的內(nèi)容铭若,包括Bootstrap instructions(引導(dǎo)程序)洪碳、Basic diagnostic software(基本診斷程序)、Scaled-down version of IOS(縮小版的IOS)奥喻。設(shè)備斷電后偶宫,只讀儲(chǔ)存器的內(nèi)容不會(huì)丟失。
隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM):RAM用來(lái)保存一些臨時(shí)的指令和數(shù)據(jù)环鲤,包括Operating System(運(yùn)行的操作系統(tǒng))纯趋、Running-Config(運(yùn)行配置文件)、IP Routing Table(IP路由表)冷离、ARP Cache(ARP緩存吵冒,用于路由器的以太網(wǎng)接口)、Packet Buffer(包緩沖區(qū))西剥;設(shè)備斷電后痹栖,RAM中的內(nèi)容全部丟失。
非易失性隨機(jī)存取存儲(chǔ)器(NonVolatile RAM瞭空,NVRAM):路由器使用NVRAM來(lái)保存啟動(dòng)配置文件(startup-config)揪阿,如果希望路由重啟后所做的修改任然起作用疗我,就需要將RAM中的Running-Config保存到NVRAM的Startup-Config中。設(shè)備斷電后南捂,NVRAM中的內(nèi)容不會(huì)丟失吴裤。
輸入輸出端口(Input/Output,I/O):I/O端口就是數(shù)據(jù)進(jìn)出路由的接口,可以使用Cisco命令”Show Interface”來(lái)查看當(dāng)前路由都有哪些端口溺健。使用”show interface brief”來(lái)查看和顯示當(dāng)前激活和未激活的接口麦牺。
0×2.路由器引導(dǎo)過(guò)程
路由的引導(dǎo)流程:加電自檢->自啟加載器->檢查配置寄存器->確定操作系統(tǒng)位置->加載操作系統(tǒng)->定位配置文件->找到就加載配置文件->沒(méi)找到就進(jìn)入初始化設(shè)置模式;
引導(dǎo)流程詳解:
執(zhí)行POST(Power-On Self Test)加電自檢:路由器打開(kāi)電源后鞭缭,會(huì)執(zhí)行一系列的診斷效驗(yàn)剖膳,來(lái)測(cè)試其硬件,完成加電自檢后岭辣,路由開(kāi)始加載引導(dǎo)程序吱晒。
加載引導(dǎo)程序(Bootstarp):POST完成后,引導(dǎo)程序被從ROM中拷貝到RAM中易结,CPU開(kāi)始執(zhí)行引導(dǎo)程序枕荞,引導(dǎo)程序的主要作用就是定位IOS(Cisco路由操作系統(tǒng)文件),并將IOS加載到RAM中運(yùn)行搞动。
定位和加載IOS:在加載IOS前躏精,首先需要定位IOS位置,現(xiàn)在多數(shù)型號(hào)的路由是通過(guò)讀取配置寄存器的值來(lái)定位操作系統(tǒng)位置的鹦肿,配置寄存器是儲(chǔ)存在NVRAM中的一個(gè)16位的值(在一些老設(shè)備上可能是一個(gè)16針的跳線)矗烛。
這個(gè)值的最后4位指明了引導(dǎo)字段,比如0x2142這個(gè)十六進(jìn)制數(shù)從右往左第一個(gè)數(shù)2就為引導(dǎo)字段箩溃,引導(dǎo)字段的范圍是從0~15,0表示RXBOOT模式瞭吃,1表示自動(dòng)從ROM啟動(dòng),2-F表示boot system命令涣旨,檢查NVRAM中的配置歪架,這將使路由在NVRAM中尋找boot system命令,如果找到就用引導(dǎo)命令中指定的方式引導(dǎo)(比如"boot system flash:unzip-c3640-ik9o3s-mz.124-10.bin"霹陡,就是讓路由讀取閃存中的unzip-c3640-ik9o3s-mz.124-10.bin這個(gè)IOS文件)和蚪。
如果boot system引導(dǎo)失敗,路由則會(huì)自動(dòng)加載閃存中第一個(gè)IOS文件烹棉。如果閃存中也無(wú)有效的IOS攒霹,或者根本找不到閃存,路由則會(huì)通過(guò)TFTP廣播請(qǐng)求IOS浆洗,如果TFTP廣播請(qǐng)求失敗催束,路由會(huì)從ROM中將一個(gè)縮小版的診斷IOS加載到RAM中,以幫助路由判斷是什么原因?qū)е铝艘龑?dǎo)失敗伏社。
加載配置文件(startup-config):IOS加載成功后抠刺,系統(tǒng)會(huì)去NVRAM中查找有無(wú)startup-config塔淤,如果找到就用這個(gè)配置文件中的配置初始化路由啟動(dòng)。如果沒(méi)有找到矫付,系統(tǒng)將進(jìn)入初始化配置模式凯沪。如果想要路由啟動(dòng)時(shí)加載上一次保存的startup-config,需要將配置寄存器的值改為0x2102买优,在GNS3實(shí)驗(yàn)環(huán)境中,默認(rèn)是0x2142挺举,不加載startup-config杀赢。