Es geht doch: OMNeT++, INET und die echte Welt

OMNet++

Netzwerkmanagement und die Entwicklung eines großen Netzwerkes von Netzen (denken Sie an das Internet) ist schlecht in der realen Welt erforschbar. Klar, wer möchte schon einen Forscher am Backbone-Router die Außenanbindungen kappen lassen, nur um zu sehen was passiert. Andere Fragestellungen, wie beispielsweise das Verhalten eines neuen Protokolls im Internet der Zukunft sind einfach nicht nachstellbar. Was tun, also? Richtig, simulieren.

Seit Netzmanagement für mich ein Thema ist, arbeite ich auch mit OMNeT++, einem sehr umfangreichem Simulations-Framework. Insbesondere das INET-Framework, dass OMNeT++ um Funktionen zum simulieren von Netzwerken erweitert, kann bei obigen Fragestellungen sehr nützlich sein. Es bietet das Grundgerüst, um Simulationsmodelle mit den gängigen Protokollen wie Ethernet, IP, IPv6 oder TCP zu bauen. Meinem Kenntnisstand nach, war aber eine zentrale Forderung an ein aussagekräftiges Simulationsmodell nicht gegeben: Es gab keine einfache Anbindung an die echte Welt. Dazu gehört natürlich nicht nur, dass konkrete Netzwerk-Topologien in OMNeT++ nachgestellt werden können ( was übrigens sehr intuitiv funktioniert), sondern dass ein Simulationsmodell auch an ein reales Test-Netzwerk angebunden werden kann.

Die echte Welt

Das hat sich geändert, sogar bereits 2008. In einem Paper von Mitarbeitern der FH-Münster und der Uni-Düsseldorf wird eben genau so eine Schnittstelle vorgestellt:

Interface connecting the INET simulation framework with the real world (FH-Münster/Uni-Düsseldorf)

Die Forscher aus Münster und Düsseldorf beschreiben in ihrem Paper, wie sie um das SCTP-Protokoll zu simulieren, eine Anbindung realer Hosts an INET geschaffen haben. Die Implementierung basiert auf der libpcap und soll laut Paper auch für andere Netzwerkprotokolle einsetzbar sein. Zwei Einschränkungen scheint es jedoch noch zu geben.

  • Die Simulation muss mit root Rechten laufen
  • Die Zeit in der Simulation und der realen Welt wird zwar synchron gehalten, Überlastung der libpcap (und damit verbundener Paketverlust) ist aber noch nicht ausgeschlossen
  • In einem Beispiel wird unter anderem auch ein von einem realen Host initiierter Ping-Flood durch ein simuliertes Netzwerk von Routern zu einem zweiten realen Host gesendet. Dabei kommen die Forscher zu dem erfreulichen Ergebnis, dass zwar nach Beendigung noch Pakete in den Router-Warteschlangen der simulierten Router waren, diese aber nach Bearbeitung ohne Paketverlust an ihrem Ziel ankamen. Die Erweiterung wird anscheinend Teil einer der kommenden INET Versionen.

    Das lässt auf einige interessante neue Simulationen des Fachbereichs-Netzwerkes der Informatiker an meiner Universität hoffen.

    Die Verfahren, um OMNeT++ an reale Systeme anzubinden, wurden bereits ausführlich durch zwei Forscher des Instituts für Telematik der Universität Karlsruhe betrachet. Sie kommen zu dem Schluss, dass eine Anbindung über dynamische Bibliotheken (wie hier anscheinend geschehen) am aussichtsreichsten seien.

    Integrating real world applications into OMNeT++ (TeleMatics, Karlsruhe)

    Anwendung

    Vorausgesetzt die Erweiterung findet schnell ihren Weg in die offizielle Distribution, werde ich damit die Ergebnisse meines Benchmarks des IRB-Backbones weiter bearbeiten können (genug Zeit vorausgesetzt). Besonders interessant sind dabei folgende Fragestellungen:

  • Welchen Einfluss hätte die Einführung von campusweitem Video-on-Demand?
  • Wie lange kann das Fachbereichs-Netzwerk seinen Dienst erfüllen, wenn sukzessive Uplink-Verbindungen getrennt werden?
  • Wie verhält sich das Fachbereichs-Netzwerk, wenn durch Abschaltung unseres Paketfilters Angriffe aus dem Internet möglich sind?
  • Praktisch wäre es, die realen Hosts durch User-Mode-Linux Server zu realisieren, die dann durch das simulierte Netzwerk über unsere Außenanbindung mit den gängigen Werkzeugen angegriffen werden könnten.

    Schreibe einen Kommentar

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.