1、能够使用源码安装Mininet;
2、能够使用Mininet的可视化工具生成拓扑;
3、能够使用Mininet的命令行生成特定拓扑;
4、能够使用Mininet交互界面管理SDN拓扑;
5、能够使用Python脚本构建SDN拓扑。
1、下载虚拟机软件Oracle VisualBox 或 VMware;
2、在虚拟机中安装Ubuntu 20.04 Desktop amd64;
1、在Ubuntu系统的home目录下创建一个目录,目录命名为学号。
2、在创建的目录下,完成Mininet的源码安装。
3、使用Mininet可视化工具,生成下图所示的拓扑,并保存拓扑文件名为学号.py。
使用pingall命令测试主机连通性以后,结果为:
确认无误后,保存拓扑文件:
4、使用Mininet的命令行生成如下拓扑:
a) 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。
b) 3台主机,每个主机都连接到同1台交换机上。
5、在4 b)的基础上,在Mininet交互界面上新增1台主机并且连接到交换机上,再测试新拓扑的连通性。
从links的结果来看,新增的主机h4已成功连接到交换机s1,但从pingall的结果来看,新增的主机无法连通其他主机。
6、编辑(一)中第3步保存的Python脚本,添加如下网络性能限制,生成拓扑:
a) h1的cpu最高不超过50%;
b) h1和s1之间的链路带宽为10,延迟为5ms,最大队列大小为1000,损耗率50。
从结果看,修改已成功,连通性也有,但是在进行iperf测试带宽时,测试很久都无法测试出来,原因未知。
实验难度:适中
遇到的困难以及解决方法:
1、在安装虚拟机时,虽然按步骤来最后也成功了,但是第一遍安装的时候还是会磕磕碰碰的,比如语言选择,一开始选择的是中文,然后出现了后续安装ubuntu时,页面出现不完整,导致没有continue的按钮,后来改用English时,才能继续进行。在进行mininet环境搭建时,由于网络问题,一直卡在最后一步,当时安装了一天最后才显示enjoy mininet。
2、在可视化工具中,设置完参数点击run后,整个界面直接消失,后面询问同学以后才知道要使用sudo获得root权限。
3、在进行实验操作时,在第6步不是很理解,虽然参照与询问其他同学以后,输入了代码进行操作,最后结果也一样,但是是否更改了网络性能限制自己也不大清楚,最后那个iperf也没搞懂是什么原因,导致一直出现.....,而不出结果,试过多等一会,但还是不行。
个人感想:因为是二学位,之前也就只有一点点C语言的基础,对于JAVA,PYTHON,都不是很了解,所以对于代码语言也是似懂非懂,在第一次实验课,虽然照着步骤大致做好了,但还是显得很生疏,其中也出现了许多问题,但多做几遍以后,感觉自己也熟练了许多。最后的进阶题说实话没花时间研究,也是群里面说实验一需要交作业以后,才开始做,之前都不知道,还以为不用交,后续自己再进行操作研究吧。