Day 13 終於把 LSA Type 1、2、3 拆開。
我原本以為只要知道:
Type 1
Router
Type 2
Network
Type 3
Inter-Area
就差不多了。
結果一打開 Cisco 的 Routing Table,又看到另一組縮寫:
O
O IA
O E1
O E2
第一眼真的很像:
OSPF 已經夠多名詞了,為什麼 Route 前面還要再貼不同標籤?
但後來發現,這幾個字其實在回答一個很實用的問題:
這條 Route 是從 OSPF 的哪一層學來的?
我先這樣記:
O
→ Intra-Area
→ 同一個 Area 裡學到
O IA
→ Inter-Area
→ 從另一個 Area 學到
O E1
→ External Type 1
→ OSPF 外部的 Route 被送進 OSPF
→ metric 會算外部 cost + 到 ASBR 的內部 cost
O E2
→ External Type 2
→ 一樣是外部 Route
→ metric 主要看外部 cost
所以 Route Code 不只是縮寫。
它其實是在告訴我:
這條路從哪裡來?
↓
同 Area?
別的 Area?
還是原本根本不屬於 OSPF?
先回到最單純的拓撲。
Area 0
R1 -------- R2 -------- R3
|
10.3.0.0/24
假設 R1、R2、R3 都在 Area 0。
R1 最後學到 R3 後面的 10.3.0.0/24。
對 R1 來說,這是一條:
同一個 Area 內部
由 OSPF 計算出來的 Route
在 Cisco Routing Table 裡就會看到類似:
O 10.3.0.0/24
這個 O 可以先想成:
OSPF Intra-Area Route。
也就是資料來源仍然在自己的 Area 裡。
再把 Day 12 的 Multi-Area 放回來。
Area 1 Area 0
10.1.0.0/24 -- R1 -- ABR -- R2
R2 在 Area 0。
10.1.0.0/24 在 Area 1。
R2 要知道 Area 1 有這個 Network,就會透過 ABR 學到跨 Area 的 Routing Information。
Day 13 已經看到:
ABR
↓
Type 3 LSA
↓
把 Network Reachability 帶到其他 Area
所以 R2 的 Routing Table 可能看到:
O IA 10.1.0.0/24
IA 就是:
Inter Area
也就是:
這條 Route 還是 OSPF 內部的,但目的 Network 不在我這個 Area。
可以直接畫成:
O
我這個 Area 裡的路
O IA
別的 Area 裡的路
透過 ABR 讓我知道
這正好把 Day 12、Day 13 和 Routing Table 接起來。
Area
↓
ABR
↓
Type 3
↓
O IA
以前我會把這些分開背。
現在比較像同一件事情從不同角度看。
真正讓我卡住的是:
O E1
O E2
E 是:
External
也就是這條 Route 原本不是 OSPF 自己產生的內部路由。
例如某台 Router 可能本來就有:
Static Route
BGP Route
另一個 Routing Protocol 學到的 Route
Connected Network
然後管理者決定把其中一些 Route:
redistribute
↓
送進 OSPF
這時 OSPF Domain 裡其他 Router 就會看到 External Route。
這個角色叫:
ASBR
Autonomous System Boundary Router
先不要急著把名字背熟。
我現在只先把它想成:
OSPF 世界和外部 Routing Information 的入口。
例如:
Static Route
|
v
R1
ASBR
|
v
OSPF
R1 把一條 Static Route redistribute 進 OSPF。
其他 OSPF Router 就有機會學到:
O E1
或:
O E2
所以 External 的核心不是:
在 Internet 上。
而是:
這條 Route 的來源在 OSPF Routing Domain 之外。
終於來到最容易背錯的地方。
兩個都是 External Route。
差別主要在:
Metric 怎麼算。
假設:
R3 -------- R2 -------- R1 -------- External Network
ASBR
外部 Route 被 R1 帶進 OSPF。
對 R3 來說,去那個 External Network 其實有兩段成本:
R3 到 R1 的 OSPF 內部 cost
+
R1 宣告出去的 external cost
E1 和 E2 就在「要不要把前面那段內部成本算進主要 metric」上不同。
E1 可以先記成:
External cost
+
到 ASBR 的 internal OSPF cost
例如:
R3 到 ASBR = 30
External cost = 20
那概念上就是:
30 + 20 = 50
所以如果不同 Router 距離 ASBR 的內部路徑成本不同,E1 的 metric 也會跟著反映這個差異。
這比較像:
我不只在意外面那一段,也在意我自己要走多遠才能到出口。
E2 則不同。
它主要使用 ASBR 宣告的:
external metric
例如外部 cost 是:
20
即使某台 Router 到 ASBR 的內部 cost 比較高,E2 顯示與比較時,主要看的仍然是這個 External Metric。
所以我先把它想成:
出口對這條外部 Route 說它的 cost 是多少,大家先以這個值為主。
如果同一目的地有多個 E2 路徑而 External Metric 相同,內部到 Forwarding Address/ASBR 的成本還可能拿來進一步比較。
但今天先抓主幹:
E1
內部 + 外部
E2
主要看外部
現在可以直接用來源分類。
OSPF Route
│
├── O
│ └── 同一個 Area
│
├── O IA
│ └── 另一個 Area
│ └── ABR
│
└── O E1 / O E2
└── OSPF 外部 Route
└── ASBR / Redistribution
突然就沒有那麼像四個獨立縮寫了。
Day 13 學的是 Type 1、2、3。
現在可以再多接一層:
同 Area 詳細拓撲
Type 1 / Type 2
↓
最後形成 Intra-Area Route
↓
O
跨 Area Reachability
Type 3
↓
Inter-Area Route
↓
O IA
至於 External:
外部 Route
↓
ASBR
↓
一般 OSPF Area 常見 Type 5 AS-External LSA
↓
O E1 / O E2
這就是為什麼 Day 14 看 Routing Table,會自然把下一篇帶到 Type 5。
以前看到:
O IA 10.1.0.0/24 [110/20] via 10.0.0.2
我可能只會看:
10.1.0.0/24
via 10.0.0.2
現在至少會先拆:
O IA
↓
OSPF Inter-Area
10.1.0.0/24
↓
目的 Network
[110/20]
↓
前面是 Administrative Distance
後面是 Metric
via 10.0.0.2
↓
Next Hop
Administrative Distance 先不往下挖。
今天只先把最前面的 Route Code 讀懂。
看到:
O
我就知道應該往:
同 Area
LSDB
SPF
想。
看到:
O IA
我就應該往:
ABR
Area 0
Type 3
想。
看到:
O E1
O E2
我就應該往:
ASBR
Redistribution
External LSA
想。
這樣 Routing Table 不再只是結果表。
它其實會反過來告訴我:
這條 Route 背後大概經過哪一套 OSPF 機制。
Day 12
為什麼切 Area?
↓
Area 0
ABR
Day 13
Area 裡、Area 間交換什麼?
↓
Type 1
Type 2
Type 3
Day 14
最後裝進 Routing Table 時長什麼樣?
↓
O
O IA
O E1
O E2
我覺得這條線終於開始從:
背 OSPF 名詞
變成:
看到一條 Route
↓
反推它從哪裡來
↓
反推背後用了哪種 OSPF 機制
這才比較像真的在讀 Router。
O、O IA、O E1、O E2 的核心差別,是這條 Route 從 OSPF 的哪個範圍進來,以及 External Route 的 metric 怎麼計算。
我會先記:
O
同 Area
O IA
跨 Area
O E1
外部 Route
internal cost + external cost
O E2
外部 Route
主要看 external cost
先把來源看懂,再去記細節。