環境搭建(軟件包可以去GitHub去拿):
一、 安裝JAVA
apt –y install openjdk-8-* #要安裝8版本的以上的java環境。
二、 安裝karaf
tar xf ***karaf
cd **karaf
vim bin/setenv
export JAVA_HOME=”/usr/lib/jvm/java-8-openjdk-amd64” #添加環境變量
./bin/karaf #執行
進去后。
安裝相關組件:
feature:install odl-restconf
feature:install odl-l2switch-switch-ui
feature:install odl-mdsal-apidocs
feature:install odl-dluxapps-applications
三、 安裝mininet-master
cd mininet
./util/install.sh –a #完全安裝。 這個有點久,可以換成 –nfv
關於mininet 源碼編譯會出現錯誤的時候,在進行編譯時候回提示已存在openflow這個目錄。應該去家目錄中去刪除這個目錄。在進行重新編譯。出現錯誤。我懷疑是安裝東西時候出現了加鎖。導致的。需要rm 掉鎖目錄
安裝完后重啟一下機子……
構建SDN網絡:
啟動opendaylight並安裝組件:
使用mnninet搭建topo:
sudo mn --controller=remote,ip=127.0.0.1 --topo linear,n,m
sudo mn --controller=remote,ip=127.0.0.1 --topo single,n
sudo mn --controller=remote,ip=127.0.0.1 --topo tree,n,m
Single,n:一個交換機,n個host
linear, n,m: 線性拓撲,n個交換機,一個交換機上有m個host,共有n*m個host
tree,n,m 第一個參數為深度,第二個位扇出系數。可以寫成--tree,depth=2,fanout=8
下面分別試一下single、linear、tree的使用。
sudo mn --topo single,3 --mac --controller remote,ip=127.0.0.1,port=6633 圖如下:
輸入下面的地址進入ODL去看一下mininet的圖形化topo
http://127.0.0.1:8181/index.html#/login
賬號:admin
密碼:admin
sudo mn --topo linear,2 --controller remote,ip=127.0.0.1,port=6633 #topo如下圖
sudo mn --topo tree,2,3 --controller remote,ip=127.0.0.1,port=6633
mininet常用命令總結
help默認列出所有命令文檔,后面加命令名將介紹該命令用法
dump打印節點信息
gterm給定節點上開啟gnome-terminal。注:可能導致mn崩潰
xterm給定節點上開啟xterm
intfs列出所有的網絡接口
iperf兩個節點之間進行簡單的iperfTCP測試
iperfudp兩個節點之間用制定帶寬udp進行測試
net顯示網絡鏈接情況
noecho運行交互式窗口,關閉回應(echoing)
pingpair在前兩個主機之間互ping測試
source從外部文件中讀入命令
dpctl在所有交換機上用dptcl執行相關命令,本地為tcp127.0.0.1:6634
link禁用或啟用兩個節點之間的鏈路
nodes列出所有的節點信息
pingall所有host節點之間互ping
py執行python表達式
sh運行外部shell命令
quit/exit退出