实验1:SDN拓扑实践
实验1:SDN拓扑实践
一、实验目的
- 能够使用源码安装Mininet;
- 能够使用Mininet的可视化工具生成拓扑;
- 能够使用Mininet的命令行生成特定拓扑;
- 能够使用Mininet交互界面管理SDN拓扑;
- 能够使用Python脚本构建SDN拓扑。
二、实验环境
- 下载虚拟机软件Oracle VisualBox 或 VMware;
- 在虚拟机中安装Ubuntu 20.04 Desktop amd64;
三、实验要求
基本要求
1.在Ubuntu系统的home目录下创建一个目录,目录命名为学号。
mkdir 102192122
2.在创建的目录下,完成Mininet的源码安装。
sudo PYTHON=python3 mininet/util/install.sh -a # install Python 3 Mininet
3. 使用Mininet可视化工具,生成下图所示的拓扑,并保存拓扑文件名为学号.py。
./miniedit.py
4. 使用Mininet的命令行生成如下拓扑:
a) 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。
sudo mn --topo linear,3
b) 3台主机,每个主机都连接到同1台交换机上。
sudo mn --topo single,3
5.在4 b)的基础上,在Mininet交互界面上新增1台主机并且连接到交换机上,再测试新拓扑的连通性。
py net.addHost('h4')
py net.addLink(s1,h4)
6.编辑(一)中第3步保存的Python脚本,添加如下网络性能限制,生成拓扑:
a) h1的cpu最高不超过50%;
b) h1和s1之间的链路带宽为10,延迟为5ms,最大队列大小为1000,损耗率50。
运行结果如下
四.个人总结
下载vbox安装ubuntu一波三折,重复出现不明原因的错误,后选择VMware,安装比较顺利,
将git clone https://github.com/mininet/mininet.git
改为
git clone git://github.com/mininet/mininet.git
避免clone失败
安装mininet时,sudo PYTHON=python3 mininet/util/install.sh -a # install Python 3 Mininet
直接安装Python3默认,安装失败时一定要清除文件夹,用命令清楚指令 rm-rf
才能把文件彻底清除。
在打开miniedit.py时,显示没有找到可用Python,但是我已经默认安装Python,需要通过指令添加软连接,python3 : sudo ln -s /usr/bin/python3 /usr/bin/python
第一次了解实践软件定义网络,在网上查找相关博客和知识,了解在mininet中使用指令生成网络拓朴,对我来说还是相对困难的,但是万事开头难希望能在今后的学习中,逐步了解认识软件定义网络课程,能够自己解决和完成作业。