標籤(空格分隔): SDNhtml
做業連接java
參考連接:http://www.sdnlab.com/15138.htmlnode
參考連接:http://www.sdnlab.com/15077.html
拓撲圖以下:python
--這不是在mininet裏面寫命令行,而是退出mininet後寫命令行。
--開始的時候depth寫的是3,可是第一層只是一個點,不算一層應該只是兩層。
--每次要新建拓撲時,需執行sudo mn -c命令,防止上次操做對本次實驗的影響app
參考連接:http://www.sdnlab.com/15096.html測試
拓撲圖:
ui
結果:
.net
參考連接:http://www.sdnlab.com/15128.html命令行
在安裝的過程我參考的是這個連接:安裝連接。可是這個教程有一個問題就是在環境變量的那部分是有錯的,因此在環境變量的那部分能夠參考這個blog。固然也能夠就是直接去找連接:官網參考教程。
(安裝了兩次,踩了好多坑的感受。。。開始是按照官網作的,而後好像漏作了某個步驟,而後就gg了,以後按照剛剛給的第一個博客作,在Java那裏要記得升級,最後就是最坑的環境變量那裏,一直試不對,找同窗問了之後發現那個博客的環境變量好像是不對的???最後終於改過來了。以後在啓動floodlight的時候竟然在進入管理網頁的時候把網址打錯了,一直出錯,檢查很久才發現本身網址打錯了。以爲本身腦子抽了)code
--先開啓flooodlight
輸入:cd floodlight ->ant ->java -jar target/floodlight.jar
--建立數據中心,編輯fattree.py以下
#!/usr/bin/python # """Custom topology example Adding the 'topos' dict with a key/value pair to generate our newly defined topology enables one to pass in '--topo=mytopo' from the command line. """ from mininet.topo import Topo from mininet.net import Mininet from mininet.node import RemoteController,CPULimitedHost from mininet.link import TCLink from mininet.util import dumpNodeConnections class MyTopo( Topo ): "Simple topology example." def __init__( self ): "Create custom topo." # Initialize topology Topo.__init__( self ) L1 = 2 L2 = L1 * 2 L3 = L2 c = [] a = [] e = [] # add core ovs for i in range( L1 ): sw = self.addSwitch( 'c{}'.format( i + 1 ) ) c.append( sw ) # add aggregation ovs for i in range( L2 ): sw = self.addSwitch( 'a{}'.format( L1 + i + 1 ) ) a.append( sw ) # add edge ovs for i in range( L3 ): sw = self.addSwitch( 'e{}'.format( L1 + L2 + i + 1 ) ) e.append( sw ) # add links between core and aggregation ovs for i in range( L1 ): sw1 = c[i] for sw2 in a[i/2::L1/2]: # self.addLink(sw2, sw1, bw=10, delay='5ms', loss=10, max_queue_size=1000, use_htb=True) self.addLink( sw2, sw1 ) # add links between aggregation and edge ovs for i in range( 0, L2, 2 ): for sw1 in a[i:i+2]: for sw2 in e[i:i+2]: self.addLink( sw2, sw1 ) #add hosts and its links with edge ovs count = 1 for sw1 in e: for i in range(2): host = self.addHost( 'h{}'.format( count ) ) self.addLink( sw1, host ) count += 1 topos = { 'mytopo': ( lambda: MyTopo() ) }
--啓動Mininet,生成測試拓撲結構
輸入: sudo mn --custom ./fattree.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6653 --switch ovsk,protocols=OpenFlow10(cd mininet)
--啓動floodlight管理頁面(http://localhost:8080/ui/index.html)查看拓撲圖:
--輸入命令:-net
--輸入命令:pingall
--不少命令的執行都要有管理員權限,因此最好一開始就運行在管理員權限下,或者sudo,否則就會出錯。
--開始的時候Ping不通,而後那個ip用的是本身機子上ifconfig查的10.0.2.15端口號也是用的6633(floodlight的默認端口號)可是不行,最後問同窗之後改爲127.0.0.1和6653(端口號是試出來,本身不太懂。。)
--開始的時候輸入是screen mn --custom /home/mininet/fattree.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6653 --switch ovsk,protocols=OpenFlow10,而後一直提示是:could not find custom file:/home/mininet/fattree.py錯誤,改爲了sudo mn --custom ./fattree.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6653 --switch ovsk,protocols=OpenFlow10(cd mininet)之後就行了(我把它歸結爲權限問題?而後順便把路徑方式變了一下) --不少還看不懂,以後會回去再看看,弄清楚一點吧。