OMNeT++
OMNeT++[2] (Objective Modular Network Testbed in C++) ist ein Simulations-Framework, mit dem Rechnernetze und Netzwerkprotokolle simuliert und Leistungsanalysen durchgeführt werden können. Für private und akademische Nutzung ist das Framework kostenfrei unter einer Open-Source-Lizenz erhältlich[1]. Für die kommerzielle Nutzung bieten die Entwickler mit OMNEST[3][4] eine erweiterte Version von OMNeT++ an. Neben einer grafischen Benutzerführung wird eine Eclipse-basierte Entwicklungsumgebung für die Programmierung zur Verfügung gestellt.
OMNeT++ | |
---|---|
Basisdaten | |
Entwickler | OpenSim Ltd. |
Aktuelle Version | OMNeT++ 5.6.2 |
Betriebssystem | Linux, macOS, Windows, FreeBSD |
Programmiersprache | C++ |
Kategorie | Simulations-Framework |
Lizenz | Academic Public License[1] |
deutschsprachig | nein |
omnetpp.org |
Obwohl OMNeT++ selbst in C++ programmiert wurde, besteht die Möglichkeit, andere Programmiersprachen wie Java und C# zur Entwicklung eigener Module zu verwenden. Diese können in Verbindung mit bereits fertigen Standard-Modulen simuliert werden, um deren Zusammenarbeit zu prüfen. Bei einem Modul kann es sich beispielsweise um ein Netzwerk-Protokoll wie IP oder um eine Hardware-Komponente wie einen Switch handeln. Die Simulation der Module erfolgt nach dem Prinzip der ereignisorientierten Simulation.
Verbreitete Anwendungsfälle bestehen darin, neuartige Echtzeit-Ethernet-Netzwerke im Umfeld der Automatisierungstechnik oder im Umfeld von Multimedia-Streaming zu simulieren, bevor sie in Hardware produziert werden.
Unterstützte Plattformen
Das Framework ist lauffähig unter Linux und anderen Unix-basierten Systemen, macOS (Version 10.10 und höher) sowie unter Windows 7 und Windows 10.[5]
Erweiterungen
Durch den modularen Aufbau von OMNeT++ lässt es sich leicht durch Frameworks erweitern. Diese ergänzen den Funktionsumfang um weitere Simulationsmodelle und Protokolle. Eines der am Häufigsten verwendeten Frameworks ist INET[6] welches OMNeT++ um diverse Simulationsmodelle aus dem Bereich des Internets erweitert[7]. Diese lassen sich in folgende Kategorien einteilen:
- Anwendungsschicht
- Anwendungen wie z. B. HTTP, FTP oder DHCP
- Transportschicht
- Hauptsächlich SCTP, TCP und UDP
- Vermittlungsschicht
- Protokolle wie IPv4, IPv6 und ICMP
- Routingprotokolle
- Routingprotokolle wie z. B. BGP, RIP und Link-State. Es werden auch diverse Protokolle aus dem Bereich der Ad-hoc-Netze (MANET) unterstützt.
- Netzzugang
- Unterstützung für drahtgebundene (z. B. Ethernet, STP, PPP) sowie drahtlose Standards (z. B. WLAN, IEEE 802.15.4, LTE) für den Netzzugang.
- Bewegungsmodelle
- Modelle, die die Bewegung der Objekte in der Simulation bestimmen
INET ist auf GitHub[8] verfügbar. Die jeweiligen Module sind unter der LGPL oder der GPL verfügbar.
Einzelnachweise
- OMNeT++ License. Abgerufen am 22. April 2017 (englisch).
- OMNeT++ Discrete Event Simulator. Abgerufen am 22. April 2017 (englisch).
- OMNEST - High-Performance Simulation for All Kinds of Networks. Abgerufen am 22. April 2017 (englisch).
- OMNEST - OMNeT++ Comparison. Abgerufen am 22. April 2017 (englisch).
- András Varga and OpenSim Ltd.: OMNeT++ Installation Guide Version 5.0. (PDF) OpenSim Ltd., 2016, abgerufen am 22. April 2017 (englisch, 883 KB).
- INET Framework. Abgerufen am 22. April 2017 (englisch).
- INET Framework: Model Catalog. Abgerufen am 22. April 2017 (englisch).
- INET framework for the OMNeT++ discrete event simulator. Abgerufen am 22. April 2017 (englisch).