启动Wireshark
要使用OpenFlow Wireshark解剖器查看控制流量,请先在后台打开wireshark:
$ sudo wireshark &do wireshark &rk &
每个主机进程都看到同一组进程和目录。例如,从主机进程打印进程列表:
mininet> h1 ps -a
这应该与根网络命名空间看到的完全相同:
mininet> s1 ps -a
Mininet基本操作
测试输入创建网络
输入mn即可创建一个简单的网络,创建完成后,命令行变为mininet>
Mn
查看节点信息
nodes
查看链路
net
输出各节点信息
dump
输出仿真主机信息
h2 ifconfig
节点连通试验
h2 ping -c 3 h1
全网互ping
Pingall
调出终端
可以使用如下命令,调出仿真主机的终端
xterm h1 h2
清空
mn -c
Mininet可视化操作
我们可以通过编程的方式自定义自己的拓扑,这里也可以使用一种更便捷的方式创建拓扑。
启动可视化界面
首先进入目录mininet/mininet/examples,运行
./miniedit.py
运行回归测试
您无需进入CLI; Mininet还可用于运行自包含的回归测试。
运行回归测试:
pingpair
此命令创建了一个最小拓扑,启动了OpenFlow参考控制器,运行了全对ping测试,并拆除了拓扑和控制器。
另一个有用的测试是iperf(给它大约10秒完成):
$ so mn --test ipe
此命令创建了相同的Mininet,在一台主机上运行了iperf服务器,在第二台主机上运行了iperf客户端,并解析了实现的带宽。
更改拓扑大小和类型
默认拓扑是连接到两台主机的单个交换机。您可以将其更改为不同的topo --topo,并为该拓扑的创建传递参数。例如,要验证与一个交换机和三个主机的所有对ping连接:
运行回归测试:
mn --test pingall --topo single,3
另一个例子是线性拓扑结构(每个交换机有一个主机,所有交换机都连接成一条线):
$ sudo mn --test pingall --topo linear,4
Mininet 2.0允许您设置链接参数,甚至可以从命令行自动设置这些参数:
$ sudo mn --link tc,bw=10,delay=10ms
mininet> iperf
...
mininet> h1 ping -c10 h2
可调节的冗长度
默认的详细级别是info打印Mininet在启动和拆卸期间正在执行的操作。将其与完整debug输出与-vparam进行比较:
$ sudo mn -v debug
...
mininet> exit
将打印出许多额外的细节。现在尝试output,打印CLI输出的设置,其他一点:
$ sudo mn -v output
mininet> exit
Python解释器
如果Mininiet命令行上的第一个短语是py,那么该命令是用Python执行的。这可能对扩展Mininet以及探测其内部工作方式很有用。每个主机,交换机和控制器都有一个关联的Node对象。
在Mininet CLI中,运行:
mininet> py 'hello ' + 'world'
打印可访问的局部变量:
mininet> py locals()
接下来,使用dir()函数查看节点可用的方法和属性:
mininet> py dir(s1)
您可以使用help()函数阅读节点上可用方法的在线文档:
mininet> py help(h1) (Press "q" to quit reading the documentation.)
您还可以评估变量的方法:
mininet> py h1.IP()
链接向上/向下
对于容错测试,上下链接可能会有所帮助。
要禁用虚拟以太网对的两半:
mininet> link s1 h1 down
您应该看到生成OpenFlow端口状态更改通知。要恢复链接:
mininet> link s1 h1 up