軟體定義網路(Software Defined Network, SDN)的架構通常分為三個主要層面(plane),分別是:
- 應用層(Application Plane)
- 控制層(Control Plane)
- 數據層(Data Plane)
1. 應用層(Application Plane)
工作內容
應用層負責網絡應用和服務的管理和操作,這些應用可以包括流量工程、負載均衡、安全策略、網絡監控等。
運作方式
- 應用開發:開發者可以針對特定需求開發各種網絡應用。
- 與控制層的互動:應用層通過API與控制層互動,向控制層發送策略請求或接收網絡狀態信息。
- 策略制定:根據網絡需求和目標,應用層制定各種網絡策略,這些策略將由控制層執行。
2. 控制層(Control Plane)
工作內容
控制層是SDN的核心,負責網絡設備的集中控制和管理。它解釋來自應用層的指令,並將這些指令轉換為具體的網絡配置和操作。
運作方式
- 控制器:控制層由一個或多個SDN控制器組成。這些控制器是SDN的“大腦”,負責做出網絡決策。
- 北向接口(Northbound API):控制器通過北向接口接收來自應用層的策略和需求。
- 南向接口(Southbound API):控制器通過南向接口與數據層的網絡設備(如交換機、路由器)通信,向這些設備下達控制命令,並收集它們的狀態信息。
- 網絡狀態管理:控制層維護網絡的全局視圖,實時監控網絡狀態,並根據應用層的策略進行動態調整。
3. 數據層(Data Plane)
工作內容
數據層負責實際的數據包轉發和處理。這一層由物理或虛擬網絡設備組成,如交換機、路由器等。
運作方式
- 數據包轉發:根據控制層下達的指令,數據層的設備進行數據包的轉發和處理。
- 轉發規則應用:控制層通過南向接口向數據層設備安裝轉發規則,數據層設備根據這些規則進行操作。
- 狀態報告:數據層設備將自身的狀態和統計數據回報給控制層,以便控制層進行全局網絡管理和優化。
總結
SDN的三層架構有效地將網絡控制與數據轉發分離,使得網絡更具靈活性、可編程性和可管理性。
- 應用層:提供各種網絡應用和服務,制定網絡策略。
- 控制層:集中管理和控制網絡設備,翻譯應用層的策略並下達指令。
- 數據層:執行數據包的實際轉發,根據控制層的指令進行操作。
這種架構使得網絡能夠快速適應不同的需求和變化,同時提高了網絡的可管理性和可擴展性。