Mininet
命令语法
- $ 这个符号代表现在处于 Linux 的shell 交互下,需要使用的是 Linux 命令
- mininet> 这个符号表示现在处于 Mininet 交互下,需要使用的是 Mininet 的命令
- # 这个符号表示的是现在处于 Linux 的 root 权限下。
显示Mininet的启动
- root@mininet-vm:~# mn -h 显示Mininet的帮助信息
- wireshark & 打开 Wireshark
- root@mininet-vm:~# mn
root@mininet-vm:~# mn –topo=minimal 默认的最小拓扑结构 - mininet> h1 ping h2 -c 1 一条消息
补充
- $ sudo mn –mac 让简单host MAC and IP addrs好记
- mininet> link s1 h1 down
- mininet> link s1 h1 up
- mininet> ports 显示端口和端口号对应信息
read.me
- mn 建立网络
- ~/mininet/examples 例子
- 生成doc 离线mininet api
sudo apt-get install doxypy
~/mininet make doc
~/mininet/doc
- cleanup() 清理残余进程或临时文件 mn -c
gitbook
- 查看全部节点:mininet> nodes
- 查看链路信息:mininet> net
- 输出各节点的信息:mininet> dump
- 某个节点的虚拟机单独进行命令操作 node cmd(h2 ping -c 3 h3 发3个包)
*- sudo mn –test cmd,即可自动启动并执行 cmd 操作,完成后自动退出
- sudo mn –test pingpair,可以直接对主机连通性进行测试(带宽测试)
- sudo mn –test iperf启动后直接进行性能测试
- sudo mn -x Mininet 在启动后会在每个节点上自动打开一个 XTerm
- xterm s1 h2 在s1 h2 上开xterm
- link node1 node2 up/down 在 Mininet cli 中,使用 link 命令,禁用或启用某条链路
启动参数总结
- -h, –help 打印帮助信息
- –switch=SWITCH 交换机类型,包括 [kernel user ovsk]
- –host=HOST 模拟主机类型,包括 [process]
- –controller=CONTROLLER 控制器类型,包括 [nox_dump none ref remote nox_pysw]
- –topo=TOPO,arg1,arg2,…argN 指定自带拓扑,包括 [tree reversed single linear minimal]
- -c, –clean清理环境
- –custom=CUSTOM 使用自定义拓扑和节点参数
- –test=TEST 测试命令,包括 [cli build pingall pingpair iperf all iperfudp none]
- -x, –xterms 在每个节点上打开 xterm
- –mac 让MAC 地址跟 DP ID 相同
- –arp 配置所有 ARP 项
- -v VERBOSITY, –verbosity=VERBOSITY [info warning critical error debug output] 输出日志级别
- –ip=IP 远端控制器的IP地址
- –port=PORT 远端控制器监听端口
- –innamespace 在独立的名字空间内
- –listenport=LISTENPORT 被动监听的起始端口
- –nolistenport 不使用被动监听端口
- –pre=PRE 测试前运行的 CLI 脚本
- –post=POST 测试后运行的 CLI 脚本
常用命令总结
- help 默认列出所有命令文档,后面加命令名将介绍该命令用法
- dump 打印节点信息
- gterm 给定节点上开启 gnome-terminal。注:可能导致 Mininet 崩溃
- xterm 给定节点上开启 xterm
- intfs 列出所有的网络接口
- iperf 两个节点之间进行简单的 iperf TCP测试
- iperfudp 两个节点之间用指定带宽 udp 进行测试
- net 显示网络链接情况
- noecho 运行交互式窗口,关闭回应(echoing)
- pingpair 在前两个主机之间互 ping 测试
- source 从外部文件中读入命令
- dpctl 在所有交换机上用 dptcl 执行相关命令,本地为 tcp 127.0.0.1:6634
- link 禁用或启用两个节点之间的链路
- nodes 列出所有的节点信息
- pingall 所有 host 节点之间互 ping
- py 执行 Python 表达式
- sh 运行外部 shell 命令
- quit/exit 退出
其他操作
执行 sudo mn -c 会进行清理配置操作,适合故障后恢复。 执行 exit 会退出 Mininet 的 CLI,同时给出运行时间统计。
py cmd 使用 Python 来执行 cmd。 测试 Mininet 启动后立刻关闭的时间可以用 sudo mn –test none。
高级功能
使用 dpctl
dpctl show tcp:127.0.0.1:6634可以查看到交换机的端口等基本情况,其中 tcp 端口 6634 是默认的交换机监听端口。
dpctl dump-flows tcp:127.0.0.1:6634 可以看到更详细的流表信息
https://yeasy.gitbooks.io/mininet_book/content/advanced/interaction.html