董美霞
(中山大學新華學院,廣東 東莞 523133)
軟件定義網絡是一種全新的網絡架構,是由美國斯坦福大學的研究小組提出開發的,其誕生的初衷就是為了將實驗中無法利用現存網絡的大規模真實流量的問題解決,并且進一步提升網絡中的速度、可靠及安全性。隨著對此項技術的深入研究及發展,該項技術開始被逐漸應用到通信體系構建中,并發揮出了巨大的作用。
軟件定義網絡的英文全稱為Software Defined Network,簡稱為SDN,其技術核心是OpenFlow 技術,通過該項技術的使用,可以實現網絡數據和設備之間分離控制的目標,讓網絡流量的可控制性得到極大幅度的提升,從而為用戶提供更為優質的網絡服務[1]。作為一項實用性技術,軟件定義網絡設計的最初目標之一就是為了將通信網絡中的控制軟件以及網絡設備之間的關聯性問題解決,最終做到數據和設備之間的解耦,讓網絡控制管理做到更進一步的簡化,使得通信網絡部署速度逐步提升[2]。同時,通過軟件定義網絡技術的研究,可以更好的幫助網絡架構做到快速化的更迭應用,并進一步提升了網絡應用運行平臺的開放性以及便捷性,對當前略顯贅余且臃腫的通信網絡簡化有著巨大的作用。
軟件定義網絡技術中的核心技術——OpenFlow 技術,因為其自身的可被編程以及同一控制兩大特性的存在,將規則接口自身的可編程化以及標準化思想進行相應的擴展。軟件定義網絡的主體思想就是網絡接口的開放,以便可以按照具體的編程方式針對網絡進行動態化的調節,軟件定義網絡本身是由南向接口、北向接口及控制器三大部分所組成的。其中,南向接口主要是由網絡轉發設備組成的,如交換機、路由器等,都屬于網絡轉發設備,這些轉發設備自身都具備標準化的網絡轉發功能,其自身的控制接口具備開放性的特點。而其中的北向接口則是由包含數據中心聯網以及云計算等等在內的DSN 應用組成。軟件定義網絡的控制器具有相應的可編程性,在其決策的過程中,也是完全需要依靠全局的網絡拓撲和狀態進行,同時還承擔著將編程接口提供給上層應用的功能。當應用程序在控制器上得以運行時,應用程序就可以借助編程接口,按照軟件定義網絡的方式將網絡映射成一個虛擬化網絡,同時還可以根據用戶的實際需求將路由器、網絡帶寬管理及網絡安全等方面做出相應的設置。
由此不難發現,軟件定義網絡的基本特征就是控制開放、平面檢接口的轉發、虛擬化網絡以及控制和轉發分離的集中化控制。借助控制平面的集中可以實現整體控制全部網絡轉發設備的目標,在實時監控通信網絡體系的基礎上,做到全局層次的優化,而在虛擬化網絡的幫助下,可以將一個物理性質的網絡轉變為多個虛擬性質的網絡,并且這些虛擬化的網絡可以通過使用不同的協議及結構,滿足不同用戶的實際需求,換言之,在物理網絡環境上通過多層次方式的使用實現了具備多個邏輯的網絡體系構建的目標。
OpenFlow 技術在使用的過程中,會使用到造價較高且能源耗費較大的TCAM 存儲流表。為此,在OpenFlow 交換機的工作過程中,不但可以通過TCAM容量增加,將流表規模的問題解決,還可以很好的避免TCAM 大量引入之后帶來的成本上升問題。目前,制約其發展的主要瓶頸就是流表自身規模過大所引發的查詢效率降低。對于這個問題的解決方案,主要是通過流表維護以及查詢方式改進將交換機儲存問題優化,換言之,就是規則上的優化。
DownFlow 技術在處理任務時,會根據是老鼠流還是大象流做出相應的處理,在處理老鼠流任務時直接將其下沉到交換機上,而在處理大象流任務的過程中,會在正式處理之前觸發一個交換機向控制器請求轉發的策略[3]。而其中的Pallete 則是會將這個轉發策略再次劃分為端端策略以及路由策略,其中端端策略就是將整個的通信網絡看作是一個黑盒子,只是對其中的接入控制的這一類問題比較關心,而其中的路由策略則是將網絡內部數據流的具體轉發途徑進行決定,端端策略可以在提前計算的幫助下,將數據流具體下發到各個接入的交換機中,并顯著提升查詢工作的效率。
目前,商業用的交換機內部的ASIC 芯片自身在支持OpenFlow 流表的轉發行為上依舊有所不足,究其原因,就是OpenFlow 技術將傳統通信網絡中的網絡協議棧借助流表進行了扁平化處理。在同一個流表內部包含了原本的二層、三層以及四層的協議信息,如此一來,就導致整個轉發過程中匹配域的數量大大增加。但是,對于傳統性質的交換機,只需要將原有的目的IP、目的MAC 以及vlan 等信息進行匹配工作之后便可實現相應的轉發目標,也正因如此,使用ASIC 芯片交換機方可得到大規模的使用。而OpenFlow 技術下的交換機,還需要針對流表內部的元組進行匹配工作,正因如此,通過軟件實現就可以更為靈活的完成轉發工作,但在轉發處理效能上就會有一定程度的下降[4]。為了解決這個問題,目前使用頻率最高的方式就是將一個通用類型的CPU 添加到交換機內部中。
借助軟件定義網絡中OpenFlow 技術,可以實現無線移動網絡的高效化控制,同時通過軟件定義網絡中的控制器可以做到實時監控無線信道的質量以及負載現狀實現動態化切換移動通信狀態的目標,以便為用戶提供更好的網絡服務。OpenFlow 技術中含有的流量管理功能可以在移動回傳網絡的過程中實現節能的目標。在一些流量較少的時間階段中,可以在集中通信網絡路徑的基礎上,關閉掉處于空閑狀態的中轉點,以實現節能的目標。
借助軟件定義網絡技術的應用,可以很好的實現數據中心聯網虛擬化的目標,主要是從如下兩個方面實現。第一,本地虛擬機之間的互聯。在數據中心內部中,有著數量極為龐大的虛擬機處于運行狀態,并且每一個虛擬機自身都包含著獨立的IP 以及MAC 地址。當前,在實現同一服務器虛擬機互聯的過程中,基本使用的都是虛擬性質的交換機,而不同服務器之間的虛擬機互聯,則依然是使用傳統性質的交換機。借助軟件來實現虛擬交換機在服務器中的運行固然十分便捷,但是,從某種角度上來看,常規性質的網絡管理系統在深入監控服務器內部流量工作上難度較大,會出現一定的安全隱患[5]。此外,過于龐大的流量會使得虛擬交換機在CPU 資源上占用過多,直接降低了服務器對于虛擬機的承載能力,目前,已經可以通過將虛擬機通信流量轉移到服務器外部交換機中,來解決這些問題。第二,不同數據中心之間的互聯。受到當前云計算技術不斷發展的影響,會經常性的出現分布式計算遷移虛擬機的需求。在這種情況下,需要在不同的數據中心中建立相應的二次交換網絡,不同數據中心之間的連接,需要互聯網的幫助。為此,會經常性的將隧道建立在IP 網上來實現二次互聯,但是這種在IP 網上手動方式建立隧道,卻具備很大的維護管理工作難度[6]。這些問題都可以通過軟件定義網絡技術來解決,數據中心通過軟件定義網絡技術的使用可以實現不同數據中心之間的MAC 地址表傳輸、隧道建立等操作,實現了在不改變網絡硬件設施的前提下,顯著提升數據中心組網性能的目標。
本文從軟件定義網絡的概念介紹出發,指明了其誕生的初衷就是為了實現網絡數據和設備之間分離控制的目標,讓網絡流量的可控制性得到極大幅度的提升;同時,在深入分析其性能的基礎上,指出制約其轉發速率以及流表規模的原因及解決方案。由此看來,雖然目前在通信體系構建中,軟件定義網絡技術主要被應用于無線網絡以及數據中心聯網的虛擬化,并且其依舊存在些許瑕疵,但是,在技術發展的支持下,軟件定義網絡技術會得到大范圍的應用。