实验1:SDN拓扑实践

实验1:SDN拓扑实践

一、实验目的

1.能够使用源码安装Mininet
2.能够使用Mininet的可视化工具生成拓扑
3.能够使用Mininet的命令行生成特定拓扑
4.能够使用Mininet交互界面管理SDN拓扑
5.能够使用Python脚本构建SDN拓扑

二、实验环境

下载虚拟机软件Oracle VisualBox 或 VMware;
在虚拟机中安装Ubuntu 20.04 Desktop amd64;

三、实验要求

(一)基本要求

1.在Ubuntu系统的home目录下创建一个目录,目录命名为学号。

2.在创建的目录下,完成Mininet的源码安装。

3.使用Mininet可视化工具,生成下图所示的拓扑,并保存拓扑文件名为学号.py。

成功搭建要求拓扑:

4.使用Mininet的命令行生成如下拓扑:

a) 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。

按题目要求,生成拓扑应为参数为3的线性拓扑,成功使用命令行生成要求拓扑:

b) 3台主机,每个主机都连接到同1台交换机上。

按题目要求,生成拓扑应为简单拓扑,成功使用命令行生成要求拓扑:

5.在4 b)的基础上,在Mininet交互界面上新增1台主机并且连接到交换机上,再测试新拓扑的连通性。

成功添加新主机h4,并将其连接到s1上,并测试新拓扑的连通性:

6.编辑(一)中第3步保存的Python脚本,添加如下网络性能限制,生成拓扑:

a) h1的cpu最高不超过50%;

b) h1和s1之间的链路带宽为10,延迟为5ms,最大队列大小为1000,损耗率50

四、个人总结

本次的软件定义网络实验主要分为两步骤,先是下载虚拟机软件Oracle VisualBox并在虚拟机中安装Ubuntu 20.04 Desktop amd64,其次是使用源码安装Mininet并完成简单的拓扑实践。

1.在安装虚拟机软件Oracle VisualBox的过程中,在安装虚拟机,选择启动盘的时候,由于和教程不一致,请教了万能的百度,通过设置-配置更改了设置从而继续安装。
2.在安装Ubuntu时,载入镜像文件后,系统让我选择语言。第一次选择了中文,结果发现在做下一步的时候没法点到“continue”这个按键(虚拟机的小窗口中没有,在看不见的下方,鼠标滚轮也没法往下滑),换成英文后就好了(可能是中文字体更大点?)。
3.在安装增强功能时一直失败,原因:在使用虚拟机的过程中会自动生成一个虚拟网卡,也就是会多产生一个虚拟ip,而中国联通的校园网客户端不允许两个ip同时存在,强行断开了网络。后续实验用手机开热点,就完成了之后的安装。
4.在打开miniedit.py时,报错No such file or directory。原因:mininet运行需要 python,目前版本一般要python3,ubuntu20.04装好原有python默认是python2。解决办法:发现已经存在/usr/bin/python,删除旧的软链接:sudo rm -rf /usr/bin/python;
如果不存在 /usr/bin/python ,直接添加新的软链,指向 python3 : sudo ln -s /usr/bin/python3 /usr/bin/python,即默认 python 版本为 python3。
感觉这次实验主要的难度在于熟悉虚拟机的操作和虚拟机的安装,拓扑实践较为简单。

posted @ 2021-09-08 23:23  咲小  阅读(83)  评论(0编辑  收藏  举报