《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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 拓撲發現模塊

    拓撲發現模塊的功能是收集網絡的拓撲信息,將其保存在拓撲圖表中,并對網絡的拓撲結構進行管理??刂破髋c交換機之間是在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亚洲国产精品_日韩亚洲一区二区
国产模特精品视频久久久久| 99在线精品免费视频九九视| 欧美日韩国产一区精品一区| 免费短视频成人日韩| 久久精品免费| 久久成人羞羞网站| 欧美一区二粉嫩精品国产一线天| 亚洲特级片在线| 亚洲图片自拍偷拍| 亚洲一区二区三区免费视频| 亚洲午夜三级在线| 亚洲一区二区三区欧美| 亚洲欧美大片| 欧美一区二区三区在线观看视频| 午夜国产欧美理论在线播放| 午夜激情综合网| 欧美一区二区三区久久精品茉莉花| 亚洲欧美日本另类| 欧美一区二区免费观在线| 欧美在线一级va免费观看| 久久国产免费看| 久久久久**毛片大全| 老牛国产精品一区的观看方式| 久久久综合香蕉尹人综合网| 久久亚洲精选| 欧美高清成人| 欧美日韩免费高清一区色橹橹| 欧美日韩国产精品自在自线| 欧美日韩精品一区二区在线播放 | 欧美—级a级欧美特级ar全黄| 欧美激情一区二区三区不卡| 欧美日韩成人激情| 国产精品久久久久久久久久直播| 国产欧美日韩一区| 伊人成人在线视频| 日韩视频免费看| 亚洲永久免费观看| 亚洲丁香婷深爱综合| 日韩天堂在线观看| 午夜免费在线观看精品视频| 久久久久九九视频| 欧美猛交免费看| 国产精品九色蝌蚪自拍| 国产美女精品一区二区三区| 黄色成人av| 亚洲美女av黄| 亚洲在线国产日韩欧美| 久久高清福利视频| 一区二区三区高清在线| 欧美专区第一页| 欧美成人免费一级人片100| 欧美视频1区| 国产一区二区三区四区老人| 亚洲黄色av一区| 亚洲视频精品在线| 久久精品女人| 亚洲视频网站在线观看| 久久久久久久一区二区| 欧美日韩国产一级| 韩国三级在线一区| av成人老司机| 亚洲国产成人在线| 亚洲欧美激情精品一区二区| 久久综合久久88| 国产精品久久久久一区二区三区| 精品成人在线观看| 亚洲天堂第二页| 亚洲三级影院| 久久xxxx精品视频| 欧美色中文字幕| 亚洲成人在线网| 亚洲欧美日韩在线观看a三区 | 亚洲开发第一视频在线播放| 欧美一区二区精品| 欧美日韩国产精品一卡| 国产在线一区二区三区四区| 99re热精品| 最新国产成人av网站网址麻豆| 欧美一区二区三区的| 欧美精品国产精品| 国内外成人在线| 亚洲尤物视频网| 亚洲天堂成人在线观看| 鲁大师成人一区二区三区| 国产精品麻豆va在线播放| 亚洲国产精品成人综合| 欧美一区二区网站| 午夜精品久久久久久久99水蜜桃 | 久久精品国产在热久久| 欧美午夜三级| 亚洲黄页一区| 欧美中文字幕在线观看| 午夜免费在线观看精品视频| 欧美日韩视频在线一区二区| 在线观看欧美黄色| 性娇小13――14欧美| 亚洲免费中文字幕| 欧美日韩精品三区| 亚洲精品国产视频| 91久久精品网| 久热精品视频在线观看| 国产亚洲精久久久久久| 亚洲欧美美女| 亚洲欧美国产77777| 欧美日韩中字| 亚洲精品乱码久久久久久按摩观| 亚洲黑丝一区二区| 久久综合给合久久狠狠色| 国产亚洲成av人在线观看导航| 亚洲欧美精品| 欧美一级久久久| 国产精品日韩欧美一区二区三区| 在线一区观看| 亚洲资源在线观看| 欧美天堂亚洲电影院在线播放| 日韩视频在线观看| 中文亚洲视频在线| 欧美日韩中文在线观看| 99ri日韩精品视频| 亚洲午夜未删减在线观看| 欧美视频精品一区| 中文一区二区| 午夜精品亚洲| 国产亚洲精品7777| 久久国产成人| 欧美99在线视频观看| 亚洲国内自拍| 亚洲视频狠狠| 国产精品久久久久久久免费软件| 亚洲桃花岛网站| 欧美一区视频| 黄色av一区| 亚洲美女免费视频| 欧美女同在线视频| 一区二区国产日产| 欧美一区二区三区视频在线观看 | 久久伊人亚洲| 在线观看视频一区| a4yy欧美一区二区三区| 欧美视频一区二区三区| 亚洲影院色无极综合| 久久国产色av| 亚洲高清免费| 亚洲视频一区二区在线观看 | 欧美一区二区成人| 麻豆91精品| 日韩一区二区久久| 久久成人免费电影| 亚洲福利视频一区| 亚洲小视频在线| 国产亚洲二区| 亚洲麻豆av| 国产精品视频自拍| 亚洲国产精品99久久久久久久久| 免费中文字幕日韩欧美| 亚洲美女毛片| 欧美在线观看视频| 亚洲第一网站| 亚洲欧美春色| 在线成人中文字幕| 亚洲一区二区三区色| 国内精品国产成人| 一本色道久久综合亚洲精品婷婷 | 国内精品美女av在线播放| 亚洲美女区一区| 国产伦精品一区二区三区在线观看 | 久久精品亚洲一区二区三区浴池| 国产精品日本精品| 久久黄色影院| 欧美日韩一二区| 欧美在线视频免费播放| 欧美母乳在线| 久久成人精品一区二区三区| 欧美理论在线播放| 欧美在线视频全部完| 欧美视频免费在线| 亚洲第一黄网| 国产精品激情av在线播放| 亚洲第一区色| 国产精品国产三级国产aⅴ浪潮| 久久精品国产亚洲a| 国产精品大全| 亚洲精品美女| 国产午夜精品福利| 亚洲视频在线观看| 黑丝一区二区三区| 亚洲影院一区| 91久久久久久久久| 久久久精品国产99久久精品芒果| 99在线精品观看| 欧美sm重口味系列视频在线观看| 亚洲综合日韩在线| 欧美日韩精品免费在线观看视频| 久久激情网站| 国产精品午夜电影| 中文在线不卡| 亚洲国产黄色| 久久漫画官网| 先锋亚洲精品| 国产精品欧美日韩一区|