在研究生技能培养中, 提到Mininet仿真实验工具. 如果将Mininet比作F1赛车, 需要掌握一定的驾驶技能, 并对赛车的各种组成部分有了解, 才能驾驭或维护好这辆好车. 因此要使用好Mininet, 需要对其运行环境Linux操作系统, 主要的编程语言 Python/C/Bash, SDN/Openflow的基础架构有一定了解. 另外考虑到在基础上所要完成的网络实验, 熟悉网络知识(TCP/IP 模型)则会更好.
Mininet主要的文档均为英文, 或是代码. 在课题研究阶段一般来说不容易获取到基础课程式的学习资料, 或是充足的中文资料. 因为我们关注的比较是前沿课题或是小众的研究, 特别是到了博士阶段(TODO: 待补充著名的圈圈图). 通过这篇 "Introduction to Mininet(官网英文) " 可以更多了解Mininet.
很有限的中文翻译文档一篇是"Mininet官方Walkthrough中文版". 中文的资料优点是阅读速度快, 但是缺点是数量少, 翻译上可能有偏差.
在进入Introduction之前, 先介绍并演示一下我们已经完成的工作. 主要实现了SDN方式对AQM (Acitve Queue Management) 的替代, 以及在TCP控制上的优化, 使用Mininet完成了整个完整的实验框架(虽然面前效果还不够好 T_T) . 具体的实验代码在我的GitHub代码兵器库上, 以虚拟机的方式安装Mininet 后, 可下载实验代码(建议用git clone
方式)后运行. 通过建立拓扑, 运行不同的testcase测试用例, 可以容易测试我们的架构, 优化方法以及使用 pmonitor()
收集实验结果(带宽, 延时), 并且将多次运行结果收集计算平均值.
( --- 此处有演示 ---)
在演示完实验(队列, 流表, 带宽, 延时, wireshark tcptrace图表)后, 大家对 mininet 能够完成的工作会有一个初步印象. 下一步则建议通过下面这些文档和步骤更多了解与掌握Mininet
- 下载安装 Download/Get Started With Mininet
- 完成WalkThrough 实验 , 阅读 Introduction 以及其他文档, 完成相关实验.
- 学习
/examples
代码, 完成实验并记录 - 参考范例与API文档, 设计自定义拓扑实验, 创建实验文件
your_topo.py
, 运行并收集实验结果