路由器的概念
路由器是在互聯網中連接局域網和廣域網的設備。它會根據信道條件自動選擇和設置路由,以最佳路徑依次發送信號。路由器是互聯網的樞紐,是“交通警察”。目前,路由器已經廣泛應用於各行各業,不同檔次的產品已經成為實現各種骨幹網內部連接、骨幹網之間互聯、骨幹網與互聯網互聯的主力軍。路由和交換機的主要區別在於,交換發生在OSI參考模型的第二層(數據鏈路層),而路由發生在第三層,即網絡層。這種差異決定了路由器和交換機在移動信息的過程中需要使用不同的控制信息,因此它們以不同的方式實現各自的功能。
路由器也稱為網關設備,用於連接多個邏輯上分離的網絡。所謂的邏輯網絡代表單個網絡或子網。當數據從壹個子網傳輸到另壹個子網時,可以通過路由器的路由功能來完成。因此,路由器具有判斷網絡地址和選擇IP路徑的功能。它可以在多網絡互聯環境中建立靈活的連接,可以連接各種數據分組和介質訪問方式完全不同的子網。路由器只接受源站或其他路由器的信息,屬於網絡層的壹個互聯設備。
路由器的硬件組成
壹、路由器的硬件組成
路由器主要由以下幾部分組成:輸入/輸出接口、分組轉發或交換結構、路由計算或處理。
輸入端口是物理鏈路和輸入數據包的入口。端口通常由線卡提供。壹個線卡壹般支持4個、8個或者16個端口,壹個輸入端口有很多功能。第壹個功能是封裝和解封裝數據鏈路層。第二個功能是在轉發表中查找輸入數據包的目的地址,以確定目的端口(稱為路由查找)。路由查找可以通過使用通用硬件或在每個線卡中嵌入微處理器來實現。第三,為了提供QoS(服務質量),端口應該將接收到的數據分組分類為幾個預定義的服務級別。第四,端口可能需要運行數據鏈路層協議,如SLIP(串行線路互聯網協議)和PPP(點對點協議)或網絡層協議,如PPTP(點對點隧道協議)。路由查找完成後,數據包必須通過交換機發送到其輸出端口。如果路由器是輸入和排隊,幾個輸入* * *共享同壹個交換機。這個輸入端口的最後壹個作用是參與公共資源(如交換交換機)的仲裁協議。在普通路由器中,這部分的功能完全由路由器的中央處理器來完成,限制了數據包的轉發速率(每秒幾千到幾萬個數據包)。高端路由器廣泛實現分布式硬件處理,接口部分擁有強大的CPU處理器和大容量緩存,使得接口數據速率達到10Gbps,滿足高速骨幹網的傳輸要求。
路由器的轉發機制對路由器的性能有很大的影響。常見的轉發方式有:流程轉發、快速轉發、優化轉發、分布式快速轉發。進程轉發將數據包從接口緩存復制到處理器緩存進行處理。首先,它查看路由表,然後查看ARP表。重新打包數據包後,它會將數據包復制到接口緩存中進行傳輸。兩次查表和復制數據會占用大量CPU處理時間,所以這是最慢的交換方式,只在低端路由器中使用。快速交換緩存兩次查表的結果而不復制數據,所以CPU處理數據包的時間縮短。優化切換在快速切換的基礎上略有改進,改變了緩存表的數據結構。深度為32的二叉樹或哈希表被深度為4的256樹取代,CPU搜索時間進壹步縮短。這兩種轉發方式廣泛應用於高端路由器。在骨幹路由器中,由於路由表條目的倍增,路由表或ARP表的任何變化都會導致大部分路由緩沖區失效,以前的交換模式不再適用。最新的交換模式是分布式快速交換,在每個接口處理板上構建壹個結合了鏡像路由表和MAC地址表的轉發表,是壹棵深度為4的256樹,但是每個節點的數據部分是壹個指向另壹個叫做鄰接表的指針,裏面包含了路由器的成幀需求。這種結構使得轉發表完全由路由表和ARP表更新,不需要額外的老化過程,克服了其他交換方式需要不斷老化緩存表的缺陷。
最常見的交換結構是總線型、* * * *共享內存型和交叉桿空分結構。總線結構最簡單,所有輸入輸出接口都掛在壹條總線上,同時只有兩個接口通過總線交換數據。它的缺點是其交換能力受到總線容量和總線仲裁帶來的額外開銷的限制。它必須在調度數據傳輸通道上花費壹定的資金,總線帶寬的擴展有限,制約了交換能力的擴展。壹般這種結構用在中檔路由器上。在* * *共享內存結構中,傳入的包存儲在* *共享內存中,只交換包的指針,提高了交換容量,但受限於內存的訪問速度和內存的管理效率。雖然內存容量每65,438+08個月可以翻壹番,但內存的訪問時間每年只減少5%,這是* *共享內存交換交換機的固有限制。* * *共享內存架構廣泛應用於早期的中低端路由器。交叉桿空間劃分結構相當於多條總線並行工作,n?具有n個交叉點的縱橫制交換機可以被認為具有2N條總線。如果交叉點是閉合的,則輸入總線上的數據在輸出總線上可用,否則不可用。流經它的數據是不斷交換的,可見交換速度決定了交換能力。隨著各種高速器件的不斷出現,這種結構的交換容量壹般達到幾十Gbps以上,成為高端路由器和交換機的首選。
路由計算或處理部分主要運行動態路由協議。收發路由信息,計算路由表,為包轉發提供依據。不同等級路由器的路由表條目大小差異很大,從幾千到幾百萬不等。所以高端路由器路由表的構建對路由搜索的速度影響很大,其路由表的數據結構往往采用二叉樹的形式,使得搜索和更新更快。
輸出端口在將分組發送到輸出鏈路之前存儲分組,這可以實現復雜的調度算法來支持優先級要求。像輸入端口壹樣,輸出端口也應該能夠支持數據鏈路層和許多更高層協議的封裝和解封裝。
壹般來說,路由器交換壹個數據包要經過壹系列復雜的處理,主要表現在以下幾個方面:
1)壓縮和解壓縮
2)加密和解密
3)使用輸入/輸出訪問列表過濾消息。
4)輸入速率限制
5)執行網絡地址轉換(NAT)
6)處理任何影響本文的戰略路線。
7)通過應用防火墻功能來檢查包。
8)處理網頁緩沖區的重定向。
9)物理廣播處理,如ip幫助地址。
10)使用啟用的QoS機制對數據包進行排隊。
11)TTL值處理
12)處理IP報頭中的任何選項。
13)檢查數據包的完整性。
二、路由器的軟件系統
路由器在軟件的控制下工作。與常見的操作系統相比,其軟件系統相對簡單,全部駐留在內存中,受原平臺限制。以商用實時操作系統內核為基礎,開發包括TCP/IP協議棧在內的接口平臺,輔以各種功能模塊,形成完整的軟件系統。為了最大限度地提高路由器快速交換消息的能力,操作系統被設計為具有最小的操作開銷,並允許CPU將最大的帶寬用於消息交換。
路由器的軟件系統主要由五部分組成:
1.進程:由執行特定任務的獨立線程和相關數據組成,如telnet守護進程、客戶端進程、FTP進程、TFTP進程、SNMP進程、各種協議進程:IP、TCP、UDP、RIP、OSPF、BGP、ARP、ICMP、IGMP等加解密進程、消息過濾進程、NAT進程等。
2.內核:為系統的其他部分提供基本的系統服務,例如內存管理、進程調度、定時器和時鐘管理。它為進程提供硬件(CPU和內存)資源的管理。
3.消息緩沖區:用於存儲要交換的消息。
4.設備驅動:控制網絡接口硬件設備和其他外圍設備(如Flash)。設備驅動程序接口位於進程、內核和硬件之間,具有與切換控制軟件的接口。
5.交換控制軟件:根據轉發方式控制報文的交換,在高端線速路由器中由硬件實現。