淡江大學覺生紀念圖書館 (TKU Library)
進階搜尋


下載電子全文限經由淡江IP使用) 
系統識別號 U0002-1408201622233100
中文論文名稱 軟體定義網路中負載平衡策略之探討
英文論文名稱 Research on Load Balancing Strategies for Software Defined Networks
校院名稱 淡江大學
系所名稱(中) 電機工程學系碩士班
系所名稱(英) Department of Electrical Engineering
學年度 104
學期 2
出版年 105
研究生中文姓名 陳相儒
研究生英文姓名 Hsiang-Ju Chen
學號 603450049
學位類別 碩士
語文別 中文
口試日期 2016-06-17
論文頁數 71頁
口試委員 指導教授-莊博任
委員-陳省隆
委員-許獻聰
中文關鍵字 負載平衡  軟體定義網路  OpenFlow協定  Dijkstra最短路徑演算法 
英文關鍵字 Load Balancing  Software Defined Networks(SDNs)  OpenFlow protocols  Dijkstra’s shortest path algorithm 
學科別分類 學科別應用科學電機及電子
中文摘要 軟體定義網路(Software Defined Networks, SDN )概念是將網路設備上的控制層與網路層分開並將控制層抽離出來,透過控制層的策略管理來做到可程式化網路,可快速、輕易地決定與執行於資料層的底層系統,達成流量控制、負載平衡、網路安全以及創新的網路應用服務。OpenFlow為實現SDN概念的協定之一,OpenFlow定義了控制層裝置與資料層裝置的協定。網路路由規劃中,傳統上大多使用最短路徑搜尋法,來尋找兩端點之間最少跳點的路徑做為路由規劃的依據。在負載平衡方面會使用最短路徑演算法並將鏈結使用率作為邊權重,找出最佳負載的路由作為負載平衡的路由規劃。
實務上流量具有動態性,路由路徑初始規劃無法保障傳輸過程能維持負載平衡。當負載失衡時,需要對路由路徑調整進而恢復平衡。目前大部分在調整路由路徑的研究,會個別對每條路由使用最佳路徑演算法,尋找替代路徑並更新達成平衡。現階段調整路由路徑的方法,我們發現個別調整路徑因為路徑調整後,網路拓樸的邊權重改變,使得其他路由需要調整路徑才能達到的最佳路徑,達到平衡前需多次調整與花費較多調整週期才能到達穩定。
在達到負載平衡費時較長的問題上,我們提出新策略透過全局調整的方式,一次性的將全部路由重新安排最佳路徑,並統一更改路徑而達成平衡,可以確保單次調整就達到平衡。在全局調整策略因為會將全部的路由重新分配路徑,所以使得大量的路徑需要做變更,因此造成大量封包錯序的情況發生,導致短暫時間的網路品質不佳。
針對全局調整的策略,進一步提出改進策略-局部調整。局部調整是取部分路由做調整,並評估是否負載平衡,如未平衡則取更多的路由做調整,直到負載平衡,才會統一變更路徑。局部調整中,有機會透過部分路由的調整達到平衡,因此更動路徑較少,所以可以降低封包錯序的數量。
實驗結果證實,全局調整與局部調整可在單一週期達到平衡,而個別調整達成平衡會花較多週期,因此全局與局部調整在UDP封包的掉包率、封包錯序數、延遲抖動與吞吐量皆可在較短時間獲得改善。此外局部調整在部分情況只需調整部分路徑,因此造成封包錯序的數量較低。最後也利用TCP封包在長時間的平均延遲,證明提出策略都能達到預期的負載平衡。
英文摘要 Software Defined Network(SDN) concept decouples the control plane and the data plane of network devices. SDN can implement programmable network through the strategy management of the control layer. It can be quickly and easily implemented in the data layer of the underlying system. SDN can implement flow control, load balancing, network security and innovative web applications. OpenFlow protocol is used to realize SDN concept. OpenFlow protocol defines the communication between the control plane device and the data plane device. The shortest path algorithm was used to find minimum hop counts between two endpoints in the traditional routing planning. In load-balancing, we find optimal routings by using the shortest path algorithm and adding the link utilization rate as the edge weight.
Network traffics are dynamic in the practical application. The initial path can’t be guaranteed load balancing during transmission. When the network is load imbalancing, routing paths need to be adjusted in order to achieve load balancing. In the current studies, the optimal path algorithm is used to find the optimal path in each routing so that the network can achieve load balancing. However, we found the shortage in the current individual adjustment strategy. The link load is changed after the paths are adjusted. Therefore, other routing paths need to be changed in order to become optimal paths. The individual adjustment strategy will spend more time to achieve balancing and become stable.
We propose the global adjustment strategy which solve the problem about spending too much time to achieve load balancing. Our strategy reschedules the optimal path just one time. Next, all the paths will be changed to achieve load balancing in the same time. All the routings are rearranged, therefore a lot of paths need to be changed so that a large number of packets become out of order.
We also propose the partial adjustment strategy which is improved from the global adjustment strategy. The partial adjustment adjusts part of routings, and then we determine whether the networks are load balancing. If the networks are not load balancing, more routings would be adjusted until the networks achieve load balancing. Then all paths will be changed in the same time. In partial adjustment strategy, the networks may achieve load balancing by using part of routings. Therefore, fewer paths are changed and the number of packets which are out of order decreases.
The experimental results confirm that the global adjustment and the partial adjustment can achieve load balancing in single period. But the individual adjustment spends more periods to achieve load balancing. Therefore, the global adjustment and the partial adjustment in the UDP packets can improve packets loss rate, out of order, delay jitter and throughput in shorter time. In addition, the partial adjustment just adjusts part of paths to achieve load balancing in some cases. Number of packets which are out of order caused by routing adjustment decrease. Finally, we compare average delay of TCP packets in these three strategies in a long time. Our strategies achieve load balancing efficiently.
論文目次 目錄
第一章、緒論 1
1.1、研究動機 1
1.2、問題描述與解決方案 2
1.3、論文架構 3
第二章、相關研究背景 4
2.1、軟體定義網路 4
2.1.1、OpenFlow協定 5
2.1.2、OpenFlow交換器 6
2.1.3、OpenFlow交換器與控制器溝通 10
2.2、Ryu 控制器 11
2.2、Open vSwitch 12
2.3、Mininet 13
2.4、Abilene拓樸 14
2.5、Dijkstra演算法 16
2.6、邊權重之鏈結流量 18
2.7、負載平衡調整策略 19
2.7.1、個別調整策略 20
2.8、問題定義 23
2.9、控制器執行流程架構 24
2.9.1、路由規則設定 26
第三章、我們的路由調整策略 27
3.1、調整策略大綱 27
3.2、負載失衡判斷機制 28
3.2.1、平衡定義 28
3.3、全局調整策略流程 31
3.4、局部調整策略流程 34
3.5、各策略之差異 37
第四章、實驗環境架構與結果 39
4.1、模擬環境與測試工具 39
4.1.1、效能測試工具Iperf 40
4.1.2、擷取封包工具WireShark 40
4.2、比較策略 41
4.3、評估指標 42
4.3.1平均延遲時間 42
4.3.2、掉包率(Packet loss ratio) 42
4.3.3、封包錯序(Out of order) 43
4.3.4、延遲抖動(Jitter) 43
4.3.5、吞吐量(Throughput) 44
4.4、參數設定與實驗模擬說明 45
4.4.1、第一部分實驗 46
4.4.2、第二部分實驗 47
4.4.3、第三部分實驗 48
4.5、模擬結果 50
4.5.1、第一部分實驗 50
4.5.2、第二部分實驗 51
4.5.3、第三部分實驗 56
4.5.4、模擬結果總結 63
第五章、結論與未來工作 65
第六章、參考資料 68

圖目錄
圖2.1、SDN分層架構圖 5
圖2.2、OpenFlow Switch架構 6
圖2.3、Open vSwitch[21] 12
圖2.4、Abilene網路核心拓樸 15
圖2.5、Dijkstra’s Algorithm虛擬碼 17
圖2.6、個別調整策略流程圖 21
圖2.7、個別調整策略虛擬碼 22
圖2.8、主程序執行流程圖 25
圖2.9、路由規則 26
圖3.1、判斷負載平衡流程圖 29
圖3.2、拓樸示意圖 30
圖3.3、全局調整策略流程圖 32
圖3.4、全局調整策略虛擬碼 33
圖3.5、局部調整策略流程圖 35
圖3.6、局部調整策略虛擬碼 36
圖4.1、Mininet中拓樸示意圖 39
圖4.2、拓樸示意圖 45
圖4.3、第一部分實驗平均延遲時間 50
圖4.4、第二部分實驗掉包率 52
圖4.5、第二部分實驗封包錯序數 53
圖4.6、第二部分實驗延遲抖動 54
圖4.7、第二部分實驗吞吐量 55
圖4.8、第三部分實驗掉包率 57
圖4.9、第三部分實驗封包錯序數 58
圖4.10、第三部分實驗延遲抖動 60
圖4.11、第三部分實驗吞吐量 61

表目錄
表2.1、Flow Table的主要欄位 6
表2.2、Flow entry的Match fields欄位 7
表2.3、OpenFlow Switch計數器 9
表2.4、Flow entry的Match fields欄位 10
表3.1、各策略差異 37
表4.1、第一部分實驗參數表 46
表4.2、第二部分實驗參數表 47
表4.3、第三部分實驗參數表 48
表4.4、第二部分實驗結果表 63

參考文獻 [1] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner, “OpenFlow,” ACM SIGCOMM Comput. Commun. Rev., vol. 38, no. 2, p. 69, Mar. 2008.
[2] 王協源, 鄭力維, 張華婷, “軟體定義網路技術簡介及發展趨勢“, NCP Newsletter, no.57, November .2013.
[3] “ONF White Paper.” [Online]. Available: https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf.
[4]廖振宇, “以軟體定義網路改善Hadoop叢集之運作效能“, June.2015
[5]“OpenFlow Switch Specification, version 1.3.4.” [Online]. Available: https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.3.4.pdf.
[6] “Open Networking Foundation.” [Online]. Available: https://www.opennetworking.org/about/onf-overview. 
[7] J.-R. Jiang, H.-W. Huang, J.-H. Liao, and S.-Y. Chen, “Extending Dijkstra’s shortest path algorithm for software defined networking,” in The 16th Asia-Pacific Network Operations and Management Symposium, 2014, pp. 1–4.
[8]“Ryu.” [Online]. Available: http://osrg.github.io/ryu/.
[9] “Open vSwitch.” [Online]. Available: http://openvswitch.org/.
[10] Y. Zhang, Y. Tang, D. Tang, and W. Wang, “QOF: QoS Framework Based on OpenFlow,” in 2015 2nd International Conference on Information Science and Control Engineering, 2015, pp. 380–387.
[11] “Internet2.” [Online]. Available: http://www.internet2.edu/.
[12]“Abilene Ntework wiki.” [Online]. Available: http://en.wikipedia.org/wiki/Abilene_Network.
[13] “Mininet.” [Online]. Available: http://mininet.org/.
[14] “Internet2.” [Online]. Available: http://www.internet2.edu/.
[15]“Abilene Ntework wiki.” [Online]. Available: http://en.wikipedia.org/wiki/Abilene_Network.
[16] Y. Zhang, Y. Tang, D. Tang, and W. Wang, “QOF: QoS Framework Based on OpenFlow,” in 2015 2nd International Conference on Information Science and Control Engineering, 2015, pp. 380–387.
[17] D. Adami, L. Donatini, S. Giordano, and M. Pagano, “A network control application enabling Software-Defined Quality of Service,” in 2015 IEEE International Conference on Communications (ICC), 2015, pp. 6074–6079.
[18] M.Bindhu and G. P. Dr.Ramesh, “Load Balancing and Congestion Control in Software Defined Networking using the Extended Johnson Algorithm for Data Centre,” Int. J. Appl. Eng. Res., 2015.
[19] A. G.Furculita, M.-V. Ulinic, A. B. Rus, and V. Dobrota,“Implementation issues for Modified Dijkstra’s and Floyd-Warshall algorithms in OpenFlow,” in 2013 RoEduNet International Conference 12th Edition: Networking in Education and Research, 2013, pp. 1–6.
[20] Y. Zhang, Y. Tang, D. Tang, and W. Wang, “QOF: QoS Framework Based on OpenFlow,” in 2015 2nd International Conference on Information Science and Control Engineering, 2015, pp. 380–387.
[21] “Iperf.” [Online]. Available: https://iperf.fr/.
[22] “Wireshark.” [Online]. Available: http://www.wireshark.org.
[23] “Packet Loss wiki.” [Online]. Available: https://en.wikipedia.org/wiki/Packet_loss.
[24] L. Hongwei, “How to Process the Packet Lost and Out-of-Order Based on UDP Transport Protocol,” Huazhong University of Science and Technology,Wuhan 430074, Computer Engineering and Applications, Wuhan, pp. 7–9, 2001.
[25] “Understanding Jitter in Packet Voice Networks,Cisco IOS Platforms.” [Online].Available: http://www.cisco.com/c/en/us/support/docs/voice/voice-quality/18902-jitter-packet-voice.html.
[26] M. Al-Momin and J. Cosmas, “The Impact of Content Oriented Routing on OpenFlow Burst Switched Optical Networks,” in 2013 27th International Conference on Advanced Information Networking and Applications Workshops, 2013, pp. 965–970.
[27] L.-C. Li-Chia Cheng, K. Kuochen Wang, and Y.-H. Yi-Huai Hsu, “Application-aware Routing Scheme for SDN-based cloud datacenters,” in 2015 Seventh International Conference on Ubiquitous and Future Networks, 2015, pp. 820–825.
論文使用權限
  • 同意紙本無償授權給館內讀者為學術之目的重製使用,於2017-08-15公開。
  • 同意授權瀏覽/列印電子全文服務,於2017-08-15起公開。


  • 若您有任何疑問,請與我們聯絡!
    圖書館: 請來電 (02)2621-5656 轉 2486 或 來信