第 6 章 OSPF 動態路由

區域、LSA 與 OSPFv3:CCNA 需要知道的邊界

CCNA 只考單一區域,但考題會問「為什麼要分區域」。這節把該懂的講完,不多不少。

12 分鐘


為什麼要分區域

單一區域裡的每台路由器都持有完全相同的完整拓樸資料庫(LSDB),而且任何一條鏈路變動都會讓區域內所有路由器重跑一次 SPF 演算法。網路大到某個程度後:

  • LSDB 太大 —— 記憶體吃不消。
  • SPF 太頻繁 —— 任何角落的一條線抖動,全網 CPU 都要重算。
  • 收斂變慢 —— 拓樸越複雜,Dijkstra 跑得越久。

分區域之後,鏈路變動只會觸發該區域內部重算,其他區域只看到「這個網段還在/不在了」的摘要資訊。這就是階層式設計的價值。

        ┌──────── Area 0(骨幹區域)────────┐
        │      所有其他區域都必須連到它       │
        │   [R2]───────────────────[R3]     │
        └────┬───────────────────────┬──────┘
           ABR                      ABR
             │                       │
     ┌───────┴──────┐        ┌───────┴──────┐
     │   Area 1     │        │   Area 2     │
     │  [R1]──[R4]  │        │  [R5]──[R6]  │
     └──────────────┘        └──────────────┘

ABR = Area Border Router(區域邊界路由器)
      同時屬於兩個以上區域,負責在區域之間做摘要

ASBR = Autonomous System Boundary Router
       把外部路由(靜態、其他協定)注入 OSPF 的路由器
多區域的基本結構

LSA 類型:知道前三種就夠

類型名稱誰產生傳播範圍
Type 1Router LSA每一台 OSPF 路由器只在本區域內
Type 2Network LSADR只在本區域內(多重存取網路才有)
Type 3Summary LSAABR跨區域傳播
Type 4 / 5ASBR / External LSAABR / ASBR外部路由資訊
單一區域的 LSDB 長什麼樣
R1# show ip ospf database

            OSPF Router with ID (1.1.1.1) (Process ID 1)

                Router Link States (Area 0)
Link ID         ADV Router      Age  Seq#       Checksum Link count
1.1.1.1         1.1.1.1         312  0x80000005 0x00A1B2 3
2.2.2.2         2.2.2.2         298  0x80000004 0x00C3D4 3
3.3.3.3         3.3.3.3         305  0x80000004 0x00E5F6 2

                Net Link States (Area 0)
Link ID         ADV Router      Age  Seq#       Checksum
10.1.1.2        2.2.2.2         298  0x80000001 0x001234

! ↑ Router LSA 三筆(三台路由器),Net LSA 一筆(一個有 DR 的網段)

OSPFv3:跑 IPv6 的 OSPF

比較OSPFv2OSPFv3
支援的位址族IPv4IPv6(也可載 IPv4)
啟用方式network 指令或介面只能在介面上啟用
鄰居用什麼位址介面的 IPv4 位址link-local 位址
Router ID32 位元(IPv4 格式)仍是 32 位元 IPv4 格式
驗證協定自己做交給 IPsec
OSPFv3 設定(比 v2 還簡單)
R1(config)# ipv6 unicast-routing

! 沒有 IPv4 介面時必須手動指定 Router ID,否則行程起不來
R1(config)# ipv6 router ospf 1
R1(config-rtr)# router-id 1.1.1.1

! 直接在介面上啟用,沒有 network 指令、也沒有萬用遮罩
R1(config)# interface gi0/0
R1(config-if)# ipv6 ospf 1 area 0

R1# show ipv6 ospf neighbor
R1# show ipv6 route ospf

立即測驗這一節(2 題)