?

基于軟件定義網絡的動態QoS方法

2018-01-10 05:49徐苒茨曹袖
微型電腦應用 2017年12期
關鍵詞:包率隊列延時

徐苒茨, 曹袖

(1.復旦大學 計算機科學技術學院,上海 201203;2.網絡信息安全審計與監控教育部工程研究中心,上海 200433)

基于軟件定義網絡的動態QoS方法

徐苒茨, 曹袖

(1.復旦大學 計算機科學技術學院,上海 201203;
2.網絡信息安全審計與監控教育部工程研究中心,上海 200433)

隨著計算機網絡的快速發展,其對于服務質量(Quality of Service)的需求和要求也越來越高。近年來,軟件定義網絡(Software Defined Network)逐漸興起,由于軟件定義網絡的服務質量方法可編程性、可擴展性強,因而能夠彌補傳統服務質量的很多問題。提出了一種軟件定義網絡實現的動態服務質量方法,在轉發隊列和路由選擇環節都能根據當前網絡的狀況進行決策;與此同時還會根據網絡狀態的變化以及數據包到達目的地的延時和丟包率情況來對決策進行調整和補償。

服務質量; 軟件定義網絡; 動態路由; 動態轉發隊列

0 引言

近年來,計算機網絡快速發展,開始承載越來越多具有商業價值的業務,如網絡音頻視頻會議、位置服務、云服務等,此類業務在傳輸時需要保證最低的帶寬,且對時延、帶寬、丟包率等網絡參數敏感,要求一定的服務質量QoS(Quality of Service)而不是盡力服務(Best Effort Service)?,F有的兩種主要QoS模型分別是集成服務IntServ(Integrated Service)和區分服務DiffServ(Differentiated Service)。集成服務模型建立在流的概念上,通過發送封裝信令的IP包向傳輸網絡申請服務,交換機通過解析IP包中的信令數據獲取QoS相關信息并根據參數預留資源。區分服務模型中交換機會根據攜帶在IP報文頭部的參數信息,使用與之匹配的隊列策略以滿足它的需求。上述兩種模型存在著需要硬件支持,開銷太大,可擴展不好等問題,難以大規模地在網絡通信中運用[1]。

為了解決上述問題,一種新的網絡架構軟件定義網絡SDN(Software Defined Network)被設計并提出。SDN致力于將傳統網絡設備的數據平面與控制平面相分離,通過邏輯上集中的控制器來對整個網絡的設備進行配置和管理,具有良好的適應性、可編程性、可擴展性以及較高的性價比。OpenFlow作為實現SDN的一個協議,提供用于創新和測試網絡框架的真實實驗平臺。SDN實現的QoS彌補了傳統QoS存在的不足,能夠實現網絡的自動化配置,能為信息流的最優路由選擇提供全局的負載信息。

由于SDN與QoS具有良好的契合度和性能,近來有很多與此相關的研究和論文?,F有的通信系統中的數據種類繁多,其對于丟包和延時的要求也是多種多樣、跨度很大;數據的流量大小、流量變化、突發性程度也存在很大區別。普通的QoS方法對于不同類型的數據僅在流量限制環節存在不同,而在進行路由選擇時的策略較為單一和固定,這導致在短時間內具有共同目的地的兩種或多種數據在轉發至某個交換機時,得到的轉發鏈路沒有任何差異,致使QoS的整體效果不夠理想。本文提出了一種新的動態路由選擇方法,對于每一種類型的數據包種類,都會存儲其目標延時和丟包率以及實時的延時和丟包率,在進行路由選擇時,會根據實時數據與目標數據的偏差來對鏈路代價進行補償,從而選擇總代價最小的路徑進行轉發。同時,當數據包到達終端設備的時候,會將數據的延時和丟包情況上傳到控制器。如果某類型數據存在大量的丟包情況,那么該數據的實時丟包率就會相應提升,路由選擇時就會選擇負載較輕但可能路徑更長或代價更大的鏈路,以防止丟包情況的繼續發生。

文章將在第二章介紹一些相關的工作;第三章將介紹動態QoS方法的具體細節和各個模塊的算法實現;第四章主要介紹模擬實驗及其結論;第五章是全文的總結并提出展望。

1 相關工作

SDN作為網絡領域中一個全新的概念與機制,其目的是解除阻礙當前的網絡創新的障礙,將傳統網絡設備的數據轉發與路由控制兩個功能相分離,通過控制器來對全局的網絡設備進行管理和配置,降低網絡復雜性及管理的難易度,構建可編程的網絡環境。SDN架構的核心是數據平面與控制平面地分離,網絡設備被視為管理對象,為上層的應用或虛擬提供統一的管理視圖、網絡拓撲視圖及應用程序接口。所提出的網絡操作系統支持網絡的虛擬化,并為用戶開發各種網絡管理程序提供統一的應用平臺。

近年來,出現了很多基于SDN的QoS的研究和論文[2]。在處理QoS轉發隊列策略的問題時,提出了最大重量優先服務的算法[3];致力于分組的零丟失,在進行路由選擇時,不僅僅只考慮路徑距離,還考慮了路徑上帶寬的實時容量[4];提出了預流路由的方法,在有延時限制的情況下,使用基于拉格朗日松弛的代價算法得到近似于最優的路由路徑[5];提出了網絡即服務的動態QoS控制系統,實現了可供給的端到端QoS[6-7];則側重于QoS系統各個模塊的設計與實現,給本文的仿真實驗提供了幫助。以上研究沒有完美地利用SDN的靈活性,運用在較為復雜的網絡環境中時,會存在實時性差、路由方法僵化等弊端。

2 系統架構及詳細算法

在前文中介紹了現有QoS系統的框架和存在的主要問題,為本章的模塊和算法的設計提供了理論基礎和研究方向。

本章將主要介紹一種新的動態QoS方法。整個方法會部署在控制器、交換機以及終端監控設備三個模塊之中[9]。系統架構,如圖1所示。

圖1 系統架構

其中各個模塊的功能如下:

1) 交換機

當某個數據包進入交換機后,如果該數據包的頭部信息與交換機流表中某些流表項定義的匹配規則相匹配,那么就匹配這些流表項,并基于優先級順序執行相應的流表動作。如果流表項與數據包的關鍵信息相匹配,則該流表項所關聯的計數器會被更新。如果數據包與交換機中的所有流表項均不匹配,則交換機會將其發往控制器;控制器根據該數據包的特征,對其制定合理的轉發策略并分解成一個個流表項分發到各個交換機,該數據包就會在交換機中依照新的表項進行轉發。

2) 控制器

控制器會記錄每一種數據類型的狀態,包括目標數據和實時數據等。當交換機的表項不能匹配時,交換機會向控制器請求新的轉發策略;控制器根據當前的網絡情況以及該類型數據的狀態制定轉發策略,并將轉發鏈路拆解成路由表項分發到各個交換機中。

3) 終端監控設備

終端監控設備設立在終端設備上,如PC、服務器等。主要用于監控數據包到達終端(目的地)時的延時和丟包率,這些統計信息會周期性地被發送到控制器,用于更新該類型數據包的實時信息和參數,達到反饋的目的,從而影響動態路由的決策。

路由選擇算法一般分為靜態路由和動態路由。靜態路由算法無法根據網絡流量和拓撲結構的變化來對路由表進行調整,而動態路由算法則可以依靠網絡當前的狀態信息來決定。這種策略能較好地適應網絡流量、拓撲結構的變化,有利于改善網絡的性能。在進行最優路徑選擇時,大多數的動態算法都會根據網絡的實時參數,如延時、帶寬和丟包率等,找出從起始點到終點的時延或者是代價最小的鏈路進行分組轉發。但由于算法復雜,獲取實時參數困難,加重了網絡的負擔。

不同于傳統的路由算法,基于SDN的路由選擇方法有效地規避了現有方法存在的缺點,能夠輕易地獲取網絡拓撲的信息和實時的參數,從而動態、及時地調整路由信息。在參考實時網絡參數的同時,本文提出的路由選擇方法還會根據某類型數據的全局參數,對路由選擇時的鏈路代價進行補償。

現有N個節點(轉發器)組成的網絡,它們都連接到同一控制器。對于任意一對節點i,j(i=1,…,N,j=1,…,N,i≠j),若i,j鄰接且存在可行的鏈路,Ci,j(t,k)代表數據類型k在該鏈路t時刻的轉發代價,Di,j(t)代表該鏈路在t時刻的實時延時,Li,j(t)則代表鏈路在t時刻的實時丟包率,Ci,j(t,k)是由Di,j(t)和Li,j(t)計算得到的,如式(1)。

(1)

其中DCk(t)為數據類型k在t時刻的延時補償,LCk(t)為數據類型k在t時刻的丟包率補償,s為網絡丟包敏感度,默認情況下s為1,當網絡對于丟包更加敏感時,s的值可以適當增加。DCk(t)計算見式(2)。

(2)

其中Dlk(t)為數據類型k在t時刻的全局平均延時,DRk為該數據的延時要求,當DRk≥Dlk(t)時,該類型數據在網絡中的延時低于要求的延時,控制器在對該數據進行路由選擇時,延時的重要程度就會下降,反之說明延時很高,所以需要選擇丟包率較高但延時更低的鏈路進行轉發。LCk(t)計算如式(3)。

(3)

其中Llk(t)為該數據類型k在t時刻的全局丟包率,LRk該數據要求的丟包率,當LRk>Llk(t)時,說明丟包率在可接受的范圍,在進行路由選擇時, 就可以多考慮延時方面,反之則需要選擇延時可能較高但丟包率更低的鏈路,如式(4)、(5)、(6)。

(4)

(5)

numk(t)=numk(t-1)+numk(t′)

(6)

其中DCk(t-1)與LCk(t-1)分別為t時刻前一周期(后文都稱為t-1時刻)數據種類k的全局延時和丟包率,DCk(t′)與LCk(t′)分別是數據k在t時刻新記錄到控制器的平均延時和丟包率,numk(t-1)與numk(t′)分別為數據種類k在t-1時刻的包的總數和在t時刻記錄到控制器的包的數量。這些信息都需要依靠POX中的組件PortStatsMonitor來周期性的獲取,相應的計算會在控制器中進行。

控制器掌握到網絡實時的拓撲信息和參數后,會構建一副以可用鏈路為邊,轉發器為節點的無向圖,其中點i,j之間的邊在t時刻實時的轉發代價為Ci,j(t,k)。若有數據包從起始點s發送到終點t,當該數據包在經過某個交換機r時,沒有發現匹配的轉發規則,交換機就會將該轉發請求發送到控制器??刂破鲿鶕埱?,找到一條從r點到t點的無環路徑k1→…→kn(n≥2,r=k1,t=kn)進行轉發,得式(7)。

(7)

本文采用SPFA最短路算法,得到r點到t點的最短路徑,并將轉發規則分發到路徑經過的交換機。這些規則會周期性的進行清空,既防止匹配表項太大影響轉發速率,也避免了新舊規則之間發生的沖突[10-11]。

3 實驗與分析

實驗采用POX控制器,Mininet網絡模擬器。模擬器中包括6臺主機、4臺交換機,其拓撲結構,如圖2所示。

首先對基本的QoS隊列進行測試,設定交換機的總帶寬為100 Mbits,在交換機s1上設置隊列q0和q1,并設置初始比例分別為70%和30%?,F有從h1發送到h2流量穩定為60 Mbits/sec的數據p0以及從h3發送到h2流量穩定為50 Mbis/sec的數據p1。其中p0被設置進入q0隊列而p1被設置進入q1隊列,隊列的流量調整周期為30秒。動態隊列啟用前,啟用后5秒,35秒以及65秒流量限制大小和數據實際流量大小的情況,如表1所示。

圖2 實驗環境網絡拓撲圖

表1 動態隊列流量變化

啟用前p0與p1的發送速率之和接近于交換機吞吐率的最大值,并且相對平均。在動態隊列啟動之后的第一個周期(即啟動后5秒)中,p1的發送速率受到了限制。根據動態隊列算法,在第二個周期時,隊列q1從q0中調用了一部分流量,相較于第一個周期,吞吐率有了明顯的提高。

圖3給出了隊列q0和q1限速的變化情況,如圖3所示。

圖3 隨時間變化的隊列限速

動態隊列剛啟用時,q1的流量遠遠不夠,所以在前兩個周期,q1的限速都在增大。在第三周期(即65秒)時,q0的流量也出現缺口,調整之后,q0的限速上升。由于交換機總的速率達不到所有數據的速率之和,隊列的比例會一直發生變化,從65 s到215 s可以看出,q0與q1呈現出來回平衡的規律,而當隊列更多時,這個規律可能更為復雜。

接下來需要驗證動態路由。lk0連接h1與s1,其延時為10 ms,lk1連接s1與s2,其延時為20 ms,lk2連接s1與s3,其延時為30 ms,lk3連接s1與s4,其延時為40 ms,lk4連接s2與s5,其延時為10 ms,lk5連接s3與s5,其延時為10 ms,lk6連接s4與s5,其延時為10 ms,lk7連接s5與h4,其延時為10 ms。其中lk1的丟包率為40%,lk2的丟包率為20%,其余的鏈路丟包率都為0,另外網絡對于丟包的敏感系數s為默認值1。

現有大量同類型數據需要從h1發送到h4,其延時要求低于80 ms,丟包率要求低于5%。數據在轉發地過程中一定會經過s1、s5,以及s2、s3、s4 3個交換機中的一個,并且其余經過的鏈路代價都相等,所以只需要監控s1到s2、s3、s4的轉發情況,也就是說計算lk1、lk2、lk3的轉發代價就可以知道動態路由算法得到的轉發路徑,如表2所示。

當動態路由啟動時,控制器沒有上一周期該數據的參數,所以默認為目標的延時和丟包率,如圖5所示。

根據算法計算,lk1的轉發代價較低,數據轉發的路徑是h1→s1→s2→s5→h4。其實際延遲和實際丟包率為62 s和43%,延時在要求的范圍內,但丟包率遠遠超過了低于5%的要求。于是在第二個周期,算法對于丟包率的敏感度大幅度提高,使得lk3的實時代價最低,轉發路徑變更為h1→s1→s4→s5→h4,這是實時延時和丟包率都低于要求的值,達到了算法的目的。

4 總結

本文提出了一種基于SDN的動態QoS方法。其中,動態隊列能夠實時地調整交換機各個隊列的限速,既滿足了網絡對于服務質量的要求,又提高了整體的吞吐率;動態路由算法不僅借鑒了網絡的實時參數,還將數據包到達目的地的延時和丟包情況納入到決策中來,使得決策算法更具有針對性和側重性,更加契合數據的特點和網絡的實際情況,從而保證不同數據類型的服務質量,提高網絡的運行效率。最后使用POX控制器和Mininet網絡模擬器驗證了算法的有效性。未來的研究主要側重于將轉發代價中的延時和丟包計算拆解開來,得到更準確的代價公式;建立更完善的模擬環境,使得測試更加可靠。

[1] Li Hu-sheng,Zhang Wei-yi. QoS Routing in Smart Grid[J]. Mathematics,2010:1-6.

[2] Long Hui,Shen Yao,Guo Min-yi,et al. LABERIO: Dynamic load-balanced Routing in OpenFlow-enabled Networks[C]. IEEE International Conference on Advanced Information Networking & Applications,2013:290-297.

[3] S Civanlar,M Parlakisik,AM Tekalp,et al. A QoS-enabled OpenFlow environment for Scalable Video streaming[J]. Globecom Workshops, 2010, 29(16):351-356.

[4] HE Egilmez,ST Dane,KT Bagci,et al. Open QoS: An OpenFlow controller design for multimedia delivery with end-to-end Quality of Service over Software-Defined Networks[J].Signal & Information Processing Association Summit & Conference, 2012, 8345(11):1-8.

[5] I Bueno,JI Aznar,E Escalona,et al. An OpenNaaS Based SDN Framework for Dynamic QoS Control[J]. Future Networks & Services, 2013:1-7.

[6] Zeng Fu-shan.Design and implementation of QoS system based on openflow[D].Shanghai Jiao Tong University,2014.

[7] K Jeong,J Kim,YT Kim. QoS-aware Network Operating System for software defined networking with Generalized OpenFlows[J]. IEEE Network Operations & Management Symposium, 2012, 104(5):1167-1174.

[8] JG Deshpande,E Kim,M Thottan. Differentiated services QoS in smart grid communication networks[J].Bell Labs Technical Journal, 2011, 16(3):61-81.

[9] Agarwal, Sugam, Murali Kodialam, T. V. Lakshman.Traffic engineering in software defined networks[C].2013Proceedings IEEE.2013:2211-2219.

[10] Egilmez H E, Civanlar S, Tekalp A M. An Optimization Framework for QoS-Enabled Adaptive Video Streaming Over OpenFlow Networks[J]. IEEE Transactions on Multimedia, 2013, 15(3):710-715.

[11] Ishimori A, Farias F, Cerqueira E, et al. Control of Multiple Packet Schedulers for Improving QoS on OpenFlow/SDN Networking[C].European Workshop on Software Defined Networks. 2013:81-86.

TheDynamicQosMethodBasedonSoftwareDefmedNetwork

Cao Xiu, Xu Ranci

(1. The Institute of Computer Science and Technlogy, Fudan University, Shanghai 201203, China;2. Engineering Research Center of Cyber Security Auditing and Monitoring Ministry of Education, Fudan University, Shanghai 200433, China)

With the rapid development of network, there is more and more requiring for quality of service in communication system. In recent years, software defined network(SDN) has become a hot spot. SDN based Qos method is programmable and extensible, it makes up the defects of traditional method. This paper proposes a method for dynamic quality of service based on SDN in smart grid by considering both the state of current network and the delay and packet loss of the data packets arriving the destination.

Quality of service; Software defined network; Dynamic routing; Dynamic forward queue

1007-757X(2017)12-0071-04

徐苒茨(1991-),男,碩士研究生,研究方向:軟件定義網絡。

曹袖(1968-),男,碩士、高級工程師。研究方向:計算機網絡、分布式處理、智能電網等。

TN393

A

2016.12.25)

猜你喜歡
包率隊列延時
支持向量機的船舶網絡丟包率預測數學模型
一種基于噴泉碼的異構網絡發包算法*
電磁線疊包率控制工藝研究
基于級聯步進延時的順序等效采樣方法及實現
隊列里的小秘密
基于多隊列切換的SDN擁塞控制*
日光燈斷電關閉及自動延時開關設計
在隊列里
豐田加速駛入自動駕駛隊列
TCN 協議分析裝置丟包率研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合