mn
该脚本定义了一个 MininetRunner 类,用来表示模拟网络的主程序。
主要过程是创建一个 MininetRunner() 实例,依次解析传入参数,进行初始化后开启网络。
整体过程如下图所示。
mn 脚本主要过程
其中 Mininet 类的 start() 方法是核心的启动过程,主要包括调用 build 方法来根据拓扑创建网络、控制器、交换机、主机和连接等。之后依次启动控制器和交换机进程。 在执行完 start() 之后,通过 test 参数来判断 mininet 运行的模式。
1
if test == 'none':
2
pass
3
elif test == 'all':
4
mn.start()
5
mn.ping()
6
mn.iperf()
7
elif test == 'cli':
8
CLI( mn )
9
elif test != 'build':
10
getattr( mn, test )()
Copied!
默认情况下,参数为 cli,即进入到控制台模式,允许用户自己输入对 Mininet 的操作命令。 最终执行 mininet.stop() 进行删除资源的工作。
Copy link