一、实验目的
1、通过命令模拟创建SDN网络
2、深入了解mininet的命令使用
3、学会使用网络构建启动参数、内部交互命令以及外部运行参数
二、实验环境
CPU:4核, 内存:2G, 磁盘:20G
三、实验原理
在基于Mininet的使用下,可以轻易的在笔记本上测试一个软件定义网络(software-defined Noteworks),对基于OpenFlow、Open VSwitch的各种协议等进行开发验证,或者验证自己的想法。
四、操作步骤
(一)、创建不同的网络
1、网络构建参数------topo构建Single拓扑
单一拓扑指的是整个网络拓扑中交换机有且只有一个,交换机可以下挂一个或者多个主机,如创建一个交换机、3个主机,并且3个主机都下挂在这一个交换机下:
#sudo mn --topo=single,3
2、网络构建参数-------topo创建linear(线性)拓扑
线性(linear)拓扑指的是交换机连接呈线性排列,并且每个交换机所连接主机数目只有一个,如创建3个交换机、3个主机,3个主机分别下挂在一个交换机下:
#sudo mn --topo=linear,3
3、网络构建参数-------topo创建tree(树形)拓扑
树形(tree)拓扑指的是交换机连接成树形排列,且每个交换机所连接主机一般有多个,关联使用的参数depth和fanout,比如创建depth为2,fanout为2的拓扑,表示交换机深度即层数为2,每个交换机下挂2个设备:
#sudo mn --topo=tree,depth=2,fanout=2
4、网络构建参数-------custom创建自定义拓扑
自定义(custom)拓扑指编写文件file.py,执行此脚本即可创建定义的拓扑,---custom与--topo联用,如在custom目录下存在test02.py文件,调用此文件构建拓扑:
#sudo mn --custom test02.py --topo mytopo --controller remote,ip=127.0.0.1 --mac --switch=ovsk,protocols=OpenFlow13
注: topo mytopo后的代码,看情况使用
5、miniedit可视化界面创建网络拓扑
进入mininet目录下的examples,输入命令:./miniedit.py,稍等片刻就会出现miniedit的界面:
(二)、内部交互命令使用
创建完网络,使用一系列命令查看并且验证网络系统的链路健壮性。
1、显示链接信息
# mininet> net
2、显示节点信息
# mininet> nodes
3、查看链路健壮性信息
# mininet> links
4、验证所有主机间通信并且查看结果
# mininet> pingall
5、通过开启xterm进入设备可视化操作界面
# mininet> xterm h1 h2
(三)、外部运行使用
1、清除释放mininet构造配置的交换机以及主机
# mn -c
2、查看选项(帮助)
# mn --help