計算機網絡-4-9-路由器


路由器的構成

路由器的結構

路由器是具有多個輸入端口和多個輸出端口的專用計算機,其任務就是轉發分組。從路由器某個輸入端的接收到的分組,按照分組要去的目的地(即目的網絡),把該分組從路由器合適的輸出端口轉發給下一跳路由器。下一跳路由器也按照這樣方式處理分組,直到該分組到達該終點為止。路由器的轉發分組是網絡層的主要工作,圖4-42給出了了一種典型的路由器的構成圖

image

從圖中可以看出,整個路由器部分可以分為兩個部分:路由選擇部分和分組轉發部分。

路由選擇部分也稱之為控制部分,其核心構件是路由選擇處理機,路由選擇處理機的任務是根據所選定的路由選擇協議構造出路由表,同時經常定期的和相鄰路由器交換路由信息並不斷更新和路由表。

分組轉發部分主要由三部分組成:交換結構,一組輸入端口和一組輸出端口(這里端口指的是硬件端口)。

交換結構(switching fabric)又稱之為交換組織,它的作用是根據轉發表(forwarding table) 對分組進行處理,將某個輸入端口的進入的分組從一個合適的輸出端口轉發出去。交換結構本身就是一個網絡,但這種網絡完全包含在路由器中,因此交換結構可以堪看成"路由器"中的網絡

注意轉發路由選擇的區別。在互聯網中,”轉發“就是路由器根據轉發表把收到的IP地址從合適的端口轉發出去(發送出去)。轉發僅僅只涉及一個路由器。但”路由選擇協議“涉及到多個路由器,路由表是許多個路由器協同工作的結果。這些路由器按照復雜的路由算法,得出整個網絡的拓撲結構變化情況,因而能動態的改變所選擇的路由,並由此構造出整個的路由表。路由表一般僅包含從目的網絡到下一跳(需要到達的下一個路由器IP地址)的映射,而轉發表是從路由表中得出的。轉發表必須包含完成轉發功能所必需的信息,即在轉發表的每一行必須包含從到達目的網絡到輸出端口和MAC地址的信息(如下一跳的MAC地址)的映射。路由表和轉發表的數據結構並不一樣,因為在轉發分組時,轉發表的結構應當使查找結構最優化,但路由表則需要對網絡拓撲結構變化的計算最優化。路由表是用軟件實現的,但轉發表用特殊的硬件來實現,。在討論路由選擇原理的時候,我們往往不會區分路由表和轉發表,轉發表是基於路由表生成的,而可以籠統的使用路由表名詞

在圖4-42中,路由器的輸入和輸出端口面都都有三個方框,方框中的1,2,3分別代表的是物理層,數據鏈路層,網絡層。物理層進行比特接受。數據鏈路層按照鏈路層協議接收和傳送分組的幀。把幀的首部和尾部剝去后,分組就進入了網絡層處理模塊。若接收到的分組是路由器之間交換路由信息分組(如RIP或者OSPF分組),則把這種分組送到路由器中的路由選擇部分中的路由選擇處理機。若接受到的是數據分組,則按照分組中的首部中的目的地址查找路由表,從合適的端口轉發出去。一個路由器的輸入端口和輸出端口就在路由器的線路接口卡上。輸入端口中的查找和轉發功能在路由器的交換功能是最重要的,為了使交換功能分散化,往往把復制的轉發表放在每一個輸入端口中,路由選擇處理機負責對各個輸入端中的各個轉發表副本進行更新,這些副本稱之為影子副本(shadow copy)。分散化交換可以避免在路由器中的某一點出現瓶頸。

當一個分組正在排隊查找路由表的時候, 后面又跟着從這個輸入端口收到另一個分組,這個后到的分組必須在排隊隊列中等待,因而產生了一定的時延。圖4-43給出了在輸入端口的隊列中排隊的分組的示意圖。

image

我們再來看看輸出端口上的情況(圖4-44)輸出端口從交換結構接收分組,然后把它們發送到路由器外面的線路上。在網絡層的處理模塊中設有一個緩沖區,實際上它就是一個隊列。當交換結構傳送過來的分組速率超出輸出鏈路的發送速率時,來不及發送的分組就必須暫存到這個緩沖隊列中。數據鏈路層處理模塊把分組加上鏈路層的首部和尾部構成數據幀,轉化為比特信號發送到外部線路。

image

從以上的結論可以得出,分組在路由器的輸入端口和輸出端口都可能會在排隊隊列中等待處理,若分組中處理的速率趕不上分組進入隊列的速率,則隊列的存儲空間最終必定會減少到零,這就使后面再進入隊列的分組由於沒存儲空間而只能被丟棄。以前我們提到過的分組丟失就是發生在路由器中輸入或者輸出隊列產生溢出的時候當然,設備或者線路發生故障有可能使分組丟失。

交換結構

image

  1. 通過存儲器進行交換
    最早使用的路由器就是使用普通的計算機的CPU作為路由選擇處理機,路由器的輸入端口和輸出端口的功能和傳統的操作系統中的I/O設備一樣。若存儲器的帶寬(讀/寫)為每秒M個分組,那么路由器的交換速率(即分組到輸入端口傳送到輸出端口的速率)一定小於M/2,這是因為存儲器對讀和寫需要花費的時間是同一個數量級。
  2. 通過總線進行交換
    采用這種當時,數據包從輸入端口通過共享的總線直接傳送到合適的輸出端口,而不需要路由選擇處理機的干預。但是,由於總線是共享的,因此同一時間只能有一個分組在總線上傳送,當總線到達輸入端口發現總線忙(因為總線正在傳送另一個分組),責備阻塞而不能通過交換結構,並在輸入端口排隊等待。因為每一個要轉發的分組都需要通過這一條總線,因此路由器的轉發帶寬就受總線速率的限制。
  3. 通過縱橫交換結構(crossbar switch fabric)進行交換
    這種交換結構常稱為互聯網絡(interconnection network),它有2N條總線,可以與N個輸入端口和N個輸出端口相連,這取決於相應的交叉結點是使水平總線和垂直總線直通還是斷開,若通往所要轉發的輸出端口的垂直總線是空閑的,則在這個結點將垂直總線與與水平總線接通,然后將分組轉發到這個輸出端口,。但若這個垂直總線已被占用(有另一個分組正在轉發到同一個輸出端口),則后到達的分組就會被阻塞,必須在輸入端口排隊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM