ExtremeXOS 網路架構大師

主題:Routing (路由) 的藝術與科學

1 核心概念 (Concept)

一句話定義:

路由 (Routing) 是指網路設備決定資料封包從來源端傳輸到目的端「最佳路徑」的過程。

生活化比喻:Google Maps 導航

想像路由器 (Router) 就像是您的車用導航系統。

  • 資料封包 (Packet):就是您開的車。
  • IP 位址:就是您要去的「地址」。
  • 路由表 (Routing Table):就是導航系統內建的「地圖資料庫」。
  • Metric (權重/跳數):導航計算出的「預計時間」或「距離」,越短越好。

當前面路段塞車 (連結斷線) 時,導航會自動幫您重新規劃另一條路 (Dynamic Routing),這就是路由器的核心功能。

2 運作原理 (Mechanism)

技術細節:

當 Router 收到一個封包時,會依循以下邏輯處理:

  1. 拆解標頭:檢查 L2 Frame Check Sequence (FCS),確認無誤後剝離 L2 Header,讀取 L3 IP Header 的 Destination IP。
  2. 查表 (Lookup):在路由表 (Routing Table/RIB) 中尋找匹配的網段。
  3. 最長比對原則 (Longest Prefix Match):這是最重要的黃金法則。如果同時有多條路徑符合,Router 會選擇遮罩 (Mask) 最長的那一條。
    例:去 192.168.1.1,若有 192.168.1.0/24 和 192.168.1.0/28,會選 /28。
  4. 轉發 (Forwarding):根據查表結果,決定由哪個介面 (Egress Interface) 送出,並指向下一個跳點 (Next Hop)。
  5. 重封裝:將 TTL 減 1,查詢 ARP Table 獲取 Next Hop 的 MAC Address,重新封裝 L2 Header 並送出。

關鍵參數與術語

  • Administrative Distance (AD):
    路由來源的可信度。數值越小越優先 (例如:Static Route 優於 OSPF)。
  • Metric (成本):
    同一種協定中,路徑的成本。OSPF 看頻寬,RIP 看跳數。
  • Gateway of Last Resort:
    預設路由 (Default Route, 0.0.0.0/0),當找不到路時的最後出口。

深入剖析:路由表組成 (Routing Table Anatomy)

在 ExtremeXOS 中輸入指令 show iproute,您會看到路由器的大腦結構。以下是一張典型路由表的解剖圖:

Destination/Mask Gateway (Next Hop) Flags Metric Interface
192.168.10.0/24 192.168.10.254 #d (Direct) 1 v10-Finance
10.0.0.0/8 172.16.1.1 #s (Static) 1 v20-Uplink
0.0.0.0/0 172.16.1.254 UG (Gateway) 10 v20-Uplink

欄位說明:

  • Destination: 目的地網段。
  • Gateway: 下一跳 (Next Hop) 的 IP 位址。
  • Interface: 封包送出的本機介面 (通常是 VLAN)。

常見 Flags (標記) 解碼:

  • d (Direct):直連網段,介面 Up 就會出現。
  • s (Static):管理員手動設定的靜態路由。
  • G (Gateway):表示這是一條通往 Gateway 的路由 (通常用於 Default Route)。
  • o (OSPF):透過 OSPF 協定學到的路由。
  • bh (Blackhole):黑洞路由,丟棄封包用。

3 架構視覺化 (Visuals)

路由決策流程圖 (Flowchart)

封包進入路由器內部的處理邏輯。

flowchart TD Start[封包進入介面 Ingress] --> L2Check{L2 檢查 FCS/MAC?} L2Check -- 錯誤/非本機MAC --> Drop[丟棄封包 Drop] L2Check -- 正確 --> StripL2[剝離 L2 Header] StripL2 --> ReadIP[讀取 Destination IP] ReadIP --> Lookup{查詢 Routing Table} Lookup -- 無匹配且無 Default Route --> ICMPErr[回傳 ICMP Unreachable] Lookup -- 匹配成功 (最長比對) --> TTLCheck{TTL > 1?} TTLCheck -- 否 --> ICMPTime[回傳 ICMP Time Exceeded] TTLCheck -- 是 --> DecrementTTL[TTL 減 1] DecrementTTL --> ARPCheck{ARP Table 有 Next Hop MAC?} ARPCheck -- 否 --> SendARP[發送 ARP Request] SendARP --> WaitARP[等待 ARP Reply] WaitARP --> ARPCheck ARPCheck -- 是 --> RewriteL2[重寫 L2 Header
Source MAC=本機出口, Dest MAC=Next Hop] RewriteL2 --> Forward[從 Egress Interface 送出]

多重路徑選擇示意圖 (Topology)

當前往目的地有兩條路,Router 如何選擇 (假設使用 OSPF)。

graph LR PC[用戶 PC] -- 封包 --> R1((Router 1)) R2((Router 2)) -- 封包 --> Server[應用伺服器] subgraph Path_A [路徑 A: 10G 光纖 - Cost 低] direction LR SW1[Core Switch] end subgraph Path_B [路徑 B: 1G 備援線路 - Cost 高] direction LR FW1[Firewall] end %% Main Path Connections R1 -- 10Gbps --> SW1 SW1 -- 10Gbps --> R2 %% Backup Path Connections R1 -- 1Gbps --> FW1 FW1 -- 1Gbps --> R2 %% Styles style Path_A fill:#e6fffa,stroke:#00b894,stroke-width:2px style Path_B fill:#fff5f5,stroke:#ff7675,stroke-width:2px,stroke-dasharray: 5 5 %% Link Styling (Index based on creation order) %% 0: PC->R1, 1: R2->Server %% 2: R1->SW1, 3: SW1->R2 (Path A) %% 4: R1->FW1, 5: FW1->R2 (Path B) linkStyle 2,3 stroke:#00b894,stroke-width:4px linkStyle 4,5 stroke:#ff7675,stroke-width:2px,stroke-dasharray: 5 5

4 實務應用場景 (Use Case)

企業總部與分公司互連 (Hybrid Routing)

情境: 一家擁有台北總部 (HQ) 與高雄分公司 (Branch) 的企業。

  • 網際網路存取: 使用 Static Default Route (0.0.0.0/0) 指向 ISP 提供的 Gateway。這最簡單且節省資源。
  • 內網互連 (VPN/專線): 使用 OSPF 動態路由協定。讓總部與分公司的網段可以自動交換,當新增 VLAN 時不需要手動去每一台設備加路由。
  • 路由備援 (Floating Static Route): 設定一條 AD 值較高 (例如 200) 的靜態路由指向備援的 4G 路由器,平時不生效,主線路斷線時自動接手。

優缺點分析

優點

結合了靜態的穩定性與動態的擴充性。備援機制確保業務不中斷。

缺點

混合設定增加了除錯複雜度。Floating Static Route 若沒設好可能造成路由黑洞。

5 隨堂測驗 (Quiz)

Q1. 在路由表中,若同時存在兩筆前往目的地的路由:一筆來自 OSPF (AD=110),一筆來自 Static Route (AD=1),路由器會優先選擇哪一條進入路由表?

答案:Static Route (AD=1)。

解析:Administrative Distance (AD) 代表可信度,數值越小越可信。因為 1 < 110,所以路由器相信手動設定的靜態路由。

Q2. 路由表中有兩筆路由:192.168.10.0/24192.168.10.0/26。當封包目的地為 192.168.10.5 時,會匹配哪一筆?

答案:192.168.10.0/26。

解析:根據「最長比對原則 (Longest Prefix Match)」,/26 的遮罩長度 (26 bits) 大於 /24 (24 bits),且目的地位址皆在兩者範圍內,故選最精確的 /26。

Q3. 在 ExtremeXOS 中,若要設定一條預設路由 (Default Route) 指向 Gateway 10.0.0.1,正確的指令邏輯為何?

答案:configure iproute add default 10.0.0.1

解析:這是標準的 ExtremeXOS 語法,用來新增靜態路由。default 等同於 0.0.0.0/0