§ 瀏覽學位論文書目資料
  
系統識別號 U0002-1607201500151700
DOI 10.6846/TKU.2015.00438
論文名稱(中文) 應用軟體定義網路建構伺服器叢集負載平衡
論文名稱(英文) Architecture load balancing by software defined network
第三語言論文名稱
校院名稱 淡江大學
系所名稱(中文) 資訊管理學系碩士在職專班
系所名稱(英文) On-the-Job Graduate Program in Advanced Information Management
外國學位學校名稱
外國學位學院名稱
外國學位研究所名稱
學年度 103
學期 2
出版年 104
研究生(中文) 宋俊霖
研究生(英文) Chung-Lin Sung
學號 702630244
學位類別 碩士
語言別 繁體中文
第二語言別
口試日期 2015-05-30
論文頁數 52頁
口試委員 指導教授 - 鄭啟斌
委員 - 楊欣哲
委員 - 梁恩輝
關鍵字(中) 軟體定義網路
負載平衡
網路管理
伺服器健康指標
關鍵字(英) Software Defined Networking (SDN)
Load balancing
Network management
Server health index
第三語言關鍵字
學科別分類
中文摘要
近年來逐漸受到重視的軟體定義網路(Software Defined Networking ,SDN)的虛擬化與可程式化能力紓解了上述大型網路管理的困境。伺服器負載平衡(Load balancing)是典型的網路管理應用,業界一般使用專屬設備負責導引流量,其缺點是設備昂貴且未考慮不同業者服務業態的特殊性。
本研究建議以SDN為網路管理架構,以程式化方式進行伺服器負載平衡。在負載平衡演算法中,我們使用伺服器健康指標的概念,作為網路流量引導的依據。
伺服器健康指標是伺服器的各種狀態的綜合衡量,包括 CPU負載、軟體缺陷以及可能的硬體故障等,不同服務業態可依其服務的特殊性而調整指標的構成內容及其權重。本研究建議以SNMP 協定讀取OID Table的方式取得伺服器狀態。
本研究方法採用Mininet以模擬方式進行實驗,並以Python與JAVA程式語言實作負載平衡演算法。實驗結果顯示本研究方法可以使用軟體取代昂貴的硬體負載平衡設備,並在SDN架構上成功運作。
英文摘要
In the recent years, the virtuality and programmability of Software Defined Networking (SDN) have been placed more and more attention. These mitigate the predicament of large-scale network management. Load balancing of server is the typical application of network management. In industry, exclusive equipment is usually used to take charge of the flow direction. The shortcoming would be expensiveness in terms of cost. Meanwhile, it doesn’t take the particularity between different service providers into account.
This research proposes to use SDN as network management framework and to proceed the load balancing of server by programming.  In load balancing algorithm, we use the concept of server health index as the basis of network flow direction.
Server health index is the synthetic measurement of every status of the server, including CPU loading, software defects, and probable hardware breakdown.  Different service providers can adjust the index’s composing section and the proportion of each section according to the particularity of its service.  This research proposes to acquire the server status in a way of SNMP protocol to read OID table. 
The method of this research adopts Mininet to carry out the experiments by simulations. Meanwhile, it uses Python and JAVA language to practice load balancing algorithm. The experimental result reveals that this research method can replace costly load balancing hardware with software and achieve satisfactory result in SDN framework simultaneously.
第三語言摘要
論文目次
目錄
目錄IV
表目錄VI
圖目錄VII
第一章 緒論 1
1.1 研究背景與動機 1
1.2 研究目的 4
1.3 研究探討 5
第二章 文獻探討 6
2.1 傳統網路之架構與限制 6
2.1.1 統網路之封包轉遞模式 7
2.1.2 SDN架構與技術 8
2.2 SDN架構說明 9
2.2.1 網路設備(Network Devices) 9
2.2.2 南向介面(Southbound Interface) 9
2.2.3 控制器(Controller) 10
2.2.4 北向介面(Northbound Interfaces) 11
2.2.5 應用服務(Services) 11
2.2.6 自動化(Automation) 11
2.3 SDN實作技術	12
2.3.1 運作型態 13
2.3.2 模組相依性 13
2.3.3 SDN控制器啟動程序 14
2.3.4 以Web呈現之網路狀態 14
2.3.5 網路相容性 15
2.4 OpenFlow Protocol 16
2.4.1 Full Match & Wildcard 18
2.5 伺服器叢集負載平衡問題 19
2.5.1 靜態演算法 19
2.5.2 動態調度 20
2.5.3 相關文獻 21
第三章 研究方法 23
3.1 伺服器健康指標 24
3.1.1 伺服器健康指標之正式定義 26
3.2 負載平衡機制 28
3.2.1 最佳健康指標伺服器辨認 28
3.2.2 RESTful API 29
3.2.3 SDN控制器 29
3.2.4 OpenvSwitch 30
3.2.5 伺服器例外狀態排除 30
第四章 研究展示 31
4.1 軟硬體環境 31
4.2 Mininet 32
4.3 實驗展示 33
4.4 負載平衡測試 35
4.5 伺服器例外狀況處理 35
4.6 伺服器安全防護 36
第五章 結論 37
5.1 研究結果 37
5.2 研究限制 38
5.3 未來研究方向 38
參考文獻 39
附錄 43
附錄一.SNMP OID Table 43
附錄二.OpenvSwitch 46
附錄三.Mininet 50

表目錄
表 2 1:OpenFlow Field 16
附錄一 表1 43
附錄一 表2 43
附錄一 表3 44

圖目錄
圖1 1:SDN示意圖 3
圖2 1:傳統網路架構 7
圖2 2:傳統封包轉遞模式 7
圖2 3:SDN架構示意圖 9
圖2 4:OpenDaylight Project 10
圖2 5:Floodlight Controller 12
圖2 6:Services & Listener 13
圖2 7:Module Dependency 13
圖2 8:Floodlight Topology Web UI 14
圖2 9:Floodlight Topology Web UI 14
圖2 10:OVS 連線狀態 15
圖2 11:LLDP & Broadcast 15
圖2 12:OpenFlow運作示意圖 16
圖2 13:Full Match & Wildcard 18
圖3 1:IPMI架構示意圖 25
圖3 2:負載平衡機制 28
圖3 3:RESTful API 29
圖3 4:Floodlight service start 30
圖3 5:伺服器例外狀態處理 30
圖4 1:Mininet官方示意圖 32
圖4 2:Load Balance workflow 33
圖4 3:Python Daemon 33
圖4 4:JAVA Load Balance Application 34
圖4 5:Load Balancing Flow Control 34
圖4 6:Load-Balancing Effective 34
圖4 7:HP httperf test 35
圖4 8:Cluster Server Exception 35
圖4 9:正反解測試 36
圖4 10:icmp(ping) test 36
附錄二圖1:OVS安裝範例 46
附錄二圖2:OVS安裝範例 46
附錄二圖3:OVS安裝範例 46
附錄二圖4:OVS安裝範例 47
附錄二圖5:OVS安裝範例 47
附錄二圖6:OVS安裝範例 47
附錄二圖7:OVS安裝範例 47
附錄二圖8:OVS安裝範例 48
附錄二圖9:OVS安裝範例 48
附錄二圖10:OVS安裝測試 49
附錄二圖11:OVS Fail mode-1 49
附錄二圖12:OVS Fail mode-2 49
附錄三圖1:Mininet安裝範例 50
附錄三圖2:Mininet安裝測試 50
附錄三圖3:Mininet網路拓撲-1 52
附錄三圖4:Mininet網路拓撲-2 52
附錄三圖5:研究網路環境測試 52
參考文獻
一、中文部份
[1]思科系統,<全球網路流量預計到2015年將成長至目前四倍>,
網址:http://www.cisco.com/web/TW/about/news/news_20110621.html,上網日期:2014年03月12日。
[2]陳建伯,《突波式流量之網頁伺服器負載平衡架構的研究》,博士論文,大同學大學資訊工程研究所,2008。
[3]陳信宏,《網頁伺服器負載平衡架構效能之比較》,碩士論文,大同學大學資訊工程研究所,2009。
[4]張衛峰,<走近Google基於SDN的B4網路>,CSDN,程序員雜誌,2013。網址:http://www.csdn.net/article/2013-11-26/2817613,上網日期:2014年03月16日。
[5]謝宗哲,《以PC叢集架構設計虛擬電腦教室兼具負載平衡之研究》,碩士論文,崑山科技大學數位生活科技研究所,2011。
[6]羅志傑,《在網格環境中設計並實作一個以模糊神經網路為基礎之高效能負載平衡演算法》,碩士論文,中華大學資訊工程學系,2007。

二、英文部份
[7]Fielding, R. T.《Architectural styles and the design of network-based software architectures.》Doctoral dissertation, University of California, Irvine, 2000. pp.76-106.
[8]Flask API project:http://www.flaskapi.org/,
accessed:2014/04/01.
[9]Floodlight, Floodlight project:
http://www.projectfloodlight.org/floodlight/,
accessed:2014/04/02.
[10]Guo,Z., Su,M.,Xu,Y.,Duan,Z.,Wang,L.,Hui,S.,& Chao, H. J. “Improving the performance of load balancing in software- defined networks through load variance-based synchronization Computer Networks”,2014.
[11]HP Lab, httperf project:
http://sourceforge.net/projects/httperf/,accessed 2014/05/16.
[12]Intel, “Intelligent Platform Management Interface”(IPMI):
http://www.intel.com.tw/content/www/tw/zh/servers/ipmi/ipmi-home.html/,accessed:2014/05/10.
[13]ISO/IEC-7498,1994, OSI 7 Layer:
https://www.iso.org/obp/ui/#iso:std:iso-iec:7498:-1:ed-1:v2:en/,accessed:2014/05/12.
[14]ISO Official Website:http://www.iso.org/iso/home.html/, accessed:2014/05/12.
[15]ITU-T Official Website:http://www.itu.int/en/ITU-T/Pages/default.aspx/, accessed 2014/05/20.
[16]Zhang, W.“Linux Virtual Server for Scalable Network Services”http://www.linuxvirtualserver.org/ols/lvs.pdf/, accessed:2014/05/25.
[17]McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., ... & Turner, J. OpenFlow: “enabling innovation in campus networks.” ACM SIGCOMM Computer Communication Review, 2008.
[18]Mininet, Mininet project:http://mininet.org/,
accessed:2014/06/03.
[19]Net-SNMP, MIB OID:http://www.net-snmp.org/docs/mibs/, accessed:2014/07/10.
[20]Net-SNMP,Net-SNMP project:http://www.net-snmp.org/, accessed:2014/07/10.
[21]ODL,OpenDayLight project:http://www.opendaylight.org/, accessed:2014/07/14.
[22]Top500.org,2014/11:
http://www.top500.org/lists/2014/11/,accessed:2015/01/01.
[23]OpenFlow,OpenFlow project:
https://www.opennetworking.org,accessed:2014/07/13.
[24]OpenvSwitch project:http://openvswitch.org/,
accessed:2014/07/13.
25]Shih, P.-C,《Design and Implementation of a Resource Broker with Network Performance Model on Grid Computing Environments.》Master Thesis, Tunghai University, 2005.
[26]SSong, E-H., Jeon, Y-S., Han, S-K., Jeong, Y.-S., “Hierarchical and Dynamic Information Management Framework on Grid Computing”,International Federation for Information Processing, 2006,pp.151-161.
[27]Ted Schadler, Forrester, 2013,Forrester Wave On The File Sync And Share Market In 2013:
http://blogs.forrester.com/ted_schadler/13-07-10-forrester_wave_on_the_file_sync_and_share_market_in_2013/, accessed:2014/07/15.
[28]ONF,OpenNetwork Foundation:
https://www.opennetworking.org/,accessed:2014/07/20.
[29]Yan, K-Q.,Wang,S.-C.,Chang,C,-P.,Lin.,“A hybrid load balancing policy underlying grid computing environment,”
International Journal of Computer Standards & Interfaces 29, 2007,pp.161-173.
[30]Yang, L,-A.《The Design and Implementation of a Dynamic 
Resource Broker Framework in a Grid Environment.》Master Thesis,Chung Hua University, 2006.
論文全文使用權限
校內
紙本論文於授權書繳交後3年公開
同意電子論文全文授權校園內公開
校內電子論文於授權書繳交後3年公開
校外
同意授權
校外電子論文於授權書繳交後3年公開

如有問題,歡迎洽詢!
圖書館數位資訊組 (02)2621-5656 轉 2487 或 來信