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