指令文法
1、$ 這個符号代表現在處于 Linux 的shell 互動下,需要使用的是 Linux 指令
2、mininet> 這個符号表示現在處于 Mininet 互動下,需要使用的是 Mininet 的指令
3、# 這個符号表示的是現在處于 Linux 的 root 權限下。
以上相應的狀态下下屬于對應的指令,就能夠得到正常的輸出。需要注意的是mininet>的情況比較特殊,需要使用 minient 的指令來進行互動。
Display Startup Options
啟動mininet
輸入
sudo mn -h
來顯示mininet的幫助資訊

mn:啟動mininet
sudo mn
sudo mn --topo single
sudo mn --mac
sudo mn --switch ovsk
sudo mn --controller remote
(1)–topo
指定openflow網絡拓撲,四種類型的openflow網絡拓撲:tree、single、linear、minimal
- 預設情況下:建立的是minimal拓撲包括四個元素:one OpenFlow kernel switch connected to two hosts, plus the OpenFlow reference controller
- –topo single,3 則是1個openflow switch加上3個主機
- –topo linear,4 則表示four OpenFlow switches, each switch has one host, and all switches connect in a line
- –topo tree, depth=2,fanout=8 則表示a network with a tree topology of depth 2 and fanout 8 (i.e. 9 switches connecting 64 hosts)
(2)–custom
在上述已有拓撲的基礎上,MiniNet支援自定義拓撲,使用一個簡單的Python API即可,例如導入自定義的mytopo
sudo mn --custom ~/mininet/custom/topo-2sw-2host.py --topomytopo --test pingall
(3)–switch
可以有三類openflow交換機:kernel核心狀态、user使用者态以及ovsk是Open vSwith狀态。當然kerner和ovsk的性能和吞吐量會高一些,通過運作
sudo mn --switch ovsk --test iperf
進行iperf的測試得知。
(4)–controller
可以是參考控制器,NOX或者虛拟機之外的遠端控制器,一個指定遠端控制器的方法:sudo mn --controller=remote --ip=[controller IP] --port=[controllerlistening port]
ryu:
sudo mn --controller=remote,ip=127.0.0.1,port=6653
(5)–mac
作用是讓MAC位址易讀,即 setsthe switch MAC and host MAC and IP addrs to small, unique, easy-to-read IDs讓MAC 位址跟 DP ID 相同
(6) >mininet下
-
: 檢視s1網絡資訊s1 ifconfig
Mininet中的指令解析一 -
:用ping3個包的形式測試h2和h3之間的連通情況h2 ping -c 3 h3
Mininet中的指令解析一 -
:列出網絡接口intfs
Mininet中的指令解析一 -
:兩個節點之間進行簡單的iperfTCP測試iperf
Mininet中的指令解析一 -
:兩個節點之間用制定帶寬udp進行測試iperfudp
Mininet中的指令解析一 -
: 顯示網絡連結情況net
Mininet中的指令解析一 -
:運作互動式視窗,關閉回應(echoing)noecho
Mininet中的指令解析一 -
:在前兩個主機之間互ping測試pingpair
-
: 從外部檔案中讀入指令source
-
:在所有交換機上用dptcl執行相關指令,本地為tcp127.0.0.1:6634dpctl
-
link
:禁用或啟用兩個節點之間的鍊路
在 Mininet cli 中,使用 link 指令,禁用或啟用某條鍊路,格式為
例如臨時禁用 s1 跟 h2 之間的鍊路,可以用link node1 node2 up/down
link s1 h2 down
-
:列出所有的節點資訊nodes
-
:所有host節點之間互pingpingall
-
:執行python表達式py
-
:運作外部shell指令sh
-
:打開h1終端xterm h1
-
:退出quit/exit
-
:clean up清理sudo mn -c
-
:差別顯示host的網絡是隔離的s1 arp
-
:s1的路由表s1 route
-
:輸出所有節點的資訊dump
Mininet中的指令解析一 Mininet中的指令解析一 -
:每一個主機裡面的程序使用的都是同一套目錄,可以看到相同的程序集合,我們列印不同主機下面的程序清單看看:h1 ps -a
Mininet中的指令解析一 -
:對某個節點進行操作node cmd
-
:在每個節點上自動打開一個Xtermsudo mn -x
-
: 啟動某個節點的xtermxterm s1 h2
使用dpctl
dpctl 程式是一個指令行工具用來檢測和管理 OpenFlow 資料通路,它能夠顯示目前的狀态資料通路,包括功能配置和表中的條目,以及合适使用 OpenFlow 的核心子產品,可以用來添加,删除,修改和監視 datapaths。
檢視交換機端口資訊基本情況(TCP 端口 6634 是預設交換機監聽端口)。
https://editor.csdn.net/md/?articleId=111311754
Start Wireshark
為了使用 Wireshark 來檢視 OpenFlow 的控制資訊,我們先打開 Wireshark 并讓他在背景運作
$
sudo wireshark`
出現錯誤:The capture session could not be initiated on interface ‘en0’ (You don’t have …)
解決方法:
打開終端輸入指令sudo chmod 777 /dev/bpf*
在輸入密碼重新打開即可
作者:Start_8528
連結:https://www.jianshu.com/p/741cb8ae870a
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。`