路由器是怎麼構成的呢?這一問題首先要從路由器的體系結構談起。
路由器的體系結構
從體系結構上看,路由器可以分為第一代單總線單CPU結構路由器、第二代單總線主從CPU結構路由器、第三代單總線對稱式多CPU結構路由器;第四代多總線多CPU結構路由器、第五代共享內存式結構路由器、第六代交叉開關體系結構路由器和基於機群系統的路由器等多類。
路由器的構成
路由器具有四個要素:輸入端口、輸出端口、交換開關和路由處理器。
輸入端口是物理鏈路和輸入包的進口處。端口通常由線卡提供,一塊線卡一般支持4、8或16個端口,一個輸入端口具有許多功能。第一個功能是進行數據鏈路層的封裝和解封裝。第二個功能是在轉發表中查找輸入包目的地址從而決定目的端口(稱為路由查找),路由查找可以使用一般的硬件來實現,或者通過在每塊線卡上嵌入一個微處理器來完成。第三,為了提供QoS(服務質量),端口要對收到的包分成幾個預定義的服務級別。第四,端口可能需要運行諸如SLIP(串行線網際協議)和PPP(點對點協議)這樣的數據鏈路級協議或者諸如PPTP(點對點隧道協議)這樣的網絡級協議。一旦路由查找完成,必須用交換開關將包送到其輸出端口。如果路由器是輸入端加隊列的,則有幾個輸入端共享同一個交換開關。這樣輸入端口的最後一項功能是參加對公共資源(如交換開關)的仲裁協議。
交換開關可以使用多種不同的技術來實現。迄今為止使用最多的交換開關技術是總線、交叉開關和共享存貯器。最簡單的開關使用一條總線來連接所有輸入和輸出端口,總線開關的缺點是其交換容量受限於總線的容量以及為共享總線仲裁所帶來的額外開銷。交叉開關通過開關提供多條數據通路,具有N×N個交叉點的交叉開關可以被認為具有2N條總線。如果一個交叉是閉合,輸入總線上的數據在輸出總線上可用,否則不可用。交叉點的閉合與打開由調度器來控制,因此,調度器限制了交換開關的速度。在共享存貯器路由器中,進來的包被存貯在共享存貯器中,所交換的僅是包的指針,這提高了交換容量,但是,開關的速度受限於存貯器的存取速度。盡管存貯器容量每18個月能夠翻一番,但存貯器的存取時間每年僅降低5%,這是共享存貯器交換開關的一個固有限制。
輸出端口在包被發送到輸出鏈路之前對包存貯,可以實現復雜的調度算法以支持優先級等要求。與輸入端口一樣,輸出端口同樣要能支持數據鏈路層的封裝和解封裝,以及許多較高級協議。
路由處理器計算轉發表實現路由協議,並運行對路由器進行配置和管理的軟件。同時,它還處理那些目的地址不在線卡轉發表中的包。