2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p>  題目:基于SDN的啞交換機(jī)技術(shù)研究與實(shí)踐</p><p>  基于SDN啞交換機(jī)技術(shù)的研究與實(shí)踐</p><p><b>  摘要</b></p><p>  隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)絡(luò)服務(wù)類型以及業(yè)務(wù)量不斷增多,因此對(duì)傳統(tǒng)的網(wǎng)絡(luò)的性能也提出了更高的要求,但

2、是由于傳統(tǒng)網(wǎng)絡(luò)的局限性,現(xiàn)階段只能在原有網(wǎng)絡(luò)上進(jìn)行網(wǎng)絡(luò)設(shè)備的增加,協(xié)議的版本升級(jí)等手段,網(wǎng)絡(luò)維護(hù)工作變得日益復(fù)雜。SDN是一種新興的技術(shù),它的核心思想是控制與轉(zhuǎn)發(fā)分離,網(wǎng)絡(luò)設(shè)備具有開放的可編程接口和網(wǎng)絡(luò)集中控制,SDN大力推動(dòng)了網(wǎng)絡(luò)的創(chuàng)新,同時(shí)在SDN網(wǎng)絡(luò)架構(gòu)里網(wǎng)絡(luò)的設(shè)計(jì),實(shí)施,管理也較傳統(tǒng)網(wǎng)絡(luò)架構(gòu)簡(jiǎn)單許多。</p><p>  本論文首先介紹了和SDN相關(guān)的一些基礎(chǔ)性概念,其中包括SDN網(wǎng)絡(luò)架構(gòu),南向接口協(xié)議O

3、penflow的技術(shù)原理,以及控制器的相關(guān)知識(shí),然后在虛擬機(jī)下搭建符合SDN框架的實(shí)驗(yàn)環(huán)境,最后在這種實(shí)驗(yàn)環(huán)境上實(shí)現(xiàn)拓?fù)涞尿?yàn)證,轉(zhuǎn)發(fā)路徑的驗(yàn)證以及基于跳數(shù)和帶寬的路徑轉(zhuǎn)發(fā)等實(shí)驗(yàn)。</p><p>  通過相關(guān)實(shí)驗(yàn)的結(jié)果我們得出了,在基于跳數(shù)和帶寬的路徑選擇實(shí)驗(yàn)中,控制器能通過下發(fā)流表來使流量始終走跳數(shù)少的或者帶寬較大的,從而始終保證流量的高效傳輸,這種轉(zhuǎn)發(fā)與控制分離的思想使得網(wǎng)絡(luò)的可控性與靈活性都大大提高。<

4、;/p><p>  關(guān)鍵詞:SDN Mininet Openflow Opendaylight </p><p>  Achieve dumb switch technology on the basis of SDN</p><p><b>  Abstract</b></p><p>  With the deve

5、lopment of the Internet,Types of network services and network traffic is also increasing.so there have a higher requirements to the traditional network,However, due to the limitations of traditional network,At present, w

6、e have to increase the network equipment, upgrade the protocol version, and network maintenance work has become increasingly complex.Software Defined Network(SDN) is an emerging network architecture where network control

7、 is decoupled from forwarding and is directly p</p><p>  First,This paper introduces some basic concepts associated with the SDN, including knowledge SDN network architecture, packet structure to the south O

8、penflow1.0 interface protocol, and controller,Secondly I set up SDN experimental environment in a virtual machine,and finally,Finally, I did some experiments in a SAN environment which including topology verification,Ver

9、ify forwarding path,and path based on hops and forwarding bandwidth experiment.</p><p>  By the result of the experiments we find that the controller will keep the traffic safety, high-speed transmission by

10、issued flow table,for example the controller will choose the less hop in the experiment that based on the hop ,and the controller will choose the lager bandwidth in the experiment that based on the bandwidth , Such forwa

11、rding and control the thought of separation so that the controllability and flexibility of the network are greatly enhanced.</p><p>  Key Words: SDN Mininet Openflow Opendaylight </p><p><

12、b>  目錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  1 緒論1</b></p><p>  1.1 課題背景1</p><p>  1.2 研究意義1</p&

13、gt;<p>  1.3 國內(nèi)外研究現(xiàn)狀2</p><p>  1.3.1 國外研究現(xiàn)狀2</p><p>  1.3.2 國內(nèi)研究現(xiàn)狀3</p><p>  1.4 本論文的主要研究?jī)?nèi)容4</p><p>  1.5 論文結(jié)構(gòu)4</p><p>  2 相關(guān)技術(shù)介紹與研究6</p>

14、;<p>  2.1 SDN網(wǎng)絡(luò)架構(gòu)6</p><p>  2.2 Openflow技術(shù)原理7</p><p>  2.2.1 概述7</p><p>  2.2.2 OpenFlow交換機(jī)8</p><p>  2.2.3 OpenFlow 協(xié)議10</p><p>  2.3 Mininet

15、的解析12</p><p>  2.3.1 Mininet的概述12</p><p>  2.3.2 Mininet的使用13</p><p>  2.3.3 Mininet的結(jié)構(gòu)分析13</p><p>  2.4 Opendaylight的應(yīng)用15</p><p>  2.4.1 Opendaylight

16、 概述15</p><p>  2.4.1 Opendaylight 項(xiàng)目架構(gòu)16</p><p>  2.5 本章小結(jié)17</p><p>  3 基于SDN網(wǎng)絡(luò)框架設(shè)計(jì)18</p><p>  3.1 拓?fù)涞脑O(shè)計(jì)18</p><p>  3.1.1 通過Mininet命令行實(shí)現(xiàn)18</p>

17、<p>  3.1.2 通過python腳本設(shè)計(jì)拓?fù)?9</p><p>  3.1.3 通過python程序自定義拓?fù)?0</p><p>  3.2 流表的下發(fā)22</p><p>  3.3 驗(yàn)證功能的開發(fā)24</p><p>  3.3.1 拓?fù)涞臏?zhǔn)確性校驗(yàn)24</p><p>  3.3

18、.2 網(wǎng)絡(luò)性能的測(cè)試24</p><p>  3.3.3 轉(zhuǎn)發(fā)路徑的驗(yàn)證性功能的設(shè)計(jì)25</p><p>  3.5 本章小結(jié)25</p><p>  4 基于SDN環(huán)境的通信網(wǎng)絡(luò)的實(shí)現(xiàn)26</p><p>  4.1 實(shí)驗(yàn)環(huán)境的搭建26</p><p>  4.1.1 Mininet的安裝26</p

19、><p>  4.1.2 Opendaylight 的安裝 27</p><p>  4.2 通信網(wǎng)絡(luò)測(cè)試30</p><p>  4.2.1 實(shí)驗(yàn)130</p><p>  4.2.2 實(shí)驗(yàn)231</p><p>  4.2.3 實(shí)驗(yàn)335</p><p>  4.2.4 實(shí)驗(yàn)437

20、</p><p>  4.2.5 實(shí)驗(yàn)543</p><p>  4.3 本章小結(jié)45</p><p>  5 總結(jié)與展望46</p><p>  5.1 工作總結(jié)46</p><p><b>  5.2 展望46</b></p><p><b>  致

21、 謝47</b></p><p><b>  參考文獻(xiàn)48</b></p><p><b>  1 緒論</b></p><p><b>  1.1 課題背景</b></p><p>  在傳統(tǒng)的路由器或交換機(jī)設(shè)計(jì)中,快速的報(bào)文轉(zhuǎn)發(fā)(數(shù)據(jù)面)和高層路由決定(控

22、制面)是集成在一起的,傳統(tǒng)網(wǎng)絡(luò)一開始就是一個(gè)分布式的格局,沒有中心的控制節(jié)點(diǎn),網(wǎng)絡(luò)中的設(shè)備之間都是相互傳遞路由信息,由每臺(tái)設(shè)備自己決定轉(zhuǎn)發(fā)規(guī)則,這直接導(dǎo)致了沒有整體觀念,不能從整個(gè)網(wǎng)絡(luò)的角度對(duì)流量進(jìn)行調(diào)控。并且一個(gè)大型網(wǎng)絡(luò)的設(shè)計(jì)都是基于傳統(tǒng)的網(wǎng)絡(luò)設(shè)計(jì)架構(gòu),在網(wǎng)絡(luò)項(xiàng)目的實(shí)施過程中都是基于具體的交換機(jī)和路由器進(jìn)行相應(yīng)的配置,通常一些學(xué)校,醫(yī)院或者政府部門的大型網(wǎng)絡(luò)項(xiàng)目牽扯到的網(wǎng)絡(luò)設(shè)備達(dá)到上千臺(tái),因此大型網(wǎng)絡(luò)項(xiàng)目的實(shí)施與維護(hù)都越來越復(fù)雜。在近

23、幾十年的網(wǎng)絡(luò)技術(shù)發(fā)展過程中,由于這種緊耦合大型主機(jī)式的發(fā)展限制了IP網(wǎng)絡(luò)創(chuàng)新技術(shù)的出現(xiàn),更多的是通過不斷增長(zhǎng)的RFC文檔對(duì)現(xiàn)行網(wǎng)絡(luò)進(jìn)行修修補(bǔ)補(bǔ),造成了交換機(jī)/路由器設(shè)備控制功能高度復(fù)雜。</p><p>  軟件定義網(wǎng)絡(luò)SDN[1](Soft-ware Defined Networking)是由美國的Clean State研究組提出來的一種新型的網(wǎng)絡(luò)架構(gòu),2006年美國斯坦福大學(xué)的學(xué)生Casado開展了一個(gè)關(guān)于網(wǎng)

24、絡(luò)安全與管理的項(xiàng)目Ethane[2],該項(xiàng)目通過一個(gè)集中式的控制器,使網(wǎng)絡(luò)管理員能夠在各種網(wǎng)絡(luò)設(shè)備中定義基于網(wǎng)絡(luò)流的安全策略,后來Casado和他的導(dǎo)師McKeown發(fā)現(xiàn)如果將Ethane設(shè)計(jì)應(yīng)用于一般化,不僅局限于安全方面,即將傳統(tǒng)網(wǎng)絡(luò)的控制平面和數(shù)據(jù)平面分離,通過集中式的控制器用標(biāo)準(zhǔn)化的接口來對(duì)各種網(wǎng)絡(luò)設(shè)備進(jìn)行管理和配置,這也是SDN的核心思想,如此一來,將為網(wǎng)絡(luò)資源的設(shè)計(jì)、管理和使用提供更多的可能性,從而革命性的改變了現(xiàn)有的網(wǎng)絡(luò)架

25、構(gòu),為未來的網(wǎng)絡(luò)發(fā)展提供了一個(gè)新的方向?;贠penFlow[3]的SDN技術(shù)推出后。2009年被MIT評(píng)為十大前沿技術(shù)[4]。</p><p><b>  1.2 研究意義</b></p><p>  SDN在最近幾年發(fā)展愈發(fā)被看重,隨著各家廠商,運(yùn)營商等的加入,各項(xiàng)</p><p>  也逐漸趨于成熟,無論在對(duì)企業(yè),網(wǎng)絡(luò)工程師,還是網(wǎng)絡(luò)本身

26、架構(gòu)來說,它都有不小的優(yōu)勢(shì)。</p><p>  對(duì)于企業(yè)來說來說,會(huì)大大較小網(wǎng)絡(luò)設(shè)備的購買以及后期維護(hù)的費(fèi)用,因?yàn)樵趥鹘y(tǒng)網(wǎng)絡(luò)架構(gòu)中,路由器,交換機(jī),防火墻等是構(gòu)成網(wǎng)絡(luò)的不可獲取的主要元</p><p>  素,而這些元素在SDN的架構(gòu)中會(huì)被替代成Openflow 交換機(jī)和控制器,顯然控制器不需要像傳統(tǒng)網(wǎng)絡(luò)中的路由器數(shù)量那么龐大,同時(shí)后期的設(shè)備的維護(hù)數(shù)量也相應(yīng)的減少了,對(duì)應(yīng)的維護(hù)費(fèi)用也減少

27、了。</p><p>  對(duì)于網(wǎng)絡(luò)項(xiàng)目的實(shí)施人員來說,由于在SDN架構(gòu)中,交換機(jī)只負(fù)責(zé)簡(jiǎn)單的轉(zhuǎn)發(fā)工作,而主要的流表下發(fā)都是有控制器完成的,所以也大大簡(jiǎn)化了網(wǎng)絡(luò)工程師的配置工作,顯然已經(jīng)不需要再像傳統(tǒng)網(wǎng)絡(luò)中那樣到每臺(tái)路由器上配置有路由協(xié)議,做策略,到每臺(tái)交換機(jī)上配置vlan等信息,因此配置工作也大大減少,網(wǎng)絡(luò)項(xiàng)目的實(shí)施效率也會(huì)對(duì)應(yīng)的提高。</p><p>  對(duì)于網(wǎng)絡(luò)架構(gòu)本身來講,傳統(tǒng)網(wǎng)絡(luò)新

28、業(yè)務(wù)的部署方式是補(bǔ)丁式的,因?yàn)榫W(wǎng)絡(luò)中新老設(shè)備并存,新業(yè)務(wù)必須兼容老業(yè)務(wù),新的協(xié)議基本上都是在原有協(xié)議的基礎(chǔ)上進(jìn)行擴(kuò)展,這就大大限制了網(wǎng)絡(luò)架構(gòu)創(chuàng)新性的發(fā)展。而在SDN網(wǎng)絡(luò)架構(gòu)中用戶不僅可以通過控制器來控制底層交換機(jī)的轉(zhuǎn)發(fā)行為,甚至可以按需定義報(bào)文的封裝格式,而不再局限于Mac,ip等元素,這也為SDN網(wǎng)絡(luò)架構(gòu)的創(chuàng)新帶來了無限的可能性。</p><p>  1.3 國內(nèi)外研究現(xiàn)狀</p><p&g

29、t;  SDN作為近幾年新興起來的技術(shù),由于它具有創(chuàng)新性高,引入新業(yè)務(wù)速度快,網(wǎng)絡(luò)維護(hù)費(fèi)用低,可以和虛擬化技術(shù)結(jié)合等優(yōu)勢(shì),因此得到很多廠商,運(yùn)營商的青睞,并且也有專門為之成立的組織機(jī)構(gòu),最近幾年在各方的努力下SDN的實(shí)踐化應(yīng)用也逐漸有了進(jìn)步。</p><p>  1.3.1 國外研究現(xiàn)狀 </p><p>  a. 開放式網(wǎng)絡(luò)基金會(huì)ONF[5](Open Networking Founda

30、tion)已經(jīng)完成了SDN的架構(gòu)定義、安全需求和原則、光傳送SDN需求,遷移需求等多個(gè)文檔,并完成了南向接口協(xié)議Openflow1.4.x和配置管理協(xié)議OF-Config1.2的指定,在ONF發(fā)布的最新的SDN Architecture中,在三層架構(gòu)的基礎(chǔ)上還增加了管理能力和多個(gè)信區(qū)域,ONF成立了Carrire SDN討論組,針對(duì)運(yùn)營商網(wǎng)絡(luò)在SDN領(lǐng)域的特有需求進(jìn)行討論[6]。</p><p>  b. 國際互

31、聯(lián)網(wǎng)工程任務(wù)組IETF(The Internet Engineering Task Force )</p><p>  中的PCE(Path Computation Element)工作組正在推進(jìn)有狀態(tài)PCE的標(biāo)準(zhǔn)化,以提供實(shí)時(shí)流量工程計(jì)算中的路徑計(jì)算元素和網(wǎng)絡(luò)節(jié)點(diǎn)間的相關(guān)協(xié)議,I2RS(Interface to the routing system)通過制定I2RS協(xié)議實(shí)現(xiàn)控制器和網(wǎng)絡(luò)設(shè)備的交互,類似于ONF中

32、的openflow協(xié)議[7]。</p><p>  c. OpenDaylight[8]是有l(wèi)inux基金會(huì)提出了一個(gè)項(xiàng)目,正在開展的項(xiàng)目包括控制器,虛擬用戶網(wǎng)絡(luò),適用于SDN的SNMP等。ODL已經(jīng)發(fā)布了第一個(gè)通用平臺(tái)Hydrogen,包括基礎(chǔ)版,運(yùn)營商版,和虛擬化3個(gè)版本,并且已經(jīng)開啟了下一個(gè)平臺(tái)Helium的工作,同是ODL已經(jīng)開放了通用的北向接口,只需在Openstake中內(nèi)置一個(gè)Neutron插件,就可

33、與之結(jié)合,大大簡(jiǎn)化了對(duì)Opendstake的要求,加快了控制器與業(yè)務(wù)層的適配。</p><p>  d. 斯坦福大學(xué)的研究者在2008年提出了基于OpenFlow,它作為SDN的原型實(shí)現(xiàn)方式,代表著SDN控制轉(zhuǎn)發(fā)分離技術(shù)的實(shí)現(xiàn),隨著SDN技術(shù)得到認(rèn)可,從嚴(yán)格意義上來講,OpenFlow指的是SDN控制平面和數(shù)據(jù)平面之間多種通信協(xié)議之一,但實(shí)際上OpenFlow以其良好的靈活性、規(guī)范性已被看做SDN通信協(xié)議事實(shí)上的

34、標(biāo)準(zhǔn)。</p><p>  e. 日本NTT是較早進(jìn)行SDN技術(shù)研究的運(yùn)營商之一,研發(fā)了一款虛擬網(wǎng)絡(luò)控制器,用于多個(gè)數(shù)據(jù)中心的統(tǒng)一服務(wù)和按需分配,已經(jīng)部署到其位于歐洲,美國和日本的數(shù)據(jù)中心。</p><p>  f. 谷歌構(gòu)建的B4網(wǎng)絡(luò)是目前最著名最有影響力的SDN技術(shù)應(yīng)用案例,它由中心流量工程(TE)服務(wù)器,網(wǎng)絡(luò)控制服務(wù)器(NCS),以及下層的交換機(jī)組成,在網(wǎng)絡(luò)控制服務(wù)器上運(yùn)行OpenF

35、low Controller(OFC)集群,交換機(jī)硬件運(yùn)行OpenFlow Agent接受OFC的控制。根據(jù)OFC下發(fā)的流表轉(zhuǎn)發(fā)流量,谷歌基于OpenFlow理念搭建的數(shù)據(jù)中心Wan網(wǎng)絡(luò)可通過編程實(shí)現(xiàn)自動(dòng)創(chuàng)建和重新配置遍布全球的數(shù)據(jù)中心之間的連接,通過周密的流量工程和優(yōu)先級(jí)次序的工作方式使其資源利用率從30%提升到了90%以上,極大的節(jié)省了成本[9]。</p><p>  g. 針對(duì)南向接口,除了ONF提出的Op

36、enFlow協(xié)議和OF-CONFIG[10]協(xié)議外,IETF提出了For-CES[11]協(xié)議,思科公司提出了OnePK[12]協(xié)議。ForCES對(duì)網(wǎng)絡(luò)設(shè)備內(nèi)部結(jié)構(gòu)重新定義,將轉(zhuǎn)發(fā)元素和控制元素分離,形成兩個(gè)獨(dú)立的邏輯實(shí)體,兩個(gè)邏輯實(shí)體件靠ForCES協(xié)議通信。OnePK則是cisco針對(duì)SDN產(chǎn)品專門開發(fā)的接口協(xié)議,該協(xié)議可以運(yùn)行在cisco所研發(fā)的專屬平臺(tái)上,并支持開發(fā)者用C或JAVA編寫的程序。</p><p&g

37、t;  1.3.2 國內(nèi)研究現(xiàn)狀</p><p>  a. 目前我國的通信標(biāo)準(zhǔn)化協(xié)會(huì)(CCSA)也與時(shí)俱進(jìn),在國內(nèi)主導(dǎo)SDN的標(biāo)準(zhǔn)化工作,其中在TC3下特設(shè)了SVN(Software Virtualization Network)研究組,目前重點(diǎn)在基于SDN的智能管道技術(shù)和基于虛擬化的核心網(wǎng)的研究。</p><p>  b. 中國電信成立了集團(tuán)級(jí)的云計(jì)算重點(diǎn)實(shí)驗(yàn)室,以云數(shù)據(jù)中心為切入點(diǎn),探

38、索SDN技術(shù),利用SDN技術(shù)+NFV[13]技術(shù)提供面向云計(jì)算服務(wù)的網(wǎng)絡(luò)增值業(yè)務(wù),其中,中國電信股份有限公司北京研究院還自主研發(fā)控制器等SDN的核心組件。</p><p>  c. 中國移動(dòng)已經(jīng)在國內(nèi)、北美兩地開展了2次大規(guī)模測(cè)試,針對(duì)7個(gè)廠家的控制器,10個(gè)廠家的OpenFlow交換機(jī)搭建測(cè)試環(huán)境,進(jìn)行OpneFlow標(biāo)準(zhǔn),功能、性能、SDN應(yīng)用等測(cè)試,驗(yàn)證標(biāo)準(zhǔn)及產(chǎn)品成熟度并聯(lián)合芯片廠家研發(fā)了Super PTN

39、芯片,成功演示了基于OpenFlow的SDN化PTN圓形系統(tǒng)。</p><p>  d. 騰訊在第二屆SDN & NFV大會(huì)上提出了構(gòu)建邊緣智能網(wǎng)絡(luò)的概念,該網(wǎng)絡(luò)基于Overlay的SDN實(shí)現(xiàn)方式,將虛擬網(wǎng)絡(luò)與物理網(wǎng)絡(luò)解耦,虛擬機(jī)通過開源OVS接入網(wǎng)絡(luò)OVS根據(jù)上層的分布式控制器下發(fā)流表轉(zhuǎn)發(fā)流量,虛擬網(wǎng)絡(luò)之間使用VXVLAN標(biāo)簽實(shí)現(xiàn)用戶隔離,這種使用OVS+VXVLAN+SDN構(gòu)建的虛擬擴(kuò)往遷移,虛擬二層

40、網(wǎng)絡(luò)進(jìn)行伸縮,多租戶安全隔離,業(yè)務(wù)靈活擴(kuò)展,流量只能調(diào)度等,能有效提高數(shù)據(jù)中心間的寬帶利用率,減少故障收斂時(shí)間,從而提升用戶體驗(yàn)[14]。</p><p>  e. 華為也在SDN方向進(jìn)行了探索,基于SDN的虛擬感知解決方案,控制層采用SDN控制器,數(shù)據(jù)層采用OpenFlow交換機(jī),應(yīng)用層開放兼容多個(gè)云平臺(tái)--OpenStake,VMware,微軟數(shù)據(jù)中心等;高性能的NVO3網(wǎng)關(guān);PCE提升廣域網(wǎng)鏈路利用效率等。

41、華為不僅在實(shí)踐中敢于實(shí)踐,在技術(shù)創(chuàng)新方面OF控制器,SmartTE演示系統(tǒng),SDN的設(shè)備技術(shù)研究等領(lǐng)域都取得了相應(yīng)的成績(jī)[15]。</p><p>  1.4 本論文的主要研究?jī)?nèi)容</p><p>  自從SDN技術(shù)被提出來之后,由于本身所具有的相對(duì)于傳統(tǒng)網(wǎng)絡(luò)的優(yōu)勢(shì),因此迅速得到了各廠商,運(yùn)營商的認(rèn)可,并且已經(jīng)成立了一些專門為之服務(wù)的機(jī)構(gòu),他們負(fù)責(zé)定義相關(guān)協(xié)議的標(biāo)準(zhǔn),比如openflow

42、1.0,openflow 1.3等協(xié)議也逐一問世。</p><p>  本文正是在這種研究氛圍如此濃厚的情況下,研究了SDN網(wǎng)絡(luò)架構(gòu)的以下內(nèi)容:</p><p> ?。?)基礎(chǔ)設(shè)施層和控制器之間的拓?fù)潋?yàn)證問題,由于SDN是一項(xiàng)新型的的技術(shù),所以有關(guān)SDN的產(chǎn)品都是比較昂貴的,因此本論文的實(shí)驗(yàn)環(huán)境都是基于虛擬機(jī)來實(shí)現(xiàn)的,在基礎(chǔ)設(shè)施層主要由Mininet構(gòu)成,當(dāng)Mininet將所需要的拓?fù)浯罱?/p>

43、完成后,我們需要驗(yàn)證Mininet的拓?fù)涫欠裨贠pendaylight控制器里正常顯示,所以這就需要在Mininet端使用net命令查看Mininet的拓?fù)涫欠裾_創(chuàng)建,在正確創(chuàng)建的前提下,并且調(diào)用拓?fù)浜瓦B接Opendaylight的命令都無誤的情況下,拓?fù)潋?yàn)證才能成功。</p><p> ?。?)轉(zhuǎn)發(fā)路徑的驗(yàn)證問題,在本系統(tǒng)中,路徑的轉(zhuǎn)發(fā)都是基于控制住器下發(fā)流表來實(shí)現(xiàn)的,因?yàn)樾枰M真實(shí)環(huán)境,所以就要確保流量準(zhǔn)

44、確無誤的按照下發(fā)的流表來執(zhí)行,本系統(tǒng)利用流表項(xiàng)中的n_packets來驗(yàn)證流表下發(fā)是否生效。</p><p>  (3)基于跳數(shù)的轉(zhuǎn)發(fā)路徑研究,將SDN網(wǎng)絡(luò)架構(gòu)和傳統(tǒng)網(wǎng)絡(luò)架構(gòu)里的RIP協(xié)議相比較,分別從不同的角度來演示說明了SDN網(wǎng)絡(luò)機(jī)構(gòu)在對(duì)拓?fù)涞陌盐?,以及轉(zhuǎn)發(fā)路徑的選取上都有不小的優(yōu)勢(shì)。</p><p> ?。?)基于帶寬的轉(zhuǎn)發(fā)路徑的研究,在實(shí)際環(huán)境中,鏈路總體帶寬雖然不變,但是隨著業(yè)務(wù)

45、需求的增加,分配給每個(gè)用戶的帶寬可能就會(huì)不足,因此本實(shí)驗(yàn)通過模擬應(yīng)用層動(dòng)態(tài)感知網(wǎng)絡(luò)拓?fù)涞膸捵兓?,靈活分配流量所走的路徑,來達(dá)到流量時(shí)刻保持高速轉(zhuǎn)發(fā)的目的。</p><p><b>  1.5 論文結(jié)構(gòu)</b></p><p>  本論文的主要分為五章,每章的研究?jī)?nèi)容如下:</p><p>  第一章為緒論,首先介紹了課題的研究背景,以及研究意

46、義,然后介紹了國內(nèi)外關(guān)于SDN的一些研究進(jìn)展,最后介紹了本論文的研究?jī)?nèi)容和論文結(jié)構(gòu)。</p><p>  第二章為相關(guān)技術(shù)的研究,本章首先介紹了SDN網(wǎng)絡(luò)架構(gòu),它主要分為基礎(chǔ)設(shè)施層,控制層,以及應(yīng)用層,并且介紹了每層的功能,然后詳細(xì)分析了南向接口協(xié)議Openflow ,最后介紹了實(shí)驗(yàn)環(huán)境所需要的兩大組件,Mininet和Opendaylight。</p><p>  第三章為系統(tǒng)的設(shè)計(jì),首

47、先介紹了拓?fù)涞娜N搭建方法,包括用Mininet命令行,Python腳本以及Python程序。然后介紹了利用了控制器進(jìn)行流表下發(fā)的過程,最后介紹了拓?fù)涞尿?yàn)證,轉(zhuǎn)發(fā)路徑的驗(yàn)證,已經(jīng)網(wǎng)絡(luò)性能的檢測(cè)。</p><p>  第四章為系統(tǒng)的實(shí)現(xiàn),本章首先介紹了實(shí)驗(yàn)環(huán)境的搭建包括Mininet的安裝以及Opendaylight的安裝,然后在SDN環(huán)境下進(jìn)行了通信網(wǎng)絡(luò)的測(cè)試包括基于拓?fù)湫畔⒌墨@取功能,拓?fù)浣Y(jié)構(gòu)的驗(yàn)證功能,控制轉(zhuǎn)

48、發(fā)路徑功能,基于跳數(shù)的路徑選擇,基于帶寬的路徑選擇。</p><p>  第五章為結(jié)束語,本章首先對(duì)該論文進(jìn)行了總結(jié),然后對(duì)SDN的未來進(jìn)行了展望。</p><p>  2 相關(guān)技術(shù)介紹與研究</p><p>  2.1 SDN網(wǎng)絡(luò)架構(gòu)</p><p>  ONF標(biāo)準(zhǔn)化組織在提出的基于開放的Openflow南向接口協(xié)議的SDN架構(gòu),其核心理念

49、是將傳統(tǒng)網(wǎng)絡(luò)的控制平面和數(shù)據(jù)平面分離,通過集中式的控制器用標(biāo)準(zhǔn)化的接口來對(duì)各種網(wǎng)絡(luò)設(shè)備進(jìn)行管理和配置 。如圖2.1所示,它由下至上分為基礎(chǔ)設(shè)施層,控制層,應(yīng)用層。 </p><p>  圖 2.1 SDN框架圖</p><p>  基礎(chǔ)設(shè)施層主要由通用的轉(zhuǎn)發(fā)設(shè)備構(gòu)成?;诳刂茖酉掳l(fā)的指令和策略進(jìn)行分組的轉(zhuǎn)發(fā)??刂茖优c轉(zhuǎn)發(fā)設(shè)備之間的接口被稱為Openflow。通用轉(zhuǎn)發(fā)設(shè)備的報(bào)文轉(zhuǎn)發(fā)采用三態(tài)

50、內(nèi)容尋址存儲(chǔ)器(Ternary Content Addressable Memory,TCAM)、現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)等專用集成電路實(shí)現(xiàn),以充分發(fā)揮硬件性能優(yōu)勢(shì)。NEC、Juniper、HP、Cisco都在推進(jìn)支持Openflow接口的原型及產(chǎn)品。</p><p>  控制層主要由控制軟件構(gòu)成,它是將原有的交換機(jī)、路由器等網(wǎng)絡(luò)設(shè)備中的控制功能抽取

51、出來并與獨(dú)立的軟件結(jié)合起來從而形成控制軟件。原有的交換機(jī)、路由器中的STP、RIP、IS-IS等軟件功能都從基礎(chǔ)設(shè)施層剝離,由控制層統(tǒng)一實(shí)施交換與路由的管理??刂栖浖梢允占W(wǎng)絡(luò)狀態(tài)信息并遠(yuǎn)程向轉(zhuǎn)發(fā)設(shè)備下發(fā)靈活多變的流表(flow table)和組表(group table),實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)報(bào)文的處理,如轉(zhuǎn)發(fā)、標(biāo)簽處理、過濾等?,F(xiàn)在業(yè)界已經(jīng)出現(xiàn)一些開源控制器軟件—Opendaylight,Ryu,Pox,F(xiàn)loodlight等等</p

52、><p>  應(yīng)用層由軟件形態(tài)的應(yīng)用程序構(gòu)成,可通過Restful API的方式或者網(wǎng)絡(luò)操作系統(tǒng)API的方式調(diào)用控制層提供的控制網(wǎng)絡(luò)轉(zhuǎn)發(fā)面的能力。比如,應(yīng)用可以直接要求控制層為它提供端到端的路由及QoS保障,也可以通過控制層對(duì)網(wǎng)絡(luò)進(jìn)行精細(xì)化的管理,比如設(shè)置特殊的訪問控制策略、負(fù)載均衡方案、防火墻設(shè)置規(guī)則等。</p><p>  其中層與層之間的通信是通過相應(yīng)的接口來完成,其中基礎(chǔ)設(shè)施層通過南向

53、接口和控制層來溝通,Openflow協(xié)議就是比較典型的南向接口協(xié)議。而控制層和應(yīng)用層之間通過北向接口協(xié)議來進(jìn)行通信,到目前為止還沒有統(tǒng)一的北向接口標(biāo)準(zhǔn)協(xié)議。</p><p>  總體來說,SDN網(wǎng)絡(luò)結(jié)構(gòu)層次化明顯,通過對(duì)網(wǎng)絡(luò)設(shè)備的集中化控制,控制層能夠根據(jù)全局網(wǎng)絡(luò)信息合理高效的分配網(wǎng)絡(luò)流量,通過開放的控制接口,能夠?qū)崿F(xiàn)控制層對(duì)網(wǎng)絡(luò)設(shè)備的靈活控制。同時(shí),用戶也可以對(duì)開放接口進(jìn)行自定義編程,這也提高了網(wǎng)絡(luò)的創(chuàng)新能力。

54、</p><p>  2.2 Openflow技術(shù)原理</p><p><b>  2.2.1 概述</b></p><p>  OpenFlow是由斯坦福大學(xué)的Nick McKeown教授在2008年4月ACM Commun-ications Review上發(fā)表的一篇論文OpenFlow: enabling innovation in cam

55、-pus networks首先詳細(xì)論述了OpenFlow的原理,最初出發(fā)點(diǎn)是用于校園內(nèi)網(wǎng)絡(luò)研究人員實(shí)驗(yàn)其創(chuàng)新網(wǎng)絡(luò)架構(gòu)、協(xié)議,考慮到實(shí)際的網(wǎng)絡(luò)創(chuàng)新思想需要在實(shí)際網(wǎng)絡(luò)上才能更好地驗(yàn)證,而研究人員又無法修改在網(wǎng)的網(wǎng)絡(luò)設(shè)備,故而提出了OpenFlow的控制轉(zhuǎn)發(fā)分離架構(gòu),將控制邏輯從網(wǎng)絡(luò)設(shè)備盒子中引出來,研究者可以對(duì)其進(jìn)行任意的編程從而實(shí)現(xiàn)新型的網(wǎng)絡(luò)協(xié)議、拓?fù)浼軜?gòu)而無需改動(dòng)網(wǎng)絡(luò)設(shè)備本身。自2009年底發(fā)布第一個(gè)用于商業(yè)化交換機(jī)的正是標(biāo)準(zhǔn)1.0版本

56、以后,OpenFlow協(xié)議已經(jīng)經(jīng)歷了1.1、1.2、1.3以及1.4等版本的演進(jìn)變化過程。表2.1列出了OpenFlow協(xié)議各個(gè)版本的演進(jìn)過程和主要變化。</p><p>  表 2.1 Openflow協(xié)議各個(gè)版本介紹</p><p>  2.2.2 OpenFlow交換機(jī)</p><p>  Openflow交換機(jī)是整個(gè)OpenFlow網(wǎng)絡(luò)的核心部件之一,如圖2

57、.2所示,openflow交換機(jī)結(jié)構(gòu)主要由安全通道,流表,Openflow協(xié)議組成。它主要描述了控制層以下,基礎(chǔ)設(shè)施層以上之間的標(biāo)準(zhǔn),其中控制層和基礎(chǔ)設(shè)施層之間通過加載在安全通道里的Openflow協(xié)議進(jìn)行通信。</p><p>  圖 2.2 OpenFlow交換機(jī)的構(gòu)成</p><p>  Openflow交換機(jī)接收到的數(shù)據(jù)包通過查詢流表來取得相應(yīng)的動(dòng)作,如果沒有匹配的表象,則把數(shù)據(jù)

58、包發(fā)送給控制器,由控制器決定轉(zhuǎn)發(fā)行為。安全通道是交換機(jī)和控制器之間同行的接口,控制器通過這個(gè)接口控制和管理交換機(jī),同時(shí)控制器接受來自交換機(jī)的時(shí)間并向交換機(jī)發(fā)送數(shù)據(jù)包。Openflow協(xié)議是指控制器和交換機(jī)之間通信的標(biāo)準(zhǔn)。</p><p>  Openflow交換機(jī)接受到一個(gè)數(shù)據(jù)包時(shí),首先從Flowtable0開始按照優(yōu)先級(jí)進(jìn)行匹配查找,如果匹配成功,將首先更新該規(guī)則對(duì)應(yīng)的計(jì)數(shù)器(如果匹配數(shù)據(jù)包總數(shù)目和總字節(jié)數(shù)等)

59、,然后執(zhí)行對(duì)應(yīng)的指令集和,比如跳轉(zhuǎn)至后續(xù)某一FlowTable繼續(xù)處理,修改或者立即自行該數(shù)據(jù)包對(duì)應(yīng)的Action Set等,如果匹配不成功,則根據(jù)流表中的配置進(jìn)行相應(yīng)的處理,比如發(fā)送給控制器,丟包,護(hù)著繼續(xù)比對(duì)下一個(gè)流表項(xiàng)。</p><p>  傳統(tǒng)的網(wǎng)絡(luò)設(shè)備的架構(gòu)中包含兩個(gè)方面,控制面和轉(zhuǎn)發(fā)面。轉(zhuǎn)發(fā)平面包含三個(gè)功能,轉(zhuǎn)發(fā)決策、背板和輸出鏈路調(diào)度、通常采用專門的設(shè)計(jì)的ASIC芯片實(shí)現(xiàn)性能的提升,轉(zhuǎn)發(fā)平面相對(duì)于控

60、制平面具有更高的使用頻率,參考如圖 2.3所示。</p><p>  圖 2.3 傳統(tǒng)網(wǎng)絡(luò)交換設(shè)備的架構(gòu)示意圖</p><p>  SDN交換機(jī)的實(shí)現(xiàn)還需要考慮到使用場(chǎng)景的需要,從而合理的將控制平面和轉(zhuǎn)發(fā)平面進(jìn)行分離??偟膩碚f。以下四個(gè)因素是決定不同場(chǎng)景下的SDN交換機(jī)的實(shí)現(xiàn)的關(guān)鍵性因素。</p><p><b>  a. 交換模式</b>&l

61、t;/p><p>  交換模式是決定是決定傳輸?shù)膱?bào)文在轉(zhuǎn)發(fā)時(shí)被處理的時(shí)間的關(guān)鍵,因?yàn)闆Q策層面已經(jīng)被分離出去了,低延遲,高性能,可靠性是實(shí)際應(yīng)用常見的需求。相比與傳統(tǒng)的轉(zhuǎn)發(fā)方式,SDN交換機(jī)中由于已經(jīng)將轉(zhuǎn)發(fā)和控制分離,減輕了交換機(jī)在轉(zhuǎn)發(fā)延遲上的負(fù)擔(dān),所以交換機(jī)在轉(zhuǎn)發(fā)時(shí)應(yīng)著重考慮到可靠性的問題,所以采用存儲(chǔ)轉(zhuǎn)發(fā)模式是最好的選擇。</p><p><b>  b. 背板設(shè)計(jì)</b&g

62、t;</p><p>  交換機(jī)的背板為數(shù)據(jù)段的傳送提供了通道,傳統(tǒng)的交換機(jī)背板哈含有決策轉(zhuǎn)發(fā)硬件輔助設(shè)備。由于共享總線方式會(huì)出現(xiàn)共享總線的速度對(duì)整個(gè)網(wǎng)絡(luò)的流量產(chǎn)生產(chǎn)生很大的影響的缺點(diǎn),所以SDN交換機(jī)的實(shí)現(xiàn)應(yīng)該引入交叉開關(guān)矩陣機(jī)制,以避免因?yàn)橹俨闷鞯臎Q策導(dǎo)致數(shù)據(jù)包吃遲遲無法從端口發(fā)送出去,保證數(shù)據(jù)交換的概率,進(jìn)一步提升SDN交換機(jī)轉(zhuǎn)發(fā)工作效率。</p><p><b>  c.

63、 緩沖機(jī)制</b></p><p>  當(dāng)入端口的速率和出端口的速率不匹配時(shí),數(shù)據(jù)包不能及時(shí)的被發(fā)送出去,一次SDN交換機(jī)和傳統(tǒng)交換機(jī)設(shè)備相同,都必須考慮數(shù)據(jù)包的緩沖問題,由于SDN交換機(jī)轉(zhuǎn)發(fā)面的速率比傳統(tǒng)交換機(jī)高得多,需要重點(diǎn)考慮數(shù)據(jù)擁塞時(shí)的交換機(jī)處理方法,數(shù)據(jù)幀很有可能被丟棄這種后果對(duì)SDN系統(tǒng)來說可能是非常致命的,參考傳統(tǒng)緩沖機(jī)制。SDN交換機(jī)可以考慮一下兩種緩沖機(jī)制:</p>&

64、lt;p> ?。?)端口緩沖,交換機(jī)在接收數(shù)據(jù)包時(shí),利用緩沖區(qū)域進(jìn)行緩沖,當(dāng)緩沖區(qū)</p><p>  滿時(shí),后續(xù)收到的數(shù)據(jù)將被丟棄如果緩沖區(qū)域可以靈活調(diào)整,則可以避</p><p>  免因?yàn)榫彌_區(qū)域使用殆盡而造成的包丟失。</p><p> ?。?)共享內(nèi)存,即所有端口可以共享內(nèi)存空間,通過動(dòng)態(tài)訪問內(nèi)存池,可以 </p><p&g

65、t;  保證數(shù)據(jù)緩沖由端口流量所控制。</p><p>  由于中心交換機(jī)需要處理大量的數(shù)據(jù),使用端口緩沖不可避免的會(huì)出現(xiàn)緩沖容量不足的情況,為了保證數(shù)據(jù)的可靠性,SDN交換機(jī)在設(shè)計(jì)實(shí)現(xiàn)的時(shí)候應(yīng)該采用共享內(nèi)存的緩沖機(jī)制。</p><p><b>  d. 轉(zhuǎn)發(fā)策略</b></p><p>  在緩沖區(qū)的數(shù)據(jù)包需要根據(jù)轉(zhuǎn)發(fā)策略來進(jìn)行轉(zhuǎn)發(fā),數(shù)據(jù)的轉(zhuǎn)

66、發(fā)可以采用不同的策略來決定,傳統(tǒng)的交換機(jī)根據(jù)路由表和轉(zhuǎn)發(fā)表來決定數(shù)據(jù)包的轉(zhuǎn)發(fā)方向,而SDN交換機(jī)同樣需要這種轉(zhuǎn)發(fā)決策機(jī)制,SDN交換機(jī)在進(jìn)行轉(zhuǎn)發(fā)時(shí)所需要的信息一方面是對(duì)傳統(tǒng)網(wǎng)絡(luò)各層次信息的綜合,一方面也容易由控制器記性管理使得轉(zhuǎn)發(fā)更加靈活。</p><p>  2.2.3 OpenFlow 協(xié)議</p><p>  OpenFlow規(guī)范主要分為如下3大部分,</p><

67、p>  a. Openflow的端口(port)</p><p>  Openflowguifan將Openflow交換機(jī)的端口分為以下3中類型:</p><p>  (1)物理端口,即設(shè)備上物理可見的端口</p><p>  (2)邏輯端口,在物理端口基礎(chǔ)上由交換機(jī)設(shè)備抽象出來的端口</p><p> ?。?)保留接口:由轉(zhuǎn)發(fā)動(dòng)作定義

68、的接口嗎,實(shí)現(xiàn)Openflow轉(zhuǎn)發(fā)功能,除 </p><p>  Any接口外其他接口進(jìn)可作為出接口</p><p>  b. Openflow的FlowTable(流表)</p><p>  在Openflow 1.0中,每個(gè)流表由多個(gè)流標(biāo)項(xiàng)組成,每個(gè)流標(biāo)項(xiàng)由包頭域,計(jì)數(shù)器,動(dòng)作三部分組成。</p><p>  在Openflow 1.0中

69、包頭域有12個(gè)元素來匹配數(shù)據(jù)流,如圖2.3,端口號(hào)、VLAN、L2/L3/L4信息等,但是每個(gè)字段都是可以通配的,網(wǎng)絡(luò)的運(yùn)營商可以決定使用何種粒度的流,比如運(yùn)營商只需要根據(jù)目的IP進(jìn)行路由,那么流表中就可以只有目的IP字段是有效的,其它全為通配。</p><p>  圖 2.4 Openflow1.0匹配項(xiàng)目</p><p>  每個(gè)表項(xiàng)對(duì)應(yīng)到0個(gè)或者多個(gè)動(dòng)作,如果沒有轉(zhuǎn)發(fā)(forward

70、)行動(dòng),則默認(rèn)丟棄。多個(gè)動(dòng)作的執(zhí)行需要依照行動(dòng)列表中優(yōu)先級(jí)順序依次進(jìn)行。動(dòng)作可以分為兩種類型:必備動(dòng)作(Required Actions)和可選動(dòng)作(Optional Actions)。必備動(dòng)作是默認(rèn)支持的,交換機(jī)在連接到控制器時(shí)需要通知控制器它支持的可選動(dòng)作。交換機(jī)將會(huì)對(duì)包頭域匹配到的數(shù)據(jù)包執(zhí)行相應(yīng)的動(dòng)作。</p><p>  計(jì)數(shù)器可以針對(duì)每張表、每個(gè)流、每個(gè)端口、每個(gè)隊(duì)列來分別統(tǒng)計(jì)。通過對(duì)活躍的表項(xiàng)數(shù),查詢

71、次數(shù),匹配流的個(gè)數(shù),收到的數(shù)據(jù)包數(shù)目等信息的收集,這樣一來,使得網(wǎng)絡(luò)的管理和維護(hù)都變得更加容易。</p><p>  c. Openflow的通信通道</p><p>  Openflow規(guī)范定義了一個(gè)OpenFlow交換機(jī)如何與控制器連接、通信以及相關(guān)消息類型等。Openflow協(xié)議支持三種消息類型:controller-to-switch(表2.2),Asynchronous(表2.3

72、)和symmetric(表2.4),每一類消息又有多個(gè)子消息類型。Controlle-r-to-switch消息由控制器發(fā)起,用來管理或獲取switch狀態(tài);asynchronous消息由switch發(fā)起,用來將網(wǎng)絡(luò)事件或交換機(jī)狀態(tài)變化更新到控制器;symme-tric消息可由交換機(jī)或控制器發(fā)起。</p><p>  表 2.2 Controller-to-switch子消息類型</p><

73、;p>  表 2.3 Asynchronous 子消息類型</p><p>  表 2.4 Symmertic子消息類型</p><p>  2.3 Mininet的解析</p><p>  2.3.1 Mininet的概述</p><p>  Mininet是斯坦福大學(xué)Nick McKeown 小組基于linux Containe

74、r架構(gòu)開發(fā)的一個(gè)輕量級(jí)的軟件定義網(wǎng)絡(luò)的研發(fā)和測(cè)試的平臺(tái),該系統(tǒng)由虛擬的終端節(jié)點(diǎn),OpenFlow交換機(jī),控制器組成,因此它可以模擬真實(shí)的網(wǎng)絡(luò)。它采用輕量級(jí)的虛擬化技術(shù)使一個(gè)單一的系統(tǒng)看起來像一個(gè)完整的網(wǎng)絡(luò)的內(nèi)核系統(tǒng)和用戶代碼,也可簡(jiǎn)單理解為SDN網(wǎng)絡(luò)系統(tǒng)中的一種基于進(jìn)程虛擬化平臺(tái),它支持OpenFlow、Open vSwith 等各種協(xié)議,Mininet也可以模擬一個(gè)完整的網(wǎng)絡(luò)主機(jī)、鏈接和交換機(jī)在同一臺(tái)計(jì)算機(jī)上且有助于互動(dòng)開發(fā)、測(cè)試和演

75、示,尤其是那些使用OpenFlow和SDN技術(shù);同時(shí)也可將此進(jìn)程虛擬化的平臺(tái)下的代碼遷移到真實(shí)的環(huán)境中。</p><p>  Mininet的關(guān)鍵特性和優(yōu)勢(shì)如下:</p><p>  a. Mininet能夠創(chuàng)建由虛擬的主機(jī),交換機(jī)和控制器構(gòu)成的網(wǎng)絡(luò)。</p><p>  b. Mininet主機(jī)運(yùn)行標(biāo)準(zhǔn)的linux網(wǎng)絡(luò)軟件,其交換機(jī)支持OpenFlow。可<

76、/p><p>  以認(rèn)為Mininet是一個(gè)用于開發(fā)OpenFlow應(yīng)用的低成本的實(shí)驗(yàn)環(huán)境,</p><p>  不需要實(shí)際布線搭建物理網(wǎng)絡(luò),就能夠?qū)?fù)雜的網(wǎng)絡(luò)拓?fù)溥M(jìn)行測(cè)試。</p><p>  c. 提供了強(qiáng)大的命令行接口(command-line interface),CLI支持Openflow </p><p>  協(xié)議并能感知網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

77、,可以在整個(gè)范圍內(nèi)進(jìn)行調(diào)試。</p><p>  d. 提供簡(jiǎn)單可擴(kuò)展的python API,通過該API開發(fā)者可方便的創(chuàng)建網(wǎng)絡(luò)</p><p><b>  和對(duì)網(wǎng)絡(luò)進(jìn)行試驗(yàn)。</b></p><p>  e. 允許多個(gè)開發(fā)者在同一個(gè)網(wǎng)絡(luò)拓?fù)洵h(huán)境下協(xié)同試驗(yàn)。</p><p>  f. 便于安裝,良好的硬件移植性。<

78、/p><p>  2.3.2 Mininet的使用</p><p>  Mininet采用Python語言開發(fā),能夠簡(jiǎn)單快速的創(chuàng)建一個(gè)Openflow網(wǎng)絡(luò)系統(tǒng),并與該系統(tǒng)進(jìn)行交互和共享,可以使用Mininet的命令行來創(chuàng)建網(wǎng)絡(luò),利用其命令行能夠便于開發(fā)者使用命令的方式控制和管理整個(gè)虛擬網(wǎng)絡(luò),此外還可以利用Mininet提供的API自定義網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在Mininet中常用的命令如下:</

79、p><p>  表 2.5 Mininet常用命令如下表所列</p><p>  表 2.6 Mininet啟動(dòng)時(shí)常用參數(shù)介紹如下表所列</p><p>  2.3.3 Mininet的結(jié)構(gòu)分析</p><p>  Mininet中將網(wǎng)絡(luò)元素分為鏈路和節(jié)點(diǎn)兩種類型,并且對(duì)于每一種設(shè)備都有相應(yīng)的標(biāo)記網(wǎng)絡(luò)元素的各種屬性和操作。Node類表示一個(gè)基本的

80、虛擬網(wǎng)絡(luò)節(jié)點(diǎn),是Mininet中所有的挽留過節(jié)點(diǎn)的父類,其中包含名稱,命名空間,接口,端口等公共屬性,實(shí)現(xiàn)上其實(shí)就是在網(wǎng)絡(luò)名字空間中的一個(gè)shell進(jìn)程,可以通過各種管道進(jìn)行通信,其子類包含了虛擬注解節(jié)點(diǎn)Host類,虛擬交換節(jié)點(diǎn)switch類和控制節(jié)點(diǎn)controller類,圖2.4畫出了Node類及其所有子類的集成關(guān)系,Host包括Host和CPULImitedHost兩個(gè)類,CPULimitedHost類用于控制主機(jī)的CPU使用率;

81、Switch在Node類的基礎(chǔ)上加入了數(shù)據(jù)通路、參數(shù)、監(jiān)聽端口等Openflow交換機(jī)所具備的基本屬性,且包括四個(gè)子類,用于支持多種Openflow交換機(jī)軟件,包含:</p><p>  a. UserSwitch類:用戶態(tài)的Openflow參考交換機(jī),即ofdatapath;</p><p>  b. OVSLegacyKernelSwitch類:傳統(tǒng)的Openvswitch交換機(jī),基于

82、</p><p>  ovs-openflowd;</p><p>  c. OVSKernelSwitch類:表示一臺(tái)基于opensvswitch交換機(jī),基于ovs-vsctl</p><p><b>  進(jìn)行操作。</b></p><p>  d. IVSSwitch類:表示一臺(tái)indigo交換機(jī)。</p>

83、;<p>  Controller在Node類的基礎(chǔ)上增加了IP地址,端口等用于連接控制器的參數(shù)屬性,并支持檢查控制器的狀態(tài),主要方法包括啟動(dòng)停止一個(gè)控制器。Controller類包含三個(gè)子類用于支持多種openflow控制器軟件,包含:</p><p>  a. OVSController類:用于支持Mininet內(nèi)置的OVS控制器。</p><p>  b. NOX類:用

84、于支持Mininet內(nèi)置的NOX控制器。</p><p>  c. RemoteController類:表示一個(gè)在Mininet控制器外的控制器,比如</p><p>  Opendaylight,即用戶自己額外運(yùn)行的控制器。</p><p>  圖 2.4 網(wǎng)絡(luò)節(jié)點(diǎn)示例</p><p>  與節(jié)點(diǎn)類相對(duì)應(yīng),Mininet中提供了鏈路類用于

85、連接各節(jié)點(diǎn),類名稱為link。鏈路類描述鏈路相關(guān)的接口和連接,包括Intf類,Link類,TCIntf類,和TCLink</p><p><b>  類。</b></p><p>  a. Intf類:表示基本的網(wǎng)絡(luò)接口,比如h1-eth0表示host1上的eth0的接口。 </p><p>  屬性包括name,mac,ip等信息。構(gòu)造的時(shí)候

86、會(huì)傳入節(jié)點(diǎn),端口等屬性。</p><p>  b. Link類:表示基本的一跳鏈路,最基本的鏈路在mininet中其實(shí)就是veth</p><p>  接口,屬性包含了鏈路兩端對(duì)應(yīng)的接口所對(duì)應(yīng)的實(shí)例,創(chuàng)建鏈路時(shí)需要在</p><p>  兩個(gè)節(jié)點(diǎn)上分別生產(chǎn)兩個(gè)端口,利用節(jié)點(diǎn)和端口,獲取對(duì)應(yīng)的兩個(gè)網(wǎng)絡(luò)接</p><p><b>  口

87、的名稱。</b></p><p>  c. TCIntf類:被TC自定義的接口,可以配置包括帶寬,延遲,丟包率,最</p><p><b>  大隊(duì)列長(zhǎng)度等參數(shù)。</b></p><p>  d. TCLink類:表示已對(duì)對(duì)稱的TC接口連接到一起。</p><p>  2.4 Opendaylight的應(yīng)用&

88、lt;/p><p>  2.4.1 Opendaylight 概述</p><p>  Opendaylight是linux基金會(huì)的一個(gè)合作項(xiàng)目。目前,包括十二個(gè)項(xiàng)目,每一個(gè)項(xiàng)目都有自己的代碼庫,其中與openflow(南向接口協(xié)議)有聯(lián)系的包括:conroller,openflowjava和openflowplugin,目前controller僅支持openflow1.0,openflowp

89、lugin是一個(gè)單獨(dú)項(xiàng)目,在未來的發(fā)展過程中他的核心代碼部分將要集成到controller中,使得controller支持openflow1.3及以上版本。</p><p>  Opendaylight作為最近幾年迅速發(fā)展起來的項(xiàng)目,加入其中的廠商也逐漸增多,opendaylight將其分為白金會(huì)員,金牌會(huì)員,銀牌會(huì)員,包括思科,IBM,NEC,JUNIPER,DELL等等。 </p><p&

90、gt;  Opendaylight-controller使用Java編寫,運(yùn)行在JVM環(huán)境下,從理論上來講可以運(yùn)行在任何支持Java的平臺(tái)上。但是官方推薦的最佳運(yùn)行環(huán)境為L(zhǎng)inux(Ubuntu 12.04)& JVM 1.7+ 。Opendaylight提供了一個(gè)模塊化的的開放的SDN控制器,他提供北向的API(主要性應(yīng)用層提供服務(wù)),同時(shí)南向支持多種包括Openflow在內(nèi)的多種SDN協(xié)議,底層支持混合模式的交換機(jī)和經(jīng)典的O

91、penflow交換機(jī)。</p><p>  Opendaylight controller在設(shè)計(jì)的時(shí)候遵循了六個(gè)基本架構(gòu)原則:</p><p>  a. 運(yùn)行時(shí)模塊化和擴(kuò)展化(Runtime Modularity and Extensibility):支持在</p><p>  控制器運(yùn)行時(shí)進(jìn)行服務(wù)的安裝、刪除和更新。</p><p>  b

92、. 多協(xié)議的南向接口協(xié)議支持(Mulitiprotocol Southbound):南向支持多種協(xié)</p><p><b>  議。</b></p><p>  c. 服務(wù)抽形層(Service Abstraction Layer):南向多種協(xié)議對(duì)上提供統(tǒng)一的 </p><p><b>  北向服務(wù)接口,</b></

93、p><p>  d. 開放的的可擴(kuò)展北向API(Open Extensible NorthBound API):提供可擴(kuò)</p><p>  展的應(yīng)用API,通過REST或者函數(shù)調(diào)用的方式。</p><p>  e. 支持多租戶,切片(support for multitenancy/slicing):允許網(wǎng)絡(luò)在邏輯</p><p>  上(或物

94、理上)劃分成不同的切片或租戶,控制器的部分功能和模塊可</p><p>  以管理制定的切片??刂破鞲鶕?jù)所管理的分片來呈現(xiàn)不同的控制觀測(cè)面。</p><p>  f. 一致性聚合(Consistent Clustering):提供細(xì)粒度復(fù)制的聚合和確保網(wǎng)絡(luò)一 </p><p><b>  致性的橫向擴(kuò)展。</b></p><

95、p>  Opendaylight 南向通過plugin的方式來支持多種協(xié)議,包括openflow 1.0,openflow 1.3,BGP-LS等,這些模塊被動(dòng)態(tài)的掛載到服務(wù)抽象層,SAL為上層提供服務(wù),將來自上層的調(diào)用封裝為適合底層網(wǎng)絡(luò)設(shè)備的協(xié)議格式,控制器需要獲取底層設(shè)備功能,可達(dá)性,等方面的消息,這些信息被存放在拓?fù)涔芾砥鳎═pology Manager)中,其他的組件包括ARP handler、Host Tracker、D

96、evice Manager和Switch Manager 則為Topology生成拓?fù)鋽?shù)據(jù)。</p><p>  Opendaylight的opendaylightplugin和opendaylightjava項(xiàng)目的目標(biāo)是支持openflow1.3及以上的協(xié)議,由于openflow協(xié)議設(shè)計(jì)的時(shí)候并沒有考慮向后的兼容性,openflow1.3 plugn和openflow1.0采用了完全不同的設(shè)計(jì)。集成到contr

97、oller的openflow1.0 plugin是由openflow plugin和openflowj-ava兩部分實(shí)現(xiàn)的。</p><p>  使用Opendaylight的DLUX獲取拓?fù)湫畔ⅲ?lt;/p><p>  2.4.1 Opendaylight 項(xiàng)目架構(gòu)</p><p>  Opendaylight項(xiàng)目在各大公司的參與和推動(dòng)下,不僅蔥粉體現(xiàn)了SDN的魅力

98、,也體現(xiàn)了各大企業(yè)的防御戰(zhàn)術(shù),ODL架構(gòu)的控制器采用的是cisco和OnePK(如圖2.5所示)架構(gòu),對(duì)比OnePK架構(gòu),和Opendaylight系統(tǒng)平臺(tái)的架構(gòu)皆可以看到二者的相似點(diǎn)了。</p><p>  圖 2.5 cisco的OnePK框架</p><p>  cisco的OnePK采用多層次的實(shí)現(xiàn)方案,中間層是系統(tǒng)實(shí)現(xiàn)層,然后向下層提供網(wǎng)絡(luò)接口,向上層提供業(yè)務(wù)開放接口。通過思科操

99、作系統(tǒng)和硬件平臺(tái)進(jìn)行深入的編程訪問實(shí)現(xiàn)了OnePK,用來輔助網(wǎng)絡(luò)系統(tǒng)應(yīng)對(duì)Openflow在網(wǎng)絡(luò)架構(gòu)和設(shè)備方面帶來的巨大沖擊。</p><p>  而相對(duì)的,Opendaylight系統(tǒng)平臺(tái)共有三個(gè)部分,如圖(2.6所示),北向接口及內(nèi)置的應(yīng)用程序和服務(wù)、中間核心的網(wǎng)絡(luò)和平臺(tái)服務(wù)部分,以及最下層的南向接口,這與OnePK在層次結(jié)構(gòu)上幾乎是相同的。</p><p>  圖 2.6 openda

100、ylight系統(tǒng)框架</p><p>  Opendaylight在南向接口方面實(shí)現(xiàn)了一個(gè)事實(shí):交換機(jī)并不僅僅運(yùn)行轉(zhuǎn)發(fā)面的軟件,同樣有協(xié)議在運(yùn)行。盡管SDN的本質(zhì)是管理面和轉(zhuǎn)發(fā)面分離,但是協(xié)議控制面可以和管理面一起,也可以和控制面一起,具有非常大的的機(jī)動(dòng)性,這也為SDN框架的擴(kuò)展提供了更多的可能性。</p><p><b>  2.5 本章小結(jié)</b></p&g

101、t;<p>  本章主要對(duì)SDN技術(shù)涉及的相關(guān)知識(shí)進(jìn)行了介紹,包括ONF組織提出的SDN網(wǎng)絡(luò)架構(gòu),主要包括基礎(chǔ)設(shè)施層,控制層,應(yīng)用層,其次將南向接口協(xié)議的典型代表Openflow 的相關(guān)技術(shù)要點(diǎn)進(jìn)行了了分析,然后介紹了了Mininet—一款模擬底層拓?fù)涞幕趌inux系統(tǒng)的軟件,它能夠模擬出支持openflow協(xié)議的底層設(shè)備,最后介紹了控制器Opendaylight的架構(gòu)。</p><p>  3

102、基于SDN網(wǎng)絡(luò)框架設(shè)計(jì)</p><p><b>  3.1 拓?fù)涞脑O(shè)計(jì)</b></p><p>  3.1.1 通過Mininet命令行實(shí)現(xiàn)</p><p>  通過mininet命令行能夠?qū)崿F(xiàn)簡(jiǎn)單的拓?fù)洌贛ininet的命令行可以直接利用命令來創(chuàng)建拓?fù)?。比如輸入sudo mn,就會(huì)創(chuàng)建默認(rèn)的拓?fù)?,包含一臺(tái)控制器,一天交換機(jī),兩臺(tái)主機(jī)。如圖3

103、.1所示</p><p>  圖 3.1 Mininet 創(chuàng)建默認(rèn)拓?fù)?lt;/p><p>  并且在sudo mn之后也可以加上相關(guān)參數(shù)來達(dá)到設(shè)置拓?fù)涞哪康?,如?.1所示:</p><p>  表3.1 mininet命令行創(chuàng)建拓?fù)涞拿钍纠?lt;/p><p>  3.1.2 通過python腳本設(shè)計(jì)拓?fù)?lt;/p><p>

104、;  通過Mininet的命令行只能完成一些簡(jiǎn)單的拓?fù)洌绻枰晕?fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),就需要通過Python腳本來實(shí)現(xiàn),其中在mininet中的--mininet/custom文件夾中專門存放拓?fù)湮募?,如圖3.2所示</p><p>  圖 3.2 拓?fù)湮募A</p><p>  要調(diào)用該文件夾中的test 1.py文件,需要在Mininet的命令行使用mn --topo=mytopo -

105、-custom test1.py 執(zhí)行后結(jié)果如圖3.3所示:</p><p>  圖 3.3 通過腳本執(zhí)行拓?fù)涞慕Y(jié)果</p><p>  創(chuàng)建python的過程如下:</p><p>  a. 使用vi命令進(jìn)入指定文件夾,并創(chuàng)建文件。</p><p>  b. 編輯python腳本,其中腳本創(chuàng)建如下</p><p> 

106、 (1)import Topo 類用于派生Mytopo 類</p><p> ?。?)topo 類中包含構(gòu)建網(wǎng)絡(luò)的函數(shù)</p><p>  (3)addHost(“host name”) 添加主機(jī)</p><p> ?。?)addSwitch(“sw name”) 添加交換機(jī) (5)addLink(node,node,port,port) 添加鏈路 &

107、lt;/p><p> ?。?)在topos 中添加mytopo, 值為MyTopo() 類;</p><p>  c. 在啟動(dòng)mininet時(shí)將參數(shù)配置為本文件即可。</p><p>  下面是test1.py的實(shí)例程序:</p><p>  from mininet.topo import Topo //表示引入Topo類中的Mininet

108、.Topo</p><p>  class MyTopo(Topo): //創(chuàng)建MyTopo類</p><p>  "Simple topology example."</p><p>  def __init__(self): //定義topo函數(shù)</p><p>  "creat

109、e custom topo."</p><p>  # Initialize topology</p><p>  Topo.__init__(self) //topo函數(shù)初始化</p><p>  # Add hosts and switches</p><p>  host_1=self.addHost('

溫馨提示

  • 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)論