跳至內容

路由協議

出自轻之舟百科
Routing Protocol
中文名 路由協議
英文名 Routing Protocol
類別 網絡協議
功能 在路由器之間交換路由信息,構建並維護路由表
核心算法分類 距離向量算法鏈路狀態算法路徑向量算法
主要協議 RIP、OSPF、IS-IS、EIGRP、BGP
傳輸層 通常直接封裝於IP(如OSPF、EIGRP)或使用UDP(如RIP)、TCP(如BGP)

路由協議(Routing Protocol) 是計算機網絡中路由器之間為交換路由信息而共同遵循的一組規則和標準的統稱[1][2]。其核心作用在於幫助每台路由器動態發現通往其他網絡的最優路徑,並將這些信息填充於路由表(Routing Table)中,以供數據包的轉發決策使用[1]。作為TCP/IP網絡體系結構中的關鍵支撐技術,路由協議是確保端到端通信在網絡拓撲變化時依然保持可達與高效的基礎設施[3]

基本分類

按工作區域分類

根據網絡規模和管理域的不同,路由協議可分為內部網關協議(IGP)和外部網關協議(EGP)兩大類[4]

  • 內部網關協議(Interior Gateway Protocol, IGP):在同一自治系統(Autonomous System, AS)內部運行,負責發現和計算到達AS內部其他網絡的最優路徑,主要關注協議的快速收斂和對拓撲變化的及時響應[4]。典型的IGP包括RIP、OSPF、IS-IS和EIGRP[1]
  • 外部網關協議(Exterior Gateway Protocol, EGP):在不同自治系統之間運行,負責在AS之間傳遞網絡可達性信息,通常關注策略控制和路由擴展性而非單純的選路速度[4]。目前實際應用中的EGP僅有BGP(Border Gateway Protocol)[4]。早期的EGP(RFC 904,1984年)已基本被BGP取代[5]

按算法分類

按核心算法原理劃分,當前互聯網中主流的動態路由協議普遍基於三種基本範式:距離向量算法、鏈路狀態算法和路徑向量算法[6]

  • 距離向量算法(Distance Vector Algorithm, DV):基於Bellman-Ford算法,每個路由器向所有直連鄰居通告自己的完整路由表,鄰居據此更新自己的路由表。以「跳數」(Hop Count)作為基本度量。實現簡單,適用於小型網絡[4]。代表協議:RIP、IGRP(Cisco專有)。
  • 鏈路狀態算法(Link State Algorithm, LS):基於Dijkstra的最短路徑優先(SPF)算法。每個路由器向區域內所有路由器泛洪(Flooding)本地鏈路的連接狀態信息,最終所有路由器都能繪製出完整的網絡拓撲圖,並獨立計算通往各目的地的最優路徑。收斂速度快,支持大型複雜網絡[4]。代表協議:OSPF、IS-IS。
  • 路徑向量算法(Path Vector Algorithm):在距離向量的基礎上增加了記錄路由所經過的路徑序列(AS_PATH),藉此有效地檢測並防範路由環路。主要關注路由策略和可達性而非單一的「距離」優化。代表協議:BGP[6]

此外,某些混合路由協議(如Cisco的EIGRP)結合了距離向量和鏈路狀態的特點,在收斂性能和資源占用之間取得一定平衡[1]

按消息行為分類

  • 有類路由協議(Classful Routing Protocol):在路由更新中不攜帶子網掩碼信息,因此無法支持可變長子網掩碼(VLSM)和無類別域間路由(CIDR)。典型的例子是RIPv1。
  • 無類路由協議(Classless Routing Protocol):在路由更新中攜帶子網掩碼信息,允許對IP地址進行更靈活的子網劃分和地址聚合。現代路由協議均為無類協議,如RIPv2、OSPF、EIGRP和BGP[1]

發展歷史

路由協議的概念與互聯網的前身——ARPANET的演進緊密交織。

  • **1969年**:由BBN(Bolt, Beranek and Newman)公司的團隊(包括Will Crowther)在ARPANET的初始設計時即引入了一種基於Bellman-Ford算法的**距離向量路由算法**,這是所有現代動態路由協議的基礎算法源頭[7][8]
  • **1970年代**:**GGP(Gateway-to-Gateway Protocol)** 作為ARPANET中最早正式部署的路由協議之一而誕生,它基於距離向量算法,用於在核心網關(路由器)之間交換路由信息[8]。GGP為後續路由協議的設計奠定了基礎[8]
  • **1980年代**:隨着網絡規模的擴大,GGP等早期協議的局限性日益顯現。**RIP(Routing Information Protocol)** 於1982年問世,成為第一個在TCP/IP網絡中廣泛部署的內部網關協議[9]。同期,為了解決外部自治系統間的路由問題,**EGP(Exterior Gateway Protocol)** 於1984年被定義(RFC 904),成為早期的域間路由標準[10]
  • **1990年代**:隨着網絡複雜性的指數級增長,基於距離向量的RIP在大型網絡中遭遇了收斂慢、易形成路由環路等問題。為此,**OSPFv1(Open Shortest Path First)** 的規範於1989年提出(RFC 1131),並於1991年發布OSPFv2(RFC 1247),成為鏈路狀態路由協議在IP網絡中的首個成功大規模部署的典範[11]。IS-IS(Intermediate System to Intermediate System)同樣在此時期被適配於IP網絡。為了適應互聯網全球擴展的需求,**BGP-4** 於1995年發布(RFC 1771),替代了早期的EGP和功能受限的BGP-3,成為現代互聯網中唯一的域間路由協議[12]。BGP-4引入了對CIDR的支持並採用路徑向量算法,為互聯網的規模化和扁平化管理提供了關鍵技術支撐[12]

基本原理

路由表的生成與維護

所有動態路由協議都圍繞「路由表」這一核心數據結構工作。其基本流程如下[13]

  1. **信息發現**:路由器通過其接口發送特定類型的Hello消息,以發現處於同一網段的、運行相同路由協議的鄰居路由器。
  2. **信息交換**:根據協議的不同算法,路由器與鄰居交換路由信息。例如,RIP會定期(如每30秒)向所有鄰居廣播其完整路由表;而OSPF則僅在鏈路狀態發生變化時,將變化的鏈路狀態通告(LSA)泛洪到整個區域。
  3. **路徑計算**:路由器基於收到的路由信息,運用特定算法(如Bellman-Ford或Dijkstra)計算通往每個已知目的地的最優路徑。該「最優」由協議的度量值(metric)定義,可以是跳數、鏈路開銷、帶寬、延遲或管理員自定義策略。
  4. **路由表更新**:路由器將計算出的最佳路由條目寫入其本地路由表(RIB,Routing Information Base),取代舊的或次優的路徑。

收斂

    • 收斂(Convergence)** 是路由協議的一個關鍵指標,指當網絡拓撲發生變化(如鏈路故障、新加入節點)後,網絡中所有路由器重新計算並達成一致的最優路由視圖的過程[14]。收斂速度的快慢直接影響網絡在故障後的自愈能力和服務質量。鏈路狀態協議(如OSPF)通常比距離向量協議(如RIP)收斂更快[14]

路由環路

當路由信息傳播出現延遲或不一致時,網絡中可能出現**路由環路(Routing Loop)**,即數據包在兩個或更多路由器之間循環轉發,無法到達目的地[15]。RIPv1等早期距離向量協議尤其容易出現環路問題,為此引入了**水平分割(Split Horizon)**、**毒性反轉(Poison Reverse)** 和**定義最大跳數(如RIP的16跳為「無限遠」)** 等輔助機制以緩解環路的負面影響[16][17]。鏈路狀態協議由於每個路由器都掌握完整的拓撲信息,可以從根本上避免臨時環路的產生[14]

常用協議

  • RIP(Routing Information Protocol):基於距離向量算法,使用跳數作為度量,支持最多15跳。IETF在RFC 1058(RIPv1)中將其標準化。配置簡單,但收斂慢,擴展性差,目前主要應用於極小型網絡或作為教學用途[1]
  • OSPF(Open Shortest Path First):基於鏈路狀態算法,使用帶寬、延遲等複合開銷作為度量。支持區域(Area)劃分以適應大規模網絡部署。是企業和運營商網絡中部署最廣泛的IGP之一。OSPFv2對應IPv4,OSPFv3對應IPv6。RFC 2328定義了OSPFv2[1]
  • IS-IS(Intermediate System to Intermediate System):源於OSI協議棧,後適配於TCP/IP網絡。作為鏈路狀態協議,與OSPF功能相似,但在大型服務提供商網絡中因其極高的穩定性、擴展性及對多拓撲的支持而更受歡迎。
  • EIGRP(Enhanced Interior Gateway Routing Protocol):Cisco Systems開發的專有路由協議,早期版本為IGRP。融合了距離向量和鏈路狀態的特點,被稱為「高級距離向量」協議。通過Diffusing Update Algorithm (DUAL)實現了快速收斂和高效更新,在Cisco設備主導的網絡中有廣泛部署[1]
  • BGP(Border Gateway Protocol):當前互聯網中唯一的域間路由協議,其現代版本為BGP-4(RFC 4271)。使用路徑向量算法,以AS_PATH屬性作為防環機制。BGP是支撐全球互聯網互聯互通的核心協議,負責在不同AS之間傳遞路由策略。

參考文獻