天天看點

Mininet中的指令解析一

指令文法

1、$ 這個符号代表現在處于 Linux 的shell 互動下,需要使用的是 Linux 指令

2、mininet> 這個符号表示現在處于 Mininet 互動下,需要使用的是 Mininet 的指令

3、# 這個符号表示的是現在處于 Linux 的 root 權限下。

以上相應的狀态下下屬于對應的指令,就能夠得到正常的輸出。需要注意的是mininet>的情況比較特殊,需要使用 minient 的指令來進行互動。

Display Startup Options

啟動mininet

輸入

sudo mn -h

來顯示mininet的幫助資訊

Mininet中的指令解析一

mn:啟動mininet

sudo mn
           
Mininet中的指令解析一
sudo mn --topo single
sudo mn --mac
sudo mn --switch ovsk
sudo mn --controller remote
           
Mininet中的指令解析一

(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

Mininet中的指令解析一

(3)–switch

可以有三類openflow交換機:kernel核心狀态、user使用者态以及ovsk是Open vSwith狀态。當然kerner和ovsk的性能和吞吐量會高一些,通過運作

sudo mn --switch ovsk --test iperf

進行iperf的測試得知。

Mininet中的指令解析一

(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

Mininet中的指令解析一

(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 ifconfig

    : 檢視s1網絡資訊
    Mininet中的指令解析一
  • h2 ping -c 3 h3

    :用ping3個包的形式測試h2和h3之間的連通情況
    Mininet中的指令解析一
  • intfs

    :列出網絡接口
    Mininet中的指令解析一
  • iperf

    :兩個節點之間進行簡單的iperfTCP測試
    Mininet中的指令解析一
  • iperfudp

    :兩個節點之間用制定帶寬udp進行測試
    Mininet中的指令解析一
  • net

    : 顯示網絡連結情況
    Mininet中的指令解析一
  • noecho

    :運作互動式視窗,關閉回應(echoing)
    Mininet中的指令解析一
  • pingpair

    :在前兩個主機之間互ping測試
  • source

    : 從外部檔案中讀入指令
  • dpctl

    :在所有交換機上用dptcl執行相關指令,本地為tcp127.0.0.1:6634
  • link

    :禁用或啟用兩個節點之間的鍊路

    在 Mininet cli 中,使用 link 指令,禁用或啟用某條鍊路,格式為

    link node1 node2 up/down

    例如臨時禁用 s1 跟 h2 之間的鍊路,可以用

    link s1 h2 down

  • nodes

    :列出所有的節點資訊
  • pingall

    :所有host節點之間互ping
  • py

    :執行python表達式
  • sh

    :運作外部shell指令
  • xterm h1

    :打開h1終端
  • quit/exit

    :退出
  • sudo mn -c

    :clean up清理
  • s1 arp

    :差別顯示host的網絡是隔離的
  • s1 route

    :s1的路由表
  • dump

    :輸出所有節點的資訊
    Mininet中的指令解析一
    Mininet中的指令解析一
  • h1 ps -a

    :每一個主機裡面的程序使用的都是同一套目錄,可以看到相同的程序集合,我們列印不同主機下面的程序清單看看:
    Mininet中的指令解析一
  • node cmd

    :對某個節點進行操作
  • sudo mn -x

    :在每個節點上自動打開一個Xterm
  • xterm s1 h2

    : 啟動某個節點的xterm

使用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

來源:簡書

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。`