1. Loopback Interface (迴環介面)
- 一句話定義:一個邏輯上的虛擬介面,只要設備開機它就永遠處於 Up 狀態,不會因為實體線路斷線而失效。
- 生活化比喻: 想像這是一間公司的「總機號碼」。不管哪個分機 (實體 Port) 忙線或壞掉,只要公司 (Switch) 還在運作,打總機號碼 (Loopback IP) 永遠能找到這間公司。
2. ECMP (Equal Cost Multi-Path)
- 一句話定義:當前往同一目的地有多條「成本相同」的路徑時,路由器同時使用這些路徑來分散流量。
- 生活化比喻: 像是高速公路的收費站有 4 個閘道 (路徑) 同時開啟。車流 (封包) 不必排同一條隊伍,可以隨機或依照規則分配到這 4 個閘道,同時通過,速度更快且不會塞車。
技術細節
Static Route ECMP 的關鍵在於路由表 (Routing Table) 中,針對同一個目的網段 (Destination Subnet),設定了多個不同的下一跳 (Next-Hop),且這些路徑的優先權 (Metric/Cost) 必須完全相同。
- FIB (Forwarding Information Base):硬體層面會根據 Hash 演算法決定封包走哪條路。
- Hashing 演算法:通常基於 5-Tuple (來源 IP, 目的 IP, 協定, 來源 Port, 目的 Port) 計算,確保同一條連線 (Flow) 走同一條路,避免封包亂序 (Out-of-order)。
ExtremeXOS 關鍵參數
enable iproute sharing
全域指令:開啟路由負載平衡功能。
configure iproute add [Dest] [Mask] [Gateway_1]
configure iproute add [Dest] [Mask] [Gateway_2]
重複輸入相同的目的地,但不同的 Gateway,即自動形成 ECMP。
本架構展示 A 到 B 到 C 的串接,並在每段鏈路之間使用兩條實體線路進行 ECMP 負載平衡。目標是讓 A 能透過多重路徑訪問 C 的 Loopback IP。
1. 實體與邏輯拓撲圖 (Topology)
10.1.1.0/30" ==> B A == "Link 2 (VLAN 20)
10.1.2.0/30" ==> B %% Links between B and C B == "Link 3 (VLAN 30)
10.2.1.0/30" ==> C B == "Link 4 (VLAN 40)
10.2.2.0/30" ==> C classDef sw fill:#4c2a86,stroke:#333,stroke-width:2px,color:white; classDef loop fill:#fff,stroke:#4c2a86,stroke-dasharray: 5 5; class A,B,C sw; class LoopA,LoopB,LoopC loop;
2. 封包轉送流程 (Packet Flow)
1. 10.1.1.2 (往B path1)
2. 10.1.2.2 (往B path2) Note right of SwA: 執行 Hash 演算法 end alt Hash 結果 = Path 1 SwA->>SwB: 經由 VLAN 10 轉送 else Hash 結果 = Path 2 SwA->>SwB: 經由 VLAN 20 轉送 end rect rgb(255, 240, 240) Note right of SwB: 收到封包,查詢往 3.3.3.3 Note right of SwB: 發現 2 個 Next Hops:
1. 10.2.1.2 (往C path1)
2. 10.2.2.2 (往C path2) end alt Hash 結果 = Path A SwB->>SwC: 經由 VLAN 30 轉送 else Hash 結果 = Path B SwB->>SwC: 經由 VLAN 40 轉送 end SwC->>SwC: 到達本機 Loopback 介面
應用場景:高可用性骨幹網路
在大型園區網路中,核心交換器之間通常擁有多條光纖。透過 ECMP,我們能合併頻寬並提供備援。若 Link 1 斷線,Hash 機制會自動將流量導向 Link 2,且 Loopback IP 確保管理 IP 永不改變,方便 NMS 監控。
驗證方法一:檢查 Routing Table
Switch-A # show iproute 3.3.3.3
Dest Gateway Mtr Flags VLAN Duration
3.3.3.3/32 10.1.1.2 1 UG-D--- To-B-Link1 0d:0h:2m:10s
3.3.3.3/32 10.1.2.2 1 UG-D--- To-B-Link2 0d:0h:2m:10s
驗證方法二:使用 Trace Route (路徑追蹤)
Switch-A # traceroute 3.3.3.3
traceroute to 3.3.3.3 (3.3.3.3), 30 hops max, 60 byte packets
1 10.1.1.2 (To-B-Link1) 1.123 ms 10.1.2.2 (To-B-Link2) 1.054 ms 10.1.1.2 (To-B-Link1) 1.110 ms
2 3.3.3.3 (Loopback) 2.150 ms 2.120 ms 2.135 ms
大師解讀: 注意看第 1 跳 (Hop 1),traceroute 發送的三個探測包 (Probes) 出現了不同的 IP (10.1.1.2 與 10.1.2.2)。 這是因為 Traceroute 每個 Probe 使用不同的 UDP Port,導致 Hash 運算結果不同,成功驗證了流量正在兩條路徑上進行負載平衡!
1. 在 ExtremeXOS 中,若要啟用 ECMP 功能,必須輸入哪條指令?
2. 為什麼建議使用 Loopback IP 作為設備的管理 IP?
3. 關於 Static Route 達成 ECMP 的條件,下列何者正確?
4. 預設情況下,交換器如何決定 ECMP 的封包要走哪條路?
5. 在 EXOS 中,要設定一個 VLAN 為 Loopback 介面,除了給 IP 之外還需要什麼?