




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SoftwareDefinedNetworkSDN軟件定義網(wǎng)絡(luò)第六章Mininet應(yīng)用實(shí)踐2目錄Mininet安裝使用Mininet應(yīng)用實(shí)例Mininet應(yīng)用實(shí)踐Mininet簡(jiǎn)介Mininet系統(tǒng)架構(gòu)34Mininet的定義Mininet是一款輕量級(jí)的進(jìn)程虛擬化網(wǎng)絡(luò)仿真工具,它可以在有限資源的普通電腦上快速建立大規(guī)模SDN原型系統(tǒng),該系統(tǒng)有虛擬的終端節(jié)點(diǎn)(End-Host)、OpenFlow交換機(jī)、控制器組成,這使得它可以模擬真實(shí)網(wǎng)絡(luò),可對(duì)各種想法或網(wǎng)絡(luò)協(xié)議等進(jìn)行開發(fā)驗(yàn)證。5678目錄Mininet安裝使用Mininet應(yīng)用實(shí)例Mininet應(yīng)用實(shí)踐Mininet簡(jiǎn)介Mininet系統(tǒng)架構(gòu)9由于Mininet是基于LinuxContainer這一內(nèi)核虛擬化技術(shù)開發(fā)出的進(jìn)程虛擬化平臺(tái),因此其實(shí)現(xiàn)進(jìn)程虛擬化主要是用到了Linux內(nèi)核的namespace機(jī)制,其從Linux版本2.6.27開始支持namespace機(jī)制,可以實(shí)現(xiàn)進(jìn)程級(jí)的虛擬化。10通過(guò)namespace機(jī)制可以虛擬化3類系統(tǒng)資源每個(gè)namespace都可以獨(dú)自擁有一塊網(wǎng)卡(可以虛擬),rootnamespace看到的就是物理網(wǎng)卡,不同namespace里的進(jìn)程看到的網(wǎng)卡是不一樣的。每個(gè)namespace中的第一個(gè)進(jìn)程看到自己的PID是1,以為自己是系統(tǒng)中的第一個(gè)進(jìn)程(實(shí)際是init)。同時(shí),不同namespace中的進(jìn)程之間是不可見的。不同namespace中看到文件系統(tǒng)掛載情況是不一樣的。進(jìn)程表掛載表網(wǎng)絡(luò)協(xié)議棧11正是因?yàn)長(zhǎng)inux內(nèi)核支持這種namespace機(jī)制,可以在Linux內(nèi)核中創(chuàng)建虛擬主機(jī)和定制拓?fù)?,這也是Mininet可以在一臺(tái)電腦上可以創(chuàng)建支持OF協(xié)議的SDN的關(guān)鍵所在。namespace機(jī)制12基于上述namespace機(jī)制,Mininet架構(gòu)按datapath的運(yùn)行權(quán)限不同,分為kerneldatapath和userspacedatapath兩種。其中kerneldatapath把分組轉(zhuǎn)發(fā)的邏輯編譯進(jìn)入Linux內(nèi)核,效率非常高;userspacedatapath把分組轉(zhuǎn)發(fā)邏輯實(shí)現(xiàn)為一個(gè)應(yīng)用程序,叫做ofdatapath,效率不及kerneldatapath,但更為靈活,更容易重新編譯。kerneldatapath和userspacedatapath兩種架構(gòu)13kerneldatapath架構(gòu)Mininet的kerneldatapath架構(gòu)如下圖所示控制器和交換機(jī)的網(wǎng)絡(luò)接口都在root命名空間中,每個(gè)主機(jī)都在自己獨(dú)立的命名空間里,這也就表明每個(gè)主機(jī)在自己的命名空間中都會(huì)有自己獨(dú)立的虛擬網(wǎng)卡eth0??刂破骶褪且粋€(gè)用戶進(jìn)程,它會(huì)在loopback上預(yù)留的6633端口監(jiān)聽來(lái)自交換機(jī)安全信道的連接。每個(gè)交換機(jī)對(duì)應(yīng)幾個(gè)網(wǎng)絡(luò)接口,如s0-eth0、s0-eth1以及一個(gè)ofprotocol進(jìn)程,它負(fù)責(zé)管理和維護(hù)同一控制器之間的安全信道。14userspacedatapath架構(gòu)Mininet的userspacedatapath架構(gòu)如下圖所示與kerneldatapath架構(gòu)不同,網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)都擁有自己獨(dú)立的namespace。因?yàn)榉纸M轉(zhuǎn)發(fā)邏輯是實(shí)現(xiàn)在用戶空間,所以多出了一個(gè)進(jìn)程叫ofdatapath。另外,Mininet除了支持kerneldatapath和userspacedatapath這兩種架構(gòu)以外,還支持OVS交換機(jī)。OVS充分利用內(nèi)核的高效處理能力,它的性能和kerneldatapath相差無(wú)幾15Mininet的主要特點(diǎn)
靈活性可以通過(guò)軟件的方式簡(jiǎn)單、迅速的創(chuàng)建一個(gè)用戶自定義的網(wǎng)絡(luò)拓?fù)洌s短開發(fā)測(cè)試周期,支持系統(tǒng)級(jí)的還原測(cè)試,且提供pythonAPI,簡(jiǎn)單易用。
可移植性Mininet支持OF、OVS等SDN部件,在Mininet上運(yùn)行的代碼可以輕松移植到支持OF的硬件設(shè)備上。
可擴(kuò)展性在一臺(tái)電腦上模擬的網(wǎng)絡(luò)規(guī)??梢暂p松擴(kuò)展到成百千個(gè)節(jié)點(diǎn)
真實(shí)性模擬真實(shí)網(wǎng)絡(luò)環(huán)境,運(yùn)行實(shí)際的網(wǎng)絡(luò)協(xié)議棧,實(shí)時(shí)管理和配置網(wǎng)絡(luò),可以運(yùn)行真實(shí)的程序,在Linux上運(yùn)行的程序基本都可以在Mininet上運(yùn)行,如Wireshark。16目錄Mininet安裝使用Mininet應(yīng)用實(shí)例Mininet應(yīng)用實(shí)踐Mininet簡(jiǎn)介Mininet系統(tǒng)架構(gòu)17源碼編譯安裝VIP
免廣告1更新軟件#apt-getupdate#apt-getupgrade這里如果ubuntu沒有安裝git,需要安裝#aptinstallgit18源碼編譯安裝2從github上獲取Mininet源碼為了從源碼本地安裝,首先你需要獲取源碼:#gitclonegit:///mininet/mininet另外,可以查看當(dāng)前獲取的Mininet版本,在~/mininet目錄下,我們可以通過(guò)gittag命令列出所有可用的Mininet版本:#cdmininet#gittag19源碼編譯安裝3獲取源碼樹并安裝Mininet#catINSTALL切換到mininet文件下:#cdmininet%注意:若已在目錄mininet下,則無(wú)需再切換,否則無(wú)法執(zhí)行下一步的安裝命令。這里有多個(gè)安裝選項(xiàng):mininet/util/install.sh[options]“-a”:完整安裝包括MininetVM,還包括如OpenvSwitch等依賴關(guān)系軟件,以及像的OpenFlowWireshark和POX。默認(rèn)情況下,這些工具將被安裝在你的home目錄中。完整安裝命令:#./util/install.sh-a20源碼編譯安裝“-nfv”:安裝Mininet、基于OpenFlow的交換機(jī)和OpenvSwitch。命令:#./util/install.sh–nfv“-smydir”:使用此選項(xiàng)可將源代碼建立在一個(gè)指定的目錄中,而不是在home目錄中。#./util/install.sh-smydir另外,你只想安裝OpenFlow1.3和OpenvSwitch2.3.0,可以使用安裝命令:#mininet/util/install.sh–n3V2.3.0源碼編譯安裝4安裝完成后可通過(guò)簡(jiǎn)單的命令測(cè)試Mininet的基本功能#sudomn--testpingall可以查看安裝好的Mininet版本:#mn--version22Mininet的使用運(yùn)行Mininet的操作十分簡(jiǎn)單,只需使用以下命令即可啟動(dòng)Mininet,會(huì)創(chuàng)建默認(rèn)的一個(gè)小型測(cè)試網(wǎng)絡(luò)。經(jīng)過(guò)短暫時(shí)間的等待即可進(jìn)入以“mininet>”引導(dǎo)的命令行界面。進(jìn)入“mininet>”命令行界面后,默認(rèn)拓?fù)鋵?chuàng)建成功,即將擁有一個(gè)一臺(tái)控制節(jié)點(diǎn)(Controller)、一臺(tái)交換機(jī)(Switch)和兩臺(tái)主機(jī)(Host)的網(wǎng)絡(luò)。23可以互相ping一下測(cè)試連通性24豐富的參數(shù)設(shè)定Mininet除了創(chuàng)建默認(rèn)的網(wǎng)絡(luò)拓?fù)渲?,還提供了豐富的參數(shù)設(shè)定方式用來(lái)設(shè)定網(wǎng)絡(luò)拓?fù)?、交換機(jī)、控制器、MAC地址、鏈路屬性等,以滿足使用者在仿真過(guò)程中多樣性的需求。25網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)2627282930Mininet通過(guò)參數(shù)設(shè)定方式用來(lái)設(shè)定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)--topo用于指定OpenFlow的網(wǎng)絡(luò)拓?fù)?。Mininet已經(jīng)為大多數(shù)應(yīng)用實(shí)現(xiàn)了5種類型的OpenFlow網(wǎng)絡(luò)拓?fù)?,分別為:tree、single、reversed、linear和minimal。默認(rèn)情況下,創(chuàng)建的是minimal拓?fù)?,該拓?fù)錇橐粋€(gè)交換機(jī)與兩個(gè)主機(jī)相連;31--toposingle,n則表示1個(gè)OpenFlow交換機(jī)下掛連接n個(gè)主機(jī);reversed與single類型相似,區(qū)別在于single的主機(jī)編號(hào)和相連的交換機(jī)端口編號(hào)同序,而reversed的主機(jī)編號(hào)和相連的交換機(jī)端口編號(hào)反序;Mininet通過(guò)參數(shù)設(shè)定方式用來(lái)設(shè)定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)32--topolinear,n則表示將創(chuàng)建n個(gè)OpenFlow交換機(jī),且每個(gè)交換機(jī)只連接一個(gè)主機(jī),并且所有交換機(jī)連接成直線;Mininet通過(guò)參數(shù)設(shè)定方式用來(lái)設(shè)定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)33--topotree,depth=n,fanout=m則表示創(chuàng)建一個(gè)樹型拓?fù)?,深度是n,扇出是m,例如,當(dāng)depth=2,fanout=8時(shí),將創(chuàng)建9個(gè)交換機(jī)連接64個(gè)主機(jī)(每個(gè)交換機(jī)連接8個(gè)設(shè)備,設(shè)備中包括交換機(jī)及主機(jī))。--custom:在上述已有拓?fù)涞幕A(chǔ)上,Mininet支持自定義拓?fù)?,使用一個(gè)簡(jiǎn)單的PythonAPI即可,例如導(dǎo)入自定義的mytopo:#sudomn--custom~/mininet/custom/topo-2sw-2host.py--topomytopo--testpingallMininet通過(guò)參數(shù)設(shè)定方式用來(lái)設(shè)定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)34設(shè)置交換機(jī)--switch:Mininet支持4類交換機(jī),分別是:UserSwitch、OVS交換機(jī)、OVSLegacyKernelSwitch和IVS交換機(jī)。其中,運(yùn)行在內(nèi)核空間的交換機(jī)的性能和吞吐量要高于用戶空間交換機(jī),可以通過(guò)運(yùn)行iperf命令測(cè)試鏈路的TCP帶寬速率來(lái)驗(yàn)證:#sudomn--switchovsk--testIPerf35設(shè)置控制器--controller:通過(guò)參數(shù)設(shè)置的控制器可以是Mininet默認(rèn)的控制器(NOX)或者虛擬機(jī)之外的遠(yuǎn)端控制器,如Floodlight、POX等,指定遠(yuǎn)端控制器的方法如下:#sudomn--controller=remote,ip=[controllerIP],port=[controllerlisteningport]36配置MAC地址--mac:設(shè)置MAC地址的作用是增強(qiáng)設(shè)備MAC地址的易讀性,即將交換機(jī)和主機(jī)的MAC地址設(shè)置為一個(gè)較小的、唯一的、易讀的ID,以便在后續(xù)工作中減少對(duì)設(shè)備識(shí)別的難度。#sudomn--mac37設(shè)置鏈路屬性--link:鏈路屬性可以是默認(rèn)Link及TCLink。將鏈路類型指定為TC后,可以進(jìn)一步指定具體參數(shù)。具體參數(shù)命令顯示如下:#sudomn
--linktc,bw=[bandwidth],delay=[delaytime],loss=[lossrate],max_que_size=[queuesize]bw表示鏈路帶寬,使用Mbit/s為單位表示;延遲delay以字符串形式表示,如‘5ms’、‘100us’和‘1s’;loss表示數(shù)據(jù)分組丟失率的百分比,用0~100的一個(gè)百分?jǐn)?shù)表示;max_queue_size表示最大排隊(duì)長(zhǎng)度,使用數(shù)據(jù)分組的數(shù)量表示。38我們可以通過(guò)編程的方式自定義自己的拓?fù)?,這里也可以使用一種更便捷的方式創(chuàng)建拓?fù)?。啟?dòng)可視化界面首先進(jìn)入目錄mininet/mininet/examples,運(yùn)行./miniedit.pyMininet可視化操作39構(gòu)建拓?fù)?/p>
用鼠標(biāo)選擇左側(cè)的對(duì)應(yīng)的網(wǎng)絡(luò)組件,然后在空白區(qū)域單擊鼠標(biāo)左鍵即可添加網(wǎng)絡(luò)組件,繪制如左圖的拓?fù)浣Y(jié)構(gòu)
40
在主機(jī)、交換機(jī)、控制器上點(diǎn)擊鼠標(biāo)右鍵,選擇Properties即可設(shè)置其屬性。
主機(jī)可以設(shè)置其IP地址
設(shè)置其屬性41
交換機(jī)默認(rèn)配置就可以
42控制器的配置在“Edit”中選擇“Preferences”,進(jìn)入此界面,可勾選“StartCLI”,這樣的話,就可以命令行界面直接對(duì)主機(jī)等進(jìn)行命令操作,也可以選擇交換機(jī)支持的OpenFlow協(xié)議版本(可多選)。43運(yùn)行點(diǎn)擊run
44退的時(shí)候一定要現(xiàn)在命令行里輸入exit,再到可視化界面里面點(diǎn)擊stop,最后再關(guān)閉可視化界面
45導(dǎo)出我們?cè)谶@里可以將自己的拓?fù)浔4娉?py文件,進(jìn)行修改和運(yùn)行,點(diǎn)擊File->ExportLevel2Script46目錄Mininet安裝使用Mininet應(yīng)用實(shí)例Mininet應(yīng)用實(shí)踐Mininet簡(jiǎn)介Mininet系統(tǒng)架構(gòu)47真實(shí)的SDN網(wǎng)絡(luò)需要很多OpenFlow設(shè)備包括控制器、交換機(jī)、功能虛擬化等一系列設(shè)備共同依賴來(lái)搭建并應(yīng)用,但因條件有限,每一位實(shí)驗(yàn)者不可能有這樣真實(shí)的環(huán)境來(lái)驗(yàn)證或者實(shí)驗(yàn)。這里主要介紹在沒有OpenFlow硬件設(shè)備下,通過(guò)Mininet,模擬搭建基于不同數(shù)據(jù)中心的網(wǎng)絡(luò)拓?fù)洹?/p>
使用Mininet的原因48使用Mininet設(shè)計(jì)模擬不同網(wǎng)絡(luò)數(shù)據(jù)中心拓?fù)?,可以用?lái)分析網(wǎng)絡(luò)的總流量,而且除此之外,還可以通過(guò)負(fù)載均衡策略來(lái)保證數(shù)據(jù)中心的可用性。
Mininet能實(shí)現(xiàn)的目標(biāo)49應(yīng)用實(shí)例要達(dá)到的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深圳鋪面裝修合同范本
- 年綠化維護(hù)合同范本
- 二零二五年度合同糾紛上訴狀模板制作與使用說(shuō)明
- 二零二五年度農(nóng)業(yè)機(jī)械設(shè)備租賃與農(nóng)業(yè)保險(xiǎn)服務(wù)合同
- 2025年度游戲引擎開發(fā)授權(quán)許可合同
- 二零二五年度果樹病蟲害防治與生態(tài)保護(hù)承包合同
- 2025年度海外空間科學(xué)與技術(shù)留學(xué)合同
- 二零二五年度汽車借用免責(zé)及車輛使用安全保障協(xié)議
- 醫(yī)院用水用電合同范本
- 二零二五年度文化教育資源共享平臺(tái)長(zhǎng)期合作協(xié)議書
- 《綠色建筑設(shè)計(jì)原理》課件
- 中醫(yī)館裝修合同范本
- 學(xué)習(xí)與科技的融合主題班會(huì)
- 《直播銷售》課件-項(xiàng)目一 認(rèn)識(shí)直播與直播銷售
- 2025年南京科技職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 2025-2030年中國(guó)航空配餐行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資前景規(guī)劃研究報(bào)告
- 新課標(biāo)背景下的跨學(xué)科學(xué)習(xí)內(nèi)涵、設(shè)置邏輯與實(shí)踐原則
- 母嬰分離產(chǎn)婦的護(hù)理
- 2025年全國(guó)高考體育單招政治時(shí)事填空練習(xí)50題(含答案)
- 2025教科版一年級(jí)科學(xué)下冊(cè)教學(xué)計(jì)劃
- 2024解析:第六章質(zhì)量和密度-講核心(解析版)
評(píng)論
0/150
提交評(píng)論