主頁 / 什麼是OSPF路由協議?
什麼是OSPF路由協議?
OSPF(Open Shortest Path First,開放最短路徑優先)是一種鏈路狀態(Link-State)內部網關路由協議,路由器之間互相交換鏈路狀態資訊,各自建立完整的網絡拓撲圖,再以最短路徑演算法計算最佳路由。本頁講解OSPF與距離向量協議的分別、Area區域概念、DR/BDR選舉、Cost計算方式,以及在香港商廈與屋苑網絡中的實際應用。
OSPF是什麼
OSPF全稱Open Shortest Path First,是一種標準化的內部網關協議(Interior Gateway Protocol,IGP),用於在同一自治系統(Autonomous System)內的路由器之間交換路由資訊。OSPF屬於鏈路狀態路由協議,每台運行OSPF的路由器會把自己所連接的網段、鄰居關係等資訊以鏈路狀態通告(Link-State Advertisement,LSA)的形式向全網擴散,令區域內每台路由器最終都持有一份完全相同的網絡拓撲資料庫(Link-State Database)。路由器再以此拓撲資料,透過最短路徑優先演算法(Dijkstra演算法)獨立計算出到達每個目的網段的最佳路徑,並寫入自己的路由表。
OSPF由IETF制定為開放標準,詳細規格記錄於RFC 2328(OSPF Version 2) ,任何廠商的網絡設備只要遵循此標準便可互相協作,不受單一廠商鎖定。目前主流企業級路由器與三層交換機普遍支援OSPF,是商業網絡中最常見的動態路由協議之一。
與距離向量協議(如RIP)的分別
要理解OSPF的設計理念,最直接的方法是與距離向量(Distance-Vector)協議比較,其中最經典的例子是RIP(Routing Information Protocol)。距離向量協議的路由器只知道「到某個目的網段要經過幾多個跳數(hop)」,並不掌握完整的網絡拓撲,運作方式類似「只問路牌不看地圖」;相反,鏈路狀態協議的路由器則掌握全網拓撲,運作方式類似「先看完整地圖再規劃路線」。詳細對比可參考英文維基百科的OSPF條目 。
比較項目 RIP(距離向量) OSPF(鏈路狀態)
路由判斷依據 跳數(Hop Count) Cost(一般由頻寬換算)
拓撲認知 只知鄰居,不掌握全網拓撲 每台路由器保存完整拓撲圖
更新方式 定期廣播整份路由表(預設30秒) 只在拓撲變化時觸發增量更新
收斂速度 慢,可能出現路由環路 快,變化後可在數秒內重新計算
網絡規模 最大十五跳,適合小型網絡 可劃分Area,適合中大型網絡
由於OSPF只在拓撲真正發生變化時才傳送更新,並以增量方式同步,佔用的頻寬遠低於RIP定期全量廣播的做法,這正是OSPF能夠支援大規模網絡並維持快速收斂的關鍵原因。
Area區域概念
當網絡規模擴大,若所有路由器都在同一個拓撲資料庫內互相同步,每台路由器需要運算與保存的資訊量會隨網絡規模急速膨脹,最終影響效能。OSPF因此引入Area(區域)的階層式設計,把整個路由網域劃分為多個Area,每個Area內的路由器只需保存本區的完整鏈路狀態資料,跨Area的路由則以摘要(Summary)形式向外傳遞,不需要携帶區外的詳細拓撲細節。
所有Area都必須直接或間接連接到Area 0(骨幹區域,Backbone Area),任何一個非骨幹Area之間的流量都需要經過Area 0轉發,這種設計避免了Area之間出現複雜的環狀依賴,同時令OSPF可以擴展至數百台路由器而仍能維持合理的運算負擔。中小型部署有時只使用單一Area 0,隨着網絡增長,再按樓層、部門或地區劃分額外Area。
DR/BDR選舉機制
在多存取網絡(Multi-access Network,例如同一交換網段內接駁了多台路由器)中,若每對路由器都互相建立完整鄰接關係並交換鏈路狀態資訊,隨着路由器數目增加,需要交換的鄰接關係數量會呈幾何級數上升,造成不必要的負擔。OSPF因此在每個多存取網段選出一台指定路由器(Designated Router,DR)與一台備用指定路由器(Backup Designated Router,BDR),該網段內其餘路由器只需與DR及BDR建立完整鄰接關係並同步鏈路狀態,其他路由器之間則不直接同步,資訊交換量大幅減少。
DR的選舉依據介面上設定的優先值(Priority),數值越高越優先當選;若優先值相同,則比較Router ID,數值較大者當選。若DR因故障失效,原本的BDR會自動升任為新的DR,並重新選出BDR,確保網段內的同步關係持續運作。工程師可透過調整介面優先值,指定由效能較佳或位置較核心的路由器擔任DR。
Cost計算與收斂速度優點
OSPF以Cost(開銷值)作為路徑選擇的依據,Cost越低代表路徑越佳。預設計算方式為參考頻寬(Reference Bandwidth,預設值為100Mbps)除以介面的實際頻寬,介面頻寬越高,換算出來的Cost便越低,一條路徑的總Cost即為沿途各介面Cost之和,路由器最終會選擇總Cost最低的路徑寫入路由表。由於千兆甚至萬兆網絡已相當普遍,若不調高參考頻寬數值,不同高速介面可能被換算為相同的Cost,未能反映真實的鏈路速度差異,因此實際部署時工程師通常需要手動調整參考頻寬,或直接為個別介面指定Cost值。
OSPF另一項核心優點是收斂速度快。當某條鏈路發生故障,直接相連的路由器會即時偵測並產生新的LSA向全網擴散,其他路由器收到更新後重新運算最短路徑,整個過程通常可在數秒之內完成,遠快於距離向量協議依賴定期廣播與計時器觸發的收斂方式。快速收斂意味着網絡出現故障時,備援路徑可以迅速接手,大幅減少服務中斷的時間。
典型應用場景與香港工程實務
① 企業內部骨幹網絡 總部與分支辦公室之間、多個核心交換機互聯的骨幹層,需要動態路由自動適應鏈路變化,OSPF是最常見的選擇。
② 備援路徑與快速故障轉移 核心網絡若部署雙路徑或環狀拓撲,OSPF能在其中一條鏈路失效時,數秒內自動切換至備援路徑,維持業務連續運作。
③ 大規模網段擴展 路由表條目數量隨網絡增長而增加時,Area設計可以把運算負擔分散到不同區域,避免單一路由器不勝負荷。
④ 多廠商設備混合部署 OSPF是開放標準,不同品牌的路由器與三層交換機都可以互相組成鄰接關係,適合設備由多階段採購組成的環境。
在香港,商廈與大型屋苑的網絡規劃是OSPF最常見的落地場景之一。以商廈為例,不同樓層或不同租戶各自劃分獨立網段,經三層交換機或路由器互連,管理處、各租戶辦公室與公共設施(例如電梯監控、大堂顯示屏)之間需要跨網段通訊,同時要求任何一條主幹鏈路故障時能自動切換備援路徑,這正是OSPF擅長的場景。屋苑管理同樣涉及會所、管理處、多座大廈各自的網段,若整個屋苑網絡以OSPF規劃,日後新增座數或擴充網段時,只需把新網段接入既有Area並讓OSPF自動學習拓撲,毋須逐台路由器手動維護靜態路由表,大幅減低日後維運的工作量與出錯機會。