天天看點

SDN基本原理

軟體定義網絡的基本架構-ONF定義的三層架構

ONF定義的基于OpenFlow的三層架構

技術特點

技術架構
  • 轉發與控制分離
  • 轉發面進行了标準化
優點
  • 流量排程
  • 開放生态鍊

IETF提出的技術架構

主要思想

技術架構
  • 開放現有網絡裝置的能力
  • 标準化開放的API
優點
  • 充分利用了現有的網絡裝置和路由協定
  • 快速實作

NICRA(被VM收購)提出的Overlay技術架構

技術特點

技術架構
  • 網絡邊緣軟體化
  • Overlay技術
優點
  • 與實體網絡解耦
  • 部署非常靈活

ETSI的NFV技術

營運商網絡

技術架構
  • NFV與SDN互補
  • 本質有很大不同
不能算是SDN架構

ONF定義的SDN基本架構

基本架構自下而上分為:轉發層、控制層、應用層

  • 轉發層:一種新型網絡創新架構,實作了網絡裝置控制與轉發的分離
  • 控制層:網絡虛拟化的一種實作方式,核心技術為OpenFlow
  • 應用層:實作了網絡流量的靈活控制,使網絡作為管道變得更加智能。

四個平面

SDN基本原理

管理平面

  • 負責靜态的工作:網元初始化配置、指定控制器、定義控制器及應用的控制範圍。

應用平面

  • SDN應用邏輯與北向接口(NBI)驅動
  • 通過北向接口與SDN控制器互動
應用邏輯方面
  • 應用傳遞能力(負載均衡、通路控制、應用加速)

控制平面

三個部分
  • 北向接口(NBI)代理
  • SDN控制邏輯(ControlLogic)
  • 控制資料平面接口驅動(CDPI Driver)
兩個任務
  • 将SDN應用層請求轉換到SDN Datapath
  • 為SDN應用提供底層網絡的抽象模型(狀态或事件)
關鍵技術
  • 控制器,網絡作業系統(NOS)或網絡控制器(開源SDN控制器有NOX、POX、FloodLight、RYU、OpenDayLight、ONOS等)

資料平面

若幹網元(NetWork Element):包含一個或多個SDN資料路徑(SDN Datapath)

SDN datapath:

  • 邏輯上的網絡裝置,負責轉發和處理資料
  • 一個SDN Datapath包含控制資料平面接口表和處理功能
關鍵技術
  • 對資料面進行抽象模組化
    SDN基本原理

兩大接口

南向接口

  • 控制平面和資料平面之間的接口(CDPI)
  • 功能:轉發行為控制、裝置性能查詢、統計報告、時間通知等
  • ONF架構特點:标準化的南向接口協定(OpenFlow),不依賴于底層具體的廠商的交換裝置。
南向接口的關鍵技術
  • 轉發面開放協定(南向接口協定):允許控制器控制交換機的配置以及相關轉發行為。
    SDN基本原理

北向接口

  • 應用平面與控制平面之間的接口(NBI),向應用層提供抽象的網絡視圖,使應用能直接控制網絡的行為。
  • 開放的、與廠商無關的接口
  • 開放的、與廠商無關的接口
北向接口的關鍵技術
  • SDN北向接口設計:控制器将網絡能力封裝後開放接口,提供上層業務調用。
  • REST API成為SDN北向接口的主流設計
  • 交換機狀态采集、靜态流表推送、防火牆政策等多種類型的接口。
    SDN基本原理

SDN網絡核心思想

  • 解耦
  • 抽象
  • 可程式設計

解耦

  • 将控制平面和資料平面分離:解決兩層在實體上緊耦合導緻的問題
  • 解耦後,控制平面負責上層的控制決策,資料平面負責資料的交換轉發,雙方需遵行開放接口進行通信
  • 傳統網絡
    SDN基本原理
  • SDN網絡
    SDN基本原理
  • 解耦合帶來的問題
    • 控制平面的服務能力成為網絡性能的瓶頸
    • 多控制器如何互動路由資訊,保持分布式節點狀态的一緻性
    • 控制平面的響應延遲。導緻的資料平面可用性問題

抽象

SDN基本原理
  • 轉發抽象
    SDN基本原理
  • 分布狀态抽象
    SDN基本原理
  • 配置抽象:網絡行為的表達通過程式設計語言實作,基于簡化抽象模型,将抽象配置映射為實體配置(指令行、網關協定接口、控制器提供的API)
  • Overlay架構上的抽象
    SDN基本原理

可程式設計

  • SDN在資料平面與控制平面解耦後提供了開放的可程式設計接口
  • 傳統網絡管理接口:指令行、網管協定、腳本語言等初級管理方式
  • 網絡管理者需要基于整個網絡的更進階的程式設計方式
  • 網絡可程式設計:主動網絡(開放網絡節點的程式設計接口、使用者資料上根據使用者需求執行相應計算)、4D架構(資料平面、發現平面、擴充平面、決策平面)
  • SDN的可程式設計接口
    SDN基本原理
  • SDN的資料平面也支援可程式設計(Intel高性能網絡資料處理架構DPDK、斯坦福大學 資料平面可程式設計語言P4)

相關實驗:Mininet的應用實踐

繼續閱讀