这是在Linux或BSD上运行的开源网络模拟器和网络仿真器的列表。请在这个页面发表评论,让我知道我没有包括在这个列表中的任何其他开源网络仿真工具。本文来自http://www.brianlinkletter.com,中文同步更新

Cloonix

image

所述Cloonix网络模拟器提供一个相对容易使用的图形用户界面。Cloonix使用QEMU / KVM创建虚拟机。Cloonix提供了多种预构建的文件系统,可用作虚拟机,并提供创建其他虚拟机根文件系统的简单说明。Cloonix拥有一个积极的开发团队,每两个月或三个月更新一次该工具,并且对用户输入的响应非常敏感。

Cloonix网站:http://clownix.net

CORE

所述通用开放研究仿真器(CORE)提供了一个GUI界面,并使用在Linux中集装箱(LXC)网络命名空间的功能一个虚拟化技术。这使CORE能够快速启动大量虚拟机。CORE支持对固定和移动网络的模拟。

CORE将在Linux和FreeBSD上运行。CORE是IMUNES网络模拟器的一个分支,与IMUNES相比,它增加了一些新功能。

image

CORE网站:http : //cs.itd.nrl.navy.mil/work/core/index.php


GNS3

GNS3是一个图形网络模拟器,主要集中在支持思科和瞻博网络软件。GNS3拥有庞大的用户群,主要由学习思科考试的人组成,网上有大量关于使用GNS3模拟思科设备的信息。

GNS3还可用于模拟仅由运行开源软件的VirtualBox和/或Qemu虚拟机构成的网络。GNS3提供了各种准备好的开源虚拟设备,用户可以自行创建。

image

GNS3网站:http://www.gns3.com


IMUNES

萨格勒布大学的一个研究小组开发了集成多协议网络仿真器/模拟器(IMUNES),用作网络研究工具。IMUNES在FreeBSD和Linux操作系统上运行。它使用FreeBSD提供的内核级网络堆栈虚拟化技术。它在Linux上使用Docker容器和Open vSwitch。

IMUNES支持图形用户界面。即使在VirtualBox虚拟机中运行IMUNES,它也可以很好地运行并提供良好的性能。

image

IMUNES网站:http : //www.imunes.nethttps://github.com/imunes


Mininet

Mininet旨在支持软件定义网络技术的研究。它使用Linux网络命名空间作为其虚拟化技术来创建虚拟节点。该网站表示该工具可以支持单个操作系统上的数千个虚拟节点。Mininet对构建SDN控制器并需要验证SDN控制器的行为和性能的工具的研究人员非常有用。使用Mininet时,了解Python脚本语言非常有用。

Mininet项目提供了出色的文档,并且从Mininet邮件列表中的活动来看,该项目被大量研究人员积极使用。

image

Mininet网站:http : //www.mininet.org

一些研究人员创造了Mininet的分支,专注于特定技术。我列出了基于Mininet的项目:


NetKit

Netkit是一款基于命令行的仿真工具,使用用户模式的Linux创建虚拟机。完整的Linux操作系统可以在每台机器上运行。它有很好的文档,项目的网站上有很多有趣的实验场景可供练习,并提供每种场景的文档。它似乎也得到了一个小社区的积极支持,并于2011年最后更新。

image

Netkit网站:http ://wiki.netkit.org


NS-3

NS-3是用于互联网系统的离散事件开源网络模拟器,主要用于研究和教育用途。NS-3是一个复杂的工具,运行由用户创建的代码描述的模拟,因此您可能需要编程技能才能使用它。

NS-3可以使用其直接代码执行功能在模拟节点上运行真正的软件。这使得研究人员能够在离散事件网络模拟中测试真正的软件,例如Quagga或Web服务器,以产生可重复的实验。

NS-3旨在取代网络模拟器的先前版本NS-2。NS-2不再积极维护,但仍被一些研究人员使用。

image

NS-3网站:https//www.nsnam.org/


Shadow

Shadow是一款开源网络模拟器/仿真器混合体,它可以在单台Linux计算机上通过模拟互联网拓扑运行Tor和Bitcoin等实际应用程序,也可以在Amazon EC2上预先配置的AMI实例上运行。用户通过创建一个XML文件来描述网络拓扑和插件,以将他们的应用程序代码链接到模拟中的节点来运行仿真。他们在Shadow生成的日志文件中看到他们的实验结果。

Shadow作为离散事件模拟器运行,因此实验结果是可重复的。Shadow还可以使用用户创建的插件在其虚拟节点上运行真实软件。这种功能组合 - 离散事件模拟与真实软件模拟相结合 - 使得影子成为一种独特的工具。

image

影子网络模拟器网站:https//shadow.github.io/


UNetLab / EVE-NG

UNetLab和EVE-NG是支持虚拟化商业路由器映像(如Cisco和NOKIA)和开源路由器的网络仿真器。他们使用Dynamips和IOS-on-Linux来支持思科路由器和交换机映像,并使用KVM / QEMU来支持所有其他设备。每个都可以作为虚拟机镜像使用,也可以安装在运行Ubuntu Linux的专用服务器上。

EVE-NGUNetlab的下一代产品。它目前是筹集资金以支持发展的众筹活动的一部分。UNetLab是“稳定”版本,EVE.NG可用作“alpha”版本。

UNetLab和EVE-NG都是开源的,并在GitHub上为UNetLab提供源代码,在GitLab上为EVE-NG提供源代码。

image

UNetLaB / EVE-NG网站:http : //www.unetlab.com/


VNX和VNUML

VNX支持两种不同的虚拟化技术,并使用XML风格的脚本语言来定义虚拟网络。它还支持将多个物理工作站链接在一起,以支持在多个物理工作站上运行的分布式虚拟实验室。它由一个小型社区提供支持,并在过去一年内进行了更新。

VNX取代VNUML。旧VNUML网站仍然有样本实验室和其他内容,这些内容在使用VNX时很有用。

image

VNX网站:http : //www.dit.upm.es/vnx


其他仿真器和模拟器

我列出的项目要么是非常新的,要么是较低的开发活动。

新项目(雷达)

NetMirage是加拿大滑铁卢大学开发的网络仿真器。它目前作为公开测试版提供。与其他网络模拟器类似,NetMirage允许用户运行真实代码来测试IP应用程序。NetMirage开发人员目前正在使用它来构建大型虚拟Tor网络。

而另一种网络模拟器,也被称为YANS,可以很容易地模拟简单的网络。查看更多关于YANS的细节

LStacker是一个新的项目,它建立了由容器和桥梁组成的虚拟网络。它支持LXC和Docker容器。

ESCAPE(可扩展服务ChAin原型环境)是一个支持服务链结构的几个部分的开发框架,包括VNF实现,流量转向,虚拟网络嵌入等。

LTE-EPC网络模拟器LENA基于NS-3。正在积极发展

老项目(低活动)

DockEMU是一个网络模拟器,它使用Docker Containers和Linux桥接模拟IP网络功能,使用NS-3模拟以太网和物理网络功能。这似乎是努力创造一个“两全其美”的网络仿真器。发布第一个版本后,两年内未更新。

Marionnet允许用户在主机上定义,配置和运行复杂的计算机网络。Marionnet似乎被设计成用作教育工具,并具有吸引人的图形用户界面,以及一些示例练习实验室配置。Marionnet软件自2011年以来尚未更新,但Marionnet网站最近在2016年进行了重新设计。

Psimulator2是一款基于Java的网络模拟器,可用于基础网络教育。这是一个古老的项目,最近由不同的开发商分了几次,所以我们希望未来会有一些积极的发展。Psimulator2 Google Code网站现在是只读的,并且在https://gitlab.fit.cvut.cz/psimulator2/Psimulator2上似乎有一个新版本(或者它可能只是当前版本的存档)。另一位开发人员分发了Psimulator,并在https://github.com/rkuebert/psimulator上提供了他的更新代码。

OFNet是一款相对较新的SDN网络模拟器,但在发布第一个版本之后,开发者已经安静了。希望我们未来会看到一些新的发展。OFNet网站是http://sdninsights.org

LINE是模拟IP网络并支持详细分析和报告的网络模拟器。它在三年内没有更新。