实验1:SDN拓扑实践

实验1:SDN拓扑实践

一、实验目的

  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目录下创建一个目录,目录命名为学号。
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中使用指令生成网络拓朴,对我来说还是相对困难的,但是万事开头难希望能在今后的学习中,逐步了解认识软件定义网络课程,能够自己解决和完成作业。

posted @ 2021-09-10 22:05  小林の一生  阅读(75)  评论(0编辑  收藏  举报