Day 12 終於把 Area、Area 0、ABR 接起來。
我現在知道:
同一個 Area
↓
共享這個 Area 的詳細 Link-State 資訊
不同 Area
↓
透過 ABR 交換 Routing Information
但這裡立刻出現一個問題。
Day 10 我只學到:
LSA
↓
LSDB
↓
SPF
↓
Routing Table
當時把 LSA 當成一種東西。
結果 OSPF 一進到 Multi-Area,突然開始看到:
Type 1
Type 2
Type 3
所以我真正想問的是:
LSA 不都是 Link-State Advertisement 嗎?為什麼還要分這麼多種?
我目前先這樣記:
Type 1
Router LSA
→ Router 描述自己在這個 Area 裡連了什麼
Type 2
Network LSA
→ DR 描述一個 Multi-Access Network 上有哪些 Router
Type 3
Summary LSA
→ ABR 把一個 Area 的 Network 告訴另一個 Area
最重要的差別其實不是編號。
而是:
誰產生?在描述什麼?資訊可以走多遠?
先回到最基本的 OSPF Area。
假設:
R1 ---- R2 ---- R3
每台 Router 都要讓 Area 裡其他 Router 知道:
我是誰
我有哪些 Link
我接到哪些 Network
Cost 是多少
這類由 Router 自己產生、描述自己 Link-State 的資訊,就是:
Type 1
Router LSA
所以我先把 Type 1 想成:
每台 Router 的自我介紹。
不會直接跨出去。
這點非常重要。
假設:
Area 1
R1 --- R2
|
ABR
|
Area 0
R1 的 Type 1 Router LSA 主要留在 Area 1。
Area 0 裡的 Router 不需要拿到 R1 在 Area 1 裡每一條 Link 的所有細節。
這正好呼應 Day 12:
Area 的目的之一,就是把詳細 Link-State 拓撲限制在 Area 裡。
如果是 Point-to-Point:
R1 -------- R2
還算單純。
但如果是 Ethernet Broadcast Network:
R1
|
R2 -- Switch -- R3
|
R4
同一個 Layer 2 Network 上可能有很多 OSPF Router。
Day 11 已經知道這時會選:
DR
BDR
而 DR 除了幫忙降低 Adjacency 複雜度,還有另一個角色:
描述這個 Multi-Access Network。
這時會產生:
Type 2
Network LSA
可以把它想成:
這個共享網段上,現在有哪些 OSPF Router 接在一起。
例如:
192.168.10.0/24
├── R1
├── R2
├── R3
└── R4
Type 2 Network LSA 就是在描述這個 Network 與 Attached Routers 的關係。
而這份 LSA 是由:
DR
產生。
所以:
Type 1
Router 自己講自己
Type 2
DR 講這個共享 Network
跟 Type 1 一樣,Type 2 也是 Area 內的詳細拓撲資訊。
所以:
Type 1
Type 2
可以先一起想成:
Area 內部的地圖材料。
這些資訊讓同一個 Area 裡的 Router 建立一致的 LSDB。
這就輪到:
Type 3
Summary LSA
假設:
Area 1
10.1.0.0/16
|
ABR
|
Area 0
Area 0 裡的 Router 不需要知道 Area 1 裡:
R1 接 R2
R2 接 R3
誰是 DR
哪條 Link Cost 是多少
它更需要知道的是:
Area 1 裡有 10.1.0.0/16
要去那邊可以往 ABR 走
這種跨 Area 傳遞 Network Reachability 的資訊,就是 Type 3 的角色。
由:
ABR
產生。
所以這三種 LSA 的角色突然變得很清楚:
Type 1
Router 產生
↓
描述 Router 自己
Type 2
DR 產生
↓
描述 Multi-Access Network
Type 3
ABR 產生
↓
把 Network Reachability 帶到其他 Area
這個名字很容易讓人誤會成:
一定有做 Route Summarization。
其實不是這個意思。
Type 3 Summary LSA 可以攜帶 Inter-Area Network Information,但不代表一定有做手動的路由彙總。
所以現在不要把:
Summary LSA
直接等同於:
Route Summarization
這是兩件不同的事情。
假設:
Area 1
R1 ---- R2 ---- ABR
|
LAN A
在 Area 1 裡:
R1
→ Type 1
R2
→ Type 1
ABR
→ Type 1
如果 LAN A 是 Broadcast Multi-Access
而且有 DR
→ Type 2
接著 ABR 要把 Area 1 的 Network 告訴 Area 0:
ABR
→ Type 3
→ Area 0
所以:
Area 內部詳細地圖
=
Type 1 + Type 2
跨 Area 告訴別人有哪些 Network
=
Type 3
這個畫面對我來說比背 LSA 表格有用很多。
現在終於能回答 Day 12 的問題了。
因為:
Type 1 / Type 2
不直接跨 Area
所以另一個 Area 的 Router 不需要保存遠端 Area 的全部詳細 Link-State 拓撲。
它拿到的是由 ABR 產生的:
Type 3
也就是跨 Area 所需要的 Reachability Information。
所以 Multi-Area OSPF 的階層化不是一句口號。
它真的反映在 LSA 類型與 Flooding 範圍上。
可以先用:
show ip ospf database
觀察不同 LSA 類型。
也可以進一步看:
show ip ospf database router
show ip ospf database network
show ip ospf database summary
概念上分別對應:
router
↓
Type 1
network
↓
Type 2
summary
↓
Type 3
待驗證:後續用 Packet Tracer / IOS Lab 實際建立 Multi-Area OSPF,記錄 Type 1、2、3 的實際 Database 輸出。
不只是格式。
它們代表不同來源、不同資訊角色、不同 Flooding Scope。
不是。
Type 2 主要和 Broadcast / NBMA 這類有 DR 的 Multi-Access Network 有關。
不是一般 Internal Router。
Type 3 是由 ABR 產生,帶 Inter-Area Network Information。
不是。
Type 3 名稱裡的 Summary,不代表一定做了手動 Route Summarization。
Day 10
LSA 是建立 OSPF 地圖的資訊
↓
LSDB
↓
SPF
Day 11
Broadcast Network Router 太多
↓
DR / BDR
Day 12
整個 OSPF Domain 太大
↓
Area
Area 0
ABR
Day 13
不同角色到底交換哪一類資訊
↓
Type 1
Type 2
Type 3
以前 LSA Type 看起來像一張超難背的表。
現在比較像同一個問題的不同答案:
誰要告訴誰,哪一種層級的網路資訊?
Type 1 是 Router 對自己的描述,Type 2 是 DR 對共享 Network 的描述,Type 3 是 ABR 把 Network Reachability 帶到其他 Area。
再濃縮成:
Type 1
Router
Type 2
DR / Network
Type 3
ABR / Inter-Area
先把角色對起來,再去背細節會容易很多。
現在 Routing Table 裡又會看到:
O
O IA
甚至之後還會碰到:
O E1
O E2
所以新的問題是:
既然最後都是 OSPF 學到的 Route,為什麼還要分 O、O IA、O E1、O E2?
這應該會是下一篇。