路由器的概念
路由器是連接互聯網中局域網和廣域網的設備。它會根據信道條件自動選擇和設置路由,以最佳路徑依次發送信號。路由器是互聯網的樞紐,是“交通警察”。目前,路由器已廣泛應用於各行各業,不同檔次的產品已成為實現各種骨幹網內部連接、骨幹網之間互聯以及骨幹網與互聯網互聯的主力軍。路由和交換機的主要區別在於,交換發生在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.交換控制軟件:根據轉發模式控制報文的交換,在高端線速路由器中由硬件實現。