路由協議和體系結構/轉發和路由
外觀
路由是確定資料包的“最佳”路徑並將其傳送到目的地的過程
- 路由演算法:它負責決定傳入資料包要採取的路徑
- 它確定每個節點可到達的目標;
- 它以與其他節點協作的方式計算最佳路徑(根據某些標準);
- 它在每個節點中儲存本地資訊;
- 轉發演算法:它負責為每個傳入資料包決定要採取的路徑
- 它在路由演算法計算和儲存的本地資訊中執行查詢;
- 它沿著最佳路徑傳送傳出資料包。
路由協議分為兩類
- 內部閘道器協議 (IGP):它包括在域內路由(例如 RIP、IGRP、OSPF)中使用的協議,以在自治系統內傳播路由資訊[1];
- 外部閘道器協議 (EGP):它包括在域間路由(例如 BGP)中使用的協議,以在自治系統之間傳播路由資訊。
根據 OSI 模型,路由是網路層特有的功能,但它可以在不同層實現
- 路由透過 IP、X.25 和 OSI/Decnet 等協議完全在網路層實現;
- 一些路由演算法是在資料鏈路層實現的,透過幀中繼和 ATM 等協議以及交換式區域網中的網橋實現。
現代路由器實現兩個表
- 路由資訊庫 (RIB):它是經典的路由表,列出了網路中可到達的所有目的地;
- 轉發資訊庫 (FIB):它是一個經過最佳化的路由表,可以加快資料包轉發速度
- 專用硬體:TCAM 能夠儲存其可能值為 0、1 和“不關心”的位 → 網路掩碼整合在網路地址本身中:聚合部分中的每個位的值為“不關心”;
- 快取:FIB 僅包含最後使用的目標地址;
- 附加資訊:輸出埠、目標 MAC 地址。
- 每個節點都由一個網路地址標識。
- 每個資料包都包含目標節點的地址。
- 每個節點都包含可到達的目標地址列表及其相應的下一跳。
當一個數據包到達時,節點使用它包含的目標地址作為轉發表中的“鍵”來查詢下一跳。
- 優點
它是一種簡單高效的演算法,因為它無狀態:資料包轉發獨立於其他資料包的轉發進行,也就是說,一旦節點轉發了一個數據包,它就會忘記它。
- 缺點
無法根據流量型別為同一個目的地選擇不同的路由,以實現服務質量。
- 採用
無連線協議(如 IP)通常使用這種轉發演算法。
- 兩個節點之間的每條路徑都由一個 PathID(“顏色”)標識。
- 每條路徑包含一個標籤,對應於要遵循的路徑的 PathID。
- 每個節點都包含 PathID 列表及其相應的輸出埠。
當一個數據包到達時,節點使用它包含的標籤作為轉發表中的“鍵”來查詢輸出埠。
- 優點
可能存在通往同一個目的地的多條路徑 → 可以根據流量型別選擇最佳路徑以實現服務質量。
- 缺點
PathID 是全域性
- 路徑“著色”必須在整個網路的所有節點上保持一致;
- 可擴充套件性:網路中所有節點對之間的可能路徑數量非常大 → 編碼每個 PathID 需要很多位,而且很難找到一個尚未使用的識別符號。

每個節點中的轉發表包含輸入埠標籤和輸出埠標籤之間的對映,包括如下條目
<輸入埠> <輸入標籤> <輸出埠> <輸出標籤>
當一個數據包到達時,節點使用它包含的標籤和輸入埠作為轉發表中的“鍵”來查詢輸出埠,並將資料包中當前的標籤替換為輸出標籤。
- 優點
- 可擴充套件性:要遵循的路徑的 PathID 不是全域性的,而是由每個節點本地決定,並且它只需要在鏈路端點之間的節點之間保持一致
- 標籤由更少的位組成,因為它們需要編碼更少的路徑;
- 每個節點只需要知道經過它的路徑的標籤 → 轉發表更小;
- 效率:標籤交換與 IP 中的“最長字首匹配”等轉發演算法相比速度更快。
- 採用
標籤交換被以下內容使用
- 電信衍生的網路技術(例如 X.25、幀中繼、ATM):標籤交換允許服務質量,這是電話運營商世界認為的重要功能;
- MPLS:在骨幹網中,路徑數量相當有限且相當穩定,因為它們不是端到端建立的,而是在 MPLS 雲中建立的,網路拓撲結構的變化頻率較低,並且與邊緣相比,流量更加規律。
當主機想要生成併發送第一個資料包到目的地時,它如何請求設定新路徑以及它應該使用哪個標籤?
- 手動設定
路徑及其相應的標籤由網路管理員手動設定。
缺點
- 人為配置錯誤的風險很高;
- 故障時沒有自動重新路由;
- 不適合使用者經常請求新路徑的高度動態網路。
- 按需設定
需要進行路徑設定的信令階段,即在每個節點中準備標籤,之後主機將學習要使用的標籤,然後它可以傳送第一個資料包到目的地。
優點
服務質量更簡單
- 可以根據請求設定的源設定不同的路徑(例如,校長可以擁有一個比研究人員更優先的路徑);
- 可以在信令資料包中包含指定為路徑保留多少頻寬的資訊。
缺點
- 複雜性:信令是透過專用電路上的另一種轉發技術(例如按網路地址路由)實現的 → 複雜性增加,因為網路現在必須管理兩種不同的轉發技術;
- 可擴充套件性:如果路徑很長並且要經過的節點數量很多,則信令階段可能持續時間過長,尤其是在像網路世界中通訊會話非常短的情況下。
傳送主機將要遵循的整個路徑寫入資料包本身以到達目的地。
- 優點
網路中的內部路由器非常簡單。
- 缺點
傳送主機必須知道網路拓撲結構,並且必須直接與其他主機互動才能計算路徑 → 這打破了使用者應該只發送資料包,而網路負責將資料包轉發到其目的地的正規化。
- 採用
IPv4 和 IPv6 考慮了一個影響資料包路徑的選項。
- 按網路地址路由
- + 簡單性: 無需設定,無狀態
- + 可擴充套件性(轉發): 無“每會話”狀態(無狀態)
- − 效率: 大資料包報頭
- − 可擴充套件性(路由): 非常大的路由表
- − 可靠性: 難以保證服務
- − 多路徑: 它不支援兩個實體之間的多條路徑
- 標籤交換
- + 可擴充套件性(路由): 減少路由表
- + 效率: 小資料包報頭
- + 服務保證: 可以保證服務(路徑預訂)
- + 多路徑: 允許兩個實體之間存在多條路徑
- − 可擴充套件性(設定): 路徑設定資料包的處理(在“短”會話中至關重要)
- − 可擴充套件性(轉發): “每會話”狀態(服務質量所需)
- − 複雜性: 路徑設定(路徑設定過程、路徑設定資料包的臨時轉發)
- 源路由
- + 效率(路由器): 中間系統極其簡單
- − 效率(源): 端系統應擔心計算路徑