模拟笔记本电脑上几乎所有网络的最佳方法!
Mininet 2.3.1b4
Mininet模拟单台计算机上的主机,链接和开关的完整网络。要创建一个两个主持人的单切口网络,请运行:
sudo mn
Mininet可用于交互式开发,测试和演示,尤其是使用OpenFlow和SDN的演示。基于开放流的网络控制器通常可以将其用于全线速率执行的最小更改的小软件转移到硬件。
MinInet使用基于过程的虚拟化和网络名称空间创建虚拟网络 - 最近的Linux内核中可用的功能。在MinInet中,主机被模仿为在网络名称空间中运行的bash
进程,因此通常在Linux服务器上运行的任何代码(例如Web服务器或客户端程序)都应在台球“主机”中运行良好。 Mininet“主机”将具有自己的专用网络接口,只能看到自己的流程。 Mininet中的开关是基于软件的开关,例如Open Vswitch或OpenFlow Reference Switch。链接是虚拟以太网对,它活在Linux内核中,并将我们的模拟开关连接到模拟主机(过程)。
矿物包括:
命令行启动器( mn
)实例化网络。
方便的Python API,用于创建各种大小和拓扑的网络。
示例(在examples/
目录中)可以帮助您入门。
通过Python help()
DocStrings的完整API文档,以及使用make doc
生成PDF/HTML文档的能力。
使用Mininet对象的参数化拓扑( Topo
子类)。例如,可以使用命令创建树网络:
mn --topo tree,depth=2,fanout=3
一个命令行接口( CLI
类),可提供有用的诊断命令(例如iperf
和ping
),以及能够运行命令到节点的功能。例如,
mininet> h11 ifconfig -a
告诉主机H11运行命令ifconfig -a
一个“清理”命令,以摆脱垃圾(界面,过程, /tmp中的文件等),该命令可能会由Mininet或Linux留在周围。如果事情停止工作,请尝试一下!
mn -c
Mininet 2.3.1b4支持Python 3和Python 2
您可以同时安装Python 3和Python 2版本的Mininet并排安装,但是最新的安装将确定mn
默认使用哪种Python版本。
You can run mn
directly with Python 2 or Python 3, as long as the appropriate version of Mininet is installed, eg
$ sudo python2 `which mn`
有关Python 3和Python 2支持的更多信息可以在http://docs.mininet.org的发行说明中找到。
支持Ubuntu 22.04 LTS(和20.04)
通过GitHub动作进行更可靠的测试和CI
对Cgroups V2(和V1)的初步支持
次要错误修复(2.3.1)
有关此版本和先前版本的其他信息,请参见http://docs.mininet.org上的发行说明。
有关安装说明和详细信息,请参见INSTALL
。
除了API文档( make doc
)外,Mininet网站上还提供了许多有用的信息,包括Mininet演练和Python API的介绍。您还鼓励您阅读和贡献一个Wiki,尤其是http://faq.mininet.org的常见问题(FAQ)。
小矿是社区支持的。我们鼓励您加入Mininet邮件列表, mininet-discuss
:
https://mailman.stanford.edu/mailman/listinfo/mininet-discuss
再次感谢所有的台球贡献者和用户!
Mininet是一个开源项目,目前托管在https://github.com/mininet上。鼓励您下载,检查和修改代码,并提交错误报告,错误修复,功能请求,新功能和其他问题以及拉请请求。感谢每个为Mininet项目贡献代码的人(有关更多信息,请参见贡献者!),因为每个人的辛勤工作都在继续增长和改进。
玩得开心!我们期待看到您将与Mininet一起做什么,以改变网络世界。
鲍勃·兰茨(Bob Lantz