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

下載本文檔

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

文檔簡介

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

2、><p>  專業(yè)班級(jí):計(jì)算機(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)運(yùn)而生。由于數(shù)據(jù)中心數(shù)據(jù)流量巨大,設(shè)備管理復(fù)雜,對(duì)服務(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ù)浜蛯?shí)時(shí)的流量狀態(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基本理論知識(shí)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 實(shí)用性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è)計(jì)及實(shí)現(xiàn)10</p><p>  4.1 系統(tǒng)概要設(shè)計(jì)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è)計(jì)與實(shí)現(xiàn)12</p><p>  4.4.1 流量監(jiān)控分析類圖12</p><p>  4.4.2 向控制器發(fā)出REST請(qǐng)求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)運(yùn)行測試17</p><p>  5.1 系統(tǒng)測試準(zhǔn)備17</p><p>  5.1.1 啟動(dòng)Mininet仿真軟件17</p><p>  5.1.2 啟動(dòng)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)真實(shí)性檢驗(yàn)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 收獲與體會(huì)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)行信息通信、資源共享和實(shí)時(shí)交流搭建了一個(gè)全新的開放平臺(tái),對(duì)人們的學(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è)計(jì)網(wǎng)絡(luò)體系結(jié)構(gòu)。此時(shí)SDN的出現(xiàn)為解決傳統(tǒng)網(wǎng)絡(luò)問題點(diǎn)燃了希望[1]。</p><p>  SDN作為一種新型的網(wǎng)絡(luò)架構(gòu),打破了傳統(tǒng)的網(wǎng)絡(luò)設(shè)計(jì)理念。SDN具有兩個(gè)重要的屬性:一是實(shí)現(xiàn)了數(shù)據(jù)平面和控制平面的分離,從而實(shí)現(xiàn)了邏輯集中式控制;二是開放了網(wǎng)絡(luò)可編程能力,從而實(shí)現(xiàn)了網(wǎng)絡(luò)的靈活可定義,便于管控[2]。盡管作為一種全新的網(wǎng)絡(luò)理念,SDN在實(shí)際部署與運(yùn)營中因缺乏經(jīng)驗(yàn)而面臨種

22、種挑戰(zhàn),但它卻為解決傳統(tǒng)網(wǎng)絡(luò)運(yùn)營中出現(xiàn)的問題提供了新的解決思路。包括網(wǎng)絡(luò)安全、流量管控、性能優(yōu)化及QoS在內(nèi)的多個(gè)網(wǎng)絡(luò)熱點(diǎn)問題已成為SDN研究領(lǐng)域的焦點(diǎn)[3]。</p><p>  數(shù)據(jù)中心通常會(huì)為租戶提供多種業(yè)務(wù)服務(wù)。但數(shù)據(jù)中心一般只盡力轉(zhuǎn)發(fā),并不為某一業(yè)務(wù)所需的額外帶寬提供保障。由于人們?cè)谟^看網(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)用戶對(duì)某一特定業(yè)務(wù)有較高的帶寬需求時(shí),其需要不能得到較好的保證,影響所需服務(wù)的正常運(yùn)轉(zhuǎn)[4]。比如,在召開視頻會(huì)議時(shí),人們希望對(duì)與視頻會(huì)議相關(guān)的流量優(yōu)先保證其帶寬需求,以確保視頻會(huì)議流暢進(jìn)行。利用SDN強(qiáng)大的集中管控能力,可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中多種類型流量的靈活調(diào)度,實(shí)現(xiàn)不同優(yōu)先級(jí)的帶寬保障,從而有效降低網(wǎng)絡(luò)中不必要的冗余流量,實(shí)現(xiàn)人性化、個(gè)性定制的用戶體驗(yàn)。</p><p>  1.1.2 課

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

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

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

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

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

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

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

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控制器來實(shí)現(xiàn))。SDN控制器組織并協(xié)調(diào)應(yīng)用程序與

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

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

34、控制多臺(tái)網(wǎng)絡(luò)設(shè)備,一般運(yùn)行在一臺(tái)單獨(dú)的服務(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í)可自行決定如何處理數(shù)據(jù)包[7]。而SDN架構(gòu)中的交換機(jī)則是一種“傻瓜式”的交換機(jī),不能自行生成轉(zhuǎn)發(fā)表來確定如何轉(zhuǎn)發(fā)數(shù)據(jù)包,必須由控制器通過OpenFlow協(xié)議下達(dá)一個(gè)名為“流表”的表項(xiàng)給交換機(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)來實(shí)現(xiàn)控制器的功能,并提供了種類繁多的應(yīng)用,可直接將數(shù)據(jù)轉(zhuǎn)發(fā)、拓?fù)浒l(fā)現(xiàn)等功能部署到網(wǎng)絡(luò)中。Floodlight的Web管理界面方便用戶查看實(shí)時(shí)的網(wǎng)絡(luò)拓?fù)湫畔?、交換機(jī)和主機(jī)信息。Floodlight通過向OpenFlow交換機(jī)下發(fā)流表的方式實(shí)現(xiàn)對(duì)交換設(shè)備的集中控制和管理,從而實(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ùn)行在控制器上的應(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)用,也可以自行添加所需的模塊。這種模塊化、分層次的部署方式有效實(shí)現(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ù)分組抽象成一個(gè)“流”。使用OpenFlow協(xié)議,控制器就可以根據(jù)某次通信中“流”的第一個(gè)數(shù)據(jù)分組的特征通過協(xié)議提供的接口對(duì)數(shù)

40、據(jù)平面設(shè)備(即OpenFlow交換機(jī))部署相關(guān)策略。這種策略被稱為“流表”。本次通信的后續(xù)數(shù)據(jù)分組按照下發(fā)到OpenFlow交換機(jī)中的相應(yīng)流表進(jìn)行匹配、轉(zhuǎn)發(fā),從而實(shí)現(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é)議增加了多級(jí)流表和組表的概念,還增加了基于流的計(jì)量(Meter)和數(shù)據(jù)包處理的動(dòng)作類型,同時(shí)修改了數(shù)據(jù)包特征匹配的描述方法(match方法)[11]。相比之下,OpenFlow1.3協(xié)議內(nèi)容更為復(fù)雜,功能也更為強(qiáng)大。</p><p>  2.4 Mininet環(huán)境簡介</p><p>  Mininet是一種輕量級(jí)的進(jìn)程虛擬化網(wǎng)絡(luò)仿真工具。通過Mininet,

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

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

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

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

47、化</p><p>  使用Jackson將通過REST請(qǐng)求得到的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ù),采用一定的算法計(jì)算網(wǎng)絡(luò)中的交換機(jī)每個(gè)端口的流量情況。同時(shí)設(shè)計(jì)一個(gè)線程作為定時(shí)器,每隔5秒向SDN控制器發(fā)送REST請(qǐng)求,以便動(dòng)態(tài)獲取交換機(jī)端口信息,從而實(shí)現(xiàn)實(shí)時(shí)的流量監(jiān)控。將交換機(jī)的端口信息存放在一一映射的數(shù)據(jù)結(jié)構(gòu)中。當(dāng)選定某一交換機(jī)時(shí),該交換機(jī)所有端口

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

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

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

52、獲取所需的各端口的實(shí)時(shí)流量狀態(tài)情況。</p><p>  3.3 系統(tǒng)開發(fā)環(huán)境</p><p>  本系統(tǒng)主要使用Java語言作為主要開發(fā)語言。由于該系統(tǒng)并非適用于某一個(gè)或某幾種特定的拓?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平臺(tái)下運(yùn)行,需要安裝在Linux系統(tǒng)中才能支持網(wǎng)絡(luò)拓?fù)涞拇罱?。SDN開源控制器Floodlight 1.0支持跨平臺(tái)運(yùn)行,在本系統(tǒng)開發(fā)中為加快運(yùn)行效率,將在Windows平臺(tái)下運(yùn)行SDN控制器。</p><p>  使用Eclipse 4.4.2軟件作為流量監(jiān)控系統(tǒng)的主要開發(fā)平臺(tái),在Eclipse中安裝swt開發(fā)包用作編輯圖形用戶界面的框架。使用Jackson轉(zhuǎn)換請(qǐng)求到的JSON數(shù)據(jù)包。使用TWaver圖形界面

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

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

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

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

58、T請(qǐng)求、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控制器啟動(dòng)后,可監(jiān)控當(dāng)前網(wǎng)絡(luò)狀態(tài)??蛻舳讼騀loodlig

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

60、這樣端口的流量狀態(tài)就可以顯示在圖形界面上。</p><p>  圖4-3 系統(tǒng)工作流程</p><p>  4.4 系統(tǒng)詳細(xì)設(shè)計(jì)與實(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請(qǐng)求</p><p>  客戶端向控制器發(fā)出REST請(qǐng)求,以獲取JSON格式的全網(wǎng)信息。這種請(qǐng)求事實(shí)上是一種HTTP請(qǐng)求,因此在發(fā)送和接收過程中,用到了HTTP相應(yīng)的包。HTTP服務(wù)包括GET、POST、DELETE三種主要的請(qǐng)求方式。</p><p>  4.4.3 JSON格式數(shù)據(jù)的轉(zhuǎn)

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

63、/p><p>  以將JSON數(shù)據(jù)轉(zhuǎn)化為鏈路模型為例:</p><p>  4.4.4 顯示網(wǎng)絡(luò)拓?fù)?lt;/p><p>  轉(zhuǎn)化后的數(shù)據(jù)模型將存儲(chǔ)在一個(gè)映射的數(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(shí),端口統(tǒng)計(jì)表和折線圖中不會(huì)顯示任何有關(guān)交換機(jī)端口和流量速率的信息。而當(dāng)點(diǎn)擊拓?fù)渲械哪硞€(gè)交換機(jī)時(shí),系統(tǒng)將在端口統(tǒng)計(jì)表中顯示該交換機(jī)所有端口的信息(包括端口號(hào)、端口狀態(tài)、發(fā)送和接收流量情況、丟包數(shù)以及錯(cuò)誤信息等),并在折線圖中默認(rèn)顯示該交換機(jī)的1號(hào)端口的實(shí)時(shí)流量速率狀態(tài);同時(shí),系統(tǒng)將會(huì)得到該交換機(jī)的Dpid(OpenFlow交換機(jī)與控制器交互所產(chǎn)生的ID號(hào),如00:00:00:00:00:00:00:01)。由于在格

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

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

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

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

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

70、gt;  圖5-2 Floodlight控制器啟動(dòng)界面</p><p>  Floodlight控制器啟動(dòng)之后,可以監(jiān)控當(dāng)前網(wǎng)絡(luò)的狀態(tài)。用戶就可以通過客戶端向控制器請(qǐng)求獲得網(wǎng)絡(luò)信息??刂破鲿?huì)將監(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地址。然后啟動(dòng)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 成功實(shí)現(xiàn)遠(yuǎn)程登錄Mininet</p><p>  5.2 用戶自定義網(wǎng)絡(luò)拓?fù)錅y試</p><p>  5.2.1 自定義拓?fù)淠_本</p><p>  此處將使用Python語言自定義一個(gè)由兩個(gè)交換機(jī)互連,每個(gè)交換機(jī)各連一臺(tái)主機(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ò)暢通的運(yùn)行結(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>  啟動(dòng)

75、Scrat-Floodlight網(wǎng)絡(luò)帶寬保障平臺(tái),觀察控制器的狀態(tài)、網(wǎng)絡(luò)拓?fù)淝闆r及端口流量狀態(tài)。平臺(tái)啟動(dòng)界面如圖5-6所示:</p><p>  圖5-6 Scrat-Floodlight啟動(dòng)界面</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ù)及錯(cuò)誤信息等。選定某個(gè)端口,折線圖中將顯示實(shí)時(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)真實(shí)性檢驗(yàn)</p><p>  為了驗(yàn)證該系統(tǒng)顯示的流量狀態(tài)信息是實(shí)時(shí)可信的,我們將采用iperf網(wǎng)絡(luò)性能測試工具測試系統(tǒng)的真實(shí)性。iperf可以測試帶寬的最大性能,可根據(jù)需要進(jìn)行調(diào)整[14]。</p>&

78、lt;p>  首先在Mininet端使用XTerm啟動(dòng)兩個(gè)獨(dú)立的主機(jī)終端h1和h2,如圖5-9所示。</p><p>  圖5-9 xterm啟動(dòng)主機(jī)終端</p><p>  啟動(dòng)后將出現(xiàn)兩個(gè)主機(jī)節(jié)點(diǎn)的終端,用來輸入輸出。如圖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秒的時(shí)間內(nèi)向服務(wù)器端發(fā)送UDP測試數(shù)據(jù)包(使用UDP端口9000)。測試使用的帶寬為10Mbit/s,且每隔1秒輸出測試報(bào)告。產(chǎn)生運(yùn)行界面如圖5-11所示。</p><p>  圖5-11 iperf網(wǎng)絡(luò)性能測試</

80、p><p>  此時(shí)觀察流量監(jiān)控狀況,將會(huì)發(fā)現(xiàn)流量保持在10M左右。這可以說明該流量監(jiān)控系統(tǒng)的檢測結(jié)果是實(shí)時(shí)的,并且是真實(shí)可信的。</p><p>  監(jiān)測結(jié)果如圖5-12所示。其中綠色為端口1發(fā)送流量的實(shí)時(shí)監(jiān)控,紅色為選擇端口2后觀察到的接收流量的實(shí)時(shí)情況。</p><p>  圖5-12 流量實(shí)時(shí)監(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ù)洳恍枰_本程序,因?yàn)镸ininet中已定義好樹狀拓?fù)涞母袷?,僅需自行設(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ù)洹_\(yùn)行結(jié)果如圖5-13所示。</p><p>  圖5-13 創(chuàng)建樹狀拓?fù)?lt;/p><p>  網(wǎng)絡(luò)拓?fù)?、端口流量狀態(tài)及iperf測試結(jié)果如圖5-14

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

84、來。經(jīng)過多次檢驗(yàn),該系統(tǒng)與拓?fù)錈o關(guān),且監(jiān)控到的流量狀態(tài)具有真實(shí)可信度。</p><p>  第6章 總結(jié)與展望</p><p>  6.1 課題研究總結(jié)</p><p>  本課題通過學(xué)習(xí)并研究SDN相關(guān)技術(shù),實(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請(qǐng)

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

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

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

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

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

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

91、、耐心解決問題的過程??傊?,本次畢業(yè)設(shè)計(jì)讓我的心理狀態(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ī)遇,但與此同時(shí),也面臨著眾多挑戰(zhàn)。數(shù)據(jù)中心作為目前應(yīng)用SDN的主要

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

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

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

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

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

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

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

99、p>  李勇. 園區(qū)網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)研究與設(shè)計(jì) [D]. 合肥工業(yè)大學(xué) 2007</p><p>  張衛(wèi)峰.深入解析SDN:利益、戰(zhàn)略、技術(shù)、實(shí)踐 [M]. 北京:電子工業(yè)出版社 2014</p><p>  張朝昆,崔勇,唐翯祎,吳建平. 軟件定義網(wǎng)絡(luò)(SDN)研究進(jìn)展 [J]. 軟件學(xué)報(bào) </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)計(jì)系統(tǒng) [D]. Zhongshan University 2010</p><p>  吳慧.OpenFlow網(wǎng)絡(luò)中QoS管理系統(tǒng)的研究與實(shí)現(xiàn) [D]. Wuhan Research Institute

溫馨提示

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

評(píng)論

0/150

提交評(píng)論