《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于OpenFlow的數據中心網絡負載均衡算法
基于OpenFlow的數據中心網絡負載均衡算法
2016年電子技術應用第5期
董宏成1,2,鄭飛毅1
1.重慶郵電大學通信新技術應用研究中心,重慶400065;2.重慶信科設計有限公司,重慶400065
摘要: 現代數據中心網絡(Date Center Network,DCN)經常會使用多路徑(MultiPath,MP)拓撲結構,這樣可以避免兩節點間某條鏈路失效而導致的網絡擁塞問題,而且增加了網絡的帶寬和容錯率。傳統的OSPF(Open Shortest Path First)路由算法會選擇單條最短路徑作為最終路徑,這樣可能會導致大部分數據流集中在單一路徑上而出現網絡擁塞,而其他可用路徑處于閑置狀態,不能充分地利用DCN中的鏈路資源,基于SDN(Software Defined Network)的集中化的調度方式能夠提高網絡利用效率。設計了一套基于OpenFlow協議的鏈路負載均衡模型,詳細闡述了它的總體框架和算法實現過程,并通過實驗仿真驗證了算法的可行性和有效性。
中圖分類號: TP393
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.05.033
中文引用格式: 董宏成,鄭飛毅. 基于OpenFlow的數據中心網絡負載均衡算法[J].電子技術應用,2016,42(5):120-123,127.
英文引用格式: Dong Hongcheng,Zheng Feiyi. A load balancing algorithm for date center network based on OpenFlow[J].Application of Electronic Technique,2016,42(5):120-123,127.
A load balancing algorithm for date center network based on OpenFlow
Dong Hongcheng1,2,Zheng Feiyi1
1.Research Center for Application of New Communication Technology,Chongqing University of Posts and Telecommunications, Chongqing 400065,China; 2.Chongqing Information Technology Designing Co.,Ltd,Chongqing 400065,China
Abstract: Modern data center network(Date Center Network,DCN) often uses multiple paths(MultiPath,MP) topology to avoid a link failure between two nodes caused by network congestion, and increases bandwidth and fault tolerance rate of network. Traditional OSPF(Open Shortest Path First) routing algorithm selects the shortest path as the final single path, that may lead to most of the data stream centralized in a single path and course the congestion of network, but other available paths are idle and can not be fully utilized the DCN link resources. Centralized scheduling based on SDN can improve network efficiency. This paper designs the overall framework and the algorithm flowchart of load balancing mechanism based on OpenFlow protocol, and simulation experiments prove the feasibility and effectiveness of the algorithm.
Key words : SDN;MP;date center;load balance

0 引言

    近年來,數據中心呈現爆炸式的急速發展,大量公司開始建立自己的大型互聯網數據中心(Internet Data Center,IDC)。云計算技術的出現對數據中心網絡提出了新的挑戰,比如網絡安全、虛擬機遷移、多租戶管理、負載均衡等。傳統的數據中心采用專用的負載均衡設備實現網絡資源的有效利用,具有設備成本高昂和可擴展性差等問題,而基于軟件定義網絡的集中化的調度方式能夠提高資源利用率,簡化網絡管理,降低運維成本。

    SDN[1]是一種將控制層和轉發層分離的新型網絡架構,交換機只負責數據流的轉發,降低了網絡交換機的負載,控制層的功能全部由運行于服務器上的控制器實現。控制器需要下發流表到交換機才能支持轉發層設備的有效運行,而控制層與轉發層之間的通信需要遵守一定的規則,目前較普遍的是采用OpenFlow[2]協議來實現信息交互。本文目的是在SDN網絡架構下解決網絡流量高峰期鏈路的負載分布不均勻問題,設計了負載均衡機制的總體框架、實現流程圖以及具體實現。

1 數據中心網絡流量特征

    國內外學者對真實數據中心網絡流量特征進行了深入的觀察研究。Mckeown研究表明數據中心網絡流量與傳統的局域網和廣域網流量有著極大的不同,內部節點間的數據流量在數據中心網絡所有流量中占主導地位[3]。Greenberg指出數據中心80%的數據流量為數據中心內部的流量,而且85%的數據流小于100 KB[4]。目前采用最多的是Fattree[5]網絡拓撲,它可以為兩兩節點之間的流量提供多條路徑,這樣從理論上能降低單一路徑的負載率過高的問題,而在實際應用中還是會出現某條路徑上流量擁塞嚴重而其他可用路徑卻處于閑置狀態的問題。

    數據中心網絡流量模型由大流和小流組成,每個數據流由許多數據包組成,這些數據包具有5個相同特征(源IP地址、源端口號、目的IP地址、目的端口號、協議類型)。而大流是造成部分鏈路擁塞的主要原因,所以負載均衡機制主要針對大流,在調度過程中盡量忽視小流來降低調度開銷。數據流的大小由其所含字節數決定,同時數據流越大,持續的時間越長,小流持續時間很短。本文將字節數大于100 KB的流界定為大流。

2 負載均衡實現的總體框架

    控制器的負載均衡功能模塊如圖1所示,主要包括拓撲發現模塊、大流監測模塊、流量收集模塊、路徑計算模塊、流表導入模塊。拓撲發現模塊幫助控制器掌握通過全局的拓撲信息,包括主機的位置信息、交換機之間的連接等。大流監測模塊在鏈路利用率最大路徑上找出并標記大流。流量收集模塊周期性地收集OpenFlow交換機網絡的流量信息,為兩個節點之間的多條路徑選擇提供參考流量監測模塊統計交換機接口的流量信息,用于分析計算各鏈路的鏈路利用率。路徑計算模塊為大流的重路由提供支持,是實現負載均衡功能的重要部件。流表導入模塊是通過控制器向OpenFlow交換機發送Packet_out消息實現的,動態地將大流的最終得出的重路由路徑添加到交換機流表,從而實現OpenFlow網絡的負載均衡功能。負載均衡算法的實現流程如圖2所示。

jsj4-t1.gif

jsj4-t2.gif

3 各功能模塊的數學建模與實現

    首先為負載均衡制定一個啟動閾值,這里采用負載均衡參數:

    jsj4-gs1.gif

其中loadi,j(t)代表在t時刻鏈路<i,j>上的已經被占用的帶寬[6],N是網絡中所有鏈路的數目。下面簡單描述各模塊的實現方式。

3.1 拓撲發現模塊

    拓撲發現模塊的功能是收集網絡的拓撲信息,將其保存在拓撲圖表中,并對網絡的拓撲結構進行管理。控制器與交換機之間是在OpenFlow標準協議的基礎下進行通信的,但是控制器并不能通過Open。Flow協議獲得網絡的拓撲結構,是通過LLDP組件[7]發送LLDP(Link Layer Discovery Protocol)數據包到OpenFlow交換機,再收集并解析交換機反饋的LLDP數據包,從而實現網絡拓撲感知。

3.2 大流監測模塊

    由于本文所提出的負載均衡機制是針對大流的,所以必須有一種方法將大流和小流區分開來。文獻[8]對3種主流的大流監測機制進行了分析比較,包括采樣監測、應用監測和統計監測。文獻[9]中提出探測大流最有效的方式是在終端主機進行,一方面占用的資源比例相對交換機要少,從而避免大流監測占用過多的交換機端資源;另一方面流的狀態也取決于終端應用程序生成數據包的快慢,而不是網絡的鏈路狀態,終端對應用程序發包速率的可知性更強。監測原理是通過觀測終端主機socket緩存區,當緩存區內具有相同特征的數據包大小超過100 KB,它就會被標記為大流,本文便采用對主機端的統計監測方式來進行大流監測,主機端需要精確統計和維護數據流的速率和字節等信息,再將統計信息通過交換機發送到控制器,從而實現控制器的大流監測功能。

3.3 流量收集模塊

    這個組件的目的是詢問每個OpenFlow交換機的流量信息,再將所有收到的反饋信息進行聯合并最終存儲到控制器的存儲單元。這些收集到的數據被路徑計算模塊用來計算不同鏈路上的負載,因為基于權重的多路徑路由的核心思想是將大流的數據包分配到負載較輕的鏈路上,因此需要確切知道路徑上所有可能的鏈路負載。這個單元模塊周期性地通過輪詢的方式收集每個OpenFlow交換機的流數量、流表以及端口數據,并作為一個快照對象進行存儲。每個快照對象都會通過一串數字標識,每個周期生成新的快照對象后數字標識會自動加1,存儲區只會保存最新的2個快照對象,其他的功能模塊都有獲得快照對象數據的權限。

3.4 路徑計算模塊

    初始狀態采用Floyd[10]算法計算基于跳數的Top-K最短路徑,然后需要對每條路徑的狀態進行評估。本文主要對路徑的兩個方面指標進行評估,一個是路徑所包含鏈路的長度,這個體現在跳數(Hop Count);另外一個指標是路徑上的負載,這個體現在這條路徑所包含的交換機和鏈路上的流量。由于每條路徑上包含多個交換機以及多條鏈路,不能簡單地以總流量的平均數來表示這條路徑的負載,而應該根據特定的交換機和鏈路來代表該路徑的負載情況。交換機的負載通過它所統計的PC(Packet Count)和BC(Byte Count)來體現,鏈路的負載通過端口的轉發率(Forwarding Rate)來表示。這些數據可以通過控制器周期性地向OpenFlow交換機發送狀態請求消息得到。每條路徑的負載狀況可以表示為S=(H,P,B,F),其中H表示跳數;P=Max(P1,P2,…,PH),Pi表示該路徑的第i臺交換機所轉發的封包數量,共包含H臺交換機;B=Max(B1,B2,…,BH),Bi表示該路徑的第i臺交換機所轉發的字節數量。F=Max(F1,F2,…,FH),Fi表示該鏈路經過的第i臺交換機出端口的轉發率。由于參數之間的差異比較大,需要先進行如下變換[11]

    jsj4-gs2-5.gif

    每一條路徑可以用矩陣R=(rh rp rb rf)表示,權重向量W=(0.35,0.20,0.20,0.25),各個參數值根據經驗自己定義,這里路徑的長度取0.35顯示了其重要性。每個節點對之間的所有路徑可以通過一個矩陣表示為:

     jsj4-gs6-7.gif

    Qi表示路徑i最后的權值,根據權值可以確定數據流經i節點傳輸到j節點的最佳路徑。路徑計算模塊偽代碼如下:

    Algorithm : Route Construction

    (1)Connect the topology with the RYU controller

    (2)Detect the topology and do the following activities:

    (3)Calculate top K shortest paths between each pair of nodes using Top-K Shortest Path algorithm(TKSP is the extension of Open Shortest Path First).

    (4)Evaluate the Top-K path with the proposed method.

    (5)Sort the paths between each pair of nodes according to the evaluation and store the results to the controller.

    (6)Reconstruct the path using step1-5 in case of a node/link failure.

3.5 流表導入模塊

    中心控制器通過路徑計算模塊產生的結果生成轉發規則,然后封裝到Packet_out消息中導入到支持OpenFlow的交換機,交換機流表添加該轉發規則并根據更新的流表項來指導流量轉發。由于網絡流量和拓撲結構都是不可預測的,交換機流表會伴隨負載均衡機制實時、動態地更新,而且過期的流表項會根據交換機配置而刪除。

4 實驗結果分析

    本文采用Mininet2.2.0[12]作為一個開發環境模擬數據中心網絡場景,搭建如圖3所示的網絡拓撲結構,在Ubuntu Kylin 14.04.3上運行RYU控制器,結合iperf工具來產生TCP(Transmission Control Protocol)數據流和UDP(User Datagram Protocol)數據流,并且能夠測量端到端的吞吐量,從而得出整個網絡的吞吐量。host1~4同時向host5~8發送數據流量,在RYU[12]控制器中結合拓撲發現模塊、流量監測模塊、路徑計算模塊和流表導入模塊來對負載均衡算法進行驗證。仿真實驗通過h1~h16傳輸時延、總吞吐量和總體鏈路利用率這3個指標來驗證本文所提出的負載均衡算法的有效性。總體鏈路利用率通過下式得到:

    jsj4-gs8.gif

其中,MAXLOAD代表每條物理鏈路最大帶寬,仿真實驗的信息見表1。

jsj4-t3.gif

jsj4-b1.gif

    選擇h1和h16為網絡時延測量的觀測對象,實驗結果如圖4所示,在實驗進行的前47 s數據包從h1~h16延時很低,而且本文所提出的LB(Load balance)算法和基于最短路徑算法的時延曲線表現出了極高的相似度。這是因為剛開始時鏈路負載較輕,兩種算法都是采用h1-S1-S9-h16來傳輸流量,而LB算法由于需要監測數據流量并且周期性地向控制器發送網絡狀態信息,這樣會產生部分開銷而導致延時略高于基于最短路徑算法;但是47 s之后LB算法下的時延明顯低于采用OSPF算法的時延,這是因為太多的流量集中在最短路徑h1-S1-S9-h16,而其他可用路徑處于空閑狀態,負載不均衡度大于判決門限,就會觸發負載均衡機制,原路徑上的流量會轉移到其他可用路徑,鏈路利用率也得到了明顯提升,如圖5所示。網絡整體吞吐量的性能比較如圖6所示,當負載低于550 Mb/s時,兩者的性能曲線非常相似,由于LB算法需要傳輸額外的鏈路狀態信息導致吞吐量會略高于550 Mb/s;當負載超過550 Mb/s,基于最短路徑算法網絡出現擁塞,其他可用鏈路得不到有效利用,吞吐量的增長明顯放緩。而LB算法下的網絡吞吐量在550~700 Mb/s區間能一直保持快速增長。因此本文提出的LB算法相比傳統的OSPF算法能夠在負載不均衡情況下改善網絡性能。

jsj4-t4.gif

jsj4-t5.gif

jsj4-t6.gif

5 結束語

    本文設計了負載均衡功能實現的總體框架,主要包括拓撲發現模塊、流量監測模塊、路徑計算模塊、流表導入模塊。設計了負載均衡功能的實現流程圖,對相關的數學模型進行了詳細的分析設計,確定了以大流為目標流的調度策略,并通過實驗驗證了該負載均衡算法相比傳統的OSPF算法能夠實現更低的網絡延時和更高的總體鏈路利用率和吞吐量。

    該算法的不足之處是沒有考慮到大流出現重復調度的情況,如果某個大流被多次選為目標流調度,可能會使情況更糟糕,而且流的轉移開銷也會影響負載均衡的實現效率。降低大流在調度過程中的開銷具有重要的意義,上述兩點將是下一步需要重點關注的內容。

參考文獻

[1] 左青云,陳鳴,趙廣松.基于Open Flow的SDN技術研究[J].軟件學報,2013,24(5):1078-1097.

[2] Open Networking Foundation.OpenFlow[EB/OL].(2016)[2016].https://www.opennetworking.org/en/sdn-resources/openflow.

[3] MCKEOWN N,ANDERSON T,BALAKRISHNAN H,et al.OpenFlow:Enabling innovation in campus networks[J].SIGCOMM Computer Communication Review,2008,38(2):69-74.

[4] GREENBERG A,HAMILTON J R,JAIN N,et al.VL2:A scalable and flexible data center network[C].Proceedings of the AC_MSIGCOMM 2009 Conference on Data Communication.Barcelona,Spain,2009:51-62.

[5] GREENBERG A,HAMILTON J,MALTZ D A,et al.The cost of a cloud:research problems in data center networks[C].In ACM SIGCOMM,2008:68-73.

[6] Long Hui.Research on the OpenFlow -based load-balancing routing in distributed networks[D].Shanghai:Shanghai Jiao Tong University,2013.

[7] 張遠.基于OpenFlow的負載均衡研究[D].北京:北京工業大學,2014.

[8] 李龍,付斌章.Nimble:一種適用于OpenFlow網絡的快速流調度策略[J].計算機學報,2015,38(5):1056-1068.

[9] CURTIS A R,KIM W.Mahout:low-overhead datacenter traffic management using end-host-based elephant detection[J].IEEE INFOCOM,2011,2(3):1629-1637.

[10] BACKHOUSE R C,EIJINDE J P H W,GASTEREN A.J.M.V.Calculating path algorithms[J].Science of Computer Programming,1994,22(1-2):3-19.

[11] Li Jun,Chang Xiangqing,Ren Yongmao,et al.An effective path load balancing mechanism based on SDN[C].IEEE 13th International Conference on Trust,Security and Privacy in Computing and Communications,2014.

[12] Mininet Team.Mininet:An instant virtual network on your laptop[EB/OL].(2016)[2016].http://www.mininet.org/.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久亚洲精品一区二区| 欧美三区在线观看| 亚洲一区3d动漫同人无遮挡| 亚洲清纯自拍| 亚洲国产欧美一区| 久久国产精品久久久久久久久久| 99精品视频一区| 亚洲乱码国产乱码精品精可以看 | 国内不卡一区二区三区| 国产欧美日韩视频一区二区三区| 国产精品人人爽人人做我的可爱| 欧美日韩一区二区三区四区五区| 欧美另类女人| 欧美日韩精品综合| 欧美日韩在线另类| 国产精品不卡在线| 国产精品国产自产拍高清av王其| 欧美性猛交xxxx乱大交退制版 | 亚洲日韩成人| 亚洲免费电影在线观看| 日韩视频免费观看高清在线视频 | 亚洲一区二区在线视频| 亚洲免费网址| 欧美一区二区三区视频| 久久激情综合网| 久久免费的精品国产v∧| 蜜臀a∨国产成人精品| 欧美黄色影院| 欧美日韩亚洲另类| 国产精品美女久久久久久2018| 国产精品久久久久婷婷| 国产区二精品视| 很黄很黄激情成人| 亚洲激情国产精品| 一区二区欧美在线观看| 亚洲欧美综合国产精品一区| 久久xxxx| 99精品视频网| 午夜精品久久久久久久蜜桃app| 久久爱www.| 欧美xx69| 欧美性天天影院| 国产一区欧美日韩| 最新精品在线| 亚洲影音先锋| 亚洲国产激情| 亚洲直播在线一区| 久久久中精品2020中文| 欧美国产日本| 国产麻豆精品视频| 亚洲国产高潮在线观看| 在线中文字幕日韩| 久久国产精品免费一区| 一本大道久久a久久精品综合| 欧美一区2区三区4区公司二百| 久热精品视频在线观看一区| 欧美日韩一区二区国产| 国产亚洲a∨片在线观看| 亚洲黄一区二区| 亚洲欧美日韩在线高清直播| 亚洲国产精品久久人人爱蜜臀| 亚洲午夜精品福利| 久久午夜av| 国产精品久久久久久妇女6080| 在线观看精品一区| 亚洲免费网站| 亚洲精品在线电影| 欧美一区二区三区免费视| 欧美精品三级在线观看| 国产亚洲成精品久久| 亚洲精品日韩激情在线电影| 欧美一区1区三区3区公司| 亚洲天堂av图片| 另类av一区二区| 国产精品亚洲网站| 亚洲精品裸体| 亚洲丶国产丶欧美一区二区三区 | 欧美高清hd18日本| 国产婷婷色一区二区三区在线| 日韩亚洲国产欧美| 亚洲国产成人精品视频| 欧美一二区视频| 欧美日韩视频免费播放| 黄色在线成人| 亚洲永久免费视频| 一本大道久久a久久综合婷婷| 快播亚洲色图| 国产一区二区成人| 亚洲午夜国产一区99re久久| 亚洲美女区一区| 久久午夜影视| 国产日韩亚洲欧美| 亚洲在线播放| 亚洲网在线观看| 欧美精品日日鲁夜夜添| 在线欧美影院| 久久精品人人做人人综合| 欧美在线不卡| 国产精品美女久久久免费| 亚洲免费观看高清完整版在线观看熊| 亚洲国产精品99久久久久久久久| 久久精品99国产精品| 国产精品久久久久天堂| 亚洲视频观看| 在线视频一区二区| 欧美精品午夜| 亚洲欧洲精品一区二区| 亚洲精品三级| 欧美 日韩 国产精品免费观看| 国内揄拍国内精品久久| 性欧美xxxx大乳国产app| 小黄鸭精品密入口导航| 国产精品欧美日韩一区二区| 在线亚洲自拍| 亚洲欧美另类在线| 国产精品国产三级国产aⅴ9色| 99ri日韩精品视频| 国产精品99久久久久久久vr | 欧美.com| 亚洲成色www8888| 亚洲人成网站999久久久综合| 欧美mv日韩mv国产网站| 在线看视频不卡| 亚洲区一区二| 欧美精品在线播放| 亚洲精品视频在线播放| 亚洲视频一二| 国产精品毛片a∨一区二区三区|国| 一区二区电影免费观看| 亚洲欧美日韩在线| 国产精品一区二区三区乱码| 性做久久久久久免费观看欧美| 久久精品国产亚洲一区二区三区| 国产亚洲综合在线| 亚洲成人在线网站| 免费观看亚洲视频大全| 亚洲黄一区二区三区| 亚洲视频电影图片偷拍一区| 国产精品久久久| 翔田千里一区二区| 久久综合给合久久狠狠色| 亚洲福利专区| 国产精品99久久不卡二区| 国产精品美女主播| 午夜在线电影亚洲一区| 久久一区二区三区四区五区| 在线日韩av永久免费观看| 一区二区欧美视频| 国产精品区一区二区三区| 欧美影院一区| 欧美激情在线狂野欧美精品| 一本色道久久综合亚洲精品婷婷| 午夜精品久久久久久| 国内一区二区三区| 9久re热视频在线精品| 国产精品人人做人人爽| 欧美一区二区视频97| 欧美大尺度在线| 亚洲网站视频福利| 久久久久欧美| 亚洲精品久久视频| 欧美在线精品免播放器视频| 在线成人激情黄色| 亚洲网站在线播放| 国产一区二区三区网站| 亚洲精品美女在线观看播放| 国产精品xxxxx| 亚洲国产精品www| 欧美日韩在线免费| 欧美一级久久久| 欧美激情bt| 亚洲一区欧美| 欧美顶级艳妇交换群宴| 亚洲一区二区在线看| 免费在线欧美黄色| 亚洲午夜激情网页| 欧美 日韩 国产一区二区在线视频 | 欧美一区二区三区在| 欧美精品18+| 亚洲欧美视频在线| 欧美国产欧美综合 | 亚洲第一福利视频| 欧美三级日本三级少妇99| 欧美有码视频| 欧美网站在线| 亚洲国产电影| 国产乱码精品一区二区三区av| 亚洲精品美女在线| 国产视频观看一区| 亚洲色在线视频| 依依成人综合视频| 欧美一区二区视频在线| 日韩视频二区| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲字幕在线观看| 欧美日韩精品一区二区三区| 亚洲国产高清一区二区三区| 国产啪精品视频| 亚洲欧美日韩一区| 日韩一级黄色大片|