什么是SDN?
軟件定義網絡(Software-defined Networking,簡稱SDN)技術是一種網絡管理方法,它支持動態可編程的網絡配置,提高了網絡性能和管理效率,使網絡服務能夠像雲計算一樣提供靈活的定制能力。SDN將網絡設備的轉發面與控制面解耦,通過控制器負責網絡設備的管理、網絡業務的編排和業務流量的調度,具有成本低、集中管理、靈活調度等優點。
為什么需要SDN
傳統網絡的局限
傳統網絡是一個分布式的網絡,在二層網絡中,設備通過廣播的方式傳遞設備間的可達信息。在三層網絡中,設備間通過標准路由協議傳遞拓撲信息。這些模式要求每台設備必須使用相同的網絡協議,保證各廠商的設備可以實現相互通信。隨着業務的飛速發展,用戶對網絡的需求日新月異,一旦原有的基礎網絡無法滿足新需求,就需要上升到協議制定與修改的層面,這樣就會導致網絡設備升級十分緩慢。
傳統網絡為了適應不同的需求和場景,發展也越來越復雜。部署一個傳統網絡往往需要使用到很多協議,由於標准協議中往往存在一些未明確的地方,導致各廠商的實現有差異。
傳統網絡以單台設備為單位,以命令行的方式進行管理。網絡管理和業務調度時效率低下,運維成本高。
SDN的技術路線
為了解決傳統網絡發展滯后、運維成本高的問題,服務提供商開始探索新的網絡架構,希望能夠將控制面(操作系統和各種軟件)與硬件解耦,實現底層操作系統、基礎軟件協議以及增值業務軟件的開源自研,這就誕生了SDN技術。
在傳統網絡中,網絡設備可以分為管理面、控制面和轉發面。管理面負責業務的編排和策略的制定,控制面負責操作系統的運行以及各種算法的運算,轉發面負責數據包的轉發和接收。SDN的理念是將網絡設備的控制和轉發功能解耦,使網絡設備的控制面可直接編程,將網絡服務從底層硬件設備中抽象出來。SDN架構與傳統網絡架構的對比如下圖所示。

傳統網絡架構與SDN架構對比
經典的SDN技術路線強調控制面的剝離,希望能夠將網絡設備變為白盒設備,實現網絡功能的自定義。
但在SDN的發展過程中,由於底層協議的復雜性、軟件開發投入等多方面原因,廠商逐漸轉向了以自動化運維為主要目標,弱化控制面剝離的SDN技術路線。廠商們主張將操作系統以及大部分的軟件仍放在硬件設備上進行,保留原有的網絡設備形態,通過控制器實現與硬件設備、與網絡配置管理工具的對接,由控制器在管理面的維度完成對硬件設備的統一管理和業務編排。下圖為兩種SDN技術路線的對比,經典的SDN技術路線又可以稱為軟件SDN,而弱化控制面剝離的SDN技術路線可以稱為硬件SDN。

軟件SDN與硬件SDN對比
SDN架構
SDN架構可分為基礎設施層、控制層和應用層。
- 基礎設施層:主要為轉發設備,實現轉發功能,例如數據中心交換機。
- 控制層:由SDN控制軟件組成,可通過標准化協議與轉發設備進行通信,實現對基礎設施層的控制。
- 應用層:常見的有基於OpenStack架構的雲平台。另外,也可以基於OpenStack構建用戶自己的雲管理平台。
SDN使用北向和南向應用程序接口(API)來進行層與層之間的通信,分為北向API和南向API。北向API負責應用層和控制層之間的通信,南向API負責基礎設施層和控制層之間的通信。

SDN架構
SDN的優點
在當前主流的SDN架構中,保留了傳統硬件設備上的操作系統和基礎的協議功能,通過控制器收集整個網絡中的設備信息,具有如下優點:
- 網絡可編程
網絡設備提供應用編程接口(API),使得開發和管理人員能夠通過編程語言向網絡設備發送指令。網絡工程師可以使用腳本自動化創建和分配任務,收集網絡統計信息。將基於CLI與SNMP的封裝腳本變為實實在在的可編程對象,提供了更豐富的功能。
- 網絡抽象化
控制器作為中間層,通過南北向API接口與網絡設備和應用程序進行交互,將底層的硬件設備抽象為虛擬化的資源池,應用和服務不再與硬件緊密耦合。
- 降低成本
保留了原有的網絡設備,硬件設備仍然具備管理、控制、轉發的全部功能,方便進行整網的改造,無需進行大規模的搬遷。控制器的引入將人工配置轉變為機器配置,提升運維效率,降低運維成本。
- 業務靈活調度
傳統的硬件設備在網絡中無法進行靈活的負載分擔,最優路由上往往承擔着最重的轉發任務,即使QoS、流控等功能緩解了這一問題,但流量的調度仍然強依賴於管理員對單台設備的配置,因此我們可以將傳統的硬件設備看作是一種孤島式的、分布式的管理模式。SDN在沒有改變硬件設備整體邏輯的基礎上,通過增加開放的南北向接口,實現了將計算機語言到配置命令行的翻譯,使界面式的管理、集中管理變成了可能,解決了傳統網絡業務調度不靈活的問題。
- 集中管理
傳統網絡設備的管理是分布式的,單台網絡設備不感知整個網絡的狀態。網絡管理員使用控制器來管理底層硬件設備,編排網絡業務,分配網絡資源和調整流量優先級。管理員可以直接感知整個網絡的狀態,及時調整帶寬和優化策略,便於進行整網的管理。
- 開放性
SDN架構支持供應商開發自己的生態系統,開放的API支持雲編排、OSS/BSS、SaaS等多種應用程序,同時也可以通過Openflow控制多個供應商的硬件。
SDN與NFV有什么區別
NFV也是一種網絡架構,它將傳統物理設備的網絡功能封裝成獨立的模塊化軟件,通過在硬件設備上運行不同的模塊化軟件,在單一硬件設備上實現多樣化的網絡功能。
SDN和NFV的相似之處主要體現在如下方面:
- 都以實現網絡虛擬化為目標,實現物理設備的資源池化。
- 都提升了網絡管理和業務編排效率。
- 都希望通過界面操作或者編程語言來進行網絡編排。
SDN和NFV的不同之處參見下圖。

NFV與SDN有什么不同
SDN抽象物理網絡資源(交換機、路由器等),並將決策轉移到虛擬網絡控制平面。控制平面決定將流量發送到哪里,而硬件繼續引導和處理流量,無需依賴標准的硬件設備。NFV的目標是將所有物理網絡資源進行虛擬化,允許網絡在不添加更多設備的情況下增長,這依賴於標准的硬件設備。
其實經典SDN架構也將硬件與軟件解耦作為目標,但在實現過程中由於軟件研發成本、設備替換等原因的影響,現行的SDN方案弱化了控制面的分離,僅以網絡自動化運維為目標。
SDN的未來與挑戰
在數據中心領域,大多數大規模數據中心已經采用扁平化架構,這給網絡設備的管理帶來了極大的挑戰。SDN帶來的自動化運維、集中管理在數據中心的自動化調配以及擴容中有極大的應用空間。
在視頻領域,由於SDN支持數據流的實時調配,使得網絡能夠承載更多的流量。
在機器學習和人工智能領域,SDN也會受到運營需求和軟件創新的影響,提供更豐富、更新潮的網絡體驗。
在未來的網絡自動駕駛(ADN)中,SDN架構也能夠發揮重要作用。
SDN並非沒有缺點,與其他IT產品一樣,SDN存在安全、擴展以及缺乏廣泛合作、缺乏生態的問題。
- 集中管理的安全風險
雖然集中管理十分方便,但這也是一種安全風險。集中管理的單節點被攻擊,整個網絡可能都會受到影響。
- SDN控制器的瓶頸
對於軟件完全從硬件上分離的SDN思路來說,控制器的軟件開發難度、控制器的計算壓力都是巨大的挑戰。
- 北向API缺乏統一標准
缺乏標准的北向API導致供應商提供的接口不統一,應用程序開發困難上升,同一組開發人員必須同時開發與不同控制器的相互操作。
華為SDN解決方案
目前華為解決方案通過iMaster-NCE實現對網絡設備的統一管理和自動化運維,為IT應用和雲平台提供可自動運維的網絡服務。面向園區網絡提出了CloudCampus解決方案,面向數據中心網絡提出了CloudFabric解決方案,面向無線網絡提出了SD-WAN解決方案。
CloudCampus智簡園區網絡解決方案:華為CloudCampus解決方案基於ADN(自動駕駛網絡)的理念和架構,應用5G、Wi-Fi 6、SDN、雲和智能等技術,為各組織構建滿足一網接入全千兆,一跳上雲智體驗,統一管理新運維的園區網絡,可提升數字化運營效率,並綜合性地降低園區網絡CAPEX和OPEX。
CloudFabric數據中心網絡解決方案:CloudFabric是華為推出的數據中心網絡SDN解決方案,該方案由華為數據中心CloudEngine系列交換機配合華為數據中心控制器iMaster NCE-Fabric、智能網絡分析平台iMaster NCE-FabricInsight以及安全解決方案HiSec,為客戶提供覆蓋數據中心網絡的“規划建設 → 業務發放 → 運維監控 → 變更優化”全生命周期的極簡運營體驗;對網絡故障實現發現、分析、隔離的智能閉環;同時CloudFabric還能滿足數據中心全以太網絡演進,可融合計算專網與存儲專網,實現以太零丟包,提升計算和存儲性能。
SD-WAN解決方案:針對企業網絡面臨的WAN封閉架構、業務體驗難保障、業務部署和運維困難的問題,華為SD-WAN解決方案為企業提供分支與分支、分支與數據中心、分支與雲之間的全場景互聯,通過應用級智能選路、智能加速、智能運維,構建更好的業務體驗,重塑WAN互聯全流程的業務體驗。
來自:https://info.support.huawei.com/info-finder/encyclopedia/zh/SDN.html