iT邦幫忙

2026 iThome 鐵人賽

DAY 15
0
IT Operation

網路為什麼筆記本:從一個封包開始,把 Router、Switch 與 Routing 串起來系列 第 15 篇

Day 15|R1 明明有 Static Route,R2 為什麼不知道?

  • 分享至 

  • xImage
  •  

Day 14 已經認得 O E1、O E2:它們是 OSPF 外部路由。

但知道標籤還不夠。假設兩台 Router 已經是 OSPF 鄰居,我在 R1 加一條 Static Route,R2 為什麼不會自動跟著知道?

因為 R1 自己有這條路,和 R1 把這條路宣告進 OSPF,是兩件事。

今天把外部路由的入口接起來就好,不繼續往所有 LSA 類型展開。

先固定一個小場景

             一般 OSPFv2 Area 0

          R2 ---------------- R1
       10.0.12.2           10.0.12.1
                              |
                         本機 Static Route
                         192.0.2.0/24

R1、R2 的連線網段是 10.0.12.0/30,已設定 OSPF process 1,鄰接狀態已到 FULL。

這時 R1 的 Routing Table 多一條 Static Route,代表它自己有轉送規則;OSPF 不會因此把 R1 整張 Routing Table 自動複製給 R2。

要把這種來源的路由交給 OSPF 宣告,需要設定 Redistribution,也就是路由重分配。

三個名詞,其實是同一條流程

R1 有一條符合條件的外部路由
    ↓
Redistribution:把它引入 OSPF
    ↓
R1 扮演 ASBR:外部路由的入口
    ↓
產生 Type 5 AS-External LSA
    ↓
R2 收到路由資訊,計算可用路徑
    ↓
在符合安裝條件時,出現 O E1 或 O E2

ASBR 是 Autonomous System Boundary Router。這裡先記它的工作:把原本不屬於這個 OSPF 內部路由來源的資訊,帶進 OSPF。

不必因為名字有 Autonomous System,就以為一定要先申請公網 ASN、接 Internet 或設定 BGP。把 Static Route 引入 OSPF,也能出現這個角色。

ABR 則是前幾天處理「不同 Area 之間」的角色。兩者不是同義詞,同一台設備也可能同時擔任兩種角色。

Type 5 到底告訴別人什麼?

先把它讀成一份路由公告:

目的網段:192.0.2.0/24
由誰發起:某一台 ASBR 的 Router ID
外部 metric:多少
metric 類型:E1 或 E2
forwarding address:要往哪個轉送位址走

它不是把外部世界所有線路都畫進來,而是提供到外部目的地的路由資訊。

Type 5 是 LSA 的類型;E1、E2 是外部 metric 的類型。

所以 O E2 不是「由 Type 2 Network LSA 產生的外部路由」。這兩組數字不要混在一起。

Type 5 能跨一般 Area 傳播,但不能直接推成「所有 Area 都收」。Stub、NSSA 有另外的規則;今天只看普通 Area 0。

用兩台 Router 看一次變化

以下是 Cisco IOS 風格的隔離練習,不是正式網路操作。先確認 R1、R2 已互通、OSPF 鄰居已 FULL,而且沒有既有的 192.0.2.0/24 路由。

R1 也不要有其他 Static Route,避免下面的重分配一起把它們送出去。正式環境應另外用路由政策限制要宣告的前綴。

本篇尚未在 Packet Tracer 跑過。下面是預期觀察項目,實際指令支援與輸出格式依設備版本確認。

第一步:先讓 R1 自己有路

在 R1:

configure terminal
ip route 192.0.2.0 255.255.255.0 Null0
end
show ip route 192.0.2.0

這裡故意使用 Null0 建立練習路由,不用再架第三台設備。Null0 會丟棄送進去的封包,不是通往真實主機的出口。

因此這個練習驗證的是「路由資訊如何傳播」,不是「ping 到遠端主機」。

此時預期 R1 有這條 S 路由,但 R2 尚未透過 OSPF 學到它。

第二步:讓 R1 把路由送進 OSPF

在 R1:

configure terminal
router ospf 1
 redistribute static metric 20 metric-type 2 subnets
end

這裡明確指定外部 metric 為 20、metric 類型為 E2。subnets 是讓符合條件的子網路由也納入重分配,不是替網路重新切子網。

R1 現在扮演 ASBR,宣告這條外部路由。它自己的原始 Static Route 並不因此被改寫成 O E2。

第三步:分開看 LSA 和 Routing Table

在 R2:

show ip ospf database external 192.0.2.0
show ip route ospf

第一個問題是:R2 有沒有收到描述這條外部路由的 LSA?

第二個問題是:這條路由最後有沒有裝進 R2 的 Routing Table?

在本例前提成立、且沒有其他更優先來源競爭相同前綴時,預期路由行會類似:

O E2 192.0.2.0/24 [110/20] via 10.0.12.1

這是省略時間與介面欄位的示意,不是實機擷取。

O E2 是 OSPF 外部 Type 2 路由;110 是 Cisco IOS 預設的 OSPF Administrative Distance,20 是剛才指定的外部 metric,10.0.12.1 是這個拓撲中的下一跳。

有 LSA 不等於一定有可用路由。還要考慮到 ASBR/forwarding address 的可達性,以及路由安裝時的其他條件。

第四步:只關掉分享,看看差在哪裡

在 R1:

configure terminal
router ospf 1
 no redistribute static
end

等待收斂後,在 R2 重查 show ip route ospf。在沒有其他宣告來源的前提下,預期那條外部路由會消失;舊 LSA 可能先經過老化撤回,不能要求每個畫面瞬間清空。

R1 自己的 Static Route 則仍然存在,因為剛才關掉的是重分配,不是刪除本機路由。

練習結束,再於 R1 移除剛才新增的練習路由:

configure terminal
no ip route 192.0.2.0 255.255.255.0 Null0
end

這個前後對照,比只背 ASBR 的全名更有用。

三個問題,確認不是只看過去

先不看答案:

  1. R1 有 Static Route,但還沒設定 Redistribution,R2 就一定有 O E2 嗎?
  2. Type 5 LSA 和 O E2 裡的 5、2,是不是同一種分類?
  3. R2 出現路由後,ping 192.0.2.1 不通,就能判斷這次重分配失敗嗎?
  1. 不一定;本例中不會自動學到。R1 自己有路,和透過 OSPF 宣告,是不同步驟。
  2. 不是。5 是 LSA 類型,E2 是外部 metric 類型。
  3. 不能。本例的目的路由指向 Null0,本來就不是用來連通真實主機。應先看 R2 的 External LSA 與 Routing Table。

如果今天只記得一件事

ASBR 是入口,Redistribution 是引入路由的動作,Type 5 是一般 Area 中傳遞外部路由資訊的 LSA;最後的 O E1/O E2 才是路由表裡看到的結果。


上一篇
Day 14|都是 OSPF Route,O、O IA、O E1、O E2 到底差在哪?
下一篇
Day 16|同一台 Switch,為什麼 VLAN 可以分出不同的廣播網域?
系列文
網路為什麼筆記本:從一個封包開始,把 Router、Switch 與 Routing 串起來 共 16 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言