基于sdn的網(wǎng)絡(luò)帶寬保障系統(tǒng)畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  本 科 畢 業(yè) 設(shè) 計(論文)</p><p>  題 目:基于SDN的網(wǎng)絡(luò)帶寬保障系統(tǒng)</p><p><b>  ——流量分析</b></p><p><b>  學(xué)生姓名: </b></p><p><b>  學(xué) 號: </b></p

2、><p>  專業(yè)班級:計算機(jī)科學(xué)與技術(shù)11-1班</p><p><b>  指導(dǎo)教師: </b></p><p>  2015年6月14日</p><p>  基于SDN的網(wǎng)絡(luò)帶寬保障系統(tǒng)</p><p><b>  ——流量分析</b></p><p&g

3、t;<b>  摘 要</b></p><p>  為解決傳統(tǒng)網(wǎng)絡(luò)在發(fā)展過程中出現(xiàn)的一系列問題,SDN技術(shù)應(yīng)運而生。由于數(shù)據(jù)中心數(shù)據(jù)流量巨大,設(shè)備管理復(fù)雜,對服務(wù)器和虛擬機(jī)的快速配置和數(shù)據(jù)遷移都有較高的要求,SDN的應(yīng)用可以提高數(shù)據(jù)交換的效率,增加數(shù)據(jù)中心可控性。但數(shù)據(jù)中心一般只盡力轉(zhuǎn)發(fā)多種業(yè)務(wù),并不為某一業(yè)務(wù)提供額外的帶寬保障。為確保某些關(guān)鍵業(yè)務(wù)的服務(wù)質(zhì)量得到保障,需要為其進(jìn)行帶寬預(yù)留與

4、保障。</p><p>  本課題旨在研究通過SDN控制器利用REST API獲取網(wǎng)絡(luò)信息,并經(jīng)過處理轉(zhuǎn)化為直觀的圖形用戶界面顯示。通過流量監(jiān)控客戶端,用戶可直接觀察全網(wǎng)拓?fù)浜蛯崟r的流量狀態(tài),為下達(dá)保障策略提供支持。</p><p>  關(guān)鍵詞:SDN;流量監(jiān)控;帶寬保障;圖形顯示</p><p>  Network Bandwidth Guarantee Syst

5、em Based on SDN</p><p>  ——Traffic Analysis</p><p><b>  Abstract</b></p><p>  In order to solve a set of problems arising during the process of the traditional network d

6、evelopment, SDN technology emerges as the time requires. As data flows are so overwhelming, devices management could be very complicated, and rapid configurations for servers and virtual machines as well as data transfer

7、 are all highly required. The application of SDN can improve the efficiency of the data exchange and enhance the controllability of the data center. But generally, data center can only try </p><p>  This the

8、sis is designed to study how to acquire network information through SDN controller using REST API, and transform the information to be displayed in the graphic user interface intuitively after being processed. Users can

9、observe the whole network topology and real-time traffic status directly from the traffic monitoring client, which can offer support to the decision of how to schedule guarantee policy.</p><p>  Key Words:SD

10、N;Traffic Monitoring;Bandwidth Guarantee;Graphic Display</p><p><b>  目 錄</b></p><p><b>  第1章 引言1</b></p><p>  1.1 課題背景及研究意義1</p><p>  1.1.1

11、課題背景1</p><p>  1.1.2 課題研究意義2</p><p>  1.2 課題研究任務(wù)與主要內(nèi)容2</p><p>  1.3 論文組織結(jié)構(gòu)2</p><p>  第2章 SDN基本理論知識4</p><p>  2.1 軟件定義網(wǎng)絡(luò)(SDN)簡介4</p><p>

12、  2.2 Floodlight控制器簡介5</p><p>  2.3 OpenFlow1.3協(xié)議簡介6</p><p>  2.4 Mininet環(huán)境簡介7</p><p>  第3章 系統(tǒng)需求分析8</p><p>  3.1 系統(tǒng)功能性需求分析8</p><p>  3.1.1 獲取網(wǎng)絡(luò)信息8&l

13、t;/p><p>  3.1.2 網(wǎng)絡(luò)信息的分析與格式化8</p><p>  3.1.3 全網(wǎng)拓?fù)滹@示8</p><p>  3.1.4 流量分析與顯示8</p><p>  3.2 系統(tǒng)非功能性需求分析9</p><p>  3.2.1 實用性9</p><p>  3.2.2 可擴(kuò)展

14、性9</p><p>  3.2.3 界面需求9</p><p>  3.3 系統(tǒng)開發(fā)環(huán)境9</p><p>  第4章 系統(tǒng)設(shè)計及實現(xiàn)10</p><p>  4.1 系統(tǒng)概要設(shè)計10</p><p>  4.2 系統(tǒng)模塊劃分11</p><p>  4.3 系統(tǒng)工作過程11&l

15、t;/p><p>  4.4 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)12</p><p>  4.4.1 流量監(jiān)控分析類圖12</p><p>  4.4.2 向控制器發(fā)出REST請求13</p><p>  4.4.3 JSON格式數(shù)據(jù)的轉(zhuǎn)換14</p><p>  4.4.4 顯示網(wǎng)絡(luò)拓?fù)?5</p><p&

16、gt;  4.4.5 顯示端口流量狀態(tài)16</p><p>  第5章 系統(tǒng)運行測試17</p><p>  5.1 系統(tǒng)測試準(zhǔn)備17</p><p>  5.1.1 啟動Mininet仿真軟件17</p><p>  5.1.2 啟動Floodlight控制器17</p><p>  5.1.3 使用pu

17、tty遠(yuǎn)程登錄Mininet18</p><p>  5.2 用戶自定義網(wǎng)絡(luò)拓?fù)錅y試19</p><p>  5.2.1 自定義拓?fù)淠_本19</p><p>  5.2.2 搭建網(wǎng)絡(luò)拓?fù)?0</p><p>  5.2.3 流量監(jiān)控系統(tǒng)監(jiān)控情況21</p><p>  5.2.4 流量狀態(tài)真實性檢驗22&l

18、t;/p><p>  5.3 Mininet樹狀網(wǎng)絡(luò)拓?fù)錅y試24</p><p>  第6章 總結(jié)與展望26</p><p>  6.1 課題研究總結(jié)26</p><p>  6.2 系統(tǒng)不足之處26</p><p>  6.3 收獲與體會26</p><p>  6.4 課題研究展望

19、27</p><p><b>  致 謝28</b></p><p><b>  參考文獻(xiàn)29</b></p><p><b>  第1章 引言</b></p><p>  1.1 課題背景及研究意義</p><p>  1.1.1 課題背景&l

20、t;/p><p>  始于1969年的互聯(lián)網(wǎng)至今已有40多年的歷史。它的出現(xiàn),為來自世界各地的人們進(jìn)行信息通信、資源共享和實時交流搭建了一個全新的開放平臺,對人們的學(xué)習(xí)、工作、生活等方方面面都產(chǎn)生了深刻的影響。然而,隨著互聯(lián)網(wǎng)應(yīng)用的日益廣泛,網(wǎng)絡(luò)需要服務(wù)的業(yè)務(wù)類型不斷增長,網(wǎng)絡(luò)的規(guī)模也不斷擴(kuò)大,日益變得臃腫?;ヂ?lián)網(wǎng)結(jié)構(gòu)和功能的日趨復(fù)雜,導(dǎo)致網(wǎng)絡(luò)的管理難度不斷增加,新功能難以被部署到現(xiàn)有網(wǎng)絡(luò)框架中,即便部署速度也相當(dāng)緩

21、慢。新需求的不斷涌現(xiàn)促使人們開始考慮重新設(shè)計網(wǎng)絡(luò)體系結(jié)構(gòu)。此時SDN的出現(xiàn)為解決傳統(tǒng)網(wǎng)絡(luò)問題點燃了希望[1]。</p><p>  SDN作為一種新型的網(wǎng)絡(luò)架構(gòu),打破了傳統(tǒng)的網(wǎng)絡(luò)設(shè)計理念。SDN具有兩個重要的屬性:一是實現(xiàn)了數(shù)據(jù)平面和控制平面的分離,從而實現(xiàn)了邏輯集中式控制;二是開放了網(wǎng)絡(luò)可編程能力,從而實現(xiàn)了網(wǎng)絡(luò)的靈活可定義,便于管控[2]。盡管作為一種全新的網(wǎng)絡(luò)理念,SDN在實際部署與運營中因缺乏經(jīng)驗而面臨種

22、種挑戰(zhàn),但它卻為解決傳統(tǒng)網(wǎng)絡(luò)運營中出現(xiàn)的問題提供了新的解決思路。包括網(wǎng)絡(luò)安全、流量管控、性能優(yōu)化及QoS在內(nèi)的多個網(wǎng)絡(luò)熱點問題已成為SDN研究領(lǐng)域的焦點[3]。</p><p>  數(shù)據(jù)中心通常會為租戶提供多種業(yè)務(wù)服務(wù)。但數(shù)據(jù)中心一般只盡力轉(zhuǎn)發(fā),并不為某一業(yè)務(wù)所需的額外帶寬提供保障。由于人們在觀看網(wǎng)絡(luò)視頻資源、瀏覽靜態(tài)網(wǎng)頁或收看收聽網(wǎng)絡(luò)直播的過程中,相同的資源內(nèi)容在網(wǎng)絡(luò)中重復(fù)傳輸,造成了多媒體流量嚴(yán)重冗余,嚴(yán)重消

23、耗了大量網(wǎng)絡(luò)帶寬資源。當(dāng)用戶對某一特定業(yè)務(wù)有較高的帶寬需求時,其需要不能得到較好的保證,影響所需服務(wù)的正常運轉(zhuǎn)[4]。比如,在召開視頻會議時,人們希望對與視頻會議相關(guān)的流量優(yōu)先保證其帶寬需求,以確保視頻會議流暢進(jìn)行。利用SDN強(qiáng)大的集中管控能力,可以實現(xiàn)對網(wǎng)絡(luò)中多種類型流量的靈活調(diào)度,實現(xiàn)不同優(yōu)先級的帶寬保障,從而有效降低網(wǎng)絡(luò)中不必要的冗余流量,實現(xiàn)人性化、個性定制的用戶體驗。</p><p>  1.1.2 課

24、題研究意義</p><p>  在本次畢業(yè)設(shè)計課題研究中,通過對SDN的理念及其相關(guān)技術(shù)的學(xué)習(xí)和應(yīng)用,對數(shù)據(jù)中心多種流量中的某種特定業(yè)務(wù)(如視頻會議)的流量提供適當(dāng)?shù)膸掝A(yù)留,為良好的服務(wù)體驗提供保障。通過課題研究,了解SDN的網(wǎng)絡(luò)架構(gòu)理念,比較SDN新型網(wǎng)絡(luò)架構(gòu)與傳統(tǒng)網(wǎng)絡(luò)架構(gòu)之間的不同。在具體的系統(tǒng)設(shè)計與實現(xiàn)過程中,掌握Floodlight控制器的相關(guān)理論知識和模塊添加的方式,熟悉Mininet網(wǎng)絡(luò)仿真環(huán)境的使

25、用;學(xué)習(xí)并熟悉OpenFlow1.3協(xié)議,掌握通過RestAPI實現(xiàn)交互的方式;掌握利用JSON處理數(shù)據(jù)的方法。通過監(jiān)控網(wǎng)絡(luò)中各業(yè)務(wù)流量的實時狀態(tài),對網(wǎng)絡(luò)流量數(shù)據(jù)的收集和處理,并以圖形化的方式將網(wǎng)絡(luò)拓?fù)浜土髁克俾手庇^展現(xiàn)出來,為提高指定業(yè)務(wù)帶寬或限制其他業(yè)務(wù)流量提供參考,為帶寬保障的實現(xiàn)做好準(zhǔn)備。</p><p>  1.2 課題研究任務(wù)與主要內(nèi)容</p><p>  本課題將通過設(shè)計出一

26、種流量監(jiān)控與分析系統(tǒng),對網(wǎng)絡(luò)中的流量速率情況進(jìn)行實時的捕捉和分析,以監(jiān)測其是否達(dá)到預(yù)設(shè)的閾值。當(dāng)網(wǎng)絡(luò)中的總體流量超過承載能力,同時又存在某些業(yè)務(wù)需要優(yōu)先保障其服務(wù)質(zhì)量的情況時,控制器需要下達(dá)某種策略從而優(yōu)先保證指定業(yè)務(wù)所需的帶寬。這種策略可以是對指定業(yè)務(wù)的帶寬予以提高,亦或者是限制其他類型業(yè)務(wù)的流量。由此,即可實現(xiàn)對數(shù)據(jù)中心某一指定業(yè)務(wù)的帶寬予以保障,從而實現(xiàn)網(wǎng)絡(luò)QoS的實時管控。</p><p>  為順利完成

27、流量監(jiān)控分析系統(tǒng)的設(shè)計與實現(xiàn),需要熟悉SDN的基本原理、Floodlight開源控制器的模塊架構(gòu)和使用、OpenFlow1.3協(xié)議的傳輸機(jī)制,學(xué)會利用Mininet仿真軟件搭建網(wǎng)絡(luò)實驗拓?fù)浜湍M環(huán)境。通過控制器利用OpenFlow1.3協(xié)議收集到的網(wǎng)絡(luò)信息,分析并計算出交換機(jī)的端口速率,將網(wǎng)絡(luò)拓?fù)渫ㄟ^圖形直觀展現(xiàn)出來,同時將端口速率情況通過折線圖向用戶呈現(xiàn)。圖形界面方便后期判斷鏈路占用是否超過閾值,以便下一步流量調(diào)度和帶寬保障策略的實施

28、。</p><p>  1.3 論文組織結(jié)構(gòu)</p><p>  本篇論文共分為6章。各章節(jié)按以下內(nèi)容組織編排:</p><p>  第1章:引言。本章主要介紹畢業(yè)設(shè)計課題的研究背景、研究意義、課題研究任務(wù)與主要內(nèi)容并介紹論文的組織結(jié)構(gòu)。</p><p>  第2章:SDN基本理論知識。本章主要介紹畢業(yè)設(shè)計課題所涉及的SDN基本理論知識,包括

29、SDN基本概念、Floodlight開源控制器、OpenFlow1.3協(xié)議、Mininet仿真系統(tǒng)、輕量級數(shù)據(jù)交換格式JSON等,以及系統(tǒng)實現(xiàn)所需的TWaver開發(fā)工具包等相關(guān)技術(shù)和開發(fā)工具。</p><p>  第3章:系統(tǒng)需求分析。本章主要對系統(tǒng)預(yù)期的功能需求進(jìn)行分析,對系統(tǒng)進(jìn)行概要性設(shè)計,并詳細(xì)介紹各個模塊的設(shè)計思想。</p><p>  第4章:系統(tǒng)設(shè)計及實現(xiàn)。本章主要針對系統(tǒng)的具

30、體設(shè)計與實現(xiàn),對系統(tǒng)的各個功能模塊的實現(xiàn)方法進(jìn)行了詳細(xì)的闡述與解釋。</p><p>  第5章:系統(tǒng)測試。本章主要通過不同的網(wǎng)絡(luò)拓?fù)溲菔鞠到y(tǒng)已有的流量監(jiān)控和分析功能。</p><p>  第6章:總結(jié)與展望。本章主要對畢業(yè)設(shè)計課題的研究工作進(jìn)行總結(jié),分析現(xiàn)有系統(tǒng)的優(yōu)點和不足之處,為后續(xù)的完善和優(yōu)化提供參考。</p><p>  第2章 SDN基本理論知識<

31、/p><p>  2.1 軟件定義網(wǎng)絡(luò)(SDN)簡介</p><p>  SDN全稱為Software Defined Networks,即軟件定義網(wǎng)絡(luò),最初是由美國斯坦福大學(xué)提出的一種新式的網(wǎng)絡(luò)范型。這種新式網(wǎng)絡(luò)體系結(jié)構(gòu)方式簡化了網(wǎng)絡(luò)操作,將應(yīng)用與網(wǎng)絡(luò)服務(wù)、設(shè)備之間的交互更緊密地結(jié)合在一起。SDN通常采用邏輯上的集中式網(wǎng)絡(luò)控制(通常認(rèn)為由SDN控制器來實現(xiàn))。SDN控制器組織并協(xié)調(diào)應(yīng)用程序與

32、網(wǎng)絡(luò)設(shè)備之間的交互,促進(jìn)網(wǎng)絡(luò)設(shè)備間的通信。同時,SDN控制器提供界面友好、雙向交互的現(xiàn)代化編程接口,抽象并展現(xiàn)網(wǎng)絡(luò)操作,實現(xiàn)人性化網(wǎng)絡(luò)管控[5]。</p><p>  SDN并不是某種具體的技術(shù)。它只是一種網(wǎng)絡(luò)設(shè)計理念,打破傳統(tǒng)網(wǎng)絡(luò)的思維模式,重新規(guī)劃了網(wǎng)絡(luò)的各個組成部分。SDN有兩個重要的屬性:一是通過將數(shù)據(jù)平面和控制平面的分離,實現(xiàn)邏輯上的集中管控;二是提供開放的可編程接口(通常也稱作“北向接口”)實現(xiàn)網(wǎng)絡(luò)功

33、能的靈活可定義。此外,SDN還具有硬件轉(zhuǎn)發(fā)面配置的標(biāo)準(zhǔn)化(通常指南向接口)、集中化的網(wǎng)絡(luò)控制以及網(wǎng)絡(luò)業(yè)務(wù)的自動化應(yīng)用程序控制等特點[6]。</p><p>  SDN的基本架構(gòu)如圖2-1所示:</p><p>  圖2-1 SDN架構(gòu)圖</p><p>  在SDN架構(gòu)中有五個主要組成部分:控制器、網(wǎng)絡(luò)設(shè)備、北向接口、南向接口和應(yīng)用服務(wù)??刂破魈幱诩軜?gòu)的核心地位,可

34、控制多臺網(wǎng)絡(luò)設(shè)備,一般運行在一臺單獨的服務(wù)器上。網(wǎng)絡(luò)設(shè)備與傳統(tǒng)的交換機(jī)根據(jù)轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)數(shù)據(jù)包不同。傳統(tǒng)交換機(jī)根據(jù)一定的策略生成自身的轉(zhuǎn)發(fā)表,當(dāng)收到數(shù)據(jù)包時可自行決定如何處理數(shù)據(jù)包[7]。而SDN架構(gòu)中的交換機(jī)則是一種“傻瓜式”的交換機(jī),不能自行生成轉(zhuǎn)發(fā)表來確定如何轉(zhuǎn)發(fā)數(shù)據(jù)包,必須由控制器通過OpenFlow協(xié)議下達(dá)一個名為“流表”的表項給交換機(jī),交換機(jī)根據(jù)流表內(nèi)容確定處理收到的數(shù)據(jù)包的方式。南向接口就是控制器與網(wǎng)絡(luò)設(shè)備進(jìn)行通信的接口。北向

35、接口是控制平面與上層應(yīng)用服務(wù)之間的接口。應(yīng)用層面的服務(wù)不再依賴任何路由協(xié)議,用戶可自行定義服務(wù)類型和方法,以滿足特定需求。</p><p>  SDN技術(shù)起源于校園網(wǎng),目前廣泛研究并應(yīng)用于數(shù)據(jù)中心和企業(yè)網(wǎng)絡(luò)。在安全領(lǐng)域,SDN也日益發(fā)揮著重要的作用。</p><p>  2.2 Floodlight控制器簡介</p><p>  Floodlight是一款開源控制器

36、,基于Java語言,支持OpenFlow協(xié)議。它使用“層次化”架構(gòu)來實現(xiàn)控制器的功能,并提供了種類繁多的應(yīng)用,可直接將數(shù)據(jù)轉(zhuǎn)發(fā)、拓?fù)浒l(fā)現(xiàn)等功能部署到網(wǎng)絡(luò)中。Floodlight的Web管理界面方便用戶查看實時的網(wǎng)絡(luò)拓?fù)湫畔?、交換機(jī)和主機(jī)信息。Floodlight通過向OpenFlow交換機(jī)下發(fā)流表的方式實現(xiàn)對交換設(shè)備的集中控制和管理,從而實現(xiàn)了SDN的數(shù)據(jù)控制分離的理念。</p><p>  Floodlight

37、整體架構(gòu)如圖2-2所示。</p><p>  圖2-2 Floodlight整體架構(gòu)圖</p><p>  Floodlight整體架構(gòu)由控制器核心功能以及運行在控制器上的應(yīng)用組成。應(yīng)用和控制器之間可以通過Java接口或REST API (Representational State Transfer API)交互。從功能的角度看,F(xiàn)loodlight可以視為由控制器核心服務(wù)模塊、普通應(yīng)用

38、模塊和REST應(yīng)用模塊三部分組成[8]。開發(fā)人員可以根據(jù)系統(tǒng)提供的API創(chuàng)建應(yīng)用,也可以自行添加所需的模塊。這種模塊化、分層次的部署方式有效實現(xiàn)了控制器的可擴(kuò)展性。</p><p>  2.3 OpenFlow1.3協(xié)議簡介</p><p>  OpenFlow是一種新型的網(wǎng)絡(luò)協(xié)議,目前用作控制器和交換機(jī)之間的標(biāo)準(zhǔn)協(xié)議。支持OpenFlow1.3協(xié)議的交換機(jī)的組成要素如圖2-3所示:<

39、;/p><p>  圖2-3 OpenFlow1.3協(xié)議的架構(gòu)</p><p>  OpenFlow交換機(jī)使用基于安全連接的OpenFlow協(xié)議與控制器進(jìn)行通信。OpenFlow引入了“流”的概念?!傲鳌笔峭ㄟ^提取每次通信產(chǎn)生的數(shù)據(jù)分組的共同特征,從而將本次通信的大量數(shù)據(jù)分組抽象成一個“流”。使用OpenFlow協(xié)議,控制器就可以根據(jù)某次通信中“流”的第一個數(shù)據(jù)分組的特征通過協(xié)議提供的接口對數(shù)

40、據(jù)平面設(shè)備(即OpenFlow交換機(jī))部署相關(guān)策略。這種策略被稱為“流表”。本次通信的后續(xù)數(shù)據(jù)分組按照下發(fā)到OpenFlow交換機(jī)中的相應(yīng)流表進(jìn)行匹配、轉(zhuǎn)發(fā),從而實現(xiàn)了軟件和硬件的“解耦”,網(wǎng)絡(luò)設(shè)備不再受某種特定網(wǎng)絡(luò)協(xié)議的約束[9]。這也體現(xiàn)了SDN數(shù)據(jù)平面與控制平面分離的核心思想。</p><p>  OpenFlow協(xié)議支持三種類型的消息:controller-to-switch、asynchronous、s

41、ymmetric。其中,controller-to-switch消息由控制器發(fā)起,用于管理或檢查交換機(jī)的狀態(tài);asynchronous消息由OpenFlow交換機(jī)發(fā)起,用于將網(wǎng)絡(luò)事件的更新和交換機(jī)狀態(tài)的改變告知控制器;symmetric消息可由控制器或OpenFlow交換機(jī)中的任何一方發(fā)起[10]。</p><p>  OpenFlow1.3協(xié)議是OpenFlow1.0協(xié)議的演進(jìn)版本。與OpenFlow1.0不同

42、的是,OpenFlow1.3協(xié)議增加了多級流表和組表的概念,還增加了基于流的計量(Meter)和數(shù)據(jù)包處理的動作類型,同時修改了數(shù)據(jù)包特征匹配的描述方法(match方法)[11]。相比之下,OpenFlow1.3協(xié)議內(nèi)容更為復(fù)雜,功能也更為強(qiáng)大。</p><p>  2.4 Mininet環(huán)境簡介</p><p>  Mininet是一種輕量級的進(jìn)程虛擬化網(wǎng)絡(luò)仿真工具。通過Mininet,

43、只需要一行簡單的命令就能夠創(chuàng)建任意一個支持SDN的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并進(jìn)行相關(guān)測試,方便靈活[12]。更為重要的是,通過Mininet驗證的網(wǎng)絡(luò)設(shè)計可以輕松遷移至真實的設(shè)備環(huán)境中,使得為網(wǎng)絡(luò)添加新功能并予以測試的過程更為便捷,真正實現(xiàn)了理論與實踐的無縫銜接[13]。Mininet主要包括以下幾個特性:</p><p>  靈活性:可通過軟件方式快速創(chuàng)建各種復(fù)雜的、用戶自定義網(wǎng)絡(luò)拓?fù)?,縮短開發(fā)及測試周期,并支持系統(tǒng)級的

44、還原測試。提供Python API,簡化使用。</p><p>  可移植性:Mininet支持OpenFlow、OpenvSwitch等軟件定義的網(wǎng)絡(luò)部件,經(jīng)Mininet測試過的設(shè)計可輕松移植到支持OpenFlow的硬件設(shè)備上。</p><p>  可擴(kuò)展性:可支持成百上千個節(jié)點的網(wǎng)絡(luò)結(jié)構(gòu)。</p><p>  真實性:Mininet模擬真實網(wǎng)絡(luò)環(huán)境,運行的協(xié)議

45、棧也與實際使用的相同,可運行真實的程序。</p><p>  第3章 系統(tǒng)需求分析</p><p>  本系統(tǒng)通過向SDN控制器發(fā)送REST請求得到網(wǎng)絡(luò)中與設(shè)備、交換機(jī)、端口等的相關(guān)信息,將得到的JSON格式的網(wǎng)絡(luò)信息數(shù)據(jù)格式化,轉(zhuǎn)化成相應(yīng)的模式,將全網(wǎng)拓?fù)湫畔⑼ㄟ^圖形直觀展現(xiàn)出來。同時,通過得到的信息進(jìn)行流量分析,并將實時的流量狀態(tài)以圖表的形式直觀展現(xiàn)給用戶。</p>&

46、lt;p>  3.1 系統(tǒng)功能性需求分析</p><p>  3.1.1 獲取網(wǎng)絡(luò)信息</p><p>  啟動SDN控制器并搭建網(wǎng)絡(luò)拓?fù)渲?,通過向SDN控制器發(fā)送REST請求,得到網(wǎng)絡(luò)中與設(shè)備、交換機(jī)、端口、鏈路等相關(guān)的JSON格式的數(shù)據(jù),為進(jìn)一步分析做好準(zhǔn)備。所有的請求和接收都是通過HTTP包完成的。</p><p>  3.1.2 網(wǎng)絡(luò)信息的分析與格式

47、化</p><p>  使用Jackson將通過REST請求得到的JSON格式的數(shù)據(jù)格式化,轉(zhuǎn)化為相應(yīng)的模式。轉(zhuǎn)化后的數(shù)據(jù)被存放在統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)中,供接下來流量分析和拓?fù)滹@示所使用。</p><p>  3.1.3 全網(wǎng)拓?fù)滹@示</p><p>  使用TWaver圖形界面開發(fā)工具包,根據(jù)已轉(zhuǎn)換的網(wǎng)絡(luò)信息數(shù)據(jù)繪制全網(wǎng)拓?fù)洌燥@示網(wǎng)絡(luò)中的設(shè)備和設(shè)備間的鏈路連接信息,并

48、在客戶端以直觀的圖形界面形式展現(xiàn)給用戶。</p><p>  3.1.4 流量分析與顯示</p><p>  利用格式化后的JSON數(shù)據(jù),采用一定的算法計算網(wǎng)絡(luò)中的交換機(jī)每個端口的流量情況。同時設(shè)計一個線程作為定時器,每隔5秒向SDN控制器發(fā)送REST請求,以便動態(tài)獲取交換機(jī)端口信息,從而實現(xiàn)實時的流量監(jiān)控。將交換機(jī)的端口信息存放在一一映射的數(shù)據(jù)結(jié)構(gòu)中。當(dāng)選定某一交換機(jī)時,該交換機(jī)所有端口

49、的相關(guān)信息就會顯示在表格中;選定表格中的某一端口,即可在折線圖中實時顯示并更新交換機(jī)端口的流量狀態(tài)情況。</p><p>  3.2 系統(tǒng)非功能性需求分析</p><p><b>  3.2.1 實用性</b></p><p>  數(shù)據(jù)中心中的多種業(yè)務(wù)產(chǎn)生的巨大流量極易造成網(wǎng)絡(luò)的擁塞,使得網(wǎng)絡(luò)中某些關(guān)鍵業(yè)務(wù)的帶寬需求得不到很好的保障。當(dāng)某些服務(wù)

50、需要額外的帶寬時,就要求采取一些限流與優(yōu)先提供帶寬的保障策略,確保服務(wù)質(zhì)量。為了實現(xiàn)業(yè)務(wù)流帶寬實時保障,需要對網(wǎng)絡(luò)中的流量狀態(tài)進(jìn)行實時監(jiān)控。當(dāng)網(wǎng)絡(luò)中出現(xiàn)擁塞,流量達(dá)到某一指定閾值時,就可及時采取調(diào)度策略,確保網(wǎng)絡(luò)中的指定業(yè)務(wù)正常運行。流量監(jiān)控系統(tǒng)可以為帶寬保障策略提供調(diào)度依據(jù)。</p><p>  3.2.2 可擴(kuò)展性</p><p>  本系統(tǒng)可以顯示全網(wǎng)拓?fù)浜徒粨Q機(jī)各端口的基本信息及實

51、時流量情況。其信息均是通過向SDN控制器發(fā)送REST請求獲得的。事實上,REST請求得到的信息有很多,在此只是顯示了與流量相關(guān)的一些基本內(nèi)容,系統(tǒng)處于研發(fā)的初級階段。隨著學(xué)習(xí)和優(yōu)化的不斷深入,該系統(tǒng)可擴(kuò)展成依據(jù)不同的需求顯示所需信息。</p><p>  3.2.3 界面需求</p><p>  本系統(tǒng)可顯示SDN控制器的基本狀態(tài)信息、全網(wǎng)拓?fù)浜土髁繉崟r變化情況,界面簡潔明了,用戶能夠清晰

52、獲取所需的各端口的實時流量狀態(tài)情況。</p><p>  3.3 系統(tǒng)開發(fā)環(huán)境</p><p>  本系統(tǒng)主要使用Java語言作為主要開發(fā)語言。由于該系統(tǒng)并非適用于某一個或某幾種特定的拓?fù)浣Y(jié)構(gòu),而是適用于任何拓?fù)浼軜?gòu),為了通過Mininet仿真軟件模擬網(wǎng)絡(luò)環(huán)境,需要使用Python語言編寫拓?fù)淠_本。</p><p>  Mininet 2.2.0不能夠在Window

53、s平臺下運行,需要安裝在Linux系統(tǒng)中才能支持網(wǎng)絡(luò)拓?fù)涞拇罱?。SDN開源控制器Floodlight 1.0支持跨平臺運行,在本系統(tǒng)開發(fā)中為加快運行效率,將在Windows平臺下運行SDN控制器。</p><p>  使用Eclipse 4.4.2軟件作為流量監(jiān)控系統(tǒng)的主要開發(fā)平臺,在Eclipse中安裝swt開發(fā)包用作編輯圖形用戶界面的框架。使用Jackson轉(zhuǎn)換請求到的JSON數(shù)據(jù)包。使用TWaver圖形界面

54、工具包顯示全網(wǎng)拓?fù)洹?lt;/p><p>  第4章 系統(tǒng)設(shè)計及實現(xiàn)</p><p>  4.1 系統(tǒng)概要設(shè)計</p><p>  SCRAT-Floodlight帶寬保障系統(tǒng)中的流量監(jiān)控模塊是前臺的客戶端,可供用戶查看控制器的狀態(tài)、全網(wǎng)拓?fù)浣Y(jié)構(gòu)以及各端口的實時流量狀態(tài)等信息。該客戶端采用MVC設(shè)計模式進(jìn)行開發(fā),分為模型(Model)、視圖(View)和控制器(Cont

55、roller)三部分。整個流量監(jiān)控分析系統(tǒng)分為REST請求模塊、JSON轉(zhuǎn)換模塊以及用戶界面模塊這三大主要功能模塊。</p><p>  該系統(tǒng)的模塊功能圖如圖4-1所示。</p><p>  圖4-1 SCRAT-Floodlight帶寬保障系統(tǒng)模塊功能圖</p><p>  REST請求模塊:主要提供HTTP服務(wù)。該模塊主要包括GET、POST、DELETE三大

56、請求方式。用戶可以在客戶端通過該模塊向Floodlight控制器發(fā)送REST請求,以便從控制器獲得JSON格式的數(shù)據(jù)。這些數(shù)據(jù)中包含與控制器有關(guān)的信息(如控制器狀態(tài)、控制器模塊、控制器中的策略等)以及與設(shè)備相關(guān)的信息(如交換機(jī)、鏈路、設(shè)備、端口等相關(guān)信息)。</p><p>  JSON轉(zhuǎn)換模塊:該模塊用于將通過REST請求從控制器得到的JSON格式的數(shù)據(jù)轉(zhuǎn)化為響應(yīng)的模型(包括控制器、交換機(jī)、設(shè)備、鏈路、端口等模

57、型),以便在視圖中予以顯示。</p><p>  用戶界面模塊:即MVC設(shè)計模式中的視圖部分,可通過圖形用戶界面將控制器狀態(tài)信息、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)以及交換機(jī)端口流量信息向用戶直觀展現(xiàn)。</p><p>  4.2 系統(tǒng)模塊劃分</p><p>  通過對系統(tǒng)分析,流量監(jiān)控分析系統(tǒng)主要分為兩大模塊:請求與轉(zhuǎn)化模塊、圖形界面顯示模塊。進(jìn)一步進(jìn)行劃分,可分為4個小模塊:RES

58、T請求、JSON數(shù)據(jù)轉(zhuǎn)化、顯示網(wǎng)絡(luò)拓?fù)?、顯示端口流量。系統(tǒng)的功能模塊劃分如圖4-2所示。</p><p>  圖4-2 流量監(jiān)控系統(tǒng)模塊劃分圖</p><p>  4.3 系統(tǒng)工作過程</p><p>  流量監(jiān)控系統(tǒng)的工作過程如圖4-3所示。</p><p>  Floodlight控制器啟動后,可監(jiān)控當(dāng)前網(wǎng)絡(luò)狀態(tài)??蛻舳讼騀loodlig

59、ht控制器發(fā)送REST請求,以從控制器獲得當(dāng)前網(wǎng)絡(luò)中的相關(guān)信息。這些信息主要是交換機(jī)、設(shè)備、鏈路、端口等與設(shè)備相關(guān)的信息,以JSON格式的數(shù)據(jù)形式返回至客戶端。隨后,JSON格式的數(shù)據(jù)(即JSON模塊)將會通過使用Jackson工具進(jìn)行分析并格式化,轉(zhuǎn)化為相應(yīng)的控制器、交換機(jī)、設(shè)備、鏈路、端口等一系列模型。這些模型將傳給相應(yīng)的視圖,用于顯示網(wǎng)絡(luò)拓?fù)?。在進(jìn)行流量分析時,客戶端通過線程,每隔5秒獲取交換機(jī)的端口信息,將信息轉(zhuǎn)化為圖表的形式,

60、這樣端口的流量狀態(tài)就可以顯示在圖形界面上。</p><p>  圖4-3 系統(tǒng)工作流程</p><p>  4.4 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)</p><p>  4.4.1 流量監(jiān)控分析類圖</p><p>  根據(jù)系統(tǒng)預(yù)期功能及工作流程分析,本流量監(jiān)控分析系統(tǒng)的類以及類之間的相互關(guān)系如圖4-4所示。</p><p>  圖

61、4-4 流量監(jiān)控系統(tǒng)類圖</p><p>  4.4.2 向控制器發(fā)出REST請求</p><p>  客戶端向控制器發(fā)出REST請求,以獲取JSON格式的全網(wǎng)信息。這種請求事實上是一種HTTP請求,因此在發(fā)送和接收過程中,用到了HTTP相應(yīng)的包。HTTP服務(wù)包括GET、POST、DELETE三種主要的請求方式。</p><p>  4.4.3 JSON格式數(shù)據(jù)的轉(zhuǎn)

62、換</p><p>  JSON格式的數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的模型主要是利用Jackson框架實現(xiàn)的。controller.util包中包含JSON的格式化工具Jackson。controller.json包通過調(diào)用controller.util中的Jackson工具,將從控制器中得到的JSON格式的數(shù)據(jù)進(jìn)行格式化,轉(zhuǎn)化為model(模型)中對應(yīng)的數(shù)據(jù)結(jié)構(gòu)。定時器將控制每隔5秒向控制器請求交換機(jī)信息以便及時更新。<

63、/p><p>  以將JSON數(shù)據(jù)轉(zhuǎn)化為鏈路模型為例:</p><p>  4.4.4 顯示網(wǎng)絡(luò)拓?fù)?lt;/p><p>  轉(zhuǎn)化后的數(shù)據(jù)模型將存儲在一個映射的數(shù)據(jù)結(jié)構(gòu)中。顯示網(wǎng)絡(luò)拓?fù)洳捎玫氖荰Waver圖形界面開發(fā)工具包,以及swt編程框架。以顯示交換機(jī)為例:</p><p>  4.4.5 顯示端口流量狀態(tài)</p><p>

64、;  當(dāng)顯示出網(wǎng)絡(luò)拓?fù)鋾r,端口統(tǒng)計表和折線圖中不會顯示任何有關(guān)交換機(jī)端口和流量速率的信息。而當(dāng)點擊拓?fù)渲械哪硞€交換機(jī)時,系統(tǒng)將在端口統(tǒng)計表中顯示該交換機(jī)所有端口的信息(包括端口號、端口狀態(tài)、發(fā)送和接收流量情況、丟包數(shù)以及錯誤信息等),并在折線圖中默認(rèn)顯示該交換機(jī)的1號端口的實時流量速率狀態(tài);同時,系統(tǒng)將會得到該交換機(jī)的Dpid(OpenFlow交換機(jī)與控制器交互所產(chǎn)生的ID號,如00:00:00:00:00:00:00:01)。由于在格

65、式化為相應(yīng)模型時創(chuàng)建了一個鏈表,此時就可以根據(jù)交換機(jī)的Dpid從鏈表中找到相應(yīng)的交換機(jī)端口及對應(yīng)的端口信息,并將相關(guān)信息顯示在表格的相應(yīng)位置中。</p><p>  與此同時,系統(tǒng)還會將得到的相關(guān)數(shù)據(jù)進(jìn)行處理。由于客戶端每隔5秒便向控制器請求交換機(jī)端口信息,因此,系統(tǒng)將會用當(dāng)前得到的字節(jié)數(shù)減去上一次得到的字節(jié)數(shù),乘以8再除以1024,再除以時間,即可得到單位為Kb/s的端口速率信息。</p><

66、;p>  當(dāng)選擇表格中的某一端口時,將根據(jù)該端口的流量速率信息相應(yīng)顯示在折線圖中。</p><p>  第5章 系統(tǒng)運行測試</p><p>  本課題所設(shè)計的基于SDN的網(wǎng)絡(luò)帶寬保障系統(tǒng),其流量監(jiān)控分析部分可獲取全網(wǎng)拓?fù)湫畔⒉⑼ㄟ^圖形界面予以顯示。同時,針對網(wǎng)絡(luò)中交換機(jī)各個端口的流量狀態(tài)信息也會進(jìn)行實時的監(jiān)控和顯示。該系統(tǒng)并非針對某一或某些特定拓?fù)涠O(shè)計。它適用于任何類型的拓?fù)洌?/p>

67、包括Mininet自定義拓?fù)湟约捌渌鞣N或簡單或復(fù)雜的用戶自定義拓?fù)?。下面將分別針對用戶自定義拓?fù)浜蚆ininet內(nèi)置樹形拓?fù)溥M(jìn)行系統(tǒng)測試。</p><p>  5.1 系統(tǒng)測試準(zhǔn)備</p><p>  5.1.1 啟動Mininet仿真軟件</p><p>  首先在VMware Workstation中啟動Mininet仿真軟件(Mininet只能在Linux平

68、臺下運行)為搭建網(wǎng)絡(luò)拓?fù)渥龊媚M網(wǎng)絡(luò)環(huán)境的準(zhǔn)備。登錄用戶名和密碼均為mininet。登錄成功的界面如圖5-1所示。</p><p>  圖5-1 Mininet啟動成功界面</p><p>  如果需要清除之前的配置操作,或Mininet在運行過程中出現(xiàn)故障需要恢復(fù),可使用sudo mn –c命令完成。</p><p>  5.1.2 啟動Floodlight控制器

69、</p><p>  Floodlight開源控制器可以跨平臺運行。本課題中為加快運行速度,選擇在Windows平臺下運行Floodlight控制器。</p><p>  在命令提示符(cmd)中,進(jìn)入floodlight文件夾中,運行java -jar target/floodlight.jar命令,啟動floodlight控制器。如圖5-2所示。</p><p&

70、gt;  圖5-2 Floodlight控制器啟動界面</p><p>  Floodlight控制器啟動之后,可以監(jiān)控當(dāng)前網(wǎng)絡(luò)的狀態(tài)。用戶就可以通過客戶端向控制器請求獲得網(wǎng)絡(luò)信息??刂破鲿⒈O(jiān)控到的網(wǎng)絡(luò)中的各種信息,包括設(shè)備、鏈路以及自身的狀態(tài)信息返回給客戶端。</p><p>  5.1.3 使用putty遠(yuǎn)程登錄Mininet</p><p>  使用putt

71、y遠(yuǎn)程登錄Mininet,就可以利用Mininet仿真軟件模擬網(wǎng)絡(luò)環(huán)境,搭建網(wǎng)絡(luò)拓?fù)?。首先需要在Mininet中使用ifconfig命令獲取Mininet的IP地址。然后啟動putty,遠(yuǎn)程登錄到Mininet,如圖5-3所示。進(jìn)入Mininet登錄界面后,用戶名和密碼均為mininet,由此便可遠(yuǎn)程登錄至Mininet進(jìn)行后續(xù)操作,如圖5-4所示。</p><p>  圖5-3 通過putty遠(yuǎn)程登錄Minin

72、et</p><p>  圖5-4 成功實現(xiàn)遠(yuǎn)程登錄Mininet</p><p>  5.2 用戶自定義網(wǎng)絡(luò)拓?fù)錅y試</p><p>  5.2.1 自定義拓?fù)淠_本</p><p>  此處將使用Python語言自定義一個由兩個交換機(jī)互連,每個交換機(jī)各連一臺主機(jī)的網(wǎng)絡(luò)拓?fù)洌ㄎ募麨閠opo-2sw-2host.py)。網(wǎng)絡(luò)拓?fù)淠_本為:<

73、;/p><p>  將該拓?fù)淠_本文件通過WinSCP復(fù)制到遠(yuǎn)程Mininet中。</p><p>  5.2.2 搭建網(wǎng)絡(luò)拓?fù)?lt;/p><p>  在從putty遠(yuǎn)程登錄到Mininet的終端中,進(jìn)入到存放自定義拓?fù)涞哪夸浳募A下,使用sudo mn --custom topo-2sw-2host.py –topo mytopo --controller=remote,

74、 ip=121.251.241.72, port=6653 –switch ovs, protocols=OpenFlow13命令生成自定義網(wǎng)絡(luò)。其中IP地址為Windows系統(tǒng)主機(jī)的IP地址。成功創(chuàng)建網(wǎng)絡(luò)且網(wǎng)絡(luò)暢通的運行結(jié)果如圖5-5所示。</p><p>  圖5-5 創(chuàng)建自定義網(wǎng)絡(luò)</p><p>  5.2.3 流量監(jiān)控系統(tǒng)監(jiān)控情況</p><p>  啟動

75、Scrat-Floodlight網(wǎng)絡(luò)帶寬保障平臺,觀察控制器的狀態(tài)、網(wǎng)絡(luò)拓?fù)淝闆r及端口流量狀態(tài)。平臺啟動界面如圖5-6所示:</p><p>  圖5-6 Scrat-Floodlight啟動界面</p><p>  Floodlight控制器的IP地址可以是Windows主機(jī)的IP地址,也可以是本地環(huán)回地址127.0.0.1。</p><p>  進(jìn)入系統(tǒng)之后,在

76、“控制器”標(biāo)簽,可以看到控制器的主機(jī)名、QoS狀態(tài)、加載的模塊等控制器狀態(tài)信息,如圖5-7所示。</p><p>  圖5-7 控制器狀態(tài)信息</p><p>  在“網(wǎng)絡(luò)拓?fù)洹睒?biāo)簽中,可以看到用戶自定義的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。單擊拓?fù)渲械慕粨Q機(jī),右側(cè)將顯示交換機(jī)各端口的相關(guān)信息,包括連接狀態(tài)、發(fā)送和接收流量、丟包數(shù)及錯誤信息等。選定某個端口,折線圖中將顯示實時流量狀態(tài),每隔5秒更新一次。默認(rèn)情況

77、下將顯示選定交換機(jī)端口1的流量狀態(tài)。如圖5-8所示。</p><p>  圖5-8 網(wǎng)絡(luò)拓?fù)渑c流量狀態(tài)顯示</p><p>  5.2.4 流量狀態(tài)真實性檢驗</p><p>  為了驗證該系統(tǒng)顯示的流量狀態(tài)信息是實時可信的,我們將采用iperf網(wǎng)絡(luò)性能測試工具測試系統(tǒng)的真實性。iperf可以測試帶寬的最大性能,可根據(jù)需要進(jìn)行調(diào)整[14]。</p>&

78、lt;p>  首先在Mininet端使用XTerm啟動兩個獨立的主機(jī)終端h1和h2,如圖5-9所示。</p><p>  圖5-9 xterm啟動主機(jī)終端</p><p>  啟動后將出現(xiàn)兩個主機(jī)節(jié)點的終端,用來輸入輸出。如圖5-10所示。</p><p>  圖5-10 主機(jī)終端</p><p>  然后在主機(jī)1中使用iperf語句向

79、主機(jī)2發(fā)送測試流量。測試語句為iperf –u –c 10.0.0.2 –i 1 –t 120 –b 10M –p 9000。該命令可使主機(jī)作為客戶端連接到10.0.0.2的服務(wù)器端,并在120秒的時間內(nèi)向服務(wù)器端發(fā)送UDP測試數(shù)據(jù)包(使用UDP端口9000)。測試使用的帶寬為10Mbit/s,且每隔1秒輸出測試報告。產(chǎn)生運行界面如圖5-11所示。</p><p>  圖5-11 iperf網(wǎng)絡(luò)性能測試</

80、p><p>  此時觀察流量監(jiān)控狀況,將會發(fā)現(xiàn)流量保持在10M左右。這可以說明該流量監(jiān)控系統(tǒng)的檢測結(jié)果是實時的,并且是真實可信的。</p><p>  監(jiān)測結(jié)果如圖5-12所示。其中綠色為端口1發(fā)送流量的實時監(jiān)控,紅色為選擇端口2后觀察到的接收流量的實時情況。</p><p>  圖5-12 流量實時監(jiān)控情況</p><p>  5.3 Mini

81、net樹狀網(wǎng)絡(luò)拓?fù)錅y試</p><p>  下面將利用Mininet中已定義好的樹狀網(wǎng)絡(luò)拓?fù)溥M(jìn)行系統(tǒng)測試,以說明該系統(tǒng)與拓?fù)錈o關(guān)。</p><p>  搭建樹狀拓?fù)洳恍枰_本程序,因為Mininet中已定義好樹狀拓?fù)涞母袷剑瑑H需自行設(shè)定樹的深度和扇出數(shù)即可。此處我們將選用深度為2,扇出數(shù)為2的樹狀拓?fù)洹?lt;/p><p>  在Mininet遠(yuǎn)程登錄端輸入sudo m

82、n --topo tree,depth=2,franout=2 --switch ovs,protocols=OpenFlow13 --controller=remote,ip=121.251.241.72,port=6653命令創(chuàng)建樹狀拓?fù)洹_\行結(jié)果如圖5-13所示。</p><p>  圖5-13 創(chuàng)建樹狀拓?fù)?lt;/p><p>  網(wǎng)絡(luò)拓?fù)洹⒍丝诹髁繝顟B(tài)及iperf測試結(jié)果如圖5-14

83、所示。其中綠色表示1號端口發(fā)送流量的狀態(tài),紅色表示3號端口接收流量的狀態(tài)。</p><p>  圖5-14 樹狀網(wǎng)絡(luò)及性能測試</p><p>  由此可見,無論網(wǎng)絡(luò)拓?fù)涫鞘裁礃拥?,該流量監(jiān)控系統(tǒng)都可以根據(jù)向Floodlight控制器發(fā)送的REST請求得到的信息進(jìn)行處理,得到相應(yīng)的網(wǎng)絡(luò)拓?fù)湫畔⒉⒂枰哉_顯示。同時,該系統(tǒng)可以實時監(jiān)控網(wǎng)絡(luò)流量狀態(tài),將端口流量信息以圖表和折線圖的形式直觀展現(xiàn)出

84、來。經(jīng)過多次檢驗,該系統(tǒng)與拓?fù)錈o關(guān),且監(jiān)控到的流量狀態(tài)具有真實可信度。</p><p>  第6章 總結(jié)與展望</p><p>  6.1 課題研究總結(jié)</p><p>  本課題通過學(xué)習(xí)并研究SDN相關(guān)技術(shù),實現(xiàn)了利用SDN架構(gòu)中的北向接口開發(fā)流量監(jiān)控及分析系統(tǒng)這一應(yīng)用的目的。在基于SDN的網(wǎng)絡(luò)帶寬保障系統(tǒng)中,流量監(jiān)控及分析系統(tǒng)部分能夠通過向控制器發(fā)送REST請

85、求獲取網(wǎng)絡(luò)信息,顯示全網(wǎng)拓?fù)洌夷軌驅(qū)崟r監(jiān)控交換機(jī)各端口的流量狀態(tài)并以直觀的圖形方式顯示出來,實現(xiàn)了“以人為本”的網(wǎng)絡(luò)監(jiān)控和狀態(tài)分析,為帶寬保障策略的實施提供了參考依據(jù)。</p><p>  通過本次畢業(yè)設(shè)計課題“基于SDN的網(wǎng)絡(luò)帶寬保障系統(tǒng)——流量分析系統(tǒng)”的設(shè)計與實現(xiàn),我學(xué)習(xí)了SDN的基本理論知識和基礎(chǔ)操作技能,掌握了使用Mininet仿真軟件構(gòu)建自定義網(wǎng)絡(luò)的方法,熟悉了從Floodlight控制器獲取網(wǎng)絡(luò)

86、信息并進(jìn)行數(shù)據(jù)處理和圖形顯示的基本實現(xiàn)過程,對使用SDN北向接口開發(fā)應(yīng)用的基本流程和要點有了一定的認(rèn)識和理解,同時對OpenFlow協(xié)議也有了初步的認(rèn)知。通過學(xué)習(xí)和實踐,我對于SDN在數(shù)據(jù)中心網(wǎng)絡(luò)的重要應(yīng)用有了粗淺的理解,對于帶寬保障策略的實施也有了一定的認(rèn)識。同時,我還熟悉了一些開發(fā)工具和測試工具的使用,為今后更深入更廣泛的研究奠定了基礎(chǔ)。</p><p>  6.2 系統(tǒng)不足之處</p><

87、;p>  經(jīng)過幾個月的不懈努力,流量監(jiān)控分析系統(tǒng)已基本實現(xiàn)了預(yù)期的功能,能夠正常并且準(zhǔn)確地運行。盡管如此,由于對SDN知識掌握不夠全面扎實,從用戶體驗和實際應(yīng)用的角度上看,該系統(tǒng)仍存在一些不足之處。使用REST請求從Floodlight控制器能夠得到的網(wǎng)絡(luò)信息有很多很多,該系統(tǒng)只能固定地顯示某些信息。人性化的系統(tǒng)設(shè)計應(yīng)該能夠根據(jù)用戶的需求相應(yīng)地予以顯示,即能夠達(dá)到“所見即所求”的效果。此外,客戶端界面不夠美觀,用戶體驗感受不夠好。

88、這些都是我接下來努力的方向。</p><p><b>  6.3 收獲與體會</b></p><p>  通過本次畢業(yè)設(shè)計基于SDN的網(wǎng)絡(luò)帶寬保障系統(tǒng)中流量監(jiān)控分析模塊的設(shè)計與實現(xiàn),我充分利用這次機(jī)會鍛煉了自己的自主學(xué)習(xí)能力和動手實踐能力。誠然,SDN的研究非常具有挑戰(zhàn)性,但壓力也是動力,在整個學(xué)習(xí)的過程中,我一直在不懈努力,不斷使自己在理論和實踐兩方面都取得了很大的

89、進(jìn)步,同時也對自己有了更大的信心。</p><p>  SDN最困難的就是入門階段。由于與傳統(tǒng)網(wǎng)絡(luò)的運行有著極大的不同,在學(xué)習(xí)中我們既要充分理解傳統(tǒng)網(wǎng)絡(luò)原理,又要摒棄傳統(tǒng)網(wǎng)絡(luò),從全新的角度理解SDN,這一點十分必要,也十分具有挑戰(zhàn)性。在老師的指導(dǎo)和同學(xué)們的幫助下,我一點一滴開始從頭學(xué)起,遇到不懂的問題就查閱各種資料或向同學(xué)請教,通過各種途徑打好基礎(chǔ)。同時,我在一邊學(xué)習(xí)理論知識的同時,更加注重動手能力的加強(qiáng)。實踐出

90、真知,這樣理論聯(lián)系實際的做法對于提高自我具有極大的幫助。</p><p>  畢業(yè)設(shè)計的課題研究對于我的信心、耐心和毅力也都是極大的考驗。由于SDN極富挑戰(zhàn)性,在學(xué)習(xí)過程中走入死胡同成為家常便飯,常常讓人有極大的挫敗感。但我會及時調(diào)整自己的心態(tài),克服浮躁情緒,一步一個腳印,扎實走好每一步。每當(dāng)遇到問題時,我會告誡自己不要急于求成,不要氣餒,不斷嘗試,發(fā)散思維,尋找各種新的解決問題的途徑。慢慢地,我開始學(xué)會享受獨立

91、、耐心解決問題的過程??傊?,本次畢業(yè)設(shè)計讓我的心理狀態(tài)成長了很多,獲益匪淺。</p><p>  6.4 課題研究展望</p><p>  作為一種新興的網(wǎng)絡(luò)架構(gòu)理念,SDN目前仍處于發(fā)展的初期。SDN領(lǐng)域不僅吸引了學(xué)術(shù)界的深入研究和挖掘,各大網(wǎng)絡(luò)巨頭也陸續(xù)在SDN技術(shù)和市場方面展開了競爭。SDN的出現(xiàn)帶來了很多前所未有的機(jī)遇,但與此同時,也面臨著眾多挑戰(zhàn)。數(shù)據(jù)中心作為目前應(yīng)用SDN的主要

92、場合,相信在可預(yù)見的一段時間內(nèi),必將成為學(xué)術(shù)研究和市場競爭的主戰(zhàn)場[15]。本次畢業(yè)設(shè)計所研究的基于SDN的網(wǎng)絡(luò)帶寬保障系統(tǒng)中的流量監(jiān)控分析系統(tǒng)僅僅是SDN應(yīng)用中一個極小的部分,但卻為我們帶來了廣闊的研究前景。相信SDN將會日漸成為網(wǎng)絡(luò)研究領(lǐng)域的熱門話題,也將成為一項有力的職場競爭籌碼。我們將繼續(xù)沿著這一方向深入探討下去,為SDN的發(fā)展貢獻(xiàn)綿薄之力。</p><p><b>  致 謝</b&g

93、t;</p><p>  時光飛逝。轉(zhuǎn)眼間,我在 **計算機(jī)與通信工程學(xué)院四年的大學(xué)生活即將畫上句號?;叵胨哪甑姆N種酸甜苦辣,感慨良多。豐富多彩的大學(xué)生活讓我在思想、學(xué)習(xí)、生活等諸多方面都有了顯著的提高和長足的發(fā)展。在畢業(yè)論文即將完成之際,我想對大學(xué)四年期間曾給予我鼓勵、支持和幫助的所有人表示最衷心的感謝。感謝你們一直以來的陪伴,給了我一段難忘而豐富的旅程。</p><p>  首先,我要

94、向所有在四年大學(xué)生活期間給予我無私幫助的老師們致以崇高的敬意和真摯的謝意,感謝所有老師在學(xué)習(xí)、工作和生活中對我的悉心指點和關(guān)照。特別要感謝我的導(dǎo)師**老師,感謝*老師在整個畢業(yè)設(shè)計期間給予我充分的耐心和全方位的指導(dǎo)。*老師在學(xué)術(shù)方面的專業(yè)的指導(dǎo)方法、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和高度的責(zé)任心,為我們的畢設(shè)選題、前期學(xué)習(xí)準(zhǔn)備、系統(tǒng)需求分析與實現(xiàn)、測試與完善以及論文撰寫等方方面面都給予了精益求精的幫助和提升。在*老師的支持下,我們不僅順利完成了本科畢業(yè)設(shè)

95、計,還從中學(xué)習(xí)到了很多做人做事的人生道理,將使我受益終生。再次向*老師的淵博學(xué)識和高尚師德致以崇高的敬意。</p><p>  感謝四年來與我分擔(dān)風(fēng)雨分享歡樂的同學(xué)和朋友們。正是有了他們的鼓勵和陪伴,我才能夠在每次遭遇挫折和困難時都能鼓足勇氣,克服困難,度過難關(guān)。特別要感謝的是和我一起完成畢業(yè)設(shè)計整個學(xué)習(xí)和實現(xiàn)過程的李芃和宋勝男兩位同學(xué)。正是在他們的鼓勵和幫助下,我無論在理論知識還是實踐技能方面都取得了巨大的進(jìn)步

96、,并最終得以順利完成畢業(yè)設(shè)計系統(tǒng)的實現(xiàn)。</p><p>  最后,我要向我的父母致以最真摯的謝意。四年獨自在外的求學(xué)生活,正是因為有了父母的鼓勵和安慰,我才能在每一次面對十字路口的選擇時都能保持清醒的頭腦,在每一次面對遇到挫折時都能堅定信念執(zhí)著應(yīng)對,在每一次收獲喜悅時都能分享歡欣并不忘讓我保持清醒。父母在物質(zhì)和精神方面的無私付出,堅定了我繼續(xù)求學(xué)的信念,不斷使自己成為更好的人。感謝父母為我付出的一切。愿父母身體

97、康健,幸福綿長。</p><p>  再次感謝身邊所有給予我?guī)椭凸膭畹娜?。在今后的求學(xué)之路和工作生活中,我都將銘記得到過的所有恩惠,不斷努力,不懈奮斗,用實際行動回報所有親朋好友,回報社會,成為一名有所作為的人才。</p><p><b>  參考文獻(xiàn)</b></p><p>  黃韜,劉江,魏亮,張嬌,劉韻潔.軟件定義網(wǎng)絡(luò)核心原理與應(yīng)用實踐

98、 [M].北京:人民郵電出版社 2014.</p><p>  Thomas D. Nadeau & Ken Gray. 軟件定義網(wǎng)絡(luò):SDN與OpenFlow解析 [M]. 畢軍 譯. 北京:人民郵電出版社 2014.</p><p>  劉誠明,陳赤航,張云勇,王淑玲,房秉毅等. 軟件定義網(wǎng)絡(luò)技術(shù)與應(yīng)用 [M]. 北京:人民郵電出版社 2013.</p><

99、p>  李勇. 園區(qū)網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)研究與設(shè)計 [D]. 合肥工業(yè)大學(xué) 2007</p><p>  張衛(wèi)峰.深入解析SDN:利益、戰(zhàn)略、技術(shù)、實踐 [M]. 北京:電子工業(yè)出版社 2014</p><p>  張朝昆,崔勇,唐翯祎,吳建平. 軟件定義網(wǎng)絡(luò)(SDN)研究進(jìn)展 [J]. 軟件學(xué)報 </p><p>  Hu Yongsheng, Tian Tia

100、n, Wang Jun. D-ZENIC: A Scalable Distributed SDN Controller Architecture [J]. ZTE Communications 12.2(2014.6)</p><p>  Thomas D. Nadeau & Ken Gray. SDN: Software Defined Networks [M]. Sebastopol: O’Reill

101、y Media, Inc. 2013.</p><p>  百度百科.OpenFlow http://baike.baidu.com/view/5084532.htm</p><p>  Floodlight開發(fā)者文檔 http://www.projectfloodlight.org/documentation/</p><p>  OpenFlow 1.3協(xié)議 h

102、ttp://www.sdnap.com/wp-content/uploads/openflow/openflow-spec-v1.3.0.pdf</p><p>  林彧.互聯(lián)網(wǎng)網(wǎng)絡(luò)流量統(tǒng)計系統(tǒng) [D]. Zhongshan University 2010</p><p>  吳慧.OpenFlow網(wǎng)絡(luò)中QoS管理系統(tǒng)的研究與實現(xiàn) [D]. Wuhan Research Institute

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論