OMNeT++

Simulations-Framework für Rechnernetze und Netzwerkprotokolle

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
Programmier­sprache 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

Bearbeiten

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

Bearbeiten

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

Bearbeiten
  1. a b OMNeT++ License. Abgerufen am 22. April 2017 (englisch).
  2. OMNeT++ Discrete Event Simulator. Abgerufen am 22. April 2017 (englisch).
  3. OMNEST - High-Performance Simulation for All Kinds of Networks. Abgerufen am 22. April 2017 (englisch).
  4. OMNEST - OMNeT++ Comparison. Abgerufen am 22. April 2017 (englisch).
  5. András Varga and OpenSim Ltd.: OMNeT++ Installation Guide Version 5.0. (PDF) OpenSim Ltd., 2016, abgerufen am 22. April 2017 (englisch, 883 KB).
  6. INET Framework. Abgerufen am 22. April 2017 (englisch).
  7. INET Framework: Model Catalog. Abgerufen am 22. April 2017 (englisch).
  8. INET framework for the OMNeT++ discrete event simulator. Abgerufen am 22. April 2017 (englisch).