实验1:SDN拓扑实践
2022/9/14 23:20:37
本文主要是介绍实验1:SDN拓扑实践,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
实验1:SDN拓扑实践
实验目的
1. 能够使用源码安装Mininet; 2. 能够使用Mininet的可视化工具生成拓扑; 3. 能够使用Mininet的命令行生成特定拓扑; 4. 能够使用Mininet交互界面管理SDN拓扑; 5. 能够使用Python脚本构建SDN拓扑。
实验环境
Ubuntu 22.04.01 LTS Desktop amd64
实验要求
基本要求
1.使用Mininet可视化工具,生成下图所示的拓扑,并保存拓扑文件名为学号.py。
运行结果截图
2.使用Mininet的命令行生成如下拓扑:
a)3台交换机,每个交换机连接1台主机,3台交换机连接成一条线。
运行结果截图
b) 3台主机,每个主机都连接到同1台交换机上。
运行结果截图
3.在2 b)的基础上,在Mininet交互界面上新增1台主机并且连接到交换机上,再测试新拓扑的连通性。
运行结果截图
4.编辑基本要求第1步保存的Python脚本,添加如下网络性能限制,生成拓扑:
a) h1的cpu最高不超过50%;
b) h1和s1之间的链路带宽为10,延迟为5ms,最大队列大小为1000,损耗率50。
采用命令行方式
运行结果截图
进阶要求
编写Python脚本,生成如下数据中心网络拓扑,要求:
- 编写.py拓扑文件,命名为“学号_fattree.py”;
- 必须通过Mininet的custom参数载入上述文件,不得直接使用miniedit.py生成的.py文件;
- 设备名称必须和下图一致;
- 使用Python的循环功能实现,不得在代码中手工直接添加设备和链路。
运行结果截图
个人总结
实验难度
从操作复杂度与自我检错来看,上次实验比这次实验要复杂许多,遇到的问题及其解决方案都各不相同,且途中可能会遇到版本不兼容等问题需要重新配置环境,又如因从外网下载速度受限制导致无法下载等;而本次实验的易错点则集中在个人的应用程序使用上,几乎甚至无需考虑是否因软件导致的一系列问题,然而,我在操作途中也遇到了版本不兼容的问题,通过更新UbuntuOS的Python版本很好地解决了这种问题。因此,我们在遇到问题的时候要先确定一个大的方向,是个人因素还是系统因素抑或是网络等其他纷繁多样的缘故,然后再具体到细枝末节的点,而在此过程中,我们也能逐渐培养起较好的耐心及解决问题的热情。
所遇困难及其解决方案
运行进阶实验时发生报错,截图如下
根据命令行提示,起初以为是TAB与空格格式出错,毕竟Python严格的代码格式规范摆在那,然而尝试修改了数番无疾而终,便转头思考是否是Python版本的问题,然后便更新了一下Python后运行直接成功。
个人感想
Mininet可以简单、迅速地创建一个支持用户自定义的网络拓扑,缩短开发测试周期;可以运行真实的程序,在Linux上运行的程序基本上可以都可以在Mininet上运行,如Wireshark;Mininet支持Openflow,在Mininet上运行的代码可以轻松移植到支持OpenFlow的硬件设备上;Mininet可以在自己的电脑,或服务器,或虚拟机,或者云(例如Amazon EC2)上运行;Mininet提供python API,简单易用
加深了对Mininet工作模式的理解,对其使用方式也更熟练。
这篇关于实验1:SDN拓扑实践的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行