Mininet 是由斯坦福大学研究开发的开源软件,是一个基于Linux Container虚拟化技术的轻量级网络模拟器。即可以在个人电脑上模拟出包括交换机、主机、和控制器等软件定义网络节点。
- 为openflow应用提供简单、免费的应用测试平台。
- 支持多用户独立的在同一张拓扑上进行并发操作。
- 支持系统级别的可重、可封装的回归测试。
- 无需启动物理网络就可以支持复杂的拓扑测试。
- 提供用于网络调试和运行测试的CLI,支持拓扑相关和Openflow相关命令。
- 支持任意的拓扑,包括设置拓扑的基本参数,比如网络带宽
- 提供Python API接口,用于编程拓展功能。
Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行相关的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。
三种安装法,和一种更新方法 http://mininet.org/download/
官网镜像装完用户密码:
- mininet-vm login: mininet
- Password: mininet
用镜像装缺点是mac下的virtual box没有parallels好用,没法直接本机ssh连接到虚拟机。
可以用 doxpy 生成 HTML 和 PDF
sudo apt-get install doxypy help2man texlive texlive-latex-extra
cd ~/mininet
make doc
mininet 建议的 python 风格 https://github.com/mininet/mininet/wiki/Mininet-Python-Style
mininet 的 python API 手册(doxygen生成) http://mininet.org/api/annotated.html
demo:~/mininet/examples
,其中还有README.md
- baresshd.py 使用 medium-level API 创建一个sshd进程,不使用 OpenFlow
- bind.py 使用