你好,这里是网络技术联盟站,我是瑞哥。
提到网络模拟器,大家能想到或者用过有哪些?思科的Packet Tracer、华为的eNSP、H3C的HCL。这三个模拟器,我相信只要你是个网络工程师,都不陌生吧?除了这三个,你知道开源的网络模拟器有哪些吗?本文瑞哥就给大家介绍一下2024年用的比较多的开源网络模拟器,看看你都用过哪些。
1、Cloonix
Cloonix 是一个功能强大的开源网络仿真器,适用于网络研究、教学以及复杂网络的实验。
它结合了多种 Linux 网络工具,可以轻松地通过虚拟机(VM)和容器模拟复杂的网络结构。用户可以通过 Cloonix 生成并管理多个虚拟机,同时在这些虚拟机之间设置虚拟网络链接。
- 官网地址:
https://clownix.net/
- 下载地址:
https://clownix.net/downloads/cloonix-40/
- 操作文档:
https://clownix.net/doc_stored/build-40-00/html/index.html
- 支持虚拟机和容器的结合使用,灵活构建网络拓扑。
- 提供了命令行界面(CLI)和图形用户界面(GUI),方便用户根据需求进行选择。
- 支持多种协议仿真,包括TCP、UDP等。
- 提供网络监控和流量分析工具,方便用户观察网络行为。
Cloonix 在2023年1月发布了第28版本。该版本引入了多个改进,包括更好的容器支持、改进的虚拟机管理功能以及对最新网络协议的支持。
Cloonix 适用于研究网络协议、开发新型网络应用以及教学。由于其灵活性,它也是网络测试和验证的理想工具,尤其是在无法访问真实硬件设备时。
2、CloudSim
CloudSim 是一个专为云计算网络设计的仿真器,用于对云计算基础设施和应用服务的建模、仿真和实验。它主要面向学术界和科研人员,帮助研究人员理解和优化云环境中的网络通信。
- 官网地址:
http://www.cloudbus.org/cloudsim/
- 下载地址:
https://github.com/Cloudslab/cloudsim/releases
- 教程:
https://cloudsimtutorials.online/
- 能够对虚拟化和资源调度算法进行仿真。
- 支持多租户虚拟环境的仿真。
- 提供了与云计算相关的多种网络通信模型。
CloudSim 在2022年8月发布了第6版。这个版本增强了对最新虚拟化技术的支持,并改进了云资源的管理和调度模型。
CloudSim 适用于研究云计算中的网络问题,如资源调度、服务分布、负载均衡等。在教学中,它也被广泛用于演示云计算的复杂性和如何优化云资源的使用。
3、OMNeT++
OMNeT++ 是一个模块化的、基于 C++ 的离散事件模拟环境,广泛应用于通信网络、分布式系统、硬件架构等领域的研究。OMNeT++ 由于其高可扩展性和灵活性,成为学术界和工业界广泛使用的网络仿真工具之一。
- 官网地址:
https://omnetpp.org/
- 下载地址:
https://omnetpp.org/download/
- 文档地址:
https://omnetpp.org/documentation/
- 网络仿真:OMNeT++ 是网络仿真研究中常用的工具,支持无线网络、有线网络、移动网络等。
- 物联网 (IoT):可以模拟 IoT 设备间的通信协议和数据流。
- 车联网 (VANET):用于模拟车辆之间的无线通信和路侧基础设施的交互。
- 分布式系统:模拟分布式计算环境中的通信和资源管理。
OMNeT++ 项目一直保持活跃的更新状态,最近的版本 6.0.3 于 2024 年 2 月 24 日发布。用户可以从 GitHub 上获取最新的源代码,定制或优化自己的仿真需求。
OMNeT++ 适用于学术研究、网络协议开发、性能测试以及网络架构设计的多种场景。它不仅能够在仿真中处理复杂的网络协议和数据流,还可以轻松扩展和集成外部模块来进行深入的性能分析。
4、Containerlab
Containerlab 是一个基于容器技术的网络仿真器,适合快速构建网络测试环境。
它支持以 DevOps 风格的工作流进行网络实验室的编排和管理,并且与主流网络设备厂商提供的容器化路由器镜像兼容。
- 官网地址:
https://containerlab.dev/
- 下载地址:
https://containerlab.dev/install/
- 快速开始:
https://containerlab.dev/quickstart/
- 实验拓扑示例:
https://containerlab.dev/lab-examples/lab-examples/
- 提供 CLI 接口,用于快速构建和管理基于容器的网络实验室。
- 支持与主流路由器厂商(如思科、诺基亚)的容器镜像集成。
- 灵活支持多种网络拓扑,包括 SDN、传统路由协议等。
Containerlab 在2023年1月发布了0.36.1版本,添加了对最新网络设备的支持,并改进了网络拓扑的生成和管理功能。
Containerlab 适合网络工程师在 DevOps 流程中进行快速实验。它也可以用于开发和测试网络功能虚拟化(NFV)和软件定义网络(SDN)环境。
5、CORE(Common Open Research Emulator)
CORE 是一个开源网络仿真器,允许用户通过图形界面(GUI)设计和配置轻量级虚拟机的网络拓扑,并使用 Python 模块编写脚本进行网络仿真。它是一种轻量且灵活的网络实验工具,广泛应用于学术界和工业界。
- 官网地址:
http://coreemu.github.io/core/
- 下载地址:
https://coreemu.github.io/core/install.html
- 教程:
https://coreemu.github.io/core/tutorials/tutorial1.html
- 提供 GUI 界面,用户可以通过拖放来创建复杂的网络拓扑。
- 支持多种网络协议的仿真,如 OSPF、BGP 等。
- 支持与外部物理网络的连接,实现仿真与真实网络环境的交互。
CORE 在2022年11月发布了9.0.1版本,该版本修复了多个 bug,并提升了仿真器的性能。CORE 社区也非常活跃,特别是在其 Discord 服务器上有众多用户参与讨论。
https://github.com/coreemu/core
CORE 适用于研究网络协议、开发网络应用、以及教学环境中的网络仿真实验。其图形化界面和 Python 脚本功能为用户提供了极大的灵活性。
6、EVE-NG
EVE-NG(Emulated Virtual Environment Next Generation)是一个流行的网络仿真平台,支持虚拟化商用路由器镜像(如 Cisco 和 NOKIA)以及开源路由器的仿真。
它提供了一个虚拟实验室环境,可以在其中进行复杂的网络拓扑测试和开发。
- 官网地址:
https://www.eve-ng.net/
- 下载地址:
https://www.eve-ng.net/index.php/download/
- 文档:
https://www.eve-ng.net/index.php/documentation/
- 实验库:
https://www.eve-ng.net/index.php/lab-library/cisco-ospf-v2-v3/
- 支持虚拟化的商业路由器镜像和开源路由器。
- 提供图形界面,允许用户可视化地设计网络拓扑。
- 支持与真实硬件设备的集成,适合混合环境测试。
虽然 EVE-NG 的开发团队主要集中在商业版的开发上,但它仍然支持社区版。社区版 v5.0.1-13 在2022年8月发布,增加了一些新功能,并修复了一些漏洞。
EVE-NG 广泛应用于网络工程师的学习和认证准备,尤其是 Cisco 和 NOKIA 网络设备的模拟和测试。
7、GNS3(Graphical Network Simulator-3)
GNS3 是全球广泛使用的开源网络仿真器,特别适用于模拟思科设备。
GNS3 支持在物理网络和虚拟环境中混合使用虚拟设备和真实设备,可以帮助用户创建复杂的网络拓扑。
- 官网地址:
https://gns3.com/
- 下载地址:
https://gns3.com/software/download
- 文档:
https://docs.gns3.com/docs/
- 支持在虚拟环境中模拟 Cisco、Juniper、Palo Alto、Fortinet 等多个厂商的设备。
- 提供图形化界面,方便用户构建和管理网络拓扑。
- 支持与真实物理网络设备集成,允许用户混合使用仿真设备和实际硬件设备。
- 支持多个协议的仿真,包括 OSPF、BGP、EIGRP 等。
GNS3 在2023年初发布了 2.2.36 版本,该版本提高了对最新路由协议和设备镜像的支持,修复了一些在复杂网络拓扑中的性能问题。
GNS3 广泛用于思科认证(如 CCNA、CCNP)的学习与实验环境中。它也被网络管理员、工程师和开发人员用于测试网络配置、分析网络行为,以及模拟大型企业网络。
8、Mininet
Mininet 是一种专门用于 SDN(软件定义网络)和 OpenFlow 开发的开源网络仿真器。
它允许用户在标准的 Linux 内核中创建大型虚拟网络,并在虚拟网络上运行实际的网络协议栈。
- 官网地址:
https://mininet.org/
- 下载地址:
https://mininet.org/download/
- 提供快速搭建 SDN 环境的功能,支持 OpenFlow 协议。
- 支持在虚拟网络中运行实际的网络协议和应用程序,如 HTTP、DNS 等。
- 提供命令行工具,用于管理和调试仿真网络。
Mininet 的最新稳定版 2.3.0d 于 2022 年发布,增加了对更高版本 OpenFlow 和 SDN 控制器的支持,同时提高了虚拟网络的性能和稳定性。
Mininet 是研究 SDN 和 OpenFlow 技术的理想工具,它也被广泛用于网络课程的教学中,帮助学生快速理解 SDN 和虚拟网络架构的运行原理。
9、ns-3(Network Simulator-3)
ns-3 是一个强大的离散事件网络仿真器,专门用于学术研究和教学。它是 ns-2 的继任者,但提供了更多的功能和更高的可扩展性。ns-3 支持多种网络协议的仿真,特别适用于无线网络、移动网络和数据中心网络的研究。
- 官网地址:
https://www.nsnam.org/
- 下载地址:
https://www.nsnam.org/releases/
- 支持多种协议的仿真,包括 Wi-Fi、LTE、IPv6、TCP/IP 等。
- 提供了灵活的 Python 和 C++ API,允许用户自定义仿真行为。
- 支持与物理网络设备集成,允许用户在虚拟环境中测试实际网络应用。
ns-3 在 2023 年发布了 ns-3.38 版本,引入了对 5G 网络协议的支持,增强了对网络性能的分析工具。
ns-3 被广泛用于学术研究和实验室环境,特别是在研究新型网络协议和优化现有协议的行为方面。它也是研究无线网络和移动通信网络的理想工具。
10、NetSim
NetSim 是一个商用的网络仿真器,但它也提供了开源版本供学术界和个人使用。NetSim 专注于通信网络的仿真,尤其是无线传感器网络(WSN)和移动网络。
- 官网地址:
https://netsim.boson.com/
- 实验库:
https://netsim.boson.com/labs
- 支持复杂的无线网络仿真,如 WSN、LTE 和 5G。
- 提供图形用户界面(GUI),方便用户可视化管理网络拓扑。
- 支持多种协议的仿真,如 TCP/IP、VoIP、ZigBee 等。
NetSim 的最新版本 v12.0 于 2023 年发布,增加了对 5G 和 IoT 网络仿真的支持,并改进了网络性能分析模块。
NetSim 特别适用于研究无线网络和 IoT 网络的通信行为,并且在学术界中广泛用于研究无线传感器网络和移动网络协议。
11、Marionnet
Marionnet 是一个开源的网络仿真器,主要用于构建虚拟网络实验室。它为用户提供了一个可视化的网络环境,允许用户设计和测试不同的网络拓扑和配置。
- 官网地址:
https://www.marionnet.org/site/index.php/en/
- 支持虚拟网络实验室的创建和管理。
- 提供图形化用户界面,允许用户通过拖放方式构建网络拓扑。
- 支持对网络协议和网络应用的仿真与测试。
Marionnet 在 2023 年发布了新版本,增加了对新的网络协议和工具的支持,提升了仿真的性能和稳定性。
Marionnet 适用于网络教学和实验环境,特别适合那些希望快速搭建和测试网络拓扑的用户。由于其简单的 GUI 和灵活性,它也是网络协议开发和测试的重要工具。
12、Netkit
Netkit 是一个开源的虚拟网络实验平台,主要用于网络协议开发和测试。它基于 UML(User-mode Linux)技术,允许用户在虚拟环境中创建网络实验室,并运行多个虚拟主机。
- 官网地址:
https://www.netkit.org/
- 支持通过 UML 技术构建虚拟网络环境。
- 提供简单的命令行工具,用于管理虚拟主机和网络设备。
- 支持对多种网络协议的仿真与测试。
Netkit 的最新版本 2023.4 于 2023 年发布,增加了对 IPv6 和 OpenFlow 的支持,并优化了虚拟网络的性能。
Netkit 是研究和开发网络协议的理想工具,特别适合那些需要轻量级网络仿真平台的用户。它也广泛应用于学术研究和教学环境中。
13、OpenWRT
OpenWRT 是一个广泛使用的开源嵌入式 Linux 系统,特别适用于无线路由器和网络设备的仿真与开发。尽管它最初是为实际设备开发的,但它也支持在虚拟环境中运行,并提供网络仿真功能。
- 官网地址:
https://openwrt.org/
- 下载地址:
https://openwrt.org/downloads
- 支持对无线路由器和网络设备的模拟和测试。
- 提供丰富的网络协议和应用支持,如 VPN、QoS 等。
- 提供包管理系统,方便用户根据需要安装和配置额外的网络工具。
OpenWRT 的最新版本 22.03 于 2023 年发布,改进了对新型网络设备的支持,并增加了对 IPv6 和多种 VPN 协议的支持。
OpenWRT 适用于研究无线网络协议、开发路由器固件以及测试网络设备的性能。它也被广泛用于路由器和嵌入式设备的开发和仿真中。
14、IMUNES (Integrated Multiprotocol Network Emulator/Simulator)
IMUNES 是一个高度灵活的网络仿真器和模拟器,最早由克罗地亚大学计算机工程系开发。它主要用于创建和模拟各种网络环境,支持多种协议仿真。IMUNES 可以在 FreeBSD 和 Linux 环境中运行,并提供一个基于图形界面的网络管理工具。
- 官网地址:
http://imunes.net/
- 下载地址:
https://imunes.net/download.php
- 支持创建和仿真虚拟网络拓扑,能够仿真 IPv4 和 IPv6 协议。
- 提供图形化用户界面,便于用户进行拓扑设计和管理。
- 支持多种网络协议,包括 OSPF、BGP、RIP 等。
- 可以与真实物理网络设备集成,允许创建混合网络。
- 支持虚拟路由器、交换机、主机等设备的仿真。
IMUNES 的最新版本 2.3.4 于 2023 年发布,该版本对 Linux 的兼容性进行了提升,增加了对新型协议的支持,并优化了性能,使其能够在大规模网络仿真中运行更加顺畅。
IMUNES 适用于网络协议开发、性能测试以及网络课程的教学。它被广泛应用于学术研究和教育中,特别是在模拟复杂的多协议网络环境时,IMUNES 提供了丰富的功能和灵活的配置选项。
15、PEMU (Procurve Emulator)
PEMU 是一款针对 HP Procurve 设备的仿真工具,允许用户在虚拟环境中模拟 HP 交换机和路由器设备的行为。PEMU 通过仿真不同型号的 HP 网络设备,使用户能够在不需要物理硬件的情况下测试网络配置。
- 支持模拟 HP Procurve 系列交换机和路由器。
- 允许用户测试不同的网络配置和协议,例如 VLAN、STP 和 QoS。
- 支持通过 CLI 界面与虚拟设备交互,提供与实际设备相同的配置体验。
- 提供多设备环境的支持,允许构建复杂的虚拟网络拓扑。
PEMU 的最新版本在 2023 年进行了性能优化,增加了对新的 Procurve 设备型号的支持,并增强了 VLAN 和 QoS 配置的灵活性。
PEMU 主要用于学习和测试 HP Procurve 设备的配置和管理。它在 HP 网络设备认证学习(如 HP ASE)以及网络管理员培训中具有重要的应用价值。
16、Packet Tracer
Packet Tracer 是思科公司开发的一款强大的网络仿真工具,广泛用于网络认证(如 CCNA、CCNP)和培训课程中。
Packet Tracer 允许用户在虚拟环境中模拟思科设备和网络拓扑,进行配置、管理和故障排除。
- 官网地址:
https://www.netacad.com/cisco-packet-tracer
- 下载地址:
https://www.packettracernetwork.com/download/download-packet-tracer.html
- 支持模拟思科交换机、路由器和防火墙等设备。
- 提供图形化用户界面,允许用户通过拖放方式构建复杂的网络拓扑。
- 支持多种网络协议的仿真,如 OSPF、EIGRP、BGP、STP 等。
- 提供实时仿真和实验模式,帮助用户深入了解网络协议的运行机制。
- 集成了丰富的学习资源和实验模板,适用于网络课程的教学。
Packet Tracer 最新版本 8.3 于 2023 年发布,增加了对思科最新路由器和交换机的支持,优化了无线网络的仿真功能,并增强了与物理网络设备的集成能力。
Packet Tracer 是思科认证学习中不可或缺的工具,尤其适用于 CCNA 和 CCNP 级别的学习者。它被广泛用于网络培训课程、实验室环境以及网络协议的教学和演示。
17、Libvirt
Libvirt 是一个用于管理虚拟化平台的开源软件,它允许用户在多个虚拟化平台上创建和管理虚拟网络。Libvirt 本身并不是一个网络仿真工具,但它提供了强大的虚拟网络管理功能,可以与其他网络仿真工具(如 QEMU、KVM)结合使用。
- 官网地址:
https://libvirt.org/
- 支持创建和管理虚拟网络,包括桥接网络、NAT 网络和隔离网络。
- 提供命令行和 API 接口,允许用户自动化网络配置。
- 支持与多种虚拟化平台集成,如 KVM、Xen 和 QEMU。
- 提供丰富的网络配置选项,如 VLAN、虚拟交换机和防火墙规则。
Libvirt 的最新版本 9.0 于 2024 年初发布,该版本进一步优化了对 KVM 和 QEMU 平台的支持,并增强了虚拟网络的管理功能。
Libvirt 主要用于虚拟化环境下的网络管理,特别适合那些需要灵活配置虚拟网络的场景。它在数据中心、私有云和实验室环境中广泛应用。
18、Cisco VIRL (Virtual Internet Routing Lab)
Cisco VIRL 是思科提供的高级网络仿真平台,专为网络工程师和开发者设计。VIRL 允许用户在虚拟环境中模拟大型网络拓扑,测试思科设备的行为,并进行协议开发。
- 官网地址:
https://learningnetwork.cisco.com/s/virl
- 支持模拟思科交换机、路由器、防火墙和其他设备。
- 提供图形化界面,支持拖放式网络拓扑构建。
- 支持多种网络协议仿真,如 BGP、OSPF、EIGRP、STP 等。
- 允许用户在仿真环境中测试和开发网络应用程序。
- 支持与真实物理设备的集成,实现混合网络环境。
Cisco VIRL 的最新版本 2.3 于 2023 年发布,增加了对思科最新设备的支持,优化了多设备环境下的性能,并增强了与自动化工具(如 Ansible、Python)的集成。
Cisco VIRL 主要用于网络工程师、开发人员以及高级网络架构师,适合进行大型网络的设计、测试和优化。它也是思科认证考试(如 CCIE)中使用的仿真工具之一。
19、Tinet
Tinet(Tiny Network)是一个基于容器的网络仿真工具,旨在提供一个简单易用的网络构建体验。用户可以通过 YAML 配置文件定义网络拓扑和参数,Tinet 会生成相应的 shell 脚本来构建虚拟网络。
- 官网地址:
https://github.com/tinynetwork/tinet
- 简单易用:Tinet 的设计理念是简化网络仿真的过程。用户只需编写 YAML 文件,便可快速生成所需的网络环境,而不必手动配置每个组件。
- 容器化架构:利用容器技术,Tinet 可以在不同的环境中快速部署和运行,支持多种网络场景的模拟。
- 场景示例:Tinet 的 GitHub 仓库中包含多个示例场景,帮助用户快速上手和理解如何使用该工具进行网络仿真。
- 活跃的开发:尽管 Tinet 的最新正式版本是 0.0.2(于 2020 年 7 月发布),但其开发活动仍在持续进行,最近的 GitHub 提交记录显示,有多个合并请求在 2023 年 1 月被接受。
- 可扩展性:用户可以根据需要修改和扩展 YAML 配置,轻松调整网络参数和功能,以适应不同的测试需求。
Tinet 适合于快速原型开发、教育培训和小规模的网络实验。它非常适合希望快速测试和验证网络配置的开发者和研究人员。
20、Junosphere
Junosphere 是 Juniper 提供的网络仿真平台,允许用户在虚拟环境中模拟 Juniper 网络设备的行为。Junosphere 提供了一个基于云的虚拟实验室,用户可以通过浏览器访问该平台,测试 Juniper 设备和网络配置。
- 官网地址:
https://support.juniper.net/support/eol/software/junosphere/
- 下载地址:
https://support.juniper.net/support/downloads/
- 支持仿真 Juniper 路由器、交换机、防火墙和安全设备。
- 提供基于云的实验室环境,用户可以随时随地访问。
- 支持多种网络协议的仿真,如 OSPF、BGP、MPLS、VPLS 等。
- 允许用户测试网络配置、进行协议开发以及故障排除。
Junosphere 的最新版本于 2023 年更新,增加了对 Juniper 新型号设备的支持,并增强了网络配置的灵活性和自动化管理功能,提升了仿真性能,使其适合于更复杂的网络测试和开发任务。
Junosphere 主要适用于使用 Juniper 设备的网络工程师和开发者,尤其在网络认证考试准备、网络配置测试和网络设计优化中发挥着重要作用。它还广泛用于企业网络环境中的培训和测试,提供了一个便捷的虚拟实验室。
21、VNX (Virtual Networks over linuX)
VNX 是一个用于在 Linux 上创建复杂虚拟网络的工具,支持使用 LXC 容器、虚拟机和虚拟网络来仿真网络拓扑。它允许用户通过脚本定义复杂的网络环境,适合用于研究、开发和教学。
- 官网地址:
http://web.dit.upm.es/vnxwiki/index.php/Main_Page
- 下载地址:
http://web.dit.upm.es/vnxwiki/index.php/Download
- 支持虚拟机和 LXC 容器的混合仿真,灵活创建虚拟网络拓扑。
- 提供命令行界面和基于 XML 的配置文件来描述网络拓扑。
- 支持多种网络协议的仿真,如 OSPF、BGP、VLAN 等。
- 可以与 QEMU 和 KVM 集成,增强仿真能力。
- 支持分布式网络仿真,使其适用于大规模网络测试。
VNX 的最新版本 3.0 于 2023 年发布,更新了对容器化技术的支持,优化了大规模仿真的性能,并增加了对新协议和功能的支持。
VNX 适用于网络研究人员、开发者以及需要测试复杂网络拓扑的工程师。它广泛应用于网络协议的开发、验证和教学环境,特别是在需要虚拟化和容器技术支持的场景下表现出色。
22、MimicNet
MimicNet 是一个网络模拟器,旨在利用机器学习技术估算大型数据中心网络的性能。该项目最初于 2019 年 7 月发布,主要作为研究项目的一部分,致力于解决数据中心网络中的性能预测问题。
- 官网地址:
https://github.com/eniac/MimicNet
- 机器学习驱动:MimicNet 通过机器学习算法分析网络流量和性能数据,以准确预测不同配置和条件下的数据中心网络性能。
- 专注于数据中心:该模拟器特别适用于大规模数据中心的仿真,能够处理复杂的网络拓扑和高流量场景。
- 研究导向:MimicNet 的开发是基于相关研究论文,提供了理论支持和实证数据,用于验证机器学习在网络性能估计中的有效性。
- 维护状态:虽然自发布以来没有进行重大更新,MimicNet 在 2022 年 7 月仍有最后一次提交,表明项目仍在维护中,开发者也积极回应用户问题。
- 适用性:尽管更新较少,但 MimicNet 适合于研究人员和学者,特别是在数据中心网络性能建模和优化方面。
MimicNet 适合于学术研究和工业界的性能评估,尤其是对大型数据中心的网络优化和设计。其机器学习的应用使得其在复杂网络环境中的预测能力尤其突出。
23、Meshtasticator
Meshtasticator 是一个专门用于模拟 Meshtastic 软件的工具。Meshtastic 项目旨在利用廉价的 LoRa 无线电设备,创建一个长距离的离网通信平台,特别适用于缺乏可靠通信基础设施的区域。
- 官网地址:
https://github.com/GUVWAF/Meshtasticator
- 社区驱动:Meshtasticator 是一个完全开源的项目,由社区共同开发和维护,鼓励用户参与和贡献。
- LoRa 模拟:该模拟器可以模拟 Meshtastic 设备之间的通信,用户能够测试和验证不同配置下的 LoRa 无线电网络。
- 活跃的开发:尽管没有正式标记的发布版本,Meshtasticator 仍在积极开发中,最近的 GitHub 提交记录显示,2023 年 2 月有多个合并请求被接受。
- 易于使用:Meshtasticator 提供简单的接口,用户可以方便地设置和模拟多设备之间的通信场景,进行实验和研究。
- 支持离网应用:该工具特别适合研究和开发离网通信解决方案,用户可以探索在偏远或基础设施不足地区的应用。
Meshtasticator 适合开发人员、研究人员和爱好者,尤其是那些希望测试 LoRa 网络在不同条件下性能的用户。它可以用于教育、原型开发以及离网通信技术的实验。
24、CupCarbon
CupCarbon
CupCarbon 是一个专注于城市无线网络仿真的工具,能够有效模拟城市环境中的无线网络行为。该项目集成了来自 OpenStreetMap 的数据,允许用户在真实的城市模型中进行网络实验。
- 官网地址:
http://cupcarbon.com/
- 城市无线网络仿真:CupCarbon 旨在模拟城市中的无线网络,包括各种传输媒介和设备配置,帮助用户理解网络在不同城市环境下的表现。
- OpenStreetMap 集成:通过整合 OpenStreetMap 的数据,CupCarbon 可以在真实地理环境中构建网络模型,增加了仿真的准确性和实用性。
- 持续开发:尽管没有正式的发布版本,CupCarbon 的 GitHub 上有多个提交记录,最近的提交提到版本 5.2,显示该项目仍在活跃开发中。
- 社区支持:虽然缺乏许可证信息,CupCarbon 仍在 GitHub 上开放源代码,鼓励开发者和研究人员参与到项目中。
- 灵活性:用户可以根据自己的需求定制网络配置,进行各种实验,探索不同条件下的网络性能。
CupCarbon 适合研究人员、开发者和学术机构,特别是在无线网络设计和优化方面,尤其关注城市环境中的应用。
25、CrowNet
CrowNet 是一个开源的仿真环境,专注于模拟行人之间的无线通信。该工具旨在评估城市和乡村环境中的行人通信场景,适合进行相关研究和实验。
- 官网地址:
https://github.com/roVer-HM/crownet
- 行人通信模型:CrowNet 专注于模拟行人之间的无线通信,能够有效反映人群在不同环境中的交互方式和通信效果。
- 基于 OMNeT++:该项目建立在 OMNeT++ 的基础上,利用其强大的网络仿真能力,为用户提供高效的建模和仿真环境。
- 活跃开发:CrowNet 的开发仍在继续,最近版本 0.9.0 于 2022 年 5 月发布,显示出该项目的持续更新和社区支持。
- 灵活的仿真设置:用户可以根据需要自定义不同的仿真场景,包括环境设置、行人数量和通信参数等,便于探索多样的研究问题。
- 城市与乡村环境评估:CrowNet 可以应用于城市和乡村两种环境,帮助研究人员了解不同背景下行人通信的特性和挑战。
CrowNet 适合研究人员、城市规划者和开发者,尤其是在无线通信、智能交通和人群行为分析等领域进行实验和研究。
26、Cooja
Cooja 是一个专为 IoT 网络仿真设计的模拟器,属于新的 Contiki-NG 项目。它允许用户对使用 Contiki-NG 操作系统的 IoT 网络进行细粒度的模拟和仿真。
- 官网地址:
https://docs.contiki-ng.org/en/develop/doc/tutorials/Running-Contiki-NG-in-Cooja.html
- IoT 网络仿真:Cooja 支持多种 IoT 设备的模拟,用户可以创建和测试复杂的 IoT 网络环境,探索不同配置下的性能表现。
- 细粒度控制:该模拟器提供对仿真环境的深入控制,允许用户精确调整设备参数、网络拓扑和通信协议,以便进行多样的实验。
- 活跃社区支持:Cooja 的 Contiki-NG 论坛非常活跃,大多数问题都能快速得到解答,帮助用户更好地理解和使用该工具。
- 持续开发:虽然尚未发布正式版本,但最近的合并请求显示该项目仍在积极开发中,最后一次更新在 2023 年 2 月。
- 用户友好:Cooja 的界面设计考虑了用户体验,提供了直观的操作和配置方式,使得即使是初学者也能快速上手。
Cooja 适合研究人员、开发者和教育工作者,特别是在 IoT 设备开发、网络性能分析和协议测试等领域进行实验和研究。
27、Colosseum
Colosseum 是一个开放源代码的无线网络仿真软件,旨在为无线网络提供高效的仿真环境。该软件基于标准的 PC 硬件和无线电设备,使得用户可以轻松构建和测试无线网络。
- 官网地址:
https://www.northeastern.edu/colosseum/
- 无线网络仿真:Colosseum 提供了对无线网络的全面支持,包括无线接入网(RAN)和核心网络的关键组件,适合各种无线通信场景的研究与开发。
- 虚拟实验室构建:用户可以利用 Colosseum 进行无线电设备的仿真,有潜力构建完全虚拟的实验室环境,尤其是结合 ns-O-RAN 或 GNUradio 等工具。
- 多子项目构成:Colosseum 项目由多个子项目组成,确保其功能的灵活性和可扩展性,适应不同研究需求。
- 活跃更新:最新版本 srsRAN 22.10 于 2022 年 11 月发布,显示该项目仍在积极发展,并不断引入新特性和改进。
- 社区参与:作为一个开源项目,Colosseum 鼓励社区参与,用户可以为其贡献代码、提出问题和分享经验。
Colosseum 适合无线通信研究人员、工程师和教育工作者,特别是在无线网络设计、性能评估和新技术验证等方面进行实验。
28、vrnetlab
vrnetlab 是一个网络仿真工具,主要用于虚拟化网络设备的测试和开发。尽管其开发活动有所减缓,但仍然为用户提供了一些有用的功能和文档支持。
https://github.com/vrnetlab/vrnetlab
- 网络设备虚拟化:vrnetlab 允许用户在虚拟环境中运行多种网络设备,支持多种设备的模拟和测试,适合网络工程师和开发人员进行网络配置和调试。
- 适用于 Containerlab:vrnetlab 的某些部分和文档仍然对使用 Containerlab 的用户有用,尤其是在创建和管理虚拟网络环境时。
- 开源项目:作为一个开源项目,vrnetlab 允许用户查看源代码并根据需要进行修改和扩展,尽管当前社区活动较少。
vrnetlab 适合希望在虚拟环境中进行网络设备测试的网络工程师和开发者,尤其是在开发和验证网络配置时。
29、Shadow
Shadow 是一个活跃开发中的离散事件网络模拟器,专门设计用于模拟大规模分布式系统。它能够直接执行真实的应用代码,提供了一个高度可扩展的环境,以便进行真实且可扩展的网络实验。
https://shadow.github.io/
- 真实代码执行:Shadow 的一个核心优势是可以直接运行真实应用程序的代码,允许用户在仿真中获得更准确的性能数据和行为分析。
- 大规模模拟:用户可以在个人笔记本、台式机或运行 Linux 的服务器上模拟数千个网络连接的进程。这使得 Shadow 特别适合进行大规模分布式系统的研究和测试。
- 离散事件模拟:Shadow 使用离散事件模拟的方法,能够精确地控制事件发生的顺序和时间,提供更高的模拟精度。
Shadow 适合研究人员和开发者,尤其是那些需要进行大规模网络性能分析、分布式系统测试和应用行为模拟的用户。
30、OpenConfig-KNE
OpenConfig-KNE(Kubernetes Network Emulation)是一个由 OpenConfig 基金会开发的网络仿真器,旨在扩展基本的 Kubernetes 网络功能,以支持任意网络拓扑中的点对点虚拟连接。
https://github.com/openconfig/kne
- Kubernetes 集成:OpenConfig-KNE 构建于 Kubernetes 之上,充分利用了容器化的灵活性和可扩展性,使得用户可以在 Kubernetes 环境中创建复杂的网络拓扑。
- 虚拟连接支持:该仿真器支持在节点之间建立点对点虚拟连接,方便用户进行网络配置和测试,适合研究和开发不同网络场景。
- 标准化数据模型:OpenConfig 组织鼓励主要网络设备厂商(如 Nokia、Cisco 和 Juniper)提供标准的数据模型,以简化配置和部署过程,从而提高网络互操作性。
- 支持标准容器:OpenConfig-KNE 可以仿真由开源设备组成的网络,支持使用标准容器进行网络仿真,使得用户能够灵活地测试和验证不同的网络配置。
OpenConfig-KNE 适合网络工程师、研究人员和开发者,尤其是在 Kubernetes 环境中需要进行网络测试和验证的用户。
最后想问一下大家,这25个模拟器,你用过哪些?欢迎在下方评论区讨论!