鐘 旻
圖1是一個簡單的通信網絡示意圖。為了實現用戶之間的互聯通,需要有中間(交換)節點和連接鏈路。這些節點的主要功就是轉發,它們可以是路由器,網關,交換機或子網等。

圖1 簡單的通信網絡示意圖
在互聯網的OSI 分層中,網絡層處于第3層,其主要功能有:
(1)傳輸路徑確定:網絡層必需確定信息數據包(分組)從發送用戶到接收用戶所流經的路徑,即路由的選擇。
(2)交換:以路由器作為交換節點為例,當某一數據分組到達一路由器的入口時,路由器必需將它送到適當的輸出端口和鏈路,也即將來自某一鏈路的數據包交換輸出到另一鏈路去,最終轉發到目的地。
(3)建立呼叫:一般,在數據實際發送之前,發方與收方之間應先“握手”,以建立所需狀態信息(如序列號和初始流控制窗口的大小等)。
交換節點設備的組成包括硬件與軟件,仍以路由器為例,它包含一中央處理器(CPU),是路由器的核心;此外,還有多種內存,用作存儲配置,路由器操作系統,路由協議軟件等內容。
路由協議的核心是路由算法,用來確定所轉發分組的傳送路徑。對于給定的一組路由器,通過路由算法找到一條從源到目的地“好”的路徑,“好路徑”普遍公認的一條標準,是“成本最低”。當所有鏈路成本相同時,最低成本的路徑也就是最短路徑,即源與目的地之間的鏈路數最少。當然,考慮到網絡運行的動態變化,以及數據流轉發的優先等級等,還有其他一些路由準則和算法。
一旦路由確定之后,便要指令數據(包)沿指定的路徑傳送,因此需要有一套控制功能。于是在網絡層中形成了控制與數據平面。通常,控制平面與數據平面是捆綁在一起的。對于規模很大、種類繁多的復雜網絡而言,會給制造商、運營商或來諸多挑戰,如為了擴展和增加新的業務,必需補充新的硬件和軟件,這就要增加資金和時間的投入。為有效應對諸如此類的挑戰,軟件定義網絡(SDN,Software Defined Networking)便應運而生。
按照ONF(Open Networking Foundstion)的定義,SDN 是動態的、可管理的、高性價比的和適用性強的技術,這里,控制與數據轉發和基本的基礎設施分離(去耦),對于網絡業務和應用是直接可編程的。SDN 的基本架構概念如圖2所示[1]。

圖2 SDN的基本架構概念
圖2中,管理平面包含功能,如路由、業務工程,利用該平面功能和應用程序接口(API)來管理和控制基礎設施;控制平面是控制數據的平面,邏輯上集中在控制器內;數據平面是由互聯的轉發設備組成的網絡基礎設施,轉發設備是用于數據轉發的硬件或軟件;北邊接口是由控制平面開發網絡控制和管理應用提供的應用接口;南邊接口是(對數據平面程序的指令集)+(控制與數據平面之間的協議)。據報導,Open Flow 是較早推出的一種用于南邊接口的軟件工具。
圖3給出了SDN 與傳統(常規)網絡基本組成的比較[2]。

圖3 傳統網絡與SDN網絡基本組成的比較
由圖3可見,傳統網絡是基于硬件構成的,不同網絡種類的交換節點的硬件配備不同的支持軟件,這樣,就限制了運作的通用性。在SDN 中,用軟件來調度和管理網絡,其核心是控制平面與數據平面分離(去耦),將復雜的控制邏輯功能集中到控制平面。
進一步比較SDN 與傳統網絡之間的差別如表1所示[2]。

表1 SDN與傳統網絡之間的差別
為了進一步理解SDN 的運作原理,以圖4為例說明如下[3]。

圖4 SDN運作應用舉例
在圖4中,SDN 控制器控制三個不同的OpenFlow 交換機的運作,連接到交換機#2的是兩個信息發生器。發生器A 產生“產品級”信息(如規則的業務),其目的地是用戶A;而發生器B則用于測試一個新的協議,開發該協議是用以評估某網絡產品的性能??刂破魍ㄟ^此途徑檢測由發生器B 產生的業務協議。圖中的數字表示交換機端口的號碼。本例中,當業務從發生器B 到達交換機#2時,控制器利用OpenFlow 協議與之握手。控制器通過預構的網絡拓撲知識,能夠確定該種業務的目的地是用戶B 而非用戶A,于是產生一組OpenFlow指令給交換機#2和#3。對于前者,控制器通過軟件加一虛擬標志給由發生器B 產生的所有分組。對于后者,控制器構造交換機#3,控制器指令具有上述標志的所有分組到達端口12轉到端口8,最后轉發給用戶B。這樣,不同的聯網機構(即路由,轉發,接入控制)是網中的控制器可構造的,它支持動態網絡拓撲再調整和重構。此外,基礎設施演進成為一簡化的進程;因為網絡無需人工重構,同時也去掉了復雜的支持硬件的程序,這樣,基礎設施很容易利用統一的抽象演進,還可用到新的由云計算、物聯網等聯網的組網環境。
在圖3和圖4中,“流”是指信源與目的地之間的分組序列;“流表”則是將保存在交換機和按規則處理流分組(包)轉發的列表。
歸納起來,SDN 具有以下功能:
(1)可編程。因為控制平面與數據平面去耦(分離),根據用戶要求,網絡的管理運營商可通過控制平面,利用不同的軟件開發工具進行編程。
(2)集中管理。在SDN 中,控制器網絡邏輯上是集中式的,這就提供了網絡球形的、完整的視野,以邏輯設備形式呈現給應用商或用戶。
(3)靈活性。網絡運營商可以管理、構造新的網絡,提供安全保密保障,通過動態的自動的SDN 程序,迅速優化網絡參數,對業務變化作出合適的反應。控制器是利用軟件運作的,可在不同的物理或虛擬主機上通過操作系統實現同步。
(4)基于開放標準和中性供應商。采用開放標準,SDN 簡化了網絡設計和操作,因為指令是由SDN 控制器提供的,它取代了多個供應商專有的協議。
SDN 最初應用于有線網絡,隨著移動通信的發展,網絡日趨繁多復雜,特別進入到5G 時代,超密集網絡、低時延、高可靠傳輸的要求,以硬件為基礎的原有網絡架構已不能適應。如宏蜂窩區引入微小、微微小等小區后,基站數量將大為增加,眾多的節點交換,需要繁雜的信令和協議支持,信息傳輸時延增加,因此,需要改變以往的網絡架構設計理念,采用SDN 勢在必行。5G 網絡的SDN 架構如圖5所示[2]。

圖5 5G網絡中SDN的架構
(1)基礎設施層:主要包括轉發元素(如物理和虛擬交換機,路由器,無線接入點)組成的數據平面,用于(1)收集網絡狀態,將其臨時儲存到局域網設備,之后將所儲存數據發送到網絡控制器;(2)基于網絡控制器或管理者提供的規則管理數據包(分組),進而完成分組交換和通過開放接口發送。
(2)控制層:即前面所述的控制平面,提供應用層與基礎設施層之間的三個開放接口,使控制器與其他層交互,即南邊應用程序接口與基礎設施層交互,北邊應用程序接口與應用層交互,東/西應用程序接口與控制器群交互。其功能包括報告網絡狀態、重要的分組規則,和以各種形式提供各種服務接入點。
(3)應用層:包含所有用戶要求,末端用戶商業應用,這些應用包括網絡管理,動態接入控制,安全保密,移動性和遷移,云計算和負載平衡等,通過控制平面到數據層的接口,能控制和接入交換設備。
關于網絡管理,據報導,有多于60%的網絡故障發生,是由于人工的構造差錯和失敗所致,解決此問題的途徑是管理系統的自動化和綜合化,通過SDN 可提供一種球形的全網抽象視圖,使網絡管理更為靈活和自動化。網絡基于流表和流規則的集中式控制進行管理,通過接口分配網絡的吞吐量,保證更為靈活和顆粒化管理。
關于網絡安全性,在傳統的網絡中,防火墻或代理服用于保護物理網絡;SDN 則采用一種集中式架構,來應對網絡安全性問題。在SDN 中,可監視通過整個網絡的流和用戶行為,進行檢測并防止受到損害。一旦檢測到攻擊,SDN 控制器能在交換機設備中安裝分組轉發規則,來成功防止對網絡的攻擊;對于高網絡業務,因流表檢測可能欠充分,需增加一種實時的安全系統。
關于負載平衡,用于在線資源管理的一種重要技術,是控制來自不同應用的數據流,以保持鏈路利用處于較低的水平上。而選擇一條適當的鏈路,對于提升服務能力,增加吞吐量,避免網絡過載,成本最低,降低響應時間等,是非常重要的,已有一種基于OpenFlow 的負載平衡解決方案,對交換機進行綜合,無須使用孤立的設備,來進行網絡管理。
網絡功能虛擬化(NFV,Network Function Virtualization),是通過軟件實現虛擬化的網絡功能。其目標是將網絡功能中用專用硬件實現與軟件實現分離,從而降低成本和功耗。
在NFV 中,網絡提供存儲、處理和服務,即所謂的“網絡即服務”(NaaS),這意味著此虛擬化技術能用軟件獨立于基本服務器硬件之外運作,實現網絡功能。其基本概念和原理可用圖6來說明。

圖6 NFV的分層
在圖6中,網絡運管商向某用戶提供虛擬功能(如應用服務器),為此,運管商運用其物理資源層中基本組網、處理和存儲等資源來構造、生成;這些資源作為原始的計算和組網元素聚合出現。利用預留接口,通過虛擬的執行環境,可申請到這些資源并保存到硬件中,通過該層可構成由運管商提供的更多的與硬件相關的功能。在邏輯上聚合成一個或若干個虛擬機和虛擬網絡(用以為虛擬機提供必要的連接,考慮不同的路由和商業政策),形成虛擬基底層。再通過虛擬化接口,配置不同的虛擬化功能,該層稱之為網絡虛擬化功能層。
SDN 與NFV 是相互獨立但可以是互補的,SDN 提供轉發(信息流)的靈活性,NFV 則提供處理(網絡功能)的靈活性,二者結合,對網絡的開拓、更新將提供有力的支持。圖7給出了SDN與NFV 在5G 網絡中的應用[4]。

圖7 NFV和SDN在5G中應用
圖7中,網絡切片是按不同的服務需求將物理網絡劃分為若干虛擬(邏輯)網絡,以靈活應對不同的網絡應用場合,例如增強移動寬帶(eMBB)切片、大量機器型通信(mMTC)切片、超可靠低時延通信(uMTC)切片等(圖8),這樣,同一物理網絡,可提供多種服務[5]。API 為應用程序接口,用以將各層有機連接。無線接入網的RAN VNF 為無線接入網虛擬功能,即網絡功能的軟件實現,可用虛擬化基礎設施配置;而RAN PNF 則提供無線接入網的物理網絡功能,由物理基礎設施(包括計算,組網和存儲)實施,用于管理和執行VNF 的硬件和軟件。

圖8 5G中三種場景的網絡切片
引入SDN 和NFV 是5G 網絡架構的重大革新,SDN 將數據平面與控制平面分離,使網絡控制成為直接可編程、具有開放、靈活的特點,簡化了網絡設計和操作;網絡運營商可動態地構造、管理和優化網絡資源,適應5G 新應用和發展的需要。NFV 通過軟件實現虛擬化的網絡功能,將路由器、交換機等硬件集中到遠處或云中,使網絡架構對于快速和自適應重構是高度靈活的。將SDN 與NFV 結合,將使網絡更為靈活和簡化。