【白話科普】聊聊網絡架構變革的關鍵——SDN

語言: CN / TW / HK

最近二狗子在網上衝浪的時候,不小心將 CDN 搜索成了 SDN,結果跳出來了一大堆相關的知識點。

好學的二狗子當然不會隨隨便便糊弄過去,於是認認真真學習了好久,終於瞭解了 SDN 是什麼。

原來,SDN 的全稱是 Software Defined Networking,是一類將網絡控制平面與數據平面分開,以實現網絡資源的自動化配置和基於策略的管理技術。互聯網發展以來,企業網絡結構的組成和管理對於許多公司來説都是一項巨大的挑戰。硬件設施曾經在網絡世界中佔據統治地位,但是基於物理硬件的傳統網絡很少能滿足現代公司的要求,直到出現了 SDN。

什麼是 SDN?

SDN 即軟件定義網絡,它描述了一種網絡架構,可以使用軟件對單個硬件組件進行集中、智能的管理和控制,使用 OpenFlow 等開放協議允許訪問網絡設備,如交換機、路由器或防火牆等。其核心技術 OpenFlow 通過將網絡設備的控制面與數據面分離開來,從而實現了網絡流量的靈活控制,使網絡變得更加智能,為核心網絡及應用的創新提供了良好的平台。簡而言之,SDN 概念代表了基礎設施及其配置的分離。

  • 控制平面:控制平面決定數據報在端對端的路徑上應該如何路由,即路由。

  • 數據平面:數據平面決定數據報在每個路由器上該如何從 Input Port 轉發到 Output Port 中,即轉發。

雖然控制面和數據面分離,但數據平面仍然是網絡設備中的一部分。對於 SDN 來説,它的任務是專門轉發數據包,因此它需要很少的計算能力。此外,SDN 技術能夠有效降低設備負載,協助網絡運營商更好地控制基礎設施,降低整體運營成本,成為最具前途的網絡技術之一。

傳統網絡世界水平是標準開放的,每個網元可以和周邊網元進行互聯。而在計算機的世界裏,不僅水平是標準和開放的,同時垂直也是,從下到上有硬件、驅動、操作系統、編程平台、應用軟件等等,編程者可以很容易地開發各種應用。從某個角度和計算機對比,在垂直方向上,網絡是 “相對封閉” 和 “沒有框架” 的,在垂直方向創造應用、部署業務是相對困難的。但 SDN 將整個網絡(不僅僅是網元)的垂直方向變得開放、標準化、可編程,從而讓人們更容易、更有效地使用網絡資源。

SDN 如何運作

控制層上運行的 SDN 軟件需要控制平面和數據平面之間的特定通信接口,以便將適當的數據包流量指令發送到嵌入式網絡組件。對此最著名的解決方案就是上面提到過的 OpenFlow。OpenFlow 由開放網絡基金會 (ONF)管理,是軟件定義網絡架構中控制層和數據層之間的第一個標準化接口。

在很多 SDN 網絡中,它取代了網絡設備的單獨接口,也減少了對硬件廠商的依賴。

OpenFlow 是迄今為止最常見的,但絕不是唯一用於管理 SDN 的協議。一些替代方案例如 NETCONF (RFC 6241)、BGP(邊界網關協議)、XMPP(可擴展通訊和表示協議)、OVSDB(開放 vSwitch 數據庫管理協議)和 MPLS-TP(MPLS 傳輸協議)等。Cisco 和 Nicira 的一些專有協議也會用於某些架構。

SDN 引領網絡變革(圖片來源於互聯網,侵刪)

一旦硬件和軟件之間的通信建立起來,管理員可以通過控制層和各自的 SDN 軟件快速輕鬆地獲得網絡的整體視圖,並通過基於軟件的中央控制來管理網絡設備。這讓數據流的管理效率比在各組件本身控制邏輯的網絡中要高得多。路由和拓撲信息不再以片段的形式分佈在所有路由器上,而是匯聚在一箇中心位置,大大增加了虛擬化和資源的可擴展性。

SDN 的體系結構

一般來説,SDN 網絡體系結構主要包括 SDN 應用和服務(應用平面)、北向接口、SDN 控制器(控制平面)、南向接口和網絡設備(數據平面)五個部分。

網絡設備(數據平面)

數據平面由物理和虛擬的各種網絡設備組成。數據平面的主要職責是轉發。在以前的傳統網絡中,控制平面和數據平面都在同一個設備中。但是對於 SDN,網絡設備只有數據平面。所以,這些網絡設備的主要作用只是轉發數據。這也提供了一種非常有效的轉發機制。

SDN 控制器(控制平面)

SDN 控制器是 SDN 架構的中心,也是 SDN 架構組件中最重要的組件之一。換句話説,SDN 控制器是系統的大腦。所有數據平面設備的控制都是通過 SDN 控制器完成的。它還控制應用層的應用程序,通過接口與 API 通信進而控制這些上層和下層。

SDN 應用層(應用平面)

應用層包含組織使用的典型網絡應用或功能。這些應用程序通過調用 SDN 控制器的北向接口,實現對網絡數據平面設備的配置、管理和控制。

這三層使用各自的北向和南向 API 進行通信。應用程序通過其北向接口與控制器通信,控制器和網絡設備使用南向接口(例如 OpenFlow)進行通信。

SDN 的優勢與挑戰

在數字網絡變得越來越龐大和複雜的同時,虛擬化程度以及對最大靈活性和可擴展性的需求也在不斷提高。SDN 相對於傳統網絡的優勢可以總結如下:

  • 無需配置單個設備或操作系統

  • 整個網絡的維護和管理成本低

  • 降低硬件和運營成本

  • 實現資源的實時動態分配和監控

  • 對硬件製造商的依賴性低

SDN 還促成了軟件定義廣域網 ( SD-WAN ) 技術的出現,SD-WAN 採用 SDN 技術的虛擬覆蓋方面。SD-WAN 將組織在其 WAN 中的連接抽象化,創建一個虛擬網絡,該網絡可以通過控制器尋找適合發送流量的相關連接。

SDN 的主要採用者包括服務提供商、網絡運營商和一些大型企業,如 Facebook 和谷歌等。不過 SDN 的背後仍然存在着一些挑戰。

  • 安全:集中式 SDN 控制器會出現單點故障,如果被攻擊者作為目標,可能會對網絡造成極大的影響。

  • 定義不明確:SDN 面臨的另一個挑戰是業界對軟件定義網絡確實沒有統一的定義。不同的供應商提供了不同的 SDN 方法,包括以硬件為中心的模型和虛擬化平台到超融合網絡設計和無控制器的方法。

SDN 的應用場景

由於其相對於經典網絡的眾多優勢,SDN 對於很多場景都比較適用,包括:

  • 開發運維。SDN 可以通過自動化應用程序更新和部署來促進 DevOps 。該策略可以包括在部署 DevOps 應用程序和平台時自動化 IT 基礎架構組件。

  • 校園網絡。校園網絡比較難以管理,尤其是在不斷需要統一 Wi-Fi 和以太網的情況下。SDN 控制器可以提供集中管理和自動化、改進安全性和整個網絡的應用級服務質量。

  • 網絡服務提供商。SDN 可幫助服務提供商簡化和自動化其網絡的配置,以實現端到端網絡和服務管理與控制。

  • 數據中心安全。SDN 支持更有針對性的保護並簡化防火牆管理。通常,企業依靠傳統的外圍防火牆來保護數據中心。但是,公司可以通過添加虛擬防火牆來創建分佈式防火牆系統進而保護虛擬機。SDN 集中控制和自動化還讓管理員能夠查看、修改和控制網絡活動,以降低違規風險。

近年來,許多網絡提供商都採用了 SDN ,通過消除製造商特定的限制並大大簡化了網絡管理,優化了硬件虛擬化的基本方法。雖然傳統網絡在安全、可靠性、可維護性和性能上還有很大的優勢,但是隨着 SDN 相關設備的發展,SDN 依靠自己的優勢,一定會不斷佔領傳統網絡的領地。網絡運營商應為 IT 行業的未來發展和挑戰做好充分的準備。

推薦閲讀

【實操日記】使用 PyQt5 設計下載遠程服務器日誌文件程序

【白話科普】從“熊貓燒香”聊聊計算機病毒