第 6 章 OSPF 動態路由

OSPF 怎麼運作:鄰居、LSA、SPF

OSPF 的設定只有兩三行,但它背後做的事情決定了所有考題的答案。

16 分鐘


三個資料庫

資料庫指令內容
鄰居表 Neighbor Tableshow ip ospf neighbor我認識哪些鄰居、關係到哪個階段
拓樸資料庫 LSDBshow ip ospf database整個區域的完整地圖(區域內所有路由器都一樣)
路由表 Routing Tableshow ip route ospf跑完 SPF 演算法後選出的最佳路徑

流程是:建立鄰居 → 交換 LSA 建出相同的 LSDB → 各自跑 Dijkstra SPF 演算法 → 把最佳路徑放進路由表

鄰居關係的建立條件

這是本章最重要的一段。兩台路由器要成為 OSPF 鄰居,以下每一項都必須一致

必須一致的項目不一致的後果
Area ID(區域編號)鄰居建不起來
子網路與遮罩(必須同網段)鄰居建不起來
Hello 與 Dead 間隔鄰居建不起來
驗證(authentication)設定與密碼鄰居建不起來
Stub 區域旗標鄰居建不起來
MTU卡在 EXSTART / EXCHANGE 狀態

鄰居狀態機

Down
  ↓  收到對方的 Hello
Init      我聽到你了,但你還沒聽到我
  ↓  對方的 Hello 裡有我的 Router ID
2-Way     雙向通了。在多重存取網路上,這裡選 DR/BDR
  ↓
ExStart   協商誰先送資料庫描述(比 Router ID)
  ↓                      ← MTU 不合會卡在這裡
Exchange  交換 DBD 摘要
  ↓
Loading   針對缺的部分請求詳細 LSA
  ↓
Full      LSDB 完全同步 ★ 正常狀態
從陌生到完全同步

DR 與 BDR

在多重存取網路(乙太網路)上,如果每台路由器都跟每台建立完整鄰接,n 台會產生 n(n−1)/2 個關係,太浪費。所以選出一台 DR(Designated Router)當集散中心,一台 BDR 當備援,其他人(DROTHER)只跟這兩台講話。

選舉規則說明
① 優先權大的贏預設 1。設成 0 表示永不參選
② 優先權相同 → Router ID 大的贏注意是的贏
③ 不可搶佔(non-preemptive)選完之後,即使來了更高優先權的也不會換

Router ID 怎麼決定

  1. router-id 指令 → 用它(實務與考試都建議手動指定
  2. 否則 → 用最大的 Loopback 介面 IP
  3. 否則 → 用最大的實體介面 IP(必須是 up 的)

OSPF Cost 的算法

Cost = 參考頻寬 ÷ 介面頻寬,預設參考頻寬是 100 Mbps

介面速度預設 Cost
10 Mbps10
100 Mbps1
1 Gbps1(無條件進位,最小為 1)
10 Gbps1

立即測驗這一節(7 題)