路由器里也有軟件在運行,典型的例如微軟(Microsoft)公司的Windows、蘋果(Apple)公司的IOS與Mac OS、谷歌(Google)公司的Android,可以等同地認為它就是路由器的操作系統,像PC上使用的Windows操作系統一樣。路由器的操作系統完成路由表的生成和維護。
同樣的,作為路由器來講,也有一個類似于我們PC系統中BIOS一樣作用的部分,叫做MiniIOS。MiniIOS可以使我們在路由器的FLASH中不存在ISO時,先引導起來,進入恢復模式,來使用TFTP或X-MODEM等方式去給FLASH中導入ISO文件。所以,路由器的啟動過程應該是這樣的:
路由器在加電后首先會進行POST。Power On Self Test (上電自檢,對硬件進行檢測的過程)。
POST完成后,首先讀取ROM里的BootStrap程序進行初步引導。
初步引導完成后,嘗試定位并讀取完整的ISO鏡像文件。在這里,路由器將會首先在FLASH中查找ISO文件,如果找到了ISO文件的話,那么讀取ISO文件,引導路由器。
如果在FLASH中沒有找到ISO文件的話,那么路由器將會進入BOOT模式,在BOOT模式下可以使用TFTP上的ISO文件。或者使用TFTP/X-MODEM來給路由器的FLASH中傳一個ISO文件(一般我們把這個過程叫做灌ISO)。傳輸完畢后重新啟動路由器,路由器就可以正常啟動到CLI模式。
當路由器初始化完成ISO文件后,就會開始在NVRAM中查找STARTUP-CONFIG文件,STARTUP-CONFIG叫做啟動配置文件。該文件里保存了我們對路由器所做的所有的配置和修改。當路由器找到了這個文件后,路由器就會加載該文件里的所有配置,并且根據配置來學習、生成、維護路由表,并將所有的配置加載到RAM(路由器的內存)里后,進入用戶模式,最終完成啟動過程。
如果在NVRAM里沒有STARTUP-CONFIG文件,則路由器會進入詢問配置模式,也就是俗稱的問答配置模式,在該模式下所有關于路由器的配置都可以以問答的形式進行配置。不過一般情況下我們基本上是不用這樣的模式的。我們一般都會進入CLI [1] (Comman Line Interface)命令行模式后對路由器進行配置。
工作原理示例
(1)工作站A將工作站B的地址12.0.0.5連同數據信息以數據包的形式發送給路由器1。
(2)路由器1收到工作站A的數據包后,先從包頭中取出地址12.0.0.5,并根據路徑表計算出發往工作站B的最佳路徑:R1->R2->R5->B;并將數據包發往路由器2。
(3)路由器2重復路由器1的工作,并將數據包轉發給路由器5。
(4)路由器5同樣取出目的地址,發現12.0.0.5就在該路由器所連接的網段上,于是將該數據包直接交給工作站B。
(5)工作站B收到工作站A的數據包,一次通信過程宣告結束。