OpenFlow 協定詳解:從傳統網路到 SDN 軟體定義網路的核心技術


前言

隨著雲端運算、資料中心與網路自動化的快速發展,傳統網路架構逐漸面臨管理複雜、擴展困難以及自動化能力不足等問題。

在這樣的背景下,軟體定義網路(Software Defined Networking,SDN) 應運而生,而 OpenFlow 則是 SDN 發展歷程中最具代表性的核心技術之一。

許多網路工程師在學習 SDN、網路自動化、EVPN/VXLAN 或準備高階網路認證考試時,都會接觸到 OpenFlow。本篇文章將以淺顯易懂的方式,完整介紹 OpenFlow 的架構、運作原理、優缺點以及常見考試重點。


什麼是 OpenFlow?

OpenFlow 是一種 SDN(Software Defined Networking)架構中的南向介面(Southbound Interface)協定。

它最早由美國史丹佛大學提出,後續由 Open Networking Foundation(ONF)進行標準化制定。

OpenFlow 的核心理念非常簡單:

將網路設備的控制平面(Control Plane)與資料平面(Data Plane)分離。


傳統網路架構

在傳統交換器與路由器中:

  • 控制平面負責計算路由與決策
  • 資料平面負責封包轉發

兩者都運行在同一台設備上。

+—————-+
| Router/Switch |
| 控制 + 轉發 |
+—————-+

OpenFlow 架構

在 OpenFlow 架構中:

  • 控制邏輯集中於 SDN Controller
  • 網路設備只負責高速轉發流量
       +----------------+
       | SDN Controller |
       +----------------+
                |
            OpenFlow
                |
  +-------------+-------------+
  |             |             |
Switch1     Switch2          Switch3
(資料轉發)   (資料轉發)       (資料轉發)

這種設計讓網路具備更高的集中管理與自動化能力。


OpenFlow 能解決什麼問題?

1. 網路集中管理

傳統大型企業網路可能包含:

  • 數百台交換器
  • 數十台核心設備
  • 多個資料中心

管理員需要逐台登入設備進行設定。

而在 OpenFlow 架構下:

所有策略都由 Controller 統一管理。

Controller

統一推送設定

所有交換器同步更新

2. 網路自動化

當新設備接入網路時:

設備上線

Controller 偵測

自動下發安全策略

無需人工逐台設定。


3. 流量工程(Traffic Engineering)

Controller 可以根據:

  • 網路負載
  • 頻寬使用率
  • 業務重要程度

動態調整封包路徑。

例如:

ERP 系統 → 路徑 A
視訊會議 → 路徑 B
備份流量 → 路徑 C

有效提升網路效率。


4. 微分段安全控制(Micro-Segmentation)

現代零信任架構(Zero Trust)大量採用類似概念。

例如:

  • 使用者只能存取特定應用程式
  • 伺服器之間僅允許必要流量
  • 東西向流量(East-West Traffic)受到嚴格控制

OpenFlow 架構組成

SDN Controller

Controller 是整個 SDN 網路的大腦。

負責:

  • 路由決策
  • 流量控制
  • 安全策略
  • 網路監控

常見 Controller 包括:

Controller說明
OpenDaylight最知名開源控制器之一
ONOS電信級 SDN 控制器
FloodlightOpenFlow 控制器
RyuPython 開發的 SDN 平台

OpenFlow Switch

OpenFlow Switch 負責資料轉發。

可分為:

實體交換器

部分廠商設備支援 OpenFlow:

  • Cisco
  • Juniper Networks
  • HPE

虛擬交換器

最著名的是:

Open vSwitch(OVS)

廣泛應用於:

  • OpenStack
  • KVM
  • 雲端資料中心

Secure Channel

Controller 與 Switch 之間透過 OpenFlow 通訊。

常用連接埠:

TCP 6653

早期版本:

TCP 6633

通常搭配 TLS 加密。


OpenFlow 的核心:Flow Table

OpenFlow 最大特色就是:

基於 Flow(流)進行轉發。


傳統設備的轉發方式

交換器依據:

MAC Address Table

進行轉發。

路由器依據:

Routing Table

進行轉發。


OpenFlow 的轉發方式

依據:

Flow Table

進行處理。


Flow Entry 組成

每筆流表(Flow Entry)包含三個部分:

Match(匹配條件)

定義符合哪些流量。

例如:

  • 來源 IP
  • 目的 IP
  • TCP Port
  • VLAN ID
  • MAC Address

Action(動作)

符合條件後執行:

  • Forward(轉發)
  • Drop(丟棄)
  • Modify(修改封包)
  • Send to Controller

Counter(計數器)

記錄:

  • 封包數量
  • 位元組數量
  • 流表存活時間

Flow Entry 範例

Match:
來源 IP = 10.1.1.10
目的 IP = 10.2.2.20
TCP Port = 80

Action:
轉發到 Port 3

代表:

10.1.1.10 → 10.2.2.20

所有 HTTP 流量
送往 Port 3

OpenFlow 工作流程

第一步:封包進入交換器

PC1 → PC2

第二步:查詢 Flow Table

交換器搜尋是否有符合的規則。

命中(Flow Hit)

找到規則

直接轉發

未命中(Flow Miss)

找不到規則

Packet-In

送至 Controller

第三步:Controller 分析

Controller 根據策略判斷:

  • 是否允許通行
  • 應該走哪條路徑
  • 是否套用 QoS
  • 是否進行負載平衡

第四步:下發 Flow Rule

Controller 使用:

Flow-Mod

訊息下發規則。


第五步:交換器安裝流表

Flow Entry 安裝完成

後續流量直接轉發

無需再次詢問 Controller。


OpenFlow 常見訊息類型

Controller → Switch

Flow-Mod

新增、修改或刪除流表。

Add
Modify
Delete

Packet-Out

要求交換器發送封包。


Port-Mod

修改介面設定。


Switch → Controller

Packet-In

當封包不符合任何規則時回報 Controller。


Flow-Removed

通知流表已刪除。


Port-Status

通知介面狀態改變。


雙向訊息

Hello

建立連線。

Echo Request

心跳檢測。

Echo Reply

回覆心跳訊息。


OpenFlow 版本演進

版本主要特性
1.0第一個廣泛部署版本
1.1支援多流表
1.2強化 IPv6 支援
1.3企業環境最常見
1.4Meter 功能增強
1.5更多擴充能力

認證考試重點

目前各大認證考試最常出現的是:

OpenFlow 1.3

因為許多企業級 SDN 解決方案仍以此版本為基礎。


OpenFlow 的優勢

集中化管理

所有策略統一控制。


自動化能力強

可透過 API 控制整個網路。


快速部署

新服務上線時間大幅縮短。


網路可程式化

支援:

  • Python
  • REST API
  • 自動化腳本

實現 NetDevOps 與 AIOps。


OpenFlow 的缺點

Controller 可能成為單點故障

若只有單一 Controller:

Controller 故障

控制能力受影響

因此企業通常採用:

Controller Cluster

提高可用性。


學習門檻較高

需要同時理解:

  • 網路技術
  • Linux
  • 程式開發
  • 自動化工具

產業採用方向改變

近年來許多廠商逐漸轉向:

  • Intent-Based Networking(IBN)
  • API-Driven Networking
  • EVPN/VXLAN Fabric
  • 雲端原生網路

因此 OpenFlow 已不再是唯一主流方案。


OpenFlow 與傳統網路比較

項目傳統網路OpenFlow
控制平面分散式集中式
轉發決策本地設備Controller
設定方式CLIAPI
自動化能力較低較高
可程式化困難容易
擴充性一般優秀

結語

OpenFlow 是 SDN 發展歷史上最重要的技術之一,其最大的價值不僅在於協定本身,更在於它提出了「控制平面與資料平面分離」的革命性概念。

雖然現今資料中心與企業網路更多採用 EVPN/VXLAN、雲端網路與 API 自動化架構,但 OpenFlow 所奠定的設計思想仍深深影響著現代網路技術的發展。

對於正在學習網路自動化、雲端網路、SDN 或準備 HCIE、CCIE、NSE、PCNSA 等高階認證的工程師而言,理解 OpenFlow 不僅有助於考試,更能幫助建立現代網路架構的完整觀念。


重點整理(考前必背)

✅ OpenFlow 是 SDN 最具代表性的南向協定

✅ 將 Control Plane 與 Data Plane 分離

✅ Controller 負責決策,Switch 負責轉發

✅ Flow Table 是 OpenFlow 的核心

✅ 三大 Flow Entry 元件:

  • Match
  • Action
  • Counter

✅ 重要訊息類型:

  • Packet-In
  • Packet-Out
  • Flow-Mod
  • Flow-Removed

✅ OpenFlow 1.3 是最常見考試版本

✅ OpenFlow 是理解 SDN、網路自動化與現代資料中心網路的重要基礎技術之一。


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *