匡玉雯,王 勇,曾小寶
基于SDN的一種云服務流量控制方法研究*
匡玉雯1,王勇2,曾小寶3
(1.桂林電子科技大學信息與通信學院,廣西桂林541004;2.桂林電子科技大學計算機科學與工程學院,廣西桂林541004;3.桂林電子科技大學電子工程與自動化學院,廣西桂林541004)
為了解決云服務中客戶端傳輸流量過大或者突發(fā)流霸占服務導致的網(wǎng)絡擁塞、服務性能降低問題,將軟件定義網(wǎng)絡(Software-Defined Networking,SDN)架構(gòu)運用于云服務流量控制,并提出了一種基于SDN的云服務流量控制方法。該方法基于SDN架構(gòu)中流表的特點,通過承諾速率與實際訪問速率的比對關系對連接請求進行分類、修改流表、劃分優(yōu)先級,然后根據(jù)不同的請求優(yōu)先級來處理服務,以此控制整個服務系統(tǒng)的流量,從而降低整個服務過程的時延。實驗測試表明,該設計能夠有效地降低網(wǎng)絡服務時延,對云服務質(zhì)量有顯著提高。
軟件定義網(wǎng)絡;云服務;流量控制;SDN控制器;流表
隨著社會的進步及科學技術的高速發(fā)展,人類生活品質(zhì)提升,人們對網(wǎng)絡服務類型(FTP、P2P、Web等業(yè)務)要求多元化,對網(wǎng)絡性能要求也越來越高,而云計算平臺是開放并面向大眾的,這意味著其用戶數(shù)將極其龐大,這些用戶運行的工作流數(shù)量也將極為龐大,因此云計算中網(wǎng)絡資源被急劇消耗而出現(xiàn)不足現(xiàn)象。解決這個問題最簡單直接的方法就是增加網(wǎng)絡帶寬,但是該方法需要升級網(wǎng)絡設備,在資金有限的情況下,顯得并不可取;此外該方法對網(wǎng)絡服務質(zhì)量改善較小,而且從實現(xiàn)上看控制平面與轉(zhuǎn)發(fā)平面都運行在網(wǎng)絡設備中,給網(wǎng)絡功能的擴展和網(wǎng)絡的管理帶來了巨大的挑戰(zhàn)。
在這種情況下基于軟件定義網(wǎng)絡(SDN)的下一代網(wǎng)絡架構(gòu)誕生。而SDN是一種基于軟硬件控制與分離的技術架構(gòu),支持集中化的網(wǎng)絡控制,實現(xiàn)了底層網(wǎng)絡設施對上層應用的透明,具有靈活的軟件編程能力,采用軟件定義網(wǎng)絡的方式,可以靈活滿足云服務中不同用戶的應用需求[1]。
SDN架構(gòu)如圖1所示,將傳統(tǒng)網(wǎng)絡設備緊耦合的網(wǎng)絡架構(gòu)分成3層:基礎設施層、控制層和應用層?;A設施層負責數(shù)據(jù)高效轉(zhuǎn)發(fā)和狀態(tài)收集,由大量OpenFlow交換機構(gòu)成,而OpenFlow交換機其核心是由12元組構(gòu)成的流表匹配域,如圖2所示,支持定義的信息流從第1層到第4層關鍵信息的匹配;控制層負責數(shù)據(jù)平面資源的統(tǒng)籌、網(wǎng)絡拓撲結(jié)構(gòu)的維護和狀態(tài)信息記錄與更新等;應用層負責各服務業(yè)務應用的加載與開展[2]。
圖1 SDN架構(gòu)圖
圖2 OpenFlow交換機流表結(jié)構(gòu)
將SDN架構(gòu)應用于云計算中心網(wǎng)絡是由于數(shù)據(jù)流量大,交換機層次管理結(jié)構(gòu)復雜,服務器和虛擬機需要快速配置和數(shù)據(jù)遷移。將OpenFlow交換機部署到云計算中心網(wǎng)絡,可以實現(xiàn)網(wǎng)絡虛擬化、流量控制和負載平衡等功能,從而進一步增加云計算中心的可控性。
2.1網(wǎng)絡虛擬化及多租戶支持[3]
網(wǎng)絡虛擬化在云計算和數(shù)據(jù)中心技術發(fā)展中起著重要作用。而SDN架構(gòu)不僅具有可編程能力,而且可以隨時加載用戶需求的各種應用模塊,識別不同租戶的網(wǎng)絡流量,同時突破虛擬網(wǎng)絡對個數(shù)的限制,支持大量相互隔離的租戶網(wǎng)絡分配虛擬數(shù)據(jù)中心,還能根據(jù)資源需求和網(wǎng)絡策略按需分配[4]。
2.2網(wǎng)絡靈活控制
基于SDN架構(gòu)的網(wǎng)絡架構(gòu)改變了傳統(tǒng)的網(wǎng)絡服務大多基于盡力而為的服務方式,通過OpenFlow協(xié)議能夠探測網(wǎng)絡拓撲感知底層網(wǎng)絡拓撲變化、流量狀況,在控制面建立并維護一個整網(wǎng)的拓撲視圖、負載表,從而SDN控制器能夠根據(jù)每個虛擬機所在的位置計算出每兩個虛擬機之間的最佳路徑,使流量按最佳路徑轉(zhuǎn)發(fā)、按需分配。
2.3運維簡單
SDN架構(gòu)將交換機與路由器從固化且需要進行大量數(shù)據(jù)處理的傳統(tǒng)模式中解放出來,使其功能更加專一,而應用的靈活性則不斷打破了廠商的壁壘,降低了維護成本。
網(wǎng)絡流量控制主要方法有3種:源端控制、目的端控制和數(shù)據(jù)傳輸過程中控制。傳統(tǒng)的網(wǎng)絡架構(gòu)要實現(xiàn)以上控制需要添加大量協(xié)議,而且配置復雜,而基于SDN的架構(gòu)網(wǎng)絡支持定義的信息流從第1層到第4層關鍵信息的匹配,可以輕松實現(xiàn)網(wǎng)絡流量的靈活控制。
本文鑒于SDN架構(gòu)中流表的特性,并借鑒傳統(tǒng)的單速率雙色標記令牌桶算法[5-6],將流表當作令牌桶中的令牌,通過對流表的控制來實現(xiàn)對網(wǎng)絡中流量的控制,根據(jù)這個思想,提出基于SDN流量控制方法。
3.1基于SDN的云服務流量控制方案設計
如圖3所示,基于SDN的云服務流量控制方案包括三大部分:第一部分是由服務器和客戶端組成的各個底層對象;第二部分是由OpenFlow交換機組成的OpenFlow數(shù)據(jù)轉(zhuǎn)發(fā)網(wǎng)絡;第三部分是由SDN控制器組成的數(shù)據(jù)決策平臺。
圖3 流量控制架構(gòu)圖
圖3中控制器主要功能模塊由三個單元組成:流量檢測、流量計算和流量管理(數(shù)據(jù)轉(zhuǎn)發(fā))
(1)端到端的流量檢測模塊
在傳統(tǒng)的數(shù)據(jù)中心網(wǎng)絡中,只能通過端口鏡像的方式復制某條鏈路的全部流量,這種手段的弊端之一是檢測流量極大[7]。然而SDN架構(gòu)可以對流量做到端到端的準確監(jiān)控,可以根據(jù)定位想要檢測的端口以及相對應的流將其復制出來后發(fā)送給控制器相對應的流量計算模塊。
(2)快速流量計算模塊
快速流量計算模塊在該設計中比傳統(tǒng)的網(wǎng)絡架構(gòu)有著明顯的優(yōu)勢,可以直接接收流量監(jiān)測模塊的數(shù)據(jù),快速統(tǒng)計出各個網(wǎng)絡的流量狀況;再根據(jù)服務的狀態(tài)和各處流量狀況全局化合理分配網(wǎng)絡資源,同時為數(shù)據(jù)轉(zhuǎn)發(fā)模塊提供判斷依據(jù)。
定義1實際平均服務速率V(t),公式如下:
其中,Loadi(▽t)代表在▽t時間間隔內(nèi)流表i上的已經(jīng)被轉(zhuǎn)發(fā)的數(shù)據(jù)量,N是OpenFlow交換機中處理該客戶端服務的所有的流表數(shù)目。
(3)靈活的數(shù)據(jù)轉(zhuǎn)發(fā)模塊
數(shù)據(jù)轉(zhuǎn)發(fā)模塊是整個流量控制系統(tǒng)的核心,它通過前面的計算模塊得到了流量控制決策,該模塊就是由OpenFlow交換機流表匹配狀態(tài)執(zhí)行流量控制實體。
定義2承諾服務速率δ(t),數(shù)據(jù)轉(zhuǎn)發(fā)判斷決策為:當V(t)≤δ(t),不進行流控,執(zhí)行正常的服務流量轉(zhuǎn)發(fā);當V(t)>δ(t),超過的流量都會采取已經(jīng)設定的動作,即執(zhí)行標記流表轉(zhuǎn)發(fā)決策。
3.2基于SDN的云服務流量控制流程
基于SDN的云服務流量控制方法流程如圖4所示。
圖4 流量控制方法流程圖
測試環(huán)境為:Ubuntu11.04(Linux 2.6.38內(nèi)核),Inter Pentium Dual E2180處理器、512 MB內(nèi)存的主機,100 M以太網(wǎng)卡及Pox1.0控制器,在Linux系統(tǒng)下的OpenFlow Vswitch上實現(xiàn)了該流量控制方法,并對其性能進行了測試。
為了模擬真實環(huán)境,本實驗采用兩臺主機做客戶端、一臺主機做服務器的測試結(jié)構(gòu),并改變發(fā)送數(shù)據(jù)的大小,記錄服務時延,結(jié)果如圖5所示。
圖5 時延對比圖
由圖5可知,加入SDN架構(gòu)及算法后時延明顯優(yōu)于傳統(tǒng)架構(gòu),而時延在100 Mbit之前一直比較穩(wěn)定,并維持在非常良好效果。在服務器負載量大于100 Mbit之后服務器性能開始下降,特別是在500 Mbit之后,性能下降明顯,在傳統(tǒng)架構(gòu)中服務器時延急劇上升,而基于SDN架構(gòu)的服務流量控制方法對流量起到了有效的控制,時延曲線比較緩和,算法開始體現(xiàn)出明顯的優(yōu)勢。
[1]高浪.軟件定義網(wǎng)絡架構(gòu)和應用分析[J].電腦知識與技術,2013,13(5):3071-3073.
[2]李萬予.編譯上層應用:部署SDN的關鍵[N].中國計算學報,2013-07-08:021.
[3]ERICKSON D,HELLER B,YANG S,et al.Optimizing a virtualized data center[C].Proceedings of the SIGCOMM 2011(Demo),Toronto:ACM Press,2011:478-479.
[4]SHERWOOD R,GIBB G,YAP K,et al.Flowvisor:a network virtualization layer[R].2009.
[5]劉振宇.基于令牌桶算法的網(wǎng)絡流量控制技術的研究與實現(xiàn)[D].呼和浩特:內(nèi)蒙古大學,2012.
[6]張國清.QoS在IOS中的實現(xiàn)與應用[M].北京:電子工業(yè)出版社,2010.
[7]于華.網(wǎng)絡流量監(jiān)控中的若干基本問題研究與分析[D].
北京:北京郵電大學,2011.
Research on a Cloud service flow control method based on SDN
Kuang Yuwen1,Wang Yong2,Zeng Xiaobao3
(1.College of Information and Communication,Guilin University of Electronic Technology,Guilin 541004,China;2.College of Computer Science and Engineering,Guilin University of Electronic Technology,Guilin 541004,China;3.College of Electronic Engineering and Automation,Guilin University of Electronic Technology,Guilin 541004,China)
In order to solve the problems of network congestion and service performance degradation in Cloud services caused by heavy transport traffic of client or sudden flow occupied service,this paper uses Software-Defined Network(SDN)architecture in Cloud service flow control,and proposes Cloud services flow control method based on SDN.The method is based on the characteristics of SDN architecture m idstream table access,through the comparison of comm itment rate and the actual rate to classify the connection attempt,modify flow table and prioritize.Then depending on the request priority it handles services to control the entire traffic service systems,thereby reducing the latency of the service process.Experiment shows that the design can effectively reduce the delay of the network service,and Cloud service quality has improved significantly.
Software-Defined Network(SDN);Cloud services;flow control;SDN controller;flow table
TP305
A
1674-7720(2015)04-0061-03
國家自然科學基金(61163058)
(2014-09-17)
匡玉雯(1988-),男,碩士研究生,主要研究方向:軟件定義網(wǎng)絡。
王勇(1963-),男,教授,博士,主要研究方向:分布式計算、信息安全等。
曾小寶(1984-),男,碩士研究生,講師,主要研究方向:基于FPGA的分級并行網(wǎng)絡流量分類方法研究與實現(xiàn)。