路由器的體系結(jié)構(gòu)簡介
路由器的體系結(jié)構(gòu)簡介
路由器是怎么構(gòu)成的呢?這一問題首先要從路由器的體系結(jié)構(gòu)談起。
路由器的體系結(jié)構(gòu)
從體系結(jié)構(gòu)上看,路由器可以分為第一代單總線單CPU結(jié)構(gòu)路由器、第二代單總線主從CPU結(jié)構(gòu)路由器、第三代單總線對稱式多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ì)量),端口要對收到的包分成幾個(gè)預(yù)定義的服務(wù)級別。第四,端口可能需要運(yùn)行諸如SLIP(串行線網(wǎng)際協(xié)議)和PPP(點(diǎn)對點(diǎn)協(xié)議)這樣的數(shù)據(jù)鏈路級協(xié)議或者諸如PPTP(點(diǎn)對點(diǎn)隧道協(xié)議)這樣的網(wǎng)絡(luò)級協(xié)議。一旦路由查找完成,必須用交換開關(guān)將包送到其輸出端口。如果路由器是輸入端加隊(duì)列的,則有幾個(gè)輸入端共享同一個(gè)交換開關(guān)。這樣輸入端口的最后一項(xiàng)功能是參加對公共資源(如交換開關(guān))的仲裁協(xié)議。
交換開關(guān)可以使用多種不同的技術(shù)來實(shí)現(xiàn)。迄今為止使用最多的交換開關(guān)技術(shù)是總線、交叉開關(guā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ā)送到輸出鏈路之前對包存貯,可以實(shí)現(xiàn)復(fù)雜的調(diào)度算法以支持優(yōu)先級等要求。與輸入端口一樣,輸出端口同樣要能支持?jǐn)?shù)據(jù)鏈路層的封裝和解封裝,以及許多較高級協(xié)議。
路由處理器計(jì)算轉(zhuǎn)發(fā)表實(shí)現(xiàn)路由協(xié)議,并運(yùn)行對路由器進(jìn)行配置和管理的軟件。同時(shí),它還處理那些目的地址不在線卡轉(zhuǎn)發(fā)表中的包。