Dynamische Messung und Optimierung der QoE / QoS bei Videodiensten in NGN

Home / Entwicklungen / NetGen - Netzparameter Management

NetGen - Netzparameter Management

Kategorie: EntwicklungenErstellt: 03.07.2008 - 16:42 Geändert: 24.02.2010 - 09:42
Autor: Oliver Portugall

Info
NetGen ist im Rahmen von QoSSIP entstanden und wird um Funktionen zur gezielten Video Stream Manipulation im Forschungsprojekt Smart Video erweitert.



Entwicklung durch Stefan Abu Salah

fileOft steht man vor dem Problem, dass reale Netzwerke zu gute Eigenschaften haben um gewisse Messszenarien durchführen zu können. Auch ist es nicht möglich eine Messung unter exakt gleichen Bedingungen erneut abzusetzen. Gerade das Bestimmen der Eigenschaften von Codecs setzt eine exakte Einstellmöglichkeit der relevanten Netzparameter voraus, insbesondere um Vergleichsmessungen unterschiedlicher Codecs zu realisieren. Auch das Demonstrieren der Auswirkungen von Netzparametern ist nur mit großem Aufwand möglich.
Um diese Probleme zu lösen wurde im Rahmen des Forschungsprojekts QoSSIP an der Fachhochschule in Köln das Programm NetGen (Network Generator) entwickelt. NetGen ist eine Layer 2 Netzwerkbridge mit Einstellmöglichkeiten der Parameter Delay, Jitter und PacketLoss für unterschiedliche DSCP-Klassen (Differentiated Services Code Point). In den folgenden Kapiteln soll die Technik und die Handhabung von NetGen anschaulich erklärt werden.

Funktionsumfang


NetGen bietet vielfältige Konfigurations- und Einsatzmöglichkeiten. Im einfachsten Fall ist NetGen mit einer herkömmlichen Netzwerkbridge vergleichbar. NetGen nutzt hierfür zwei Netzwerkinterfaces (Bridginginterfaces), welche den gesamten Netzwerkverkehr ohne Änderung der Pakete weiterleiten. NetGen ist in der Lage Pakete mit mit einer zeitlichen Verzögerung (Delay, Jitter) weiterzuleiten, gewisse Pakete gezielt zu verwerfen (Packet Loss), Pakete mit Fehlern zu versehen (CRC-Error) und Pakete mehrfach zu versenden (Packet duplication). Dies ermöglicht es dem Benutzer Eigenschaften von Netzwerken einzustellen. Beispielsweise könnte man das Verhalten einer Satellitenstrecke, deren Eigenschaften bekannt sind, mit NetGen nachbilden. Alle Parameter lassen sich exakt einstellen und das für bis zu vier unterschiedliche DSCP-Klassen. Somit ist NetGen in der Lage Pakete mit verschiedenen DSCP-Flags getrennt voneinander zu behandeln.
NetGen ist in der Lage den gesamten Netzverkehr oder nur bestimmte Paketklassen über ein drittes Interface (Mirrorinterface) als Kopie zu versenden. Dies kann genutzt werden, um den Datenstrom durch NetGen zu überwachen oder gewisse Pakete (z.B. VoIP-Calls) mitzuschneiden.
Die Steuerung von NetGen kann sowohl von der Kommandozeile, als auch komfortabel in einem intuitiv zu bedienenden Webinterface erfolgen. Letzteres erlaubt eine Änderung aller Netzparameter zur Laufzeit des Programms. Neben diesen Steuerungsmöglichkeiten stehen ausführliche Statistiken zu jedem Interface und jeder DSCP-Klasse zur Verfügung. Ein Rechtemanagement erlaubt das Einrichten unterschiedlich privilegierter Benutzeraccounts, von Gästen ohne das Recht Änderungen am System vorzunehmen bis hin zu Administratoren, welche uneingeschränkte Rechte am System besitzen.
NetGen kann, genügend Netzwerkinterfaces vorausgesetzt, mehrfach auf einem Rechner gestartet werden. Auf diese Weise lassen sich komplett unterschiedliche Netze über ein einzelnes Gerät steuern. Wichtig ist nur, dass die NetGen-Instanzen auf unterschiedlichen Interfaces arbeiten.

file

Funktionsweise


NetGen speichert, sofern erforderlich, jedes Paket innerhalb eines Ringpuffers. Es wird dort mit dem Sendezeitpunkt und abgelegt und beim erreichen dieses Zeitpunktes versendet. Die Kapazität des Ringpuffers ist konfigurierbar und auf 1000 Pakete voreingestellt. Je nachdem wie performant der verwendete Rechner, wie schnell das Netzwerk und wie groß das eingestellte Delay ist muss die Puffergröße angepasst werden. Mit jedem Paket werden die gewünschten Sendezeitpunkte gespeichert. Der gewünschte Sendezeitpunkt errechnet sich aus der aktuellen Zeit plus dem eingestellten Delay. Falls ein Jitter gewünscht ist wird dieser auf den Sendezeitpunkt vorzeichenbehaftet angerechnet.
Es gibt zwei Möglichkeiten wie NetGen den Jitter berechnen kann. Entweder NetGen errechnet den Jitter Normalverteilt oder Gleichverteilt. Falls ein Packetloss eingestellt wurde und NetGen anhand des randomisierten Algorithmus entschieden hat das das aktuell empfangene Paket verworfen werden soll, so wird das Paket nicht in den Ringpuffer übernommen. Falls ein Paketfehler eingestellt wurden und NetGen anhand des randomisierten Algorithmus entschieden hat das das aktuell empfangene Paket verändert werden soll, so werden im Paket die letzten Bytes des Pakets mit den Buchstaben „NetGen“ überschrieben.

NetGen kann bestimmte Paketklassen über das Mirrorinterface versenden. Wird der Paramerter „-M“ übergeben werden alle Pakete, welche NetGen durchlaufen über den Mirror geführt. Falls Sie eine Beschränkung des gespiegelten Verkehrs vornehmen möchten, können Sie dies mit den folgenden Parametern erreichen. Beachten Sie, dass sie auch mehrere Klassen gleichzeitig über den Mirror versenden können.

Genauigkeit von NetGen


Die durch NetGen erreichbare Genauigkeit hängt stark von der verwendeten Hardware ab. Auf einem 500MHz Rechner kann bis ca. 3MB/s Bridgeverkehr die Abweichung unter 1ms gehalten werden. Mit steigender Last müssen entsprechend hochwertigere Komponenten eingesetzt werden. Auf einem Dual-Core Prozessor mit 2.2GHz konnten 22MB/s mit einer Genauigkeit von 1ms transportiert werden.

Handbuch zu NetGen



filehttp://www.qossip.de/upload/NetGen_2_0_howto.pdf

Download



Auf Anfrage


Bookmark auf del.icio.usBookmark auf Mister WongBookmark auf BlinklistBookmark auf GoogleBookmark auf LinkarenaBookmark auf YiggBookmark auf FolkdBookmark auf Yahoo
Home / Entwicklungen / NetGen - Netzparameter Management
simplum