示例程序
Mininet 代码中带有了大量的示例程序,供大家参考和理解代码。所有的示例程序都在 example 目录下,包括
baresshd.py:
使用 Mininet 的中层 API 来在一个 namespace 中创建主机、链路,并在主机上启动 sshd 进程,让用户可以登录。并未使用 OpenFlow。
consoles.py:
为每一个节点都创建一些 console 窗口,并允许用户对这些节点进行操作和观测,支持图形界面。
controllers.py:
使用一个自定义的Switch() 子类,创建一个带有多个控制器的网络。
controllers2.py:
创建一个拥有多个控制器的网络,通过创建空的网络,添加节点和手动启动交换机实现。
controlnet.py:
通过创建两个mininet对象来建模一个控制网络和数据网络。
cpu.py:
在不同的 CPU 限制下测试 iperf 的带宽性能。
emptynet.py:
演示创建一个空的网络,之后添加节点进去。
hwintf.py:
添加一个接口 (例如一个物理接口)到一个网络中。
limit.py:
演示如何使用 link 和 CPU 限制。
linearbandwidth.py:
基于 Topo 创建一个拓扑子类,并进行简单的测试。
miniedit.py:
通过一个图形界面的编辑器来创建网络。
multiping.py:
使用 node.monitor() 来检测多个主机的输出。
multipoll.py:
检测多个主机的输出文件。
multitest.py:
创建一个网络,并在其上进行多个测试。
nat.py:
将 Mininet 的网络通过 nat 连接到外部网络中。
popen.py:
使用 host.popen() 和 pmonitor() 来检测多个主机。
popenpoll.py:
使用 node.popen() 和 pmonitor() 检测多个主机的输出。
scratchnet.py, scratchnetuser.py:
使用底层的 Mininet 函数来创建网络。
simpleperf.py:
配置网络和 CPU、带宽限制等。
sshd.py:
在每个主机里面运行一个 sshd 进程,使得用户可以通过 ssh 来访问主机。这需要将 Mininet 的数据网络连接到 root 名字空间的一个接口上。一般的,控制网络已经在 root 名字空间了,所以默认已经被连接。
tree1024.py:
创建一个 1024 主机的网络,然后运行 CLI。根据系统资源情况,可能需要利用 sysctl 进行相关修改。
treeping64.py:
创建一个 64 主机的树状网络,利用 ping 来检查连通性。