路由器的一個(gè)作用是連通不同的網(wǎng)絡(luò),另一個(gè)作用是選擇信息傳送的線路。選擇通暢快捷的近路,能大大提高通信速度,減輕網(wǎng)絡(luò)系統(tǒng)通信負(fù)荷,節(jié)約網(wǎng)絡(luò)系統(tǒng)資源,提高網(wǎng)絡(luò)系統(tǒng)暢通率,從而讓網(wǎng)絡(luò)系統(tǒng)發(fā)揮出更大的效益來。
從過濾網(wǎng)絡(luò)流量的角度來看,路由器的作用與交換機(jī)和網(wǎng)橋非常相似。但是與工作在網(wǎng)絡(luò)物理層,從物理上劃分網(wǎng)段的交換機(jī)不同,路由器使用專門的軟件協(xié)議從邏輯上對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行劃分。例如,一臺(tái)支持IP協(xié)議的路由器可以把網(wǎng)絡(luò)劃分成多個(gè)子網(wǎng)段,只有指向特殊IP地址的網(wǎng)絡(luò)流量才可以通過路由器。對(duì)于每一個(gè)接收到的數(shù)據(jù)包,路由器都會(huì)重新計(jì)算其校驗(yàn)值,并寫入新的物理地址。因此,使用路由器轉(zhuǎn)發(fā)和過濾數(shù)據(jù)的速度往往要比只查看數(shù)據(jù)包物理地址的交換機(jī)慢。但是,對(duì)于那些結(jié)構(gòu)復(fù)雜的網(wǎng)絡(luò),使用路由器可以提高網(wǎng)絡(luò)的整體效率。路由器的另外一個(gè)明顯優(yōu)勢(shì)就是可以自動(dòng)過濾網(wǎng)絡(luò)廣播。從總體上說,在網(wǎng)絡(luò)中添加路由器的整個(gè)安裝過程要比即插即用的交換機(jī)復(fù)雜很多。
一般說來,異種網(wǎng)絡(luò)互聯(lián)與多個(gè)子網(wǎng)互聯(lián)都應(yīng)采用路由器來完成。
路由器的主要工作就是為經(jīng)過路由器的每個(gè)數(shù)據(jù)幀尋找一條最佳傳輸路徑,并將該數(shù)據(jù)有效地傳送到目的站點(diǎn)。由此可見,選擇最佳路徑的策略即路由算法是路由器的關(guān)鍵所在。為了完成;這項(xiàng)工作,在路由器中保存著各種傳輸路徑的相關(guān)數(shù)據(jù)——路徑表(Routing Table),供路由選擇;時(shí)使用。路徑表中保存著子網(wǎng)的標(biāo)志信息、網(wǎng)上路由器的個(gè)數(shù)和下一個(gè)路由器的名字等內(nèi)容。路徑表可以是由系統(tǒng)管理員固定設(shè)置好的,也可以由系統(tǒng)動(dòng)態(tài)修改,可以由路由器自動(dòng)調(diào)整,也可以由主機(jī)控制。
1.靜態(tài)路徑表
由系統(tǒng)管理員事先設(shè)置好固定的路徑表稱之為靜態(tài)(static)路徑表,一般是在系統(tǒng)安裝時(shí)就根據(jù)網(wǎng)絡(luò)的配置情況預(yù)先設(shè)定的,它不會(huì)隨未來網(wǎng)絡(luò)結(jié)構(gòu)的改變而改變。
2.動(dòng)態(tài)路徑表
動(dòng)態(tài)(Dynamic)路徑表是路由器根據(jù)網(wǎng)絡(luò)系統(tǒng)的運(yùn)行情況而自動(dòng)調(diào)整的路徑表。路由器根據(jù)路由選擇協(xié)議(Routing Protocol)提供的功能,自動(dòng)學(xué)習(xí)和記憶網(wǎng)絡(luò)運(yùn)行情況,在需要時(shí)自動(dòng)計(jì)算數(shù)據(jù)傳輸?shù)淖罴崖窂健?
路由器的體系結(jié)構(gòu)
從體系結(jié)構(gòu)上看,路由器可以分為第一代單總線單CPU結(jié)構(gòu)路由器、第二代單總線主從CPU結(jié)構(gòu)路由器、第三代單總線對(duì)稱式多CPU結(jié)構(gòu)路由器;第四代多總線多CPU結(jié)構(gòu)路由器、第五代共享內(nèi)存式結(jié)構(gòu)路由器、第六代交叉開關(guān)體系結(jié)構(gòu)路由器和基于機(jī)群系統(tǒng)的路由器等多類。
路由器的構(gòu)成
路由器具有四個(gè)要素:輸入端口、輸出端口、交換開關(guān)和路由處理器。
輸入端口是物理鏈路和輸入包的進(jìn)口處。端口通常由線卡提供,一塊線卡一般支持4、8或16個(gè)端口,一個(gè)輸入端口具有許多功能。第一個(gè)功能是進(jìn)行數(shù)據(jù)鏈路層的封裝和解封裝。第二個(gè)功能是在轉(zhuǎn)發(fā)表中查找輸入包目的地址從而決定目的端口(稱為路由查找),路由查找可以使用一般的硬件來實(shí)現(xiàn),或者通過在每塊線卡上嵌入一個(gè)微處理器來完成。第三,為了提供QoS(服務(wù)質(zhì)量),端口要對(duì)收到的包分成幾個(gè)預(yù)定義的服務(wù)級(jí)別。第四,端口可能需要運(yùn)行諸如SLIP(串行線網(wǎng)際協(xié)議)和PPP(點(diǎn)對(duì)點(diǎn)協(xié)議)這樣的數(shù)據(jù)鏈路級(jí)協(xié)議或者諸如PPTP(點(diǎn)對(duì)點(diǎn)隧道協(xié)議)這樣的網(wǎng)絡(luò)級(jí)協(xié)議。一旦路由查找完成,必須用交換開關(guān)將包送到其輸出端口。如果路由器是輸入端加隊(duì)列的,則有幾個(gè)輸入端共享同一個(gè)交換開關(guān)。這樣輸入端口的最后一項(xiàng)功能是參加對(duì)公共資源(如交換開關(guān))的仲裁協(xié)議。
交換開關(guān)可以使用多種不同的技術(shù)來實(shí)現(xiàn)。迄今為止使用最多的交換開關(guān)技術(shù)是總線、交叉開關(guān)和共享存貯器。最簡(jiǎn)單的開關(guān)使用一條總線來連接所有輸入和輸出端口,總線開關(guān)的缺點(diǎn)是其交換容量受限于總線的容量以及為共享總線仲裁所帶來的額外開銷。交叉開關(guān)通過開關(guān)提供多條數(shù)據(jù)通路,具有N×N個(gè)交叉點(diǎn)的交叉開關(guān)可以被認(rèn)為具有2N條總線。如果一個(gè)交叉是閉合,輸入總線上的數(shù)據(jù)在輸出總線上可用,否則不可用。交叉點(diǎn)的閉合與打開由調(diào)度器來控制,因此,調(diào)度器限制了交換開關(guān)的速度。在共享存貯器路由器中,進(jìn)來的包被存貯在共享存貯器中,所交換的僅是包的指針,這提高了交換容量,但是,開關(guān)的速度受限于存貯器的存取速度。盡管存貯器容量每18個(gè)月能夠翻一番,但存貯器的存取時(shí)間每年僅降低5%,這是共享存貯器交換開關(guān)的一個(gè)固有限制。
輸出端口在包被發(fā)送到輸出鏈路之前對(duì)包存貯,可以實(shí)現(xiàn)復(fù)雜的調(diào)度算法以支持優(yōu)先級(jí)等要求。與輸入端口一樣,輸出端口同樣要能支持?jǐn)?shù)據(jù)鏈路層的封裝和解封裝,以及許多較高級(jí)協(xié)議。
路由處理器計(jì)算轉(zhuǎn)發(fā)表實(shí)現(xiàn)路由協(xié)議,并運(yùn)行對(duì)路由器進(jìn)行配置和管理的軟件。同時(shí),它還處理那些目的地址不在線卡轉(zhuǎn)發(fā)表中的包。