实验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的源码安装。
Alt

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

  • 画出拓扑图
    Alt
  • 设置主机IP
    Alt
  • 设置控制器
    Alt
  • 开启Openflow以及CLI
    Alt
  • 测试主机连通性
    Alt
  • 保存py文件
    Alt

4.使用Mininet的命令行生成如下拓扑:
a) 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。
Alt

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

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

  • 测试连通性
    Alt

编辑(一)中第3步保存的Python脚本,添加如下网络性能限制,生成拓扑:
a) h1的cpu最高不超过50%;
Alt

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

四、实验心得

实验过程中遇到的问题:

1.在用VirtualBox时,安装过程中需要从github上获取openflow、pox、oftest、oflops 等组件,但是在获取pox时出错了,所以决定放弃使用VirtualBox改用VMware,激活码可以在网上找到,还是很方便的。
2.进行可视化建立拓扑时,打开miniedit.py文件出错,这时需要输入代码
python3 --version
sudo ln -s /usr/bin/python3 /usr/bin/python即可解决。
3.在重复建立同一个拓扑后,拓扑无法运行,这时需要删去上一个拓扑就可以运行了。代码为
sudo mn -c

感想:

本次实验对我来说其实挺难的,即使有老师提前下发的实验环境安装指南,在环境安装上我还是花了很多时间,因为以前从来没有接触过虚拟机,操作环境很陌生,代码也很陌生,在获取github里的资源时非常害怕代码显示出错,觉得自己没有能力去解决这样复杂的问题,好在VMware出的问题比较少。
但是我在本次实验中也收获了不少,比如我有了第一次接触可视化建立拓扑的经历,只要点点图标拖拖鼠标就可以建立拓扑,我感到非常新奇,也感受到SDN技术的先进和魅力。但是在看到进阶部分需要python代码,我没有学习过python所以放弃了,希望我以后在掌握了python后可以把这个进阶部分完成。

posted @ 2021-09-09 23:47  oldmoney-lana  阅读(57)  评论(0编辑  收藏  举报