Netzwerksimulation oder Netzwerkemulation?

person-252878_1920Bei Tests im Bereich der Netzwerke werden die Begriffe Emulation und Simulation oft synonym verwendet. In den meisten Fällen erklären die Begriffe, was die jeweilige Person damit aussagen will. Aber in der Praxis gibt es große Unterschiede zwischen einem Netzwerk-Emulator und einem Netzwerk-Simulator.

Einem Netzwerktechniker kann eine nicht ordnungsgemäß konfigurierte Anwendung eine Menge an Zeit zum Auffinden des Problems kosten. Will man solche Probleme im Vorfeld vermeiden, bleibt dem Netzwerktechniker nur eine gründliche und effiziente Prüfung der Anwendungen. Dabei ist es völlig egal, ob es  sich um die Installation eines neuen Netzwerks, der Migration in die Cloud oder das Hinzufügen eines neuen Geräts zum Rack handelt. Die einzelnen Arbeitsschritte innerhalb des gesamten Lebenszyklus einer Anwendung sollte mit entsprechenden Tests validiert werden.

Bei Tests im Bereich der Netzwerke werden die Begriffe Emulation und Simulation oft synonym verwendet. In den meisten Fällen erklären die Begriffe, was die jeweilige Person damit aussagen will. In der Praxis gibt es allerdings  große Unterschiede zwischen einem Netzwerk-Emulator und Netzwerk-Simulator.

Die Simulation ist eine Vorgehensweise zur Analyse von Systemen, die für die theoretische oder formelmäßige Behandlung zu komplex sind. Dies ist überwiegend bei dynamischem Systemverhalten gegeben. Bei der Simulation werden Experimente an einem Modell durchgeführt, um Erkenntnisse über das reale System zu gewinnen. Der Simulator ist somit die Realisierung eines Simulationsmodells. Letzteres stellt des zu simulierenden Systems dar (Struktur, Funktion, Verhalten). Ein Simulator kann Aufgaben in abstrakter Weise durchführen, um das Verhalten eines Netzwerks und seiner Komponenten zu demonstrieren.

Als Emulator wird in der Computertechnik ein System bezeichnet, das ein anderes in bestimmten Teilaspekten nachbildet. Das nachgebildete System erhält die gleichen Daten, führt vergleichbare Programme aus und erzielt die möglichst gleichen Ergebnisse in Bezug auf bestimmte Fragestellungen wie das zu emulierende System. Netzwerkemulatoren sind Programme, die das Verhalten eines Netzwerks nachbilden und es funktionell ersetzt.

Netzwerksimulatoren

Ein Netzwerksimulator nutzt mathematische Formeln, um ein vollständig virtuelles Modell eines Netzwerks darzustellen. Simulatoren werden in der Regel als Softwarelösungen realisiert und verschiedene Simulatoren stehen heute für die verschiedenen Anwendungen zur Verfügung. Diese werden in erster Linie im Bereich der Forschung und Lehre eingesetzt, aber können auch als Testinstrumente bei dem Design und der Entwicklung von Netzwerken genutzt werden.

Simulatoren (beispielsweise die Opensource-Lösung ns-3 (www.nsnam.org) können Netzwerk- und Routing-Protokolle simulieren. Der OPNET-Simulator von Riverbed wurde in deren Steelcentral-Produktlinie integriert und stellt eine eigenständige Simulationsumgebung zur Verfügung.

Beide Netzwerksimulatoren stellen eine diskrete Simulation von Netzwerkereignissen zur Verfügung und sind in der Lage die jeweiligen Datenflüsse chronologisch darzustellen und zu überwachen. Auf dieser Basis kann ein Netzwerkarchitekt ein Modell (einschließlich der Topologie und der Anwendungsflüsse) eines Netzwerks erstellen und bewerten. Da eine Vielzahl von Szenarien in dem virtuellen Netzkonstrukt simuliert werden kann, ist eine hypothetische Bewertung der Performance möglich, bevor das Netzwerk in der realen Welt implementiert wird.

Obwohl Tests eines Netzwerks auf Basis eines Netzwerksimulators Zeit und auch Geld einsparen, sind diese Komponenten nicht ohne Probleme. Die Simulation hochkomplexer Operationen erfordern ein gewisses Maß an Erfahrung und Training, um ordnungsgemäß die Netzwerksimulatoren konfigurieren zu können bzw. um zuverlässige Ergebnisse zu liefern. Darüber hinaus sind Netzwerksimulatoren nicht immer nutzbar, da bestimmte Ereignisse nicht unabhängig von einem physischen Netzwerk erzielt werden können.

Netzwerkemulatoren

Ein Netzwerkemulator wird für den Test der Performance eines realen Netzwerks genutzt. Diese Geräte können auch zur Qualitätssicherung, für den Nachweis des Funktionieren eines Konzepts oder zur Fehlersuche verwendet werden. Als Netzwerk- oder Software-Lösungen erhältlich, ermöglicht ein Netzwerk-Emulator dem Netzwerker den Test die Reaktionsfähigkeit, das Messen des Durchsatzes und die Beurteilung der Anwendung, bevor sie Änderungen oder Ergänzungen zu einem System vornehmen bzw. die Auswirkungen auf den Nutzer bevor die eigentlichen Änderungen am Netzwerk vorgenommen werden.

Emulator "LinkTropy" von Apposite/Digital Hands
Emulator „LinkTropy“ von Apposite/Digital Hands

Wird ein Netzwerkemulator zwischen zwei LAN-Segmenten platziert, kann dieser eine WAN-Verbindung (ohne die Notwendigkeit der Installation von Routern) nachbilden und sogar Echtzeitverkehre replizieren. Der Netzwerkemulator kann so konfiguriert werden, dass auf der emulierten Verbindung Bandbreitenbeschränkungen und Verbindungsprobleme (wie beispielsweise Paketverlust, Verzögerung und Jitter) auftreten. Auch lässt sich die Latenz spezifizieren, damit eine Datenübertragung über große Entfernungen emuliert und das richtige Verhalten von Anwendungen getestet werden kann.

Softwarelösungen wie NetEm (wurde bereits im Linux-Kernel integriert) eignen sich hervorragend zum Netzwerktests bei niedrigen Datenraten. Die Beschränkungen haben ihre Ursachen in den Plattformen auf den der Emulator arbeitet.

Hardwarelösungen (beispielsweise Linktropy 8510 von Apposite Technologies/Digital Hands wurden speziell für diesen einzigen Einsatzfall konzipiert und bieten daher eine entsprechend höhere Leistung.

Äpfel oder Birnen?

Mathias Hein, Consultant, Buchautor, Redakteur
Mathias Hein, Consultant, Buchautor, Redakteur

Wer den Unterschied zwischen einem Netzwerksimulator und einem Netzwerkemulator kennt, kann seine Testwerkzeuge richtig auswählen. Beide Lösungen stellen nützliche und notwendige Werkzeuge dar und haben ihren jeweils spezifischen Einsatzbereich. Ein Netzwerk-Simulator hilft bei der Planung eines Netzwerks, ohne dass der Planer auf reale Netzkomponenten zurückgreifen muss. Soll beispielsweise ein weltweites Netzwerk geplant werden, dann verwendet man einen Netzwerk-Simulator. Sobald das Netzwerk entworfen und aufgebaut ist, nutzt man einen Netzwerkemulator zum Testen der Anwendungen, zur Validierung der Leistung, zur Fehlerbehebung und zur Überprüfung des Gesamtkonzepts. Will man beispielsweise von MPLS auf SD-WAN umsteigen, dann kann man mit Hilfe eines WAN-Emulator den Anbieter bzw. dessen Produkte testen, damit man sicherstellt, dass die geforderten Leistungen vom geplanten Systems auch erfüllt werden.

#Netzpalaver #Riverbed #Apposite #DigitalHands