匡玉雯,王 勇,曾小寶
基于SDN的一種云服務(wù)流量控制方法研究*
匡玉雯1,王勇2,曾小寶3
(1.桂林電子科技大學(xué)信息與通信學(xué)院,廣西桂林541004;2.桂林電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,廣西桂林541004;3.桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林541004)
為了解決云服務(wù)中客戶端傳輸流量過大或者突發(fā)流霸占服務(wù)導(dǎo)致的網(wǎng)絡(luò)擁塞、服務(wù)性能降低問題,將軟件定義網(wǎng)絡(luò)(Software-Defined Networking,SDN)架構(gòu)運(yùn)用于云服務(wù)流量控制,并提出了一種基于SDN的云服務(wù)流量控制方法。該方法基于SDN架構(gòu)中流表的特點(diǎn),通過承諾速率與實(shí)際訪問速率的比對關(guān)系對連接請求進(jìn)行分類、修改流表、劃分優(yōu)先級,然后根據(jù)不同的請求優(yōu)先級來處理服務(wù),以此控制整個(gè)服務(wù)系統(tǒng)的流量,從而降低整個(gè)服務(wù)過程的時(shí)延。實(shí)驗(yàn)測試表明,該設(shè)計(jì)能夠有效地降低網(wǎng)絡(luò)服務(wù)時(shí)延,對云服務(wù)質(zhì)量有顯著提高。
軟件定義網(wǎng)絡(luò);云服務(wù);流量控制;SDN控制器;流表
隨著社會(huì)的進(jìn)步及科學(xué)技術(shù)的高速發(fā)展,人類生活品質(zhì)提升,人們對網(wǎng)絡(luò)服務(wù)類型(FTP、P2P、Web等業(yè)務(wù))要求多元化,對網(wǎng)絡(luò)性能要求也越來越高,而云計(jì)算平臺是開放并面向大眾的,這意味著其用戶數(shù)將極其龐大,這些用戶運(yùn)行的工作流數(shù)量也將極為龐大,因此云計(jì)算中網(wǎng)絡(luò)資源被急劇消耗而出現(xiàn)不足現(xiàn)象。解決這個(gè)問題最簡單直接的方法就是增加網(wǎng)絡(luò)帶寬,但是該方法需要升級網(wǎng)絡(luò)設(shè)備,在資金有限的情況下,顯得并不可??;此外該方法對網(wǎng)絡(luò)服務(wù)質(zhì)量改善較小,而且從實(shí)現(xiàn)上看控制平面與轉(zhuǎn)發(fā)平面都運(yùn)行在網(wǎng)絡(luò)設(shè)備中,給網(wǎng)絡(luò)功能的擴(kuò)展和網(wǎng)絡(luò)的管理帶來了巨大的挑戰(zhàn)。
在這種情況下基于軟件定義網(wǎng)絡(luò)(SDN)的下一代網(wǎng)絡(luò)架構(gòu)誕生。而SDN是一種基于軟硬件控制與分離的技術(shù)架構(gòu),支持集中化的網(wǎng)絡(luò)控制,實(shí)現(xiàn)了底層網(wǎng)絡(luò)設(shè)施對上層應(yīng)用的透明,具有靈活的軟件編程能力,采用軟件定義網(wǎng)絡(luò)的方式,可以靈活滿足云服務(wù)中不同用戶的應(yīng)用需求[1]。
SDN架構(gòu)如圖1所示,將傳統(tǒng)網(wǎng)絡(luò)設(shè)備緊耦合的網(wǎng)絡(luò)架構(gòu)分成3層:基礎(chǔ)設(shè)施層、控制層和應(yīng)用層?;A(chǔ)設(shè)施層負(fù)責(zé)數(shù)據(jù)高效轉(zhuǎn)發(fā)和狀態(tài)收集,由大量OpenFlow交換機(jī)構(gòu)成,而OpenFlow交換機(jī)其核心是由12元組構(gòu)成的流表匹配域,如圖2所示,支持定義的信息流從第1層到第4層關(guān)鍵信息的匹配;控制層負(fù)責(zé)數(shù)據(jù)平面資源的統(tǒng)籌、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的維護(hù)和狀態(tài)信息記錄與更新等;應(yīng)用層負(fù)責(zé)各服務(wù)業(yè)務(wù)應(yīng)用的加載與開展[2]。
圖1 SDN架構(gòu)圖
圖2 OpenFlow交換機(jī)流表結(jié)構(gòu)
將SDN架構(gòu)應(yīng)用于云計(jì)算中心網(wǎng)絡(luò)是由于數(shù)據(jù)流量大,交換機(jī)層次管理結(jié)構(gòu)復(fù)雜,服務(wù)器和虛擬機(jī)需要快速配置和數(shù)據(jù)遷移。將OpenFlow交換機(jī)部署到云計(jì)算中心網(wǎng)絡(luò),可以實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化、流量控制和負(fù)載平衡等功能,從而進(jìn)一步增加云計(jì)算中心的可控性。
2.1網(wǎng)絡(luò)虛擬化及多租戶支持[3]
網(wǎng)絡(luò)虛擬化在云計(jì)算和數(shù)據(jù)中心技術(shù)發(fā)展中起著重要作用。而SDN架構(gòu)不僅具有可編程能力,而且可以隨時(shí)加載用戶需求的各種應(yīng)用模塊,識別不同租戶的網(wǎng)絡(luò)流量,同時(shí)突破虛擬網(wǎng)絡(luò)對個(gè)數(shù)的限制,支持大量相互隔離的租戶網(wǎng)絡(luò)分配虛擬數(shù)據(jù)中心,還能根據(jù)資源需求和網(wǎng)絡(luò)策略按需分配[4]。
2.2網(wǎng)絡(luò)靈活控制
基于SDN架構(gòu)的網(wǎng)絡(luò)架構(gòu)改變了傳統(tǒng)的網(wǎng)絡(luò)服務(wù)大多基于盡力而為的服務(wù)方式,通過OpenFlow協(xié)議能夠探測網(wǎng)絡(luò)拓?fù)涓兄讓泳W(wǎng)絡(luò)拓?fù)渥兓?、流量狀況,在控制面建立并維護(hù)一個(gè)整網(wǎng)的拓?fù)湟晥D、負(fù)載表,從而SDN控制器能夠根據(jù)每個(gè)虛擬機(jī)所在的位置計(jì)算出每兩個(gè)虛擬機(jī)之間的最佳路徑,使流量按最佳路徑轉(zhuǎn)發(fā)、按需分配。
2.3運(yùn)維簡單
SDN架構(gòu)將交換機(jī)與路由器從固化且需要進(jìn)行大量數(shù)據(jù)處理的傳統(tǒng)模式中解放出來,使其功能更加專一,而應(yīng)用的靈活性則不斷打破了廠商的壁壘,降低了維護(hù)成本。
網(wǎng)絡(luò)流量控制主要方法有3種:源端控制、目的端控制和數(shù)據(jù)傳輸過程中控制。傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)要實(shí)現(xiàn)以上控制需要添加大量協(xié)議,而且配置復(fù)雜,而基于SDN的架構(gòu)網(wǎng)絡(luò)支持定義的信息流從第1層到第4層關(guān)鍵信息的匹配,可以輕松實(shí)現(xiàn)網(wǎng)絡(luò)流量的靈活控制。
本文鑒于SDN架構(gòu)中流表的特性,并借鑒傳統(tǒng)的單速率雙色標(biāo)記令牌桶算法[5-6],將流表當(dāng)作令牌桶中的令牌,通過對流表的控制來實(shí)現(xiàn)對網(wǎng)絡(luò)中流量的控制,根據(jù)這個(gè)思想,提出基于SDN流量控制方法。
3.1基于SDN的云服務(wù)流量控制方案設(shè)計(jì)
如圖3所示,基于SDN的云服務(wù)流量控制方案包括三大部分:第一部分是由服務(wù)器和客戶端組成的各個(gè)底層對象;第二部分是由OpenFlow交換機(jī)組成的OpenFlow數(shù)據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò);第三部分是由SDN控制器組成的數(shù)據(jù)決策平臺。
圖3 流量控制架構(gòu)圖
圖3中控制器主要功能模塊由三個(gè)單元組成:流量檢測、流量計(jì)算和流量管理(數(shù)據(jù)轉(zhuǎn)發(fā))
(1)端到端的流量檢測模塊
在傳統(tǒng)的數(shù)據(jù)中心網(wǎng)絡(luò)中,只能通過端口鏡像的方式復(fù)制某條鏈路的全部流量,這種手段的弊端之一是檢測流量極大[7]。然而SDN架構(gòu)可以對流量做到端到端的準(zhǔn)確監(jiān)控,可以根據(jù)定位想要檢測的端口以及相對應(yīng)的流將其復(fù)制出來后發(fā)送給控制器相對應(yīng)的流量計(jì)算模塊。
(2)快速流量計(jì)算模塊
快速流量計(jì)算模塊在該設(shè)計(jì)中比傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)有著明顯的優(yōu)勢,可以直接接收流量監(jiān)測模塊的數(shù)據(jù),快速統(tǒng)計(jì)出各個(gè)網(wǎng)絡(luò)的流量狀況;再根據(jù)服務(wù)的狀態(tài)和各處流量狀況全局化合理分配網(wǎng)絡(luò)資源,同時(shí)為數(shù)據(jù)轉(zhuǎn)發(fā)模塊提供判斷依據(jù)。
定義1實(shí)際平均服務(wù)速率V(t),公式如下:
其中,Loadi(▽t)代表在▽t時(shí)間間隔內(nèi)流表i上的已經(jīng)被轉(zhuǎn)發(fā)的數(shù)據(jù)量,N是OpenFlow交換機(jī)中處理該客戶端服務(wù)的所有的流表數(shù)目。
(3)靈活的數(shù)據(jù)轉(zhuǎn)發(fā)模塊
數(shù)據(jù)轉(zhuǎn)發(fā)模塊是整個(gè)流量控制系統(tǒng)的核心,它通過前面的計(jì)算模塊得到了流量控制決策,該模塊就是由OpenFlow交換機(jī)流表匹配狀態(tài)執(zhí)行流量控制實(shí)體。
定義2承諾服務(wù)速率δ(t),數(shù)據(jù)轉(zhuǎn)發(fā)判斷決策為:當(dāng)V(t)≤δ(t),不進(jìn)行流控,執(zhí)行正常的服務(wù)流量轉(zhuǎn)發(fā);當(dāng)V(t)>δ(t),超過的流量都會(huì)采取已經(jīng)設(shè)定的動(dòng)作,即執(zhí)行標(biāo)記流表轉(zhuǎn)發(fā)決策。
3.2基于SDN的云服務(wù)流量控制流程
基于SDN的云服務(wù)流量控制方法流程如圖4所示。
圖4 流量控制方法流程圖
測試環(huán)境為:Ubuntu11.04(Linux 2.6.38內(nèi)核),Inter Pentium Dual E2180處理器、512 MB內(nèi)存的主機(jī),100 M以太網(wǎng)卡及Pox1.0控制器,在Linux系統(tǒng)下的OpenFlow Vswitch上實(shí)現(xiàn)了該流量控制方法,并對其性能進(jìn)行了測試。
為了模擬真實(shí)環(huán)境,本實(shí)驗(yàn)采用兩臺主機(jī)做客戶端、一臺主機(jī)做服務(wù)器的測試結(jié)構(gòu),并改變發(fā)送數(shù)據(jù)的大小,記錄服務(wù)時(shí)延,結(jié)果如圖5所示。
圖5 時(shí)延對比圖
由圖5可知,加入SDN架構(gòu)及算法后時(shí)延明顯優(yōu)于傳統(tǒng)架構(gòu),而時(shí)延在100 Mbit之前一直比較穩(wěn)定,并維持在非常良好效果。在服務(wù)器負(fù)載量大于100 Mbit之后服務(wù)器性能開始下降,特別是在500 Mbit之后,性能下降明顯,在傳統(tǒng)架構(gòu)中服務(wù)器時(shí)延急劇上升,而基于SDN架構(gòu)的服務(wù)流量控制方法對流量起到了有效的控制,時(shí)延曲線比較緩和,算法開始體現(xiàn)出明顯的優(yōu)勢。
[1]高浪.軟件定義網(wǎng)絡(luò)架構(gòu)和應(yīng)用分析[J].電腦知識與技術(shù),2013,13(5):3071-3073.
[2]李萬予.編譯上層應(yīng)用:部署SDN的關(guān)鍵[N].中國計(jì)算學(xué)報(bào),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)絡(luò)流量控制技術(shù)的研究與實(shí)現(xiàn)[D].呼和浩特:內(nèi)蒙古大學(xué),2012.
[6]張國清.QoS在IOS中的實(shí)現(xiàn)與應(yīng)用[M].北京:電子工業(yè)出版社,2010.
[7]于華.網(wǎng)絡(luò)流量監(jiān)控中的若干基本問題研究與分析[D].
北京:北京郵電大學(xué),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
國家自然科學(xué)基金(61163058)
(2014-09-17)
匡玉雯(1988-),男,碩士研究生,主要研究方向:軟件定義網(wǎng)絡(luò)。
王勇(1963-),男,教授,博士,主要研究方向:分布式計(jì)算、信息安全等。
曾小寶(1984-),男,碩士研究生,講師,主要研究方向:基于FPGA的分級并行網(wǎng)絡(luò)流量分類方法研究與實(shí)現(xiàn)。
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2015年4期