版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本 科 畢 業(yè) 設 計(論文)</p><p> 題 目:基于SDN的網絡帶寬保障系統</p><p><b> ——流量分析</b></p><p><b> 學生姓名: </b></p><p><b> 學 號: </b></p
2、><p> 專業(yè)班級:計算機科學與技術11-1班</p><p><b> 指導教師: </b></p><p> 2015年6月14日</p><p> 基于SDN的網絡帶寬保障系統</p><p><b> ——流量分析</b></p><p&g
3、t;<b> 摘 要</b></p><p> 為解決傳統網絡在發(fā)展過程中出現的一系列問題,SDN技術應運而生。由于數據中心數據流量巨大,設備管理復雜,對服務器和虛擬機的快速配置和數據遷移都有較高的要求,SDN的應用可以提高數據交換的效率,增加數據中心可控性。但數據中心一般只盡力轉發(fā)多種業(yè)務,并不為某一業(yè)務提供額外的帶寬保障。為確保某些關鍵業(yè)務的服務質量得到保障,需要為其進行帶寬預留與
4、保障。</p><p> 本課題旨在研究通過SDN控制器利用REST API獲取網絡信息,并經過處理轉化為直觀的圖形用戶界面顯示。通過流量監(jiān)控客戶端,用戶可直接觀察全網拓撲和實時的流量狀態(tài),為下達保障策略提供支持。</p><p> 關鍵詞: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 課題研究任務與主要內容2</p><p> 1.3 論文組織結構2</p><p> 第2章 SDN基本理論知識4</p><p> 2.1 軟件定義網絡(SDN)簡介4</p><p>
12、 2.2 Floodlight控制器簡介5</p><p> 2.3 OpenFlow1.3協議簡介6</p><p> 2.4 Mininet環(huán)境簡介7</p><p> 第3章 系統需求分析8</p><p> 3.1 系統功能性需求分析8</p><p> 3.1.1 獲取網絡信息8&l
13、t;/p><p> 3.1.2 網絡信息的分析與格式化8</p><p> 3.1.3 全網拓撲顯示8</p><p> 3.1.4 流量分析與顯示8</p><p> 3.2 系統非功能性需求分析9</p><p> 3.2.1 實用性9</p><p> 3.2.2 可擴展
14、性9</p><p> 3.2.3 界面需求9</p><p> 3.3 系統開發(fā)環(huán)境9</p><p> 第4章 系統設計及實現10</p><p> 4.1 系統概要設計10</p><p> 4.2 系統模塊劃分11</p><p> 4.3 系統工作過程11&l
15、t;/p><p> 4.4 系統詳細設計與實現12</p><p> 4.4.1 流量監(jiān)控分析類圖12</p><p> 4.4.2 向控制器發(fā)出REST請求13</p><p> 4.4.3 JSON格式數據的轉換14</p><p> 4.4.4 顯示網絡拓撲15</p><p&
16、gt; 4.4.5 顯示端口流量狀態(tài)16</p><p> 第5章 系統運行測試17</p><p> 5.1 系統測試準備17</p><p> 5.1.1 啟動Mininet仿真軟件17</p><p> 5.1.2 啟動Floodlight控制器17</p><p> 5.1.3 使用pu
17、tty遠程登錄Mininet18</p><p> 5.2 用戶自定義網絡拓撲測試19</p><p> 5.2.1 自定義拓撲腳本19</p><p> 5.2.2 搭建網絡拓撲20</p><p> 5.2.3 流量監(jiān)控系統監(jiān)控情況21</p><p> 5.2.4 流量狀態(tài)真實性檢驗22&l
18、t;/p><p> 5.3 Mininet樹狀網絡拓撲測試24</p><p> 第6章 總結與展望26</p><p> 6.1 課題研究總結26</p><p> 6.2 系統不足之處26</p><p> 6.3 收獲與體會26</p><p> 6.4 課題研究展望
19、27</p><p><b> 致 謝28</b></p><p><b> 參考文獻29</b></p><p><b> 第1章 引言</b></p><p> 1.1 課題背景及研究意義</p><p> 1.1.1 課題背景&l
20、t;/p><p> 始于1969年的互聯網至今已有40多年的歷史。它的出現,為來自世界各地的人們進行信息通信、資源共享和實時交流搭建了一個全新的開放平臺,對人們的學習、工作、生活等方方面面都產生了深刻的影響。然而,隨著互聯網應用的日益廣泛,網絡需要服務的業(yè)務類型不斷增長,網絡的規(guī)模也不斷擴大,日益變得臃腫。互聯網結構和功能的日趨復雜,導致網絡的管理難度不斷增加,新功能難以被部署到現有網絡框架中,即便部署速度也相當緩
21、慢。新需求的不斷涌現促使人們開始考慮重新設計網絡體系結構。此時SDN的出現為解決傳統網絡問題點燃了希望[1]。</p><p> SDN作為一種新型的網絡架構,打破了傳統的網絡設計理念。SDN具有兩個重要的屬性:一是實現了數據平面和控制平面的分離,從而實現了邏輯集中式控制;二是開放了網絡可編程能力,從而實現了網絡的靈活可定義,便于管控[2]。盡管作為一種全新的網絡理念,SDN在實際部署與運營中因缺乏經驗而面臨種
22、種挑戰(zhàn),但它卻為解決傳統網絡運營中出現的問題提供了新的解決思路。包括網絡安全、流量管控、性能優(yōu)化及QoS在內的多個網絡熱點問題已成為SDN研究領域的焦點[3]。</p><p> 數據中心通常會為租戶提供多種業(yè)務服務。但數據中心一般只盡力轉發(fā),并不為某一業(yè)務所需的額外帶寬提供保障。由于人們在觀看網絡視頻資源、瀏覽靜態(tài)網頁或收看收聽網絡直播的過程中,相同的資源內容在網絡中重復傳輸,造成了多媒體流量嚴重冗余,嚴重消
23、耗了大量網絡帶寬資源。當用戶對某一特定業(yè)務有較高的帶寬需求時,其需要不能得到較好的保證,影響所需服務的正常運轉[4]。比如,在召開視頻會議時,人們希望對與視頻會議相關的流量優(yōu)先保證其帶寬需求,以確保視頻會議流暢進行。利用SDN強大的集中管控能力,可以實現對網絡中多種類型流量的靈活調度,實現不同優(yōu)先級的帶寬保障,從而有效降低網絡中不必要的冗余流量,實現人性化、個性定制的用戶體驗。</p><p> 1.1.2 課
24、題研究意義</p><p> 在本次畢業(yè)設計課題研究中,通過對SDN的理念及其相關技術的學習和應用,對數據中心多種流量中的某種特定業(yè)務(如視頻會議)的流量提供適當的帶寬預留,為良好的服務體驗提供保障。通過課題研究,了解SDN的網絡架構理念,比較SDN新型網絡架構與傳統網絡架構之間的不同。在具體的系統設計與實現過程中,掌握Floodlight控制器的相關理論知識和模塊添加的方式,熟悉Mininet網絡仿真環(huán)境的使
25、用;學習并熟悉OpenFlow1.3協議,掌握通過RestAPI實現交互的方式;掌握利用JSON處理數據的方法。通過監(jiān)控網絡中各業(yè)務流量的實時狀態(tài),對網絡流量數據的收集和處理,并以圖形化的方式將網絡拓撲和流量速率直觀展現出來,為提高指定業(yè)務帶寬或限制其他業(yè)務流量提供參考,為帶寬保障的實現做好準備。</p><p> 1.2 課題研究任務與主要內容</p><p> 本課題將通過設計出一
26、種流量監(jiān)控與分析系統,對網絡中的流量速率情況進行實時的捕捉和分析,以監(jiān)測其是否達到預設的閾值。當網絡中的總體流量超過承載能力,同時又存在某些業(yè)務需要優(yōu)先保障其服務質量的情況時,控制器需要下達某種策略從而優(yōu)先保證指定業(yè)務所需的帶寬。這種策略可以是對指定業(yè)務的帶寬予以提高,亦或者是限制其他類型業(yè)務的流量。由此,即可實現對數據中心某一指定業(yè)務的帶寬予以保障,從而實現網絡QoS的實時管控。</p><p> 為順利完成
27、流量監(jiān)控分析系統的設計與實現,需要熟悉SDN的基本原理、Floodlight開源控制器的模塊架構和使用、OpenFlow1.3協議的傳輸機制,學會利用Mininet仿真軟件搭建網絡實驗拓撲和模擬環(huán)境。通過控制器利用OpenFlow1.3協議收集到的網絡信息,分析并計算出交換機的端口速率,將網絡拓撲通過圖形直觀展現出來,同時將端口速率情況通過折線圖向用戶呈現。圖形界面方便后期判斷鏈路占用是否超過閾值,以便下一步流量調度和帶寬保障策略的實施
28、。</p><p> 1.3 論文組織結構</p><p> 本篇論文共分為6章。各章節(jié)按以下內容組織編排:</p><p> 第1章:引言。本章主要介紹畢業(yè)設計課題的研究背景、研究意義、課題研究任務與主要內容并介紹論文的組織結構。</p><p> 第2章:SDN基本理論知識。本章主要介紹畢業(yè)設計課題所涉及的SDN基本理論知識,包括
29、SDN基本概念、Floodlight開源控制器、OpenFlow1.3協議、Mininet仿真系統、輕量級數據交換格式JSON等,以及系統實現所需的TWaver開發(fā)工具包等相關技術和開發(fā)工具。</p><p> 第3章:系統需求分析。本章主要對系統預期的功能需求進行分析,對系統進行概要性設計,并詳細介紹各個模塊的設計思想。</p><p> 第4章:系統設計及實現。本章主要針對系統的具
30、體設計與實現,對系統的各個功能模塊的實現方法進行了詳細的闡述與解釋。</p><p> 第5章:系統測試。本章主要通過不同的網絡拓撲演示系統已有的流量監(jiān)控和分析功能。</p><p> 第6章:總結與展望。本章主要對畢業(yè)設計課題的研究工作進行總結,分析現有系統的優(yōu)點和不足之處,為后續(xù)的完善和優(yōu)化提供參考。</p><p> 第2章 SDN基本理論知識<
31、/p><p> 2.1 軟件定義網絡(SDN)簡介</p><p> SDN全稱為Software Defined Networks,即軟件定義網絡,最初是由美國斯坦福大學提出的一種新式的網絡范型。這種新式網絡體系結構方式簡化了網絡操作,將應用與網絡服務、設備之間的交互更緊密地結合在一起。SDN通常采用邏輯上的集中式網絡控制(通常認為由SDN控制器來實現)。SDN控制器組織并協調應用程序與
32、網絡設備之間的交互,促進網絡設備間的通信。同時,SDN控制器提供界面友好、雙向交互的現代化編程接口,抽象并展現網絡操作,實現人性化網絡管控[5]。</p><p> SDN并不是某種具體的技術。它只是一種網絡設計理念,打破傳統網絡的思維模式,重新規(guī)劃了網絡的各個組成部分。SDN有兩個重要的屬性:一是通過將數據平面和控制平面的分離,實現邏輯上的集中管控;二是提供開放的可編程接口(通常也稱作“北向接口”)實現網絡功
33、能的靈活可定義。此外,SDN還具有硬件轉發(fā)面配置的標準化(通常指南向接口)、集中化的網絡控制以及網絡業(yè)務的自動化應用程序控制等特點[6]。</p><p> SDN的基本架構如圖2-1所示:</p><p> 圖2-1 SDN架構圖</p><p> 在SDN架構中有五個主要組成部分:控制器、網絡設備、北向接口、南向接口和應用服務??刂破魈幱诩軜嫷暮诵牡匚?,可
34、控制多臺網絡設備,一般運行在一臺單獨的服務器上。網絡設備與傳統的交換機根據轉發(fā)表轉發(fā)數據包不同。傳統交換機根據一定的策略生成自身的轉發(fā)表,當收到數據包時可自行決定如何處理數據包[7]。而SDN架構中的交換機則是一種“傻瓜式”的交換機,不能自行生成轉發(fā)表來確定如何轉發(fā)數據包,必須由控制器通過OpenFlow協議下達一個名為“流表”的表項給交換機,交換機根據流表內容確定處理收到的數據包的方式。南向接口就是控制器與網絡設備進行通信的接口。北向
35、接口是控制平面與上層應用服務之間的接口。應用層面的服務不再依賴任何路由協議,用戶可自行定義服務類型和方法,以滿足特定需求。</p><p> SDN技術起源于校園網,目前廣泛研究并應用于數據中心和企業(yè)網絡。在安全領域,SDN也日益發(fā)揮著重要的作用。</p><p> 2.2 Floodlight控制器簡介</p><p> Floodlight是一款開源控制器
36、,基于Java語言,支持OpenFlow協議。它使用“層次化”架構來實現控制器的功能,并提供了種類繁多的應用,可直接將數據轉發(fā)、拓撲發(fā)現等功能部署到網絡中。Floodlight的Web管理界面方便用戶查看實時的網絡拓撲信息、交換機和主機信息。Floodlight通過向OpenFlow交換機下發(fā)流表的方式實現對交換設備的集中控制和管理,從而實現了SDN的數據控制分離的理念。</p><p> Floodlight
37、整體架構如圖2-2所示。</p><p> 圖2-2 Floodlight整體架構圖</p><p> Floodlight整體架構由控制器核心功能以及運行在控制器上的應用組成。應用和控制器之間可以通過Java接口或REST API (Representational State Transfer API)交互。從功能的角度看,Floodlight可以視為由控制器核心服務模塊、普通應用
38、模塊和REST應用模塊三部分組成[8]。開發(fā)人員可以根據系統提供的API創(chuàng)建應用,也可以自行添加所需的模塊。這種模塊化、分層次的部署方式有效實現了控制器的可擴展性。</p><p> 2.3 OpenFlow1.3協議簡介</p><p> OpenFlow是一種新型的網絡協議,目前用作控制器和交換機之間的標準協議。支持OpenFlow1.3協議的交換機的組成要素如圖2-3所示:<
39、;/p><p> 圖2-3 OpenFlow1.3協議的架構</p><p> OpenFlow交換機使用基于安全連接的OpenFlow協議與控制器進行通信。OpenFlow引入了“流”的概念?!傲鳌笔峭ㄟ^提取每次通信產生的數據分組的共同特征,從而將本次通信的大量數據分組抽象成一個“流”。使用OpenFlow協議,控制器就可以根據某次通信中“流”的第一個數據分組的特征通過協議提供的接口對數
40、據平面設備(即OpenFlow交換機)部署相關策略。這種策略被稱為“流表”。本次通信的后續(xù)數據分組按照下發(fā)到OpenFlow交換機中的相應流表進行匹配、轉發(fā),從而實現了軟件和硬件的“解耦”,網絡設備不再受某種特定網絡協議的約束[9]。這也體現了SDN數據平面與控制平面分離的核心思想。</p><p> OpenFlow協議支持三種類型的消息:controller-to-switch、asynchronous、s
41、ymmetric。其中,controller-to-switch消息由控制器發(fā)起,用于管理或檢查交換機的狀態(tài);asynchronous消息由OpenFlow交換機發(fā)起,用于將網絡事件的更新和交換機狀態(tài)的改變告知控制器;symmetric消息可由控制器或OpenFlow交換機中的任何一方發(fā)起[10]。</p><p> OpenFlow1.3協議是OpenFlow1.0協議的演進版本。與OpenFlow1.0不同
42、的是,OpenFlow1.3協議增加了多級流表和組表的概念,還增加了基于流的計量(Meter)和數據包處理的動作類型,同時修改了數據包特征匹配的描述方法(match方法)[11]。相比之下,OpenFlow1.3協議內容更為復雜,功能也更為強大。</p><p> 2.4 Mininet環(huán)境簡介</p><p> Mininet是一種輕量級的進程虛擬化網絡仿真工具。通過Mininet,
43、只需要一行簡單的命令就能夠創(chuàng)建任意一個支持SDN的網絡拓撲結構,并進行相關測試,方便靈活[12]。更為重要的是,通過Mininet驗證的網絡設計可以輕松遷移至真實的設備環(huán)境中,使得為網絡添加新功能并予以測試的過程更為便捷,真正實現了理論與實踐的無縫銜接[13]。Mininet主要包括以下幾個特性:</p><p> 靈活性:可通過軟件方式快速創(chuàng)建各種復雜的、用戶自定義網絡拓撲,縮短開發(fā)及測試周期,并支持系統級的
44、還原測試。提供Python API,簡化使用。</p><p> 可移植性:Mininet支持OpenFlow、OpenvSwitch等軟件定義的網絡部件,經Mininet測試過的設計可輕松移植到支持OpenFlow的硬件設備上。</p><p> 可擴展性:可支持成百上千個節(jié)點的網絡結構。</p><p> 真實性:Mininet模擬真實網絡環(huán)境,運行的協議
45、棧也與實際使用的相同,可運行真實的程序。</p><p> 第3章 系統需求分析</p><p> 本系統通過向SDN控制器發(fā)送REST請求得到網絡中與設備、交換機、端口等的相關信息,將得到的JSON格式的網絡信息數據格式化,轉化成相應的模式,將全網拓撲信息通過圖形直觀展現出來。同時,通過得到的信息進行流量分析,并將實時的流量狀態(tài)以圖表的形式直觀展現給用戶。</p>&
46、lt;p> 3.1 系統功能性需求分析</p><p> 3.1.1 獲取網絡信息</p><p> 啟動SDN控制器并搭建網絡拓撲之后,通過向SDN控制器發(fā)送REST請求,得到網絡中與設備、交換機、端口、鏈路等相關的JSON格式的數據,為進一步分析做好準備。所有的請求和接收都是通過HTTP包完成的。</p><p> 3.1.2 網絡信息的分析與格式
47、化</p><p> 使用Jackson將通過REST請求得到的JSON格式的數據格式化,轉化為相應的模式。轉化后的數據被存放在統一的數據結構中,供接下來流量分析和拓撲顯示所使用。</p><p> 3.1.3 全網拓撲顯示</p><p> 使用TWaver圖形界面開發(fā)工具包,根據已轉換的網絡信息數據繪制全網拓撲,以顯示網絡中的設備和設備間的鏈路連接信息,并
48、在客戶端以直觀的圖形界面形式展現給用戶。</p><p> 3.1.4 流量分析與顯示</p><p> 利用格式化后的JSON數據,采用一定的算法計算網絡中的交換機每個端口的流量情況。同時設計一個線程作為定時器,每隔5秒向SDN控制器發(fā)送REST請求,以便動態(tài)獲取交換機端口信息,從而實現實時的流量監(jiān)控。將交換機的端口信息存放在一一映射的數據結構中。當選定某一交換機時,該交換機所有端口
49、的相關信息就會顯示在表格中;選定表格中的某一端口,即可在折線圖中實時顯示并更新交換機端口的流量狀態(tài)情況。</p><p> 3.2 系統非功能性需求分析</p><p><b> 3.2.1 實用性</b></p><p> 數據中心中的多種業(yè)務產生的巨大流量極易造成網絡的擁塞,使得網絡中某些關鍵業(yè)務的帶寬需求得不到很好的保障。當某些服務
50、需要額外的帶寬時,就要求采取一些限流與優(yōu)先提供帶寬的保障策略,確保服務質量。為了實現業(yè)務流帶寬實時保障,需要對網絡中的流量狀態(tài)進行實時監(jiān)控。當網絡中出現擁塞,流量達到某一指定閾值時,就可及時采取調度策略,確保網絡中的指定業(yè)務正常運行。流量監(jiān)控系統可以為帶寬保障策略提供調度依據。</p><p> 3.2.2 可擴展性</p><p> 本系統可以顯示全網拓撲和交換機各端口的基本信息及實
51、時流量情況。其信息均是通過向SDN控制器發(fā)送REST請求獲得的。事實上,REST請求得到的信息有很多,在此只是顯示了與流量相關的一些基本內容,系統處于研發(fā)的初級階段。隨著學習和優(yōu)化的不斷深入,該系統可擴展成依據不同的需求顯示所需信息。</p><p> 3.2.3 界面需求</p><p> 本系統可顯示SDN控制器的基本狀態(tài)信息、全網拓撲和流量實時變化情況,界面簡潔明了,用戶能夠清晰
52、獲取所需的各端口的實時流量狀態(tài)情況。</p><p> 3.3 系統開發(fā)環(huán)境</p><p> 本系統主要使用Java語言作為主要開發(fā)語言。由于該系統并非適用于某一個或某幾種特定的拓撲結構,而是適用于任何拓撲架構,為了通過Mininet仿真軟件模擬網絡環(huán)境,需要使用Python語言編寫拓撲腳本。</p><p> Mininet 2.2.0不能夠在Window
53、s平臺下運行,需要安裝在Linux系統中才能支持網絡拓撲的搭建。SDN開源控制器Floodlight 1.0支持跨平臺運行,在本系統開發(fā)中為加快運行效率,將在Windows平臺下運行SDN控制器。</p><p> 使用Eclipse 4.4.2軟件作為流量監(jiān)控系統的主要開發(fā)平臺,在Eclipse中安裝swt開發(fā)包用作編輯圖形用戶界面的框架。使用Jackson轉換請求到的JSON數據包。使用TWaver圖形界面
54、工具包顯示全網拓撲。</p><p> 第4章 系統設計及實現</p><p> 4.1 系統概要設計</p><p> SCRAT-Floodlight帶寬保障系統中的流量監(jiān)控模塊是前臺的客戶端,可供用戶查看控制器的狀態(tài)、全網拓撲結構以及各端口的實時流量狀態(tài)等信息。該客戶端采用MVC設計模式進行開發(fā),分為模型(Model)、視圖(View)和控制器(Cont
55、roller)三部分。整個流量監(jiān)控分析系統分為REST請求模塊、JSON轉換模塊以及用戶界面模塊這三大主要功能模塊。</p><p> 該系統的模塊功能圖如圖4-1所示。</p><p> 圖4-1 SCRAT-Floodlight帶寬保障系統模塊功能圖</p><p> REST請求模塊:主要提供HTTP服務。該模塊主要包括GET、POST、DELETE三大
56、請求方式。用戶可以在客戶端通過該模塊向Floodlight控制器發(fā)送REST請求,以便從控制器獲得JSON格式的數據。這些數據中包含與控制器有關的信息(如控制器狀態(tài)、控制器模塊、控制器中的策略等)以及與設備相關的信息(如交換機、鏈路、設備、端口等相關信息)。</p><p> JSON轉換模塊:該模塊用于將通過REST請求從控制器得到的JSON格式的數據轉化為響應的模型(包括控制器、交換機、設備、鏈路、端口等模
57、型),以便在視圖中予以顯示。</p><p> 用戶界面模塊:即MVC設計模式中的視圖部分,可通過圖形用戶界面將控制器狀態(tài)信息、網絡拓撲結構以及交換機端口流量信息向用戶直觀展現。</p><p> 4.2 系統模塊劃分</p><p> 通過對系統分析,流量監(jiān)控分析系統主要分為兩大模塊:請求與轉化模塊、圖形界面顯示模塊。進一步進行劃分,可分為4個小模塊:RES
58、T請求、JSON數據轉化、顯示網絡拓撲、顯示端口流量。系統的功能模塊劃分如圖4-2所示。</p><p> 圖4-2 流量監(jiān)控系統模塊劃分圖</p><p> 4.3 系統工作過程</p><p> 流量監(jiān)控系統的工作過程如圖4-3所示。</p><p> Floodlight控制器啟動后,可監(jiān)控當前網絡狀態(tài)。客戶端向Floodlig
59、ht控制器發(fā)送REST請求,以從控制器獲得當前網絡中的相關信息。這些信息主要是交換機、設備、鏈路、端口等與設備相關的信息,以JSON格式的數據形式返回至客戶端。隨后,JSON格式的數據(即JSON模塊)將會通過使用Jackson工具進行分析并格式化,轉化為相應的控制器、交換機、設備、鏈路、端口等一系列模型。這些模型將傳給相應的視圖,用于顯示網絡拓撲。在進行流量分析時,客戶端通過線程,每隔5秒獲取交換機的端口信息,將信息轉化為圖表的形式,
60、這樣端口的流量狀態(tài)就可以顯示在圖形界面上。</p><p> 圖4-3 系統工作流程</p><p> 4.4 系統詳細設計與實現</p><p> 4.4.1 流量監(jiān)控分析類圖</p><p> 根據系統預期功能及工作流程分析,本流量監(jiān)控分析系統的類以及類之間的相互關系如圖4-4所示。</p><p> 圖
61、4-4 流量監(jiān)控系統類圖</p><p> 4.4.2 向控制器發(fā)出REST請求</p><p> 客戶端向控制器發(fā)出REST請求,以獲取JSON格式的全網信息。這種請求事實上是一種HTTP請求,因此在發(fā)送和接收過程中,用到了HTTP相應的包。HTTP服務包括GET、POST、DELETE三種主要的請求方式。</p><p> 4.4.3 JSON格式數據的轉
62、換</p><p> JSON格式的數據轉換為相應的模型主要是利用Jackson框架實現的。controller.util包中包含JSON的格式化工具Jackson。controller.json包通過調用controller.util中的Jackson工具,將從控制器中得到的JSON格式的數據進行格式化,轉化為model(模型)中對應的數據結構。定時器將控制每隔5秒向控制器請求交換機信息以便及時更新。<
63、/p><p> 以將JSON數據轉化為鏈路模型為例:</p><p> 4.4.4 顯示網絡拓撲</p><p> 轉化后的數據模型將存儲在一個映射的數據結構中。顯示網絡拓撲采用的是TWaver圖形界面開發(fā)工具包,以及swt編程框架。以顯示交換機為例:</p><p> 4.4.5 顯示端口流量狀態(tài)</p><p>
64、; 當顯示出網絡拓撲時,端口統計表和折線圖中不會顯示任何有關交換機端口和流量速率的信息。而當點擊拓撲中的某個交換機時,系統將在端口統計表中顯示該交換機所有端口的信息(包括端口號、端口狀態(tài)、發(fā)送和接收流量情況、丟包數以及錯誤信息等),并在折線圖中默認顯示該交換機的1號端口的實時流量速率狀態(tài);同時,系統將會得到該交換機的Dpid(OpenFlow交換機與控制器交互所產生的ID號,如00:00:00:00:00:00:00:01)。由于在格
65、式化為相應模型時創(chuàng)建了一個鏈表,此時就可以根據交換機的Dpid從鏈表中找到相應的交換機端口及對應的端口信息,并將相關信息顯示在表格的相應位置中。</p><p> 與此同時,系統還會將得到的相關數據進行處理。由于客戶端每隔5秒便向控制器請求交換機端口信息,因此,系統將會用當前得到的字節(jié)數減去上一次得到的字節(jié)數,乘以8再除以1024,再除以時間,即可得到單位為Kb/s的端口速率信息。</p><
66、;p> 當選擇表格中的某一端口時,將根據該端口的流量速率信息相應顯示在折線圖中。</p><p> 第5章 系統運行測試</p><p> 本課題所設計的基于SDN的網絡帶寬保障系統,其流量監(jiān)控分析部分可獲取全網拓撲信息并通過圖形界面予以顯示。同時,針對網絡中交換機各個端口的流量狀態(tài)信息也會進行實時的監(jiān)控和顯示。該系統并非針對某一或某些特定拓撲而設計。它適用于任何類型的拓撲,
67、包括Mininet自定義拓撲以及其他各種或簡單或復雜的用戶自定義拓撲。下面將分別針對用戶自定義拓撲和Mininet內置樹形拓撲進行系統測試。</p><p> 5.1 系統測試準備</p><p> 5.1.1 啟動Mininet仿真軟件</p><p> 首先在VMware Workstation中啟動Mininet仿真軟件(Mininet只能在Linux平
68、臺下運行)為搭建網絡拓撲做好模擬網絡環(huán)境的準備。登錄用戶名和密碼均為mininet。登錄成功的界面如圖5-1所示。</p><p> 圖5-1 Mininet啟動成功界面</p><p> 如果需要清除之前的配置操作,或Mininet在運行過程中出現故障需要恢復,可使用sudo mn –c命令完成。</p><p> 5.1.2 啟動Floodlight控制器
69、</p><p> Floodlight開源控制器可以跨平臺運行。本課題中為加快運行速度,選擇在Windows平臺下運行Floodlight控制器。</p><p> 在命令提示符(cmd)中,進入floodlight文件夾中,運行java -jar target/floodlight.jar命令,啟動floodlight控制器。如圖5-2所示。</p><p&
70、gt; 圖5-2 Floodlight控制器啟動界面</p><p> Floodlight控制器啟動之后,可以監(jiān)控當前網絡的狀態(tài)。用戶就可以通過客戶端向控制器請求獲得網絡信息。控制器會將監(jiān)控到的網絡中的各種信息,包括設備、鏈路以及自身的狀態(tài)信息返回給客戶端。</p><p> 5.1.3 使用putty遠程登錄Mininet</p><p> 使用putt
71、y遠程登錄Mininet,就可以利用Mininet仿真軟件模擬網絡環(huán)境,搭建網絡拓撲。首先需要在Mininet中使用ifconfig命令獲取Mininet的IP地址。然后啟動putty,遠程登錄到Mininet,如圖5-3所示。進入Mininet登錄界面后,用戶名和密碼均為mininet,由此便可遠程登錄至Mininet進行后續(xù)操作,如圖5-4所示。</p><p> 圖5-3 通過putty遠程登錄Minin
72、et</p><p> 圖5-4 成功實現遠程登錄Mininet</p><p> 5.2 用戶自定義網絡拓撲測試</p><p> 5.2.1 自定義拓撲腳本</p><p> 此處將使用Python語言自定義一個由兩個交換機互連,每個交換機各連一臺主機的網絡拓撲(文件名為topo-2sw-2host.py)。網絡拓撲腳本為:<
73、;/p><p> 將該拓撲腳本文件通過WinSCP復制到遠程Mininet中。</p><p> 5.2.2 搭建網絡拓撲</p><p> 在從putty遠程登錄到Mininet的終端中,進入到存放自定義拓撲的目錄文件夾下,使用sudo mn --custom topo-2sw-2host.py –topo mytopo --controller=remote,
74、 ip=121.251.241.72, port=6653 –switch ovs, protocols=OpenFlow13命令生成自定義網絡。其中IP地址為Windows系統主機的IP地址。成功創(chuàng)建網絡且網絡暢通的運行結果如圖5-5所示。</p><p> 圖5-5 創(chuàng)建自定義網絡</p><p> 5.2.3 流量監(jiān)控系統監(jiān)控情況</p><p> 啟動
75、Scrat-Floodlight網絡帶寬保障平臺,觀察控制器的狀態(tài)、網絡拓撲情況及端口流量狀態(tài)。平臺啟動界面如圖5-6所示:</p><p> 圖5-6 Scrat-Floodlight啟動界面</p><p> Floodlight控制器的IP地址可以是Windows主機的IP地址,也可以是本地環(huán)回地址127.0.0.1。</p><p> 進入系統之后,在
76、“控制器”標簽,可以看到控制器的主機名、QoS狀態(tài)、加載的模塊等控制器狀態(tài)信息,如圖5-7所示。</p><p> 圖5-7 控制器狀態(tài)信息</p><p> 在“網絡拓撲”標簽中,可以看到用戶自定義的網絡拓撲結構。單擊拓撲中的交換機,右側將顯示交換機各端口的相關信息,包括連接狀態(tài)、發(fā)送和接收流量、丟包數及錯誤信息等。選定某個端口,折線圖中將顯示實時流量狀態(tài),每隔5秒更新一次。默認情況
77、下將顯示選定交換機端口1的流量狀態(tài)。如圖5-8所示。</p><p> 圖5-8 網絡拓撲與流量狀態(tài)顯示</p><p> 5.2.4 流量狀態(tài)真實性檢驗</p><p> 為了驗證該系統顯示的流量狀態(tài)信息是實時可信的,我們將采用iperf網絡性能測試工具測試系統的真實性。iperf可以測試帶寬的最大性能,可根據需要進行調整[14]。</p>&
78、lt;p> 首先在Mininet端使用XTerm啟動兩個獨立的主機終端h1和h2,如圖5-9所示。</p><p> 圖5-9 xterm啟動主機終端</p><p> 啟動后將出現兩個主機節(jié)點的終端,用來輸入輸出。如圖5-10所示。</p><p> 圖5-10 主機終端</p><p> 然后在主機1中使用iperf語句向
79、主機2發(fā)送測試流量。測試語句為iperf –u –c 10.0.0.2 –i 1 –t 120 –b 10M –p 9000。該命令可使主機作為客戶端連接到10.0.0.2的服務器端,并在120秒的時間內向服務器端發(fā)送UDP測試數據包(使用UDP端口9000)。測試使用的帶寬為10Mbit/s,且每隔1秒輸出測試報告。產生運行界面如圖5-11所示。</p><p> 圖5-11 iperf網絡性能測試</
80、p><p> 此時觀察流量監(jiān)控狀況,將會發(fā)現流量保持在10M左右。這可以說明該流量監(jiān)控系統的檢測結果是實時的,并且是真實可信的。</p><p> 監(jiān)測結果如圖5-12所示。其中綠色為端口1發(fā)送流量的實時監(jiān)控,紅色為選擇端口2后觀察到的接收流量的實時情況。</p><p> 圖5-12 流量實時監(jiān)控情況</p><p> 5.3 Mini
81、net樹狀網絡拓撲測試</p><p> 下面將利用Mininet中已定義好的樹狀網絡拓撲進行系統測試,以說明該系統與拓撲無關。</p><p> 搭建樹狀拓撲不需要腳本程序,因為Mininet中已定義好樹狀拓撲的格式,僅需自行設定樹的深度和扇出數即可。此處我們將選用深度為2,扇出數為2的樹狀拓撲。</p><p> 在Mininet遠程登錄端輸入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)建樹狀拓撲。運行結果如圖5-13所示。</p><p> 圖5-13 創(chuàng)建樹狀拓撲</p><p> 網絡拓撲、端口流量狀態(tài)及iperf測試結果如圖5-14
83、所示。其中綠色表示1號端口發(fā)送流量的狀態(tài),紅色表示3號端口接收流量的狀態(tài)。</p><p> 圖5-14 樹狀網絡及性能測試</p><p> 由此可見,無論網絡拓撲是什么樣的,該流量監(jiān)控系統都可以根據向Floodlight控制器發(fā)送的REST請求得到的信息進行處理,得到相應的網絡拓撲信息并予以正確顯示。同時,該系統可以實時監(jiān)控網絡流量狀態(tài),將端口流量信息以圖表和折線圖的形式直觀展現出
84、來。經過多次檢驗,該系統與拓撲無關,且監(jiān)控到的流量狀態(tài)具有真實可信度。</p><p> 第6章 總結與展望</p><p> 6.1 課題研究總結</p><p> 本課題通過學習并研究SDN相關技術,實現了利用SDN架構中的北向接口開發(fā)流量監(jiān)控及分析系統這一應用的目的。在基于SDN的網絡帶寬保障系統中,流量監(jiān)控及分析系統部分能夠通過向控制器發(fā)送REST請
85、求獲取網絡信息,顯示全網拓撲,而且能夠實時監(jiān)控交換機各端口的流量狀態(tài)并以直觀的圖形方式顯示出來,實現了“以人為本”的網絡監(jiān)控和狀態(tài)分析,為帶寬保障策略的實施提供了參考依據。</p><p> 通過本次畢業(yè)設計課題“基于SDN的網絡帶寬保障系統——流量分析系統”的設計與實現,我學習了SDN的基本理論知識和基礎操作技能,掌握了使用Mininet仿真軟件構建自定義網絡的方法,熟悉了從Floodlight控制器獲取網絡
86、信息并進行數據處理和圖形顯示的基本實現過程,對使用SDN北向接口開發(fā)應用的基本流程和要點有了一定的認識和理解,同時對OpenFlow協議也有了初步的認知。通過學習和實踐,我對于SDN在數據中心網絡的重要應用有了粗淺的理解,對于帶寬保障策略的實施也有了一定的認識。同時,我還熟悉了一些開發(fā)工具和測試工具的使用,為今后更深入更廣泛的研究奠定了基礎。</p><p> 6.2 系統不足之處</p><
87、;p> 經過幾個月的不懈努力,流量監(jiān)控分析系統已基本實現了預期的功能,能夠正常并且準確地運行。盡管如此,由于對SDN知識掌握不夠全面扎實,從用戶體驗和實際應用的角度上看,該系統仍存在一些不足之處。使用REST請求從Floodlight控制器能夠得到的網絡信息有很多很多,該系統只能固定地顯示某些信息。人性化的系統設計應該能夠根據用戶的需求相應地予以顯示,即能夠達到“所見即所求”的效果。此外,客戶端界面不夠美觀,用戶體驗感受不夠好。
88、這些都是我接下來努力的方向。</p><p><b> 6.3 收獲與體會</b></p><p> 通過本次畢業(yè)設計基于SDN的網絡帶寬保障系統中流量監(jiān)控分析模塊的設計與實現,我充分利用這次機會鍛煉了自己的自主學習能力和動手實踐能力。誠然,SDN的研究非常具有挑戰(zhàn)性,但壓力也是動力,在整個學習的過程中,我一直在不懈努力,不斷使自己在理論和實踐兩方面都取得了很大的
89、進步,同時也對自己有了更大的信心。</p><p> SDN最困難的就是入門階段。由于與傳統網絡的運行有著極大的不同,在學習中我們既要充分理解傳統網絡原理,又要摒棄傳統網絡,從全新的角度理解SDN,這一點十分必要,也十分具有挑戰(zhàn)性。在老師的指導和同學們的幫助下,我一點一滴開始從頭學起,遇到不懂的問題就查閱各種資料或向同學請教,通過各種途徑打好基礎。同時,我在一邊學習理論知識的同時,更加注重動手能力的加強。實踐出
90、真知,這樣理論聯系實際的做法對于提高自我具有極大的幫助。</p><p> 畢業(yè)設計的課題研究對于我的信心、耐心和毅力也都是極大的考驗。由于SDN極富挑戰(zhàn)性,在學習過程中走入死胡同成為家常便飯,常常讓人有極大的挫敗感。但我會及時調整自己的心態(tài),克服浮躁情緒,一步一個腳印,扎實走好每一步。每當遇到問題時,我會告誡自己不要急于求成,不要氣餒,不斷嘗試,發(fā)散思維,尋找各種新的解決問題的途徑。慢慢地,我開始學會享受獨立
91、、耐心解決問題的過程??傊敬萎厴I(yè)設計讓我的心理狀態(tài)成長了很多,獲益匪淺。</p><p> 6.4 課題研究展望</p><p> 作為一種新興的網絡架構理念,SDN目前仍處于發(fā)展的初期。SDN領域不僅吸引了學術界的深入研究和挖掘,各大網絡巨頭也陸續(xù)在SDN技術和市場方面展開了競爭。SDN的出現帶來了很多前所未有的機遇,但與此同時,也面臨著眾多挑戰(zhàn)。數據中心作為目前應用SDN的主要
92、場合,相信在可預見的一段時間內,必將成為學術研究和市場競爭的主戰(zhàn)場[15]。本次畢業(yè)設計所研究的基于SDN的網絡帶寬保障系統中的流量監(jiān)控分析系統僅僅是SDN應用中一個極小的部分,但卻為我們帶來了廣闊的研究前景。相信SDN將會日漸成為網絡研究領域的熱門話題,也將成為一項有力的職場競爭籌碼。我們將繼續(xù)沿著這一方向深入探討下去,為SDN的發(fā)展貢獻綿薄之力。</p><p><b> 致 謝</b&g
93、t;</p><p> 時光飛逝。轉眼間,我在 **計算機與通信工程學院四年的大學生活即將畫上句號。回想四年的種種酸甜苦辣,感慨良多。豐富多彩的大學生活讓我在思想、學習、生活等諸多方面都有了顯著的提高和長足的發(fā)展。在畢業(yè)論文即將完成之際,我想對大學四年期間曾給予我鼓勵、支持和幫助的所有人表示最衷心的感謝。感謝你們一直以來的陪伴,給了我一段難忘而豐富的旅程。</p><p> 首先,我要
94、向所有在四年大學生活期間給予我無私幫助的老師們致以崇高的敬意和真摯的謝意,感謝所有老師在學習、工作和生活中對我的悉心指點和關照。特別要感謝我的導師**老師,感謝*老師在整個畢業(yè)設計期間給予我充分的耐心和全方位的指導。*老師在學術方面的專業(yè)的指導方法、嚴謹的治學態(tài)度和高度的責任心,為我們的畢設選題、前期學習準備、系統需求分析與實現、測試與完善以及論文撰寫等方方面面都給予了精益求精的幫助和提升。在*老師的支持下,我們不僅順利完成了本科畢業(yè)設
95、計,還從中學習到了很多做人做事的人生道理,將使我受益終生。再次向*老師的淵博學識和高尚師德致以崇高的敬意。</p><p> 感謝四年來與我分擔風雨分享歡樂的同學和朋友們。正是有了他們的鼓勵和陪伴,我才能夠在每次遭遇挫折和困難時都能鼓足勇氣,克服困難,度過難關。特別要感謝的是和我一起完成畢業(yè)設計整個學習和實現過程的李芃和宋勝男兩位同學。正是在他們的鼓勵和幫助下,我無論在理論知識還是實踐技能方面都取得了巨大的進步
96、,并最終得以順利完成畢業(yè)設計系統的實現。</p><p> 最后,我要向我的父母致以最真摯的謝意。四年獨自在外的求學生活,正是因為有了父母的鼓勵和安慰,我才能在每一次面對十字路口的選擇時都能保持清醒的頭腦,在每一次面對遇到挫折時都能堅定信念執(zhí)著應對,在每一次收獲喜悅時都能分享歡欣并不忘讓我保持清醒。父母在物質和精神方面的無私付出,堅定了我繼續(xù)求學的信念,不斷使自己成為更好的人。感謝父母為我付出的一切。愿父母身體
97、康健,幸福綿長。</p><p> 再次感謝身邊所有給予我?guī)椭凸膭畹娜?。在今后的求學之路和工作生活中,我都將銘記得到過的所有恩惠,不斷努力,不懈奮斗,用實際行動回報所有親朋好友,回報社會,成為一名有所作為的人才。</p><p><b> 參考文獻</b></p><p> 黃韜,劉江,魏亮,張嬌,劉韻潔.軟件定義網絡核心原理與應用實踐
98、 [M].北京:人民郵電出版社 2014.</p><p> Thomas D. Nadeau & Ken Gray. 軟件定義網絡:SDN與OpenFlow解析 [M]. 畢軍 譯. 北京:人民郵電出版社 2014.</p><p> 劉誠明,陳赤航,張云勇,王淑玲,房秉毅等. 軟件定義網絡技術與應用 [M]. 北京:人民郵電出版社 2013.</p><
99、p> 李勇. 園區(qū)網絡流量監(jiān)測系統研究與設計 [D]. 合肥工業(yè)大學 2007</p><p> 張衛(wèi)峰.深入解析SDN:利益、戰(zhàn)略、技術、實踐 [M]. 北京:電子工業(yè)出版社 2014</p><p> 張朝昆,崔勇,唐翯祎,吳建平. 軟件定義網絡(SDN)研究進展 [J]. 軟件學報 </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協議 h
102、ttp://www.sdnap.com/wp-content/uploads/openflow/openflow-spec-v1.3.0.pdf</p><p> 林彧.互聯網網絡流量統計系統 [D]. Zhongshan University 2010</p><p> 吳慧.OpenFlow網絡中QoS管理系統的研究與實現 [D]. Wuhan Research Institute
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡帶寬相關知識
- IP網絡帶寬測量.pdf
- 動態(tài)調整網絡帶寬服務系統的設計與實現.pdf
- 基于代理的網絡安全保障系統設計.pdf
- 網絡帶寬的測量研究與實現
- 基于IPv6的網絡帶寬測量研究.pdf
- 透明網絡帶寬管理系統的研究與實現.pdf
- IP網絡帶寬測量研究.pdf
- 基于服務質量的網絡保障系統.pdf
- 基于IPMP的網絡帶寬測量方法研究.pdf
- 網絡帶寬與視頻質量的關系研究
- IP網絡帶寬測量算法研究.pdf
- 基于SDN網絡感知自動分配帶寬框架的設計與實現.pdf
- 基于SDN的MapReduce帶寬優(yōu)化設計.pdf
- 網絡帶寬的測試算法研究.pdf
- 組播網絡帶寬分配研究.pdf
- 基于SCPC-DAMA的VSAT網絡帶寬調度算法研究.pdf
- 網絡帶寬主動測量技術研究.pdf
- 基于網絡帶寬約束的網格任務調度算法研究.pdf
- Internet網絡帶寬測量技術研究.pdf
評論
0/150
提交評論