DE102006012427A1 - Eingereihter Netzsimulator - Google Patents

Eingereihter Netzsimulator Download PDF

Info

Publication number
DE102006012427A1
DE102006012427A1 DE102006012427A DE102006012427A DE102006012427A1 DE 102006012427 A1 DE102006012427 A1 DE 102006012427A1 DE 102006012427 A DE102006012427 A DE 102006012427A DE 102006012427 A DE102006012427 A DE 102006012427A DE 102006012427 A1 DE102006012427 A1 DE 102006012427A1
Authority
DE
Germany
Prior art keywords
packet
packets
stream
time
streams
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102006012427A
Other languages
English (en)
Other versions
DE102006012427B4 (de
Inventor
Martin Loveland Curran-Gray
Slawomir K. Loveland Ilnicki
Andrew Loveland Lehane
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Viavi Solutions Inc
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102006012427A1 publication Critical patent/DE102006012427A1/de
Application granted granted Critical
Publication of DE102006012427B4 publication Critical patent/DE102006012427B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/24Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks

Abstract

Es ist ein eingereihter Netzsimulator vorgesehen, der Pakete, die sich durch denselben bewegen, unterbricht, um Netzbedingungen zu simulieren. Gemäß einem Ausführungsbeispiel weist das Verfahren ein Empfangen von Paketen, die von einem Quellknoten zu einem Bestimmungsknoten gesendet werden, an einem eingereihten Netzsimulator auf. Der eingereihte Netzsimulator klassifiziert die empfangenen Pakete in jeweilige einer Mehrzahl von unterschiedlichen Klassifikationen und unterbricht die empfangenen Pakete, basierend auf entsprechenden Unterbrechungscharakteristika, die für die jeweiligen Klassifikationen derselben definiert sind. Ein derartiges Unterbrechen der Pakete kann ein selektives Durchführen zumindest eines Verzögerns, eines Fallenlassens oder eines Neuordnens der empfangenen Pakete umfassen.

Description

  • Heute werden Kommunikationsnetze häufig verwendet. Es existieren verschiedene Typen von Kommunikationsnetzen, einschließlich ohne Einschränkung des Internets und anderer weiter Netze (WANs = wide-area networks), lokaler Netze (LANs = local-area networks), Telefonienetze und drahtloser Netze. Zusätzlich existieren heute viele unterschiedliche Kommunikationsprotokolle. Informationen werden häufig über Kommunikationsnetze von einer Quelle (oder einem „Sender") zu einem oder mehreren Bestimmungsorten kommuniziert bzw. übermittelt. Verschiedene Typen einer Kommunikation werden über Kommunikationsnetze unterstützt, wie beispielsweise Standardtelefonanrufe, Sprache-über-IP-Anrufe (VoIP-Anrufe; VoIP = voice-over-IP), Drahtlostelefonanrufe (z.B. über ein zelluläres Netz), Fernsehprogrammgestaltung (z.B. über Kabel und/oder Satellitennetze), Datendateiübertragungen, elektronische Post, Sofortnachrichtenübermittlung, Webseiten, Streaming-Media, Videokonferenzschaltung, etc. Somit sind verschiedene Typen von Vorrichtungen und Anwendungen allgemein in einer vernetzten Umgebung (z.B. in der sich eine Kommunikation zu/von den Vorrichtungen/Anwendungen über ein Netz bewegt) eingesetzt und es wird erwartet, dass dieselben in derselben ordnungsgemäß wirksam sind. An sich ist es häufig erwünscht, das Verhalten von Vorrichtungen/Anwendungen in einer Vernetzungsumgebung zu testen / zu analysieren. Somit erfordert ein Testen einer Netzausrüstung, ein Liefern einer Netzkapazitätsplanung und in einigen Fällen eine Fehlersuche bei verteilten Anwendungen eine Verwendung einer Vernetzungsumgebung. Beispielsweise kann ein derartiges Testen beobachten, wie eine Netzausrüstung oder verteilte Anwendungen sich unter bestimmten Netzverkehrsbedingungen verhalten, bei denen Pakete verzögert, verloren und/oder außer Reihenfolge gesendet werden.
  • Zu Testwecken und sogar für eine Netzkapazitätsplanung ist ein Verwenden eines echten Netzes eventuell nicht immer möglich oder erwünscht. Eine Verwendung eines spezialisierten experimentellen Netzes kann häufig untragbar teuer sein und deshalb werden häufig anstelle dessen Netzsimulatoren verwendet, insbesondere wenn der Benutzer die Wirkungen einer Kommunikation zwischen Netzen, vernetzten Elementen oder sogar verteilten Anwendungen über einem gewissen Netz beobachten möchte, das eine Leitung mit variabler Qualität für diese Kommunikation bereitstellt. Somit kann ein Netzsimulator für eine Verwendung bei einem Untersuchen eingesetzt werden, wie Paketverzögerungen, ein Paketverlust, eine Paketneuordnung (und/oder andere Bedingungen, die für eine Kommunikation über ein Netz angetroffen werden können) das Verhalten der kommunizierenden Teilnehmer beeinflussen.
  • Verschiedene Netzsimulatoren sind bekannt. Netzsimulatoren können alleinstehende Vorrichtungen sein, die ein Verhalten eines Netzes simulieren, oder dieselben können mit echten Vorrichtungen oder Netzen verbunden sein. Ein Testen einer Netzausrüstung wird häufig unter Verwendung von simulierten Netzen durchgeführt, die mehrere Quellen eines Datenverkehrs aufweisen, die oberflächliche Netzverkehrslasten erzeugen. PC-/systembasierte Netzsimulatoren können zum Simulieren von Netzen mit langsamer Geschwindigkeit verwendet werden. Bei höheren Geschwindigkeiten (z.B. Gigabit-Netzgeschwindigkeiten) kann ein Verarbeiten von Daten Vorrichtungen mit einer spezialisierten Hardwareunterstützung für eine Simulation erfordern. Dies bedeutet, dass derartige Systeme allgemein komplexer und teurer werden. Bestehende Netzsimulatoren sind deshalb typischerweise komplex, teuer und schwierig einzusetzen. Zusätzlich ist die Standfläche derselben allgemein groß.
  • Spezielle Netzsimulatoren wurden entwickelt, die spezifisch zum Simulieren eines gegebenen Typs einer Kommunikation an einem Netz beabsichtigt sind, wie beispielsweise ein Simulieren eines VoIP-Verkehrs. Viele Netzsimulatoren sind wirksam, um einen Verkehr in ein System zu injizieren. Das heißt, viele herkömmliche Netzsimulatoren injizieren einen Netzverkehr zu einem Testsystem. Derartige Netzsimulatoren erzeugen einen künstlichen Verkehr, der zum Beobachten der Wirkungen des künstlichen Verkehrs auf bestimmte Netzelemente, wie beispielsweise Schalter und/oder Router injiziert wird. Folglich simulieren die herkömmlichen Netzsimulatoren einen Verkehr einer Quelle durch ein Injizieren eines künstlichen Verkehrs in ein Netz zum Belasten von beispielsweise Routern und/oder Schaltern. In einigen Fällen sind die Netzsimulatoren die Quelle und die Bestimmungsorte und dieselben erzeugen einen künstlichen Verkehr, der von der Quelle zu dem Bestimmungsort zum Beobachten der Wirkungen eines derartigen künstlichen Verkehrs (z.B. auf eine Netzausrüstung und/oder Anwendungen, die an der Quelle und/oder dem Bestimmungsort ausführen) in ein Netz injiziert werden soll. Beispielsweise können herkömmliche Netzsimulatoren synthetische Lasten an dem Netz erzeugen, die Router/Schalter beeinflussen und somit den Verkehr, der analysiert werden soll, beeinflussen. Beispielsweise kann ein Router-Tester zum Überprüfen auf eine Konformität hin verwendet werden, und ferner um Router mit einem künstlichen Verkehr zu belasten. Ein Dienstanbieter kann einen derartigen Router-Tester verwenden, um zu sehen, ob spezifische Router die Anforderungen derselben hinsichtlich einer Bandbreite, Latenz, etc, erfüllen. Der Router-Tester kann eine spezifizierte Anzahl von Paketen pro Sekunde senden, um eine Analyse zu ermöglichen, wie ein spezifischer Router sich unter der synthetischen Arbeitslast verhalten wird.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren, einen eingereihten Netzsimulator und ein System mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, Anspruch 21 und Anspruch 30, einen eingereihten Netzsimula tor gemäß Anspruch 37 und ein System gemäß Anspruch 43 und Anspruch 47 gelöst.
  • Ausführungsbeispiele der vorliegenden Erfindung sehen einen eingereihten Netzsimulator vor, der Pakete unterbricht, die sich durch denselben bewegen, um Netzbedingungen zu simulieren. Wie derselbe hierin verwendet ist, bezieht sich ein „eingereihter" (in-line) Netzsimulator auf einen Netzsimulator, der einen tatsächlichen Netzverkehr unterbricht, der von einem ersten Knoten zu einem Bestimmungsknoten gerichtet ist. Wie es hierin beschrieben ist, wird der Verkehr unterbrochen, um die Wirkungen des Verkehrs, der über ein spezielles Netz mit bestimmten Charakteristika (z.B. bestimmter Überlastung, etc.) kommuniziert wird, gegenüber einem Erzeugen synthetischer Lasten und einem Injizieren von Verkehr in das Netz zu simulieren. Anstelle eines aktiven Injizierens von Verkehr in einen Kommunikationsweg, um Netzbedingungen zu erzeugen, wie es durch viele herkömmliche Netzsimulatoren vorgenommen wird, sehen somit Ausführungsbeispiele der vorliegenden Erfindung einen passiven Netzsimulator vor, der einen Verkehr, der zwischen Knoten (z.B. Vorrichtungen, Anwendungen, Prozessen oder irgendwelchen anderen Objekten, die eventuell über ein Netz kommunizieren) fließt, überwachen und einen derartigen Verkehr, z.B. durch ein Fallenlassen von Paketen, ein Verzögern von Paketen, ein Neuordnen von Paketen, etc., unterbrachen kann, um Unterbrechungen zu simulieren, die bei einem echten Netz angetroffen werden können. Anstelle eines Erzeugens eines künstlichen Verkehrs, der in eine Netzumgebung eingebracht werden soll, wirken somit bestimmte Ausführungsbeispiele der vorliegenden Erfindung auf einen tatsächlichen Verkehr, den dieselben zwischen Knoten eines Netzes beobachten, und unterbrechen einen derartigen Verkehr, um die Wirkungen zu simulieren, die ein Netz auf den tatsächlichen Verkehr (z.B. auf Grund einer Überlastung, die in dem Netz vorhanden sein kann, etc.) aufweisen kann. Bestimmte Ausführungsbeispiele sind in einer Hardware implementiert, die eine hohe Geschwindigkeit (z.B. eine hohe Parallelität) und eine kleine Standfläche ermöglichen. Ferner sind bestimmte Ausführungsbeispiele Universalnetzsimulatoren, die zum Handhaben irgendeines Verkehrstyps und Simulieren irgendwelcher erwünschter Netzbedingungen in der Lage sind.
  • Bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung, werden Pakete, die durch den Netzsimulator empfangen werden, in eine von einer Mehrzahl unterschiedlicher Klassifikationen (oder „Ströme") klassifiziert und unterschiedliche Paketunterbrechungscharakteristika (z.B. Menge von Paketverzögerungen, Häufigkeit eines Paketverlusts, etc.) können für jede der unterschiedlichen Klassifikationen definiert werden. Beispielsweise können unterschiedliche Unterbrechungscharakteristika für einen UDP-Typ von Paketen im Vergleich zu einem TCP-Typ von Paketen definiert werden. Router und eine andere Ausrüstung handhaben häufig unterschiedliche Kommunikationsprotokolle unterschiedlich und somit können unterschiedliche Unterbrechungscharakteristika definiert werden, um eine derartige unterschiedliche Handhabung von verschiedenen Kommunikationstypen über ein Netz zu simulieren. Als ein anderes Beispiel kann der Absender/Empfänger des Pakets bei einigen Implementierungen die Klassifikation desselben beeinflussen. Beispielsweise können Knoten (die Knoten von unterschiedlichen Kunden darstellen) unterschiedliche Pegel eines Dienstes (z.B. goldene, silberne oder bronzene Pegel eines Dienstes) abhängig von den Dienstpegelvereinbarungen (SLAs = service level agreements) zugewiesen sein. Derartige Vereinbarungen sind manchmal in echten Netzen zu finden, bei denen unterschiedliche Unterbrechungscharakteristika für die Pakete von Knoten angetroffen werden können, die unterschiedlichen Dienstspegeln zugewiesen sind (z.B. Goldpegelknoten empfangen eventuell einen qualitativ höheren Dienst als Silber- oder Bronzepegelknoten). Folglich ermöglichen bestimmte Ausführungsbeispiele der vorliegenden Erfindung eine Simulation dieser Situation durch ein Klassifizieren empfange ner Pakete und ein Zuweisen unterschiedlicher Paketunterbrechungscharakteristika zu jeder Klassifikation.
  • Bei bestimmten Ausführungsbeispielen führt die Netzsimulatorvorrichtung selbst eine sehr einfache Funktion einer Paketverzögerung, eines Verlusts und einer Neuordnung durch, aber dieselbe ist durch Netzcharakteristika (oder „Unterbrechungscharakteristika") getrieben, die von einer leistungsstärkeren Vorrichtung geladen sein können, wie beispielsweise einer Steuerstation, wie beispielsweise einem PC/Laptop, einem Arbeitsplatzrechner oder einem Server. Bei bestimmten Ausführungsbeispielen lädt eine Steuerstation statistische Verteilungen von Paketverzögerungen, Verlusttabellen oder aufgenommen bzw. erfassten Verteilungscharakteristika echter Netze herunter. Wiederum können unterschiedliche statistische Verteilungen für unterschiedliche Paketklassifikationen heruntergeladen werden. Diese aufgenommenen Verteilungscharakteristika von Paketverzögerungen und einem Verlust können entweder von einem „lebendigen" Netz stammen oder können von vorhergehend aufgezeichneten/aufgenommenen Daten kommen.
  • Bestimmte Ausführungsbeispiele der vorliegenden Erfindung sehen einen kleinen Netzsimulator vor, der in eine Vernetzungsausrüstung oder sogar direkt in kommunizierende Vorrichtungen eingesteckt werden kann und eine Netzverkehrslast simulieren kann, die verschiedene Paketverzögerungen, einen Paketverlust oder eine Paketneuordnung bewirkt. Wie es hierin weiter erörtert ist, sind Implementierungen offenbart, die einen Netzsimulator ermöglichen, der eine kleine Standfläche aufweist und doch eine sehr flexible Universalvorrichtung mit der Flexibilität eines großen Netzsimulators zu einem Bruchteil der Kosten liefert. Beispielsweise ist bei bestimmten Ausführungsbeispielen der Netzsimulator ausreichend klein, so dass derselbe in kleine Vorrichtungen passen kann, wie beispielsweise GBICs (Giga-Bit Interface Converters = Gigabit-Schnittstellenwandler) oder SFPs (Small Form Factor Pluggables = Steckbare mit kleinem Formfaktor), die direkt in die Benutzernetzausrüstung oder sogar den Benutzer-PC, Arbeitsplatzrechner oder Server eingesteckt werden. Ein derartiger Netzsimulator kann als eine ASIC- oder eine FPGA-Vorrichtung implementiert sein und kann bei bestimmten Ausführungsbeispielen als ein Gigabit-Geschwindigkeit-Netzsimulator dienen. Während verschiedene exemplarische Anwendungen eines derartigen Netzsimulators hierin weiter als auf Metro-Ethernet-Netze abzielend beschrieben sind, sind dieselben anwendungsmäßig nicht begrenzt und könnten somit gleichermaßen zum Simulieren beinahe irgendeines Netzes angewendet werden. Die exemplarischen Ausführungsbeispiele, die hierin ferner beschrieben sind, können beispielsweise als ein Simulator irgendeiner Paketdatenkommunikationsverbindung verwendet werden, der Paketverzögerungen, Verluste und eine Paketneuordnung erzeugt, z.B. VPN-Tunnel (VPN = Virtual Private Network).
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist ein Verfahren ein Empfangen von Paketen, die von einem Quellknoten zu einem Bestimmungsknoten gesendet werden, an einem eingereihten Netzsimulator auf. Der eingereihte Netzsimulator klassifiziert die empfangenen Pakete in jeweilige von einer Mehrzahl unterschiedlicher Klassifikationen und der eingereihte Netzsimulator unterbricht die empfangenen Pakete basierend auf entsprechend Unterbrechungscharakteristika, die für die jeweiligen Klassifikationen derselben definiert sind.
  • Das Vorhergehende hat die Merkmale und technischen Vorteile der Erfindung ziemlich breit umrissen, damit die detaillierte Beschreibung der Erfindung, die folgt, besser verstanden werden kann. Zusätzliche Merkmale und Vorteile der Erfindung werden hierin im Folgenden beschrieben, die den Gegenstand der Ansprüche der Erfindung bilden. Es ist ersichtlich, dass die Konzeption und das spezifische offenbarte Ausführungsbeispiel ohne weiteres als eine Basis zum Modifizieren oder Entwerfen anderer Strukturen zum Ausfüh ren der gleichen Zwecke der vorliegenden Erfindung verwendet werden können. Es ist ferner klar, dass derartige äquivalente Konstruktionen nicht von der Erfindung abweichen, wie es in den beigefügten Ansprüchen dargelegt ist. Die neuartigen Merkmale, die für charakteristisch für die Erfindung gehalten werden, sowohl hinsichtlich der Organisation als auch des Betriebsverfahrens derselben, werden zusammen mit weiteren Aufgaben und Vorteilen aus der folgenden Beschreibung in Verbindung mit den zugehörigen Figuren besser verständlich. Es ist jedoch ausdrücklich zu erkennen, dass jede der Figuren lediglich zum Zweck einer Darstellung und Beschreibung vorgesehen ist, und nicht als eine Definition der Begrenzungen der vorliegenden Erfindung beabsichtigt ist.
  • Für ein vollständigeres Verständnis der vorliegenden Erfindung wird nun Bezug auf die folgenden Beschreibungen in Verbindung mit der zugehörigen Zeichnung genommen.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein exemplarisches System, das einen Netzsimulator gemäß bestimmten Ausführungsbeispielen der vorliegenden Erfindung verwendet;
  • 2 ein exemplarisches Ausführungsbeispiel, bei dem der Netzsimulator von 1 als ein Teil eines Gigabit-Schnittstellenwandlers (GBIC) implementiert ist;
  • 3 ein exemplarisches Ausführungsbeispiel des eingereihten Netzsimulators von 2;
  • 4 eine exemplarische Implementierung eines Paketstromverlust- & -verzögerungsmoduls, wie bei spielsweise Modul 3021 von 3, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 5 eine exemplarische Implementierung der Paketstromsteuereinheit von 4 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 eine exemplarische Implementierung eines Paketverlust- & -verzögerungsmoduls, wie beispielsweise Modul 4021 von 4, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 7 ein Betriebsflussdiagramm für bestimmte Ausführungsbeispiele der vorliegenden Erfindung;
  • 8 ein detaillierteres Betriebsflussdiagramm für das exemplarische Ausführungsbeispiel eines eingereihten Netzsimulators, der oben in 36 beschrieben ist; und
  • 9 ein Betriebsflussdiagramm für ein Ausführungsbeispiel der vorliegenden Erfindung.
  • 1 zeigt ein exemplarisches System 10, das einen Netzsimulator 101 gemäß bestimmten Ausführungsbeispielen der vorliegenden Erfindung einsetzt. Bei dem System 10 kommunizieren Knoten 11 und 12 miteinander. Eine derartige Kommunikation durchläuft den Netzsimulator 101, der den Verkehr unterbrechen kann, um Unterbrechungen zu simulieren, die angetroffen werden können, falls ein derartiger Verkehr über ein echtes Netz fließen würde. Folglich ist der Netzsimulator 101 ein eingereihter (in-line) Netzsimulator, durch den die tatsächliche Kommunikation zwischen den Knoten 11 und 12 fließt, und der Netzsimulator 101 unterbricht die Kommunikation zwischen den Knoten 11 und 12 (z.B. durch ein Fallenlassen von Paketen, ein Verzögern von Paketen, ein Neuordnen von Paketen, etc.), um eine derartige Kommunikation zu simulieren, die sich über ein tatsächliches Netz bewegt, das eine bestimmte Überlastung, etc. aufweist. Die Knoten 11 und 11 können Vorrichtungen, Anwendungen, Prozesse, Netze oder irgendwelche anderen Objekte sein, die eventuell über ein Netz kommunizieren. Während ferner zwei Knoten bei dem Beispiel von 1 für eine einfache Darstellung gezeigt sind, sind Ausführungsbeispiele der vorliegenden Erfindung nicht so begrenzt. Anstelle dessen kann irgendeine Anzahl von Knoten kommunikativ miteinander gekoppelt sein, derart, dass dieselben miteinander kommunizieren können, wobei eine derartige Kommunikation durch den Netzsimulator 101 fließt. Durch ein Simulieren der Unterbrechungen, die durch den Netzsimulator 101 auferlegt sind, können beispielsweise die Wirkungen derartiger Unterbrechungen auf das Verhalten der Knoten 11 und/oder 12 analysiert werden. Dadurch, dass man die Unterbrechungen diesen entsprechen lässt, die häufig bei einer tatsächlichen Netzumgebung angetroffen/erwartet werden, in der die Knoten eingesetzt werden sollen, kann somit die Leistungsfähigkeit der Knoten in einer derartigen Umgebung durch eine Simulation analysiert werden. Somit können beispielsweise Unterbrechungscharakteristika (wie es hierin weiter beschreiben ist), die durch den Netzsimulator 101 verwendet werden, Charakteristika entsprechen, die für eine Netzumgebung bekannt sind, in der die Knoten eingesetzt werden sollen. Beispielsweise können Informationen hinsichtlich Veränderungen bei einer Überlastung, die für verschiedene Tageszeiten, etc. an dem Netz angetroffen wird, für die Netzumgebung gesammelt werden, in der die Knoten eingesetzt werden sollen, und derartige Informationen können zum Erzeugen der Unterbrechungscharakteristika verwendet werden, um dieselben bei einer Simulation zu verwenden.
  • 2 zeigt ein exemplarisches Ausführungsbeispiel, bei dem der Netzsimulator 101 von 1 als ein Netzsimulator 101A implementiert ist, der innerhalb eines GBIC (eines Gigabit-Schnittstellenwandlers, der von elektrischen Signalen zu optischen umwandelt und umgekehrt) 24 enthalten ist, der in eine Netzumgebung 21 eingesteckt ist. Bei diesem Bei spiel umfasst somit ein System 10A Knoten 11 und 12, die über eine Netzausrüstung 21 und 22, die beispielsweise Router und/oder Schalter sein kann, kommunikativ gekoppelt sind, und der Netzsimulator 101A ist als eine Komponente des GBIC 24 eingesetzt, die mit zumindest einer von derartigen Netzausrüstungsvorrichtungen gekoppelt ist, in diesem Fall der Vorrichtung 21. Bei bestimmten Ausführungsbeispielen ist ferner eine Steuerstation 23 enthalten, die Konfigurationsparameter zu dem Netzsimulator 101A laden kann, wie es weiter unten beschrieben ist.
  • Bei der exemplarischen Implementierung von 2 enthält der GBIC 24 eine kleine ASIC- oder FPGA-basierte Maschine zum Implementieren des Netzsimulators 101A, der eine Netzverkehrslastsimulation zum Verzögern durchlaufender Pakete oder sogar Fallenlassen derselben gemäß einer Verteilungscharakteristik durchführt, die von der Steuerstation 23 heruntergeladen ist. Diese könnte eine einmalige Herunterladung für die Dauer des Experiments sein oder die Steuerstation 23 könnte die Netzcharakteristika in dem Netzsimulator 101A (z.B. basierend auf einer echten oder experimentellen Netzspeisung zu einer derartigen Steuerstation 23) kontinuierlich aktualisieren. Exemplarische Implementierungen des Netzsimulators 101A, der innerhalb des GBIC 24 eingesetzt sein kann, sind weiter unten beschrieben. Während der Netzsimulator 101A bei diesem Beispiel als ein Teil eines GBIC 24 implementiert ist, sind Ausführungsbeispiele der vorliegenden Erfindung in dieser Hinsicht natürlich nicht begrenzt. Zum Beispiel können die Ausführungsbeispiele eines hierin beschriebenen Netzsimulators als eine getrennte Vorrichtung implementiert sein (z.B. die eine einsteckbare Komponente sein kann, die mit einer gewissen Netzausrüstung gekoppelt sein kann, wie beispielsweise der Ausrüstung 21 und/oder einem GBIC 24, etc.), oder kann als ein integrierter Teil einer anderen Vorrichtung implementiert sein, wie beispielsweise der Ausrüstung 21 und/oder des GBIC 24, etc. Wie Durchschnittsfachleute auf dem Gebiet erkennen, können die exemplarischen Hardwareimplementierun gen eines Netzsimulators, die weiter unten beschrieben sind, an irgendeiner geeigneten Plattform/Vorrichtung eingesetzt werden.
  • Bei dem in 2 dargestellten Beispiel kommunizieren die Knoten 11 und 12 über ein tatsächliches Netz (über eine Netzausrüstung 21 und 22) und somit wird der Netzsimulator 101 verwendet, um ein größeres Netz und/oder unterschiedliche Netzbedingungen als diese zu simulieren, die tatsächlich bei dem echten Netz angetroffen werden, über das die Knoten kommunizieren. Bei bestimmten Ausführungsbeispielen können die Knoten 11 und 12 einfach direkt miteinander über den Netzsimulator kommunizieren. Beispielsweise können zwei Computer (z.B. PCs) in einem Büro oder Labor angeordnet und miteinander über die Netzsimulatorvorrichtung verbunden sein und der Netzsimulator simuliert bestimmte Netzbedingungen (z.B. Überlastung, etc.). Die Netzsimulatorvorrichtung kann beispielsweise implementiert sein, um direkt eine Verbindung mit einem der Computer herzustellen, der mit dem Kommunikationsfluss eingereiht ist (z.B. als ein Teil der Netzschnittstellenkarte des Computers oder gekoppelt mit dem Kommunikationstor). Falls ein PC eine Fähigkeit aufweist, einen steckbaren eingereihten Netzsimulator aufzunehmen, kann ein derartiger steckbarer eingereihter Netzsimulator mit dem PC verbunden werden und verwendet werden, um Paketabfälle, Verzögerungen, etc. zu simulieren, und wie dies Anwendungen an den kommunizierenden PCs beeinflusst, kann analysiert werden (z.B. um zu bestimmen, wie die Anwendungen auf Paketverluste, Verzögerungen, etc. reagieren). Falls ein PC keinen Schlitz zum Aufnehmen des einsteckbaren eingereihten Netzsimulators aufweist, kann ein Schalter mit einem SFP- oder GBIC-Schlitz eingesetzt werden und kann ein SFP/GBIC, der den Simulator umfasst, wie beispielsweise den hierin beschriebenen Simulator 101A, verwendet werden. Somit kann ein PC mit dem Schaltertor verbunden sein und der andere PC kann mit dem Schalter über den SFP/GBIC verbunden sein, der in den Schalter eingesteckt ist. Somit kann mit einem kleinen Netzsimulator ein Anwendungsverhalten getestet werden, als ob dieselbe in einem großen Netz läuft.
  • Wie es weiter unten beschrieben ist, werden bei bestimmten Ausführungsbeispielen die Unterbrechungscharakteristika eines Netzes von der Steuerstation 23 zu dem Netzsimulator 101A als Verteilungstabellen heruntergeladen. Bei bestimmten Ausführungsbeispielen werden beispielsweise zwei Verteilungstabellen zu dem Netzsimulator heruntergeladen: 1) eine Paketverzögerungsverteilungstabelle und 2) eine Paketverlustverteilungstabelle. Wie es weiter unten beschrieben ist, können diese Verteilungstabellen eine Verteilung von Unterbrechungscharakteristika (z.B. eine Verteilung von Verzögerungszeiten und Paketverlusten) umfassen und ein Zufallszahlengenerator kann verwendet werden, um eine Unterbrechungscharakteristik aus der Tabelle auszuwählen, um zu einer gegebenen Zeit angewendet zu werden.
  • Bei bestimmten Ausführungsbeispielen kann der GBIC 24 seinen eigenen Zufallszahlengenerator verwenden, um Paketverzögerungsattribute oder Paketverluste aus der Verteilungstabelle auszuwählen. Die Verteilungstabelle könnte auch in einer FIFO-Reihenfolge gelesen und verwendet werden. Dies bedeutet, dass bei einem derartigen Modus die Steuerstation 23 die Verteilungstabellen kontinuierlich aktualisieren sollte. Es könnte ebenfalls eine Kombination beider Funktionalitäten geben, d.h. einer zufälligen Auswahl von Einträgen in den Verteilungstabellen mit kontinuierlichen Aktualisierungen dieser Tabellen. Natürlich könnte mehr als ein Netzsimulator 101A in dem Netz aktiv sein und durch die Steuerstation 23 gesteuert sein.
  • Bei einem Ausführungsbeispiel werden zwei Typen von Verteilungstabellen durch den Netzsimulator 101A verwendet. Eine Verteilungstabelle (die als eine „Paketverzögerungstabelle" bezeichnet werden kann) enthält Werte von Paketverzögerungen und die andere Tabelle (die als eine „Paketverlusttabelle" bezeichnet werden kann) enthält Paketzählwerte, nach denen ein Paket fallengelassen werden sollte. Eine Paketverzögerungstabelle kann beispielsweise eine Sequenz von Einträgen aufweisen: 20000, 20000, 20000, 20000, 40000, 40000, 100000. Diese Werte können beispielweise Paketverzögerungen in Mikrosekunden angeben. Falls diese Verteilungstabelle über eine einmalige Herunterladung zu dem Netzsimulator 101A geliefert wird, kann dieselbe einer beschränkten exponentiellen Verteilung gleichen, die Poisson-ähnliche Paketverteilungen an dem Empfangsende erzeugt, wenn die Pakete abgetastet werden. Die Verteilung ist jedoch nicht darauf begrenzt, eine Poisson-Beschaffenheit aufzuweisen, sondern könnte irgendeine andere erwünschte Verteilung sein, wie beispielsweise eine Leistungsverteilung, um beispielsweise langfristige Paketverzögerungen zu simulieren. Bei einem Ausführungsbeispiel wählt ein Zufallszahlengenerator Werte aus dieser Tabelle während der Simulation in zufälliger Reihenfolge aus. Natürlich können diese Tabellen zumindest mehrere hundert Einträge enthalten, um die Verteilungsfunktionen „glatter" zu machen.
  • In dem Fall der Paketverlusttabellen können die Werte angeben, wie viele Pakete übertragen werden müssen, bevor eines fallengelassen werden kann. In diesem Fall können die Werte erneut zufällig aus der Verteilungstabelle ausgewählt sein. In dem Fall, in dem die Steuerstation 23 kontinuierlich Verteilungsaktualisierungen herunterlädt, kann der Netzsimulator die Werte in einer FIFO-Reihenfolge verwenden. In einem Fall, in dem die Aktualisierungspakete verloren sind und der Netzsimulator zu dem Ende des FIFO gelangt, könnte die letzte Aktualisierung erneut gelesen werden oder die Einträge derselben könnten in einer zufälligen Reihenfolge gelesen werden.
  • Bei bestimmten Ausführungsbeispielen, wie beispielsweise dem exemplarischen Ausführungsbeispiel von 2, bei dem die Netzsimulatorfunktionalität in dem GBIC 24 implementiert ist, ist die Logik, die zum Implementieren eines derartigen Netzsimulators eingesetzt ist, vorzugsweise klein.
  • Zum Beispiel können bestimmte Ausführungsbeispiele, die hierin vorgesehen sind, auf einem Siliziumchip implementiert sein, der in einem SFP/GBIC platziert sein kann, ohne die existierenden physischen Abmessungen dieser Vorrichtungen zu ändern. Der SFP/GBIC bei einem Ausführungsbeispiel des eingereihten Netzsimulators 101A ist von einem normalen SFP/GBIC ununterscheidbar, der keinen derartigen Netzsimulator umfasst. Allgemein ist der SFP typischerweise 1,27 cm × 1,27 cm × 5,08 cm (½'' × ½'' × 2'') groß und der GBIC ungefähr 2,54 cm × 1,27 cm × 5,08 cm (1'' × ½'' × 2''). Bei bestimmten Ausführungsbeispielen kann der eingebaute Chip näherungsweise ein Halbleiterstück von einigen Quadratmillimetern sein und derselbe kann alle Netzmessfähigkeiten außer einer Netzsimulationsfunktion liefern. Der Netzsimulator kann als ein Bruchteil eines derartigen Chips implementiert sein. Bei bestimmten Ausführungsbeispielen kann der Netzsimulator allein näherungsweise 50–200 tausend Logikgatter einsetzen, während Mikroprozessoren häufig mehrere Millionen Gatter aufweisen. Ferner ist in den Zielumgebungen bestimmter Ausführungsbeispiele sehr wenig Leistung verfügbar, z.B. näherungsweise 300mW. Folglich ist bei bestimmten Ausführungsbeispielen der eingereihte Netzsimulator 101A implementiert, um nur wenige mW zu nutzen. Bestimmte Ausführungsbeispiele des eingereihten Netzsimulators 101A können sehr kostengünstig hergestellt werden und können innerhalb eines SFP/GBIC implementiert sein, ohne die Kosten der Gesamtvorrichtung wesentlich zu erhöhen. Herkömmliche leistungsstarke Netzsimulatoren dagegen sind viel teurer und kosten allgemein von mehreren Tausend Dollar bis mehreren Hunderttausend Dollar. Derartige herkömmliche Netzsimulatoren sind typischerweise viel größer (z.B. erfordern den Raum von näherungsweise zwei PCs) und erfordern Hunderte Watt Leistung.
  • Auf Grund der begrenzten Größe desselben kann der Netzsimulator 101A somit eventuell nicht die ganze Funktionalität liefern, die ein großer Netzsimulator liefern kann. Große Datennetze sind wie große Speicherungsvorrichtungen. Daten, die sich durch dieselben bewegen, sind in denselben tatsächlich eine bestimmte Zeitperiode lang gehalten. Somit kann man sich ein gegebenes Netz als eine große Datenspeicherungsvorrichtung mit beinahe unbegrenzter Kapazität vorstellen. Dies in einer kleinen Vorrichtung zu simulieren, kann Schwierigkeiten bereiten. Beispielsweise sind bestimmten Implementierungen eines kleinen Netzsimulators eventuell nicht in der Lage, einen Datenverkehr eine lange Zeit zu verzögern, falls die Daten in hohen (z.B. Gigabit-) Volumen erzeugt werden, da dies eine große Speicherungskapazität innerhalb der Vorrichtung selbst erfordern würde. Folglich ist die Menge an Verzögerung, die durch den Netzsimulator zu dem Netz hinzugefügt werden kann, proportional zu der Menge an Speicher an der Netzsimulatorvorrichtung, der Geschwindigkeit des Netzes und der Menge an Paketen, die die Netzsimulatorvorrichtung unterbrechen will.
  • Eine kleine Netzsimulatorvorrichtung jedoch kann mit einem Verkehr mit geringer Bandbreite (beispielsweise in Kilobit/s gemessen), der ein Netz durchläuft und Verzögerungen unterliegt, sehr gut umgehen. Ein Sprache-über-IP-Datenverkehr (VoIP-Datenverkehr) zwischen zwei Teilnehmern liegt beispielsweise in dem Bereich von 80 kbits/s (200 Byte-Pakete, die alle 20 ms gesendet werden). Eine kleine Netzsimulatorvorrichtung, wie dieselbe beispielsweise bei dem Beispiel von 2 in dem GBIC 24 implementiert ist, kann ein Einbringen von Verzögerungen von sogar bis zu Sekunden für ein Netz mit hohem (z.B. Gigabit) Volumen ermöglichen. Es ist zu beachten, dass der Paketklassifizierer, der bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung eingesetzt wird, konfiguriert sein kann, um lediglich einen sehr spezifischen Typ eines Verkehrs auszuwählen, der Verzögerungen und einem Paketverlust unterzogen werden soll, während ein anderer Verkehr ungestört gelassen wird. Dies ist eine erwünschte Charakteristik in Situationen, in denen beispielsweise der Netzsimulator verwendet wird, um ein Problem an einem lebendigen Netz durch ein Beeinflussen zu diagnostizieren, wie ein spezifischer Typ eines Verkehrs (z.B. VoIP-Verkehr) Anwendungen (z.B. eine Qualität von VoIP-Konversationen) beeinflusst. Eine kleine Netzsimulatorvorrichtung, wie beispielsweise die exemplarische Implementierung des Netzsimulators 101A, der hierin ferner als in dem GBIC 24 implementiert beschrieben ist, kann einen Speicher von bis zu näherungsweise Hunderten Kbytes aufweisen. Bei diesem Beispiel könnte die Netzsimulatorvorrichtung innerhalb einer Sekunde bis zu 10 Kbyte VoIP-Daten absorbieren (eine Sekunde verzögern), was voll und ganz innerhalb der Speicherkapazität einer derartigen exemplarischen Vorrichtung liegt. Eine derartige exemplarische Vorrichtung könnte ferner ohne weiteres zum Testen interaktiver Web-Anwendungen verwendet werden, bei denen der Verkehr ziemlich leicht ist. Wenn dieselben größenmäßig beschränkt sind, gibt es somit einen Kompromiss zwischen dem, was der Netzsimulator basierend auf der verfügbaren Speicherkapazität machen kann, und einer Verkehrsgeschwindigkeit. Wie es weiter hierin beschrieben ist, zielen bestimmte Ausführungsbeispiele der vorliegenden Erfindung auf kleine Vorrichtung mit begrenzter Speicherkapazität und liefern eine Lösung für ein Simulieren von Netzen, bei denen die Bandbreitenerfordernisse für die getesteten Anwendungen nicht sehr fordernd sind. Natürlich können die hierin dargelegten Konzepte ohne weiteres für Netze mit höherer Bandbreite erweitert werden, falls eine geeignete Menge an Speicher verfügbar ist (oder eine geeignete Größe zum Hinzufügen eines ausreichenden Speichers verfügbar ist).
  • Bei Betrieb des exemplarischen Ausführungsbeispiels von 2 sendet die Steuerstation 23 eine Verteilungstabelle zu dem Netzsimulator 101A, der in dem GBIC 24 implementiert ist. Anfänglich kann der Netzsimulator 101A eine gewisse vorgegebene Verteilungstabelle eingebaut haben, die entweder ein Teil der Pufferinitialisierung sein könnte oder in einen EEPROM gespeichert sein könnte, der ein Teil der Vorrichtung ist. Die folgende Beschreibung konzentriert sich primär auf exemplarische Implementierungen für die Interna des Netzsimulators 101A und nicht darauf, wie die Verteilungstabellen berechnet, aufgezeichnet oder anderweitig erhalten werden. Irgendwelche geeigneten Techniken, die nun bekannt sind oder später entwickelt werden, zum Berechnen, Aufzeichnen oder anderweitigen Erhalten derartiger Verteilungstabellen können für eine gegebene Implementierung des Netzsimulators gemäß Ausführungsbeispielen der vorliegenden Erfindung eingesetzt werden.
  • Bei diesem exemplarischen Ausführungsbeispiel ist der Netzsimulator 101A zum Empfangen von Konfigurationspaketen in der Lage, die Verteilungstabellen sowie andere Attribute umfassen, die unterschiedliche Funktionen innerhalb des Simulators auslösen. Beispielsweise kann der Netzsimulator 101A sich abhängig von dem Typ oder der Menge von eingehenden Paketen unterschiedlich verhalten. Ein Überschreiten bestimmter Verkehrsvolumenschwellen (Anzahl von Bits/Bytes oder Paketen) kann beispielsweise die Verwendung unterschiedlicher Verzögerungs-/Verlustverteilungen auslösen und derartige Volumenschwellen können benutzerkonfigurierbar sein (z.B. über die Steuerstation 23 konfigurierbar).
  • 3 zeigt ein exemplarisches Ausführungsbeispiel des eingereihten Netzsimulators 101A von 2, der als ein Simulator 101A1 gezeigt ist. Dieser exemplarische eingereihte Netzsimulator 101A1 umfasst einen Paketklassifizierer 301, der wirksam ist, um eingehende Pakete zum empfangen und jedes Paket in einen geeigneten von M Paketströmen 3021 , ... 302M zu klassifizieren. Der Paketklassifizierer 301 empfängt eingehende Pakete, die von einem Quellknoten (z.B. dem Knoten 11 von 2) zu einem Bestimmungsknoten (z.B. dem Knoten 12 von 2) kommuniziert bzw. übermittelt werden. Unterschiedliche Paketunterbrechungscharakteristika können für jeden der M Paketströme definiert sein, wie es hierin weiter beschrieben ist. Beispielsweise können unterschiedliche Paketverzögerungs- und Paketverlustcharakteristika für jeden der M Paketströme definiert sein. Folglich können unterschiedliche Typen von Paketen, die durch den eingereihten Netzsimulator 101A1 empfangen werden, in unterschiedlichen Weisen beeinflusst (oder „unterbrochen") werden.
  • Der Paketklassifizierer 301 kann ferner eine Paketklassifikation basierend auf dem aktuellen Zustand eines spezifischen Verkehrsflusses einsetzen. Bei bestimmten Ausführungsbeispielen kann der Paketklassifizierer 301 einen spezifischen Fluss gemäß Zustandsinformationen klassifizieren, wie beispielsweise einem Volumen (Paket/Bytes) eines gegebenen Flusses zu irgendeiner gegebenen Zeit oder einer Burst-Rate bzw. Stoßrate eines Verkehrsflusses innerhalb der gegebenen Zeit. Gemäß einigen Schwellenwerten kann der Fluss in Ströme geteilt werden. Filter des Paketklassifizierers 301 können einen spezifischen Verkehrsfluss spezifizieren, der später einer weiteren Klassifikationen basierend auf den oben erwähnten Parametern wie einer Volumenrate oder Burst-Rate innerhalb des Klassifizierers 301 unterliegt. Der Paketklassifizierer 301 hält in diesem Fall Zähler, die rückgesetzt werden, sobald ein spezifiziertes Intervall abläuft. Beispielsweise kann der Paketklassifizierer 301 eine Volumenrate oder Burst-Rate einmal pro Sekunde messen. Falls es kein betroffenes Paket gibt, könnte natürlich der gesamte Verkehr einer derartigen Klassifikationen unterliegen.
  • Somit umfasst der Netzsimulator 101A1 den Paketklassifizierer 301, der in der Form von Paketfiltern sein kann, die angeben, welcher Typ eines Pakets zu welchem Typ eines Filters gehört. Mit anderen Worten kann der Netzsimulator 101A1 mehrere Paketfilter (z.B. einen Satz von Paketfiltern pro Strom) aufweisen, die unterschiedliche Paketströme 3021 , ... 302M mit unterschiedlichen Verhaltensweisen erzeugen. Paketströme unterliegen einem Paketverlust und Paketverzögerungen, die für unterschiedliche Ströme unterschiedliche Verteilungen aufweisen können. Der Netzsimulator 101A1 kann jedoch selbst hinsichtlich dieser Verteilungen agnostisch sein. Es können Verteilungstabellen vorgese hen sein, die durch die Steuerstation 23 (von 2) „geformt" sind, und der Netzsimulator verwendet dieselben einfach.
  • Folglich werden bei diesem exemplarischen Ausführungsbeispiel unterschiedliche Pakettypen in getrennte Paketströme geteilt, auf die unterschiedliche Paketverzögerungs- und Paketverlustcharakteristika angewendet werden. Pakete durchlaufen den Netzsimulator 101A1 , wenn dieselben von einer Seite des Benutzernetzes/-systems zu einer anderen gehen (z.B. wenn dieselben von dem Knoten 11 zu dem Knoten 12 in 1 und 2 gesendet werden). Der eingereihte Netzsimulator 101A1 emuliert das Verhalten eines echten Netzes durch ein Einbringen einer Paketverzögerung, eines Verlusts und einer Neuordnung. Eine Neuordnung ist eine Funktion dessen, dass einige Pakete mehr als andere verzögert werden. Diese variable Verzögerung kann auf einer pro-Strom-Basis oder über alle Pakete hinzugefügt werden, wie es weiter unten beschrieben ist.
  • Bei einem Ausführungsbeispiel teilt der Paketklassifizierer 301 eingehende Pakete in Ströme 3021 , ... 302M abhängig von Paketfiltern, die durch einen derartigen Paketklassifizierer 301 eingesetzt werden. Bei bestimmten Ausführungsbeispielen können die Paketfilter benutzerkonfigurierbar sein und können von Zeit zu Zeit über die Steuerstation 23 aktualisiert werden. Beispielsweise kann ein Verkehr gemäß einem Transporttyp (z.B. UDP gegenüber TCP), durch die Größe von Paketen, etc. geteilt werden, können Informationen hinsichtlich eines Transporttyps beispielsweise in dem 8-Bit-Feld des IP-Paket-Kopfblocks gefunden werden, das den nächsten Paketkopfblock identifiziert, d.h. den Typ eines Transportprotokolls (Kopfblock). Ferner ist die Paketgröße ein anderes Feld in dem IP-Kopfblock. Unter Verwendung lediglich einer Paketgröße kann der Netzsimulator implementiert sein, um einen eingehenden Strom in unterschiedliche ausgehende Ströme zu teilen, die unterschiedliche Charakteristika eines Verhaltens hinsichtlich eines Paketverlusts und einer Verzögerung aufweisen, während sich dieselben über das simulierte Netz bewegen. Falls beispielsweise die Pakete grob 200 Byte betragen (z.B. typische Größe von VoIP-Paketen), dann können dieselben eine höhere Priorität (weniger Abfälle, weniger Verzögerungen) als große Pakete erhalten. Falls ein Dateitransfer angetroffen wird, könnte diese als ein anderes Beispiel eine niedrigere Priorität aufbieten, da ein Verzögern desselben nicht zuviel Schaden anrichten wird. Ein Verzögern von VoIP-Paketen über 150 ms jedoch bedeutet, dass derartige Pakete und, falls es zu viele fallengelassene Pakete gibt, die Konversation unannehmbar oder zumindest zu „abgehackt" wird.
  • Als ein Beispiel könnte ein UDP-Paketstrom mit Paketen kleiner Größe (die beispielsweise VoIP darstellen) durch den Paketklassifizierer 301 in eine erste Klasse klassifiziert und somit zu dem Paketstromverlust- & -verzögerungsmodul 1 (in 3 mit 3021 etikettiert) gerichtet werden. Dieses Modul 3021 kann geringe Verzögerungen und einen geringen Paketverlust einbringen. Das heißt eine entsprechende Verteilung für Paketverzögerungen und einen Paketverlust kann dem Modul 3021 für eine Verwendung bei einem Unterbrechen der Pakete zugeordnet sein, die zu demselben auf eine erste Weise gesendet werden. Ein Paketstromverlust- & -verzögerungsmodul M (in 3 mit 302M etikettiert) jedoch kann lange Verzögerungen und einen mäßigen Paketverlust aufweisen. Dies könnte beispielsweise einem FTP-Verkehr gewidmet sein. Das heißt eine entsprechende Verteilung für Paketverzögerungen und einen Paketverlust kann dem Modul 302M für eine Verwendung bei einem Unterbrechen der Pakete, die zu demselben gesendet werden, in einer zu der Unterbrechung, die durch das Modul 3021 geliefert wird, unterschiedlichen Weise zugeordnet sein. Natürlich ist die Tiefe derartiger Klassifikationen eventuell abhängig von der Komplexität/Größe der Netzsimulatorvorrichtung begrenzt. Der Einfachheit halber ist der Netzsimulator 101A1 eventuell zustandslos und deshalb nicht beispielsweise durch die Dauer des Verkehrsflusses getrieben. Mit anderen Worten verschlechtert derselbe die Pakete in dem Fluss mit der Zeit nicht, wenn dieser Fluss eine lange Zeit andauert. Derselbe kann jedoch implementiert sein, um zwischen beispielsweise HTTP- und FTP-Verkehr basierend auf dem Bestimmungsport bzw. Bestimmungstor zu unterscheiden.
  • Bei Metro-Ethernet-Netzen (kurz MENs), wie es beispielsweise durch das Metro-Ethernet-Forum definiert ist, kann der Paketklassifizierer 301 verwendet werden, um einen Verkehr von unterschiedlichen Kunden (unter Verwendung der VLAN-ID) und nach CoS (Class of Service = Dienstklasse, angegeben durch eine VLAN-Priorität) zu unterscheiden. In dieser Fähigkeit kann der Paketklassifizierer 301 als ein Ethernet-Rahmen-Klassifizierer bzw. Ethernet-Frame-Klassifizierer wirken, weil bei MENs der Verkehr lediglich an der Verbindungsschicht betrachtet wird, d. h. auf der Ethernet-Rahmen-Ebene. Wie es gut bekannt ist, steht „VLAN" für virtuelles LAN (ausführlicher virtuelles überbrücktes LAN) und „VLAN-ID" gibt ein spezifisches virtuelles lokales Netz an. Die VLAN-ID und die VLAN-Priorität sind ein Teil der VLAN-Kennung eines Kopfblocks eines markierten Ethernet-Rahmens. Somit können Paketfilter durch den Paketklassifizierer 301 zum Analysieren der Kopfblöcke empfangener Pakete und Klassifizieren derartiger Pakete basierend auf den jeweiligen VLAN-IDs und/oder eines gewissen anderen Zustands des Verkehrsflusses eingesetzt werden.
  • Als ein Beispiel kann ein ISP-Anbieter bestimmte Verkehrsflüsse mit hohen QoS- oder CoS-Parametern (QoS = Quality of Service; CoS = Class of Service) mit einem garantierten hohen Pegel einer Paketlieferung, d.h. geringen Verzögerungen und einem geringen Paketverlust, ermöglichen. Falls jedoch bestimmte Schwellen der Vereinbarung (SLA), die zwischen dem Kunden und dem Netzanbieter getroffen wurde, überschritten werden, erfahren Pakete eine Behandlung mit geringerer Qualität und werden eventuell keiner garantiert minimalen Verzögerung unterzogen oder können einen großen Paketverlust erleiden. Beispielsweise unterscheidet das Metro-Ethernet-Forum, das Metro-Ethernet-Netzdienste definiert, drei Typen einer Paketbehandlung. Paketströme, die sich innerhalb der vorgesehen eingehenden Rate (CIR = Committed Incoming Rate) und der vorgesehenen Burst-Rate (CBR = Committed Burst Rate) befinden, werden „grün" markiert und diese Pakete unterliegen einer SLA (Dienstpegelvereinbarung), die zwischen dem Kunden und dem Netzanbieter getroffen ist. Solange die Pakete des Kunden die CIR und CBR nicht überschreiten, empfangen dieselben eine bevorzugte Behandlung. Jeglicher Verkehr über diesem Pegel wird als „gelb" behandelt, und falls der Verkehr wirklich stark ist (hohes Volumen und/oder Burst), dann werden diese Pakete fallengelassen. Der Paketklassifizierer 301 kann eine derartige Verkehrskontrolle bei dem eingereihten Netzsimulator liefern. Der Paketklassifizierer 301 misst eine Volumenrate und/oder Burst-Rate in der Form von Zählern und vergleicht dieselben mit konfigurierten Schwellenwerten. Die Bestimmung, welcher Strom auszuwählen ist, wird durch den Paketklassifizierer 301 basierend darauf bestimmt, wann ein Zähler innerhalb einer gegebenen Periode (beispielsweise einer Sekunde) einen spezifischen (definierten) Schwellenwert überschreitet.
  • Nachdem Pakete die Paketstromverlust- & -verzögerungsmodule 3021 , ... 302M durchlaufen, konvergieren dieselben bei dem exemplarischen Ausführungsbeispiel von 3 erneut in einem einzigen Paketstrom über einen MUX 303. Der MUX 303 wählt Pakete in der Priorität der Paketstromverlust- & -verzögerungsmodule oder auf eine Round-Robin-Weise bzw. in der Art eines zyklischen Umlaufs aus, wenn mehr als ein Paket zur gleichen Zeit an dem MUX ankommt. Der resultierende Paketstrom von dem MUX 303 wird dann entlang dem Kommunikationsweg desselben von einem Quellknoten (z.B. dem Knoten 11 von 2) zu dem Bestimmungsknoten (z.B. dem Knoten 12 von 2) kommuniziert.
  • Bei bestimmten Implementierungen des eingereihten Netzsimulators wird der Paketklassifizierer 301 eventuell nicht in demselben verwendet (oder sogar implementiert) und derartige Implementierungen des eingereihten Netzsimulators weisen eventuell lediglich ein Paketstromverlust- & -verzögerungsmodul auf oder verwenden lediglich eines. Die exemplarische Implementierung von 3 jedoch ermöglicht eine Mehrzahl von Paketstromverlust- & -verzögerungsmodulen, die parallel über die exemplarische, hierin beschriebene Hardware verarbeitet werden können.
  • Eine exemplarische Implementierung eines Paketstromverlust- & -verzögerungsmoduls, wie beispielsweise das Modul 3021 von 3, ist in 4 gezeigt. Wie es bei der exemplarischen Implementierung von 4 gezeigt ist, kann das Modul 3021 den Paketstrom weiter in Paketunterströme (oder „Unterklassifikationen") 4021 , ..., 402N teilen. Zum Beispiel umfasst die exemplarische Implementierung des Moduls 3021 , die in 4 vorgesehen ist, eine Paketstromsteuereinheit 401, die die Pakete empfängt, die durch den Paketklassifizierer 301 (3) zu dem Modul 3021 gerichtet werden. Die Paketstromsteuereinheit 401 bestimmt, in welchen einer Mehrzahl N von unterschiedlichen Unterströmen ein empfangenes Paket klassifiziert werden soll. Bei einem Ausführungsbeispiel weist die Paketstromsteuereinheit Verteilungstabellen auf, die eine Auswahl des ausgehenden Stroms treiben. Beispielsweise kann eine Paketstromsteuerung spezifizieren, dass dieselbe zu dieser Zeit für diese Periode das Signal hoch setzt. Diese Paketstromsteuerung kann eine starke Überlastung angeben. Eine andere Paketstromsteuerung kann einer Zeit zugeordnet sein, wenn eine Überlastung gering ist, und so weiter. Die erzeugten Signale sind von eingehenden Paketen unabhängig. Weil das Ganze durch eine Zeit getrieben ist, kann die Steuerung eine Zeit wie beispielsweise 10:25 Uhr mit einer Dauer von 10 Sekunden auswählen. Das nächste Mal kann die Steuerung eine Zeit von beispielsweise 13:30 Uhr für 30 Sekunden auswählen. Zu der ausgewählten Zeit erzeugt dieselbe ein Signal, d. h. das Signal ist hoch und zu anderen Zeiten ist das Signal niedrig.
  • Also kann bei diesem Beispiel der Paketklassifizierer 301 (von 3) eingehende Pakete als Verkehrsflüsse von unterschiedlichen Benutzern (z.B. von unterschiedlichen VLANs) klassifizieren und der Paketstromklassifizierer kann sich mit einem Klassifizieren der Pakete als grün, gelb oder rot beschäftigen. Eingebrachte Ausführungsbeispiele könnten dort bei einer anderen Ebene an dem Paketklassifizierer 301 sein, die eine unterschiedliche CoS (Dienstklasse) betrachtet, die von einem VLAN-3-Bit-Prioritätsfeld abgeleitet ist. Ein Benutzer kann an mehreren VLANs teilnehmen, sowie auch jedes VLAN weiter in unteschiedliche CoS geteilt sein kann und jede CoS im Hinblick auf Grün, Gelb oder Rot definiert sein kann. Der Netzsimulator kann den Paketstromselektor verwenden, der einen gelben Verkehr bewirkt, beispielsweise dadurch, dass demselben ein schwerer Paketverlust und Verzögerungen gegeben werden. Ein gelber Verkehr weist keine Garantien durch ein SLA-Vereinbarung zwischen dem Kunden und dem Anbieter hinsichtlich einer maximalen Verzögerung oder einem maximalen Paketverlust auf, so wie bei einem grünen Verkehr.
  • Die Paketsteuereinheit 401 kann ferner ein Paket zu einem „Biteimer" zum Fallenlassen von Paketen über einen Weg 403 senden, d.h. dieselbe entfernt einfach Pakete aus dem Strom, falls bestimmte Schwellen überschritten werden. Jeder Paketunterstrom unterliegt, nachdem derselbe die Paketstromsteuereinheit 401 verlässt, einem Paketverlust und einer Verzögerung innerhalb des entsprechenden Paketstromverlust- & -verzögerungsmoduls 4021 , ..., 402N , zu dem derselbe gesendet wird. Die Anzahl N von Paketstromverlust- & -verzögerungsmodulen hängt davon ab, in wie viele Unterströme die Paketstromsteuereinheit den eingehenden Paketstrom für eine gegebene Klassifikation teilt (z.B. Metro-Ethernet-Pakete bei dem obigen Szenario). Unterschiedliche Anzahlen von Unterströmen können für unterschiedliche Klassifikationen (d.h. für unterschiedliche Module 302) definiert sein und in einigen Fällen weist ein gegebenes Modul 302 keine Mehrzahl von unterschiedlichen Unterstrommodulen 402 auf (z.B. falls der ganze Verkehr der gegebenen Klassifikation gemäß den gleichen Paketverzögerungs- und -verlustverteilungen unterbrochen werden soll). Schließlich konvergieren alle Unterströme über einen MUX 404 bei dem exemplarischen Ausführungsbeispiel von 4 in einen ausgehenden Paketstrom von dem Paketstromverlust- & -verzögerungsmodul 3021 . Der MUX 404 kann Pakete in der Priorität der Paketstromverlust- & -verzögerungsmodule 4021 , ..., 402N oder in einer Round-Robin-Weise auswählen, wenn mehr als ein Paket zur gleichen zeit an dem MUX ankommt, oder auf eine gewisse andere Weise.
  • Als ein Beispiel kann der Paketklassifizierer 301 von 3 definierte Paketfilter aufweisen, die einen IP-Verkehr von einem Nicht-IP-Verkehr durch ein Filtern an einem Ethernet-Typ trennen. Falls der Ethernet-Typ 0 × 800 in dem Ethernet-Kopfblock ist, dann bedeutet dies, dass das Paket ein IP-Paket ist. Irgendwelche anderen Pakete, wie ICMP, ARP, DHCP, etc. werden zu einem speziellen Strom gerichtet. Die IP-Pakete innerhalb des Paketklassifizierers 301 werden dann basierend auf einem Protokolltyp gefiltert, der in dem IP-Kopfblock gefunden wird. Falls der Protokolltyp mit einem Wert von 6 übereinstimmt, ist dasselbe ein TCP-Paket, und falls derselbe mit 17 übereinstimmt, ist dasselbe ein UDP-Paket. TCP-Pakete werden zu einem Paketstrom 3021 gerichtet und UDP-Pakete werden jedoch weiter untersucht, beispielsweise durch ein Betrachten der Paketgröße. Die Größe des UDP-Pakets wird aus dem IP-Paket-Kopfblock gefiltert, der die IP-Paket-Länge spezifiziert (z.B. kann die UDP-Paketgröße als gleich der IP-Paketgröße minus der IP-Kopfblock-Größe bestimmt sein). Der Paketklassifizierer 301 kann einen Filteraufbau aufweisen, derart, dass, falls eine IP-Paket-Größe 300 Bytes oder weniger beträgt, dasselbe zu einem Paketstromverlust- & -verzögerungsmodul 302K und andernfalls zu einem anderen Paketstromverlust- & -verzögerungsmodul (in 3 nicht gezeigt) weitergeleitet wird. Jeder der Paketströme wird durch ein Paketstromverlust- & -verzögerungsmodul (4) verarbeitet. Zuerst wird die Paketstromsteuerung 401 durch ein Anwenden spezifischer Strategien bestimmt, d. h. sendet ein Signal zu einem Selektor 504 bezüglich wann und wie lange ein Paketstrom einem Paketverlust und einer Verzögerung unterzogen wird. Dies ahmt die Überlastungen an dem Netz nach, die unterschiedliche Charakteristika aufweisen können. Es sei beispielsweise angenommen, dass um etwa 10 Uhr allein für eine Dauer von 10 Minuten der Verkehr einem starken Paketverlust unterliegt. Um etwa 11 Uhr werden ziemlich starke Verzögerungen bei einem mittleren Paketverlust beobachtet. Dies wird durch Module 501, 502 und 503 in 5 realisiert. Der Selektor 504 gibt an, zu welchen Paketstromverlust- & -verzögerungsmodul 402 das UDP-Paket zu irgendeiner gegebenen Zeit geht. Zusammenfassend gesagt erzeugt der Paketklassifizierer 301 basierend auf Paketfiltern Paketströme oder -flüsse. Diese Ströme unterliegen später einer spezifischen Verlust- und Verzögerungsverarbeitungsmaschine 402, die durch eine Zeit (Wann und Dauer) getrieben ist. Dies ist durch eine Paketstromsteuerung für Einen realisiert. Das Paketstromverlust- & -verzögerungsmodul 402 hält Pakete zurück und selbst wenn ein Paketstrom an dem Klassifizierer 301 in den eingereihten Simulator eintrat, werden folglich unterschiedliche Paketströme eventuell zu der gleichen Zeit an dem MUX 303 gemultiplext. Natürlich sind Ausführungsbeispiele der vorliegenden Erfindung in einer Anwendung nicht auf dieses darstellende Beispiel begrenzt.
  • Unter jetziger Bezugnahme auf 5 ist eine exemplarische Implementierung der Paketstromsteuereinheit 401 detaillierter gezeigt. Diese exemplarische Implementierung der Paketstromsteuereinheit 401 umfasst Steuermodule 5031 , ..., 503K , eine Selektoreinheit 504 und einen deMUX 505. Jedes der Steuermodule 5031 , ..., 503K hat einen zugeordneten jeweiligen Zufallszahlengenerator mit einer beliebigen Verteilung für Zeitcharakteristika (z.B. „Wann" und „Dauer"), wie es weiter unten erörtert ist. Das Steuermodul 5031 weist beispielsweise einen demselben zugeordneten Zufallszahlengenerator mit einer beliebigen Verteilung 5011 für eine Auftretenszeit (oder „Wann") und einen Zufallszahlengenerator mit einer beliebigen Verteilung 5021 für eine „Dauer" auf. Gleichermaßen weist das Steuermodul 503K einen demselben zugeordneten Zufallszahlengenerator mit einer beliebigen Verteilung 501K für eine Auftretenszeit (oder „Wann") und einen Zufallszahlengenerator mit einer beliebigen Verteilung 502K für eine „Dauer" auf. Die Steuermodule 5031 , ..., 503K steuern den Selektor 504 zum Auswählen, zu welchem der Paketstromverlust- & -verzögerungsmodule 4021 , ..., 402N (4) ein eingehendes Paket zu der Paketstromsteuereinheit 401 gesendet werden soll, über den deMUX 505.
  • Bei der exemplarischen Implementierung von 5 sind K Steuerungen über die Steuermodule 5031 , ..., 503K implementiert. Für eine einfache Darstellung zeigt 5 zwei Steuermodule. Derartige Steuermodule steuern ein Teilen eines empfangenen Stroms in zeitunabhängige Unterströme, wie es weiter hierin beschrieben ist. Bei bestimmten Ausführungsbeispielen sind diese Steuerungen durch Zufallszahlengeneratoren mit Verteilungen getrieben, die von der Steuerstation 23 (2) heruntergeladen sein könnten. Allgemein betrachtet empfängt jedes Steuermodul zwei Werte: Wann und Wie lange.
  • Wie es oben bei dem Metro-Ethernet-Beispiel erwähnt ist, können zwei Steuermodule verwendet werden. Das erste Steuermodul gibt an, wann der Benutzerverkehr in die „gelbe" Zone eintritt, und das zweite Steuermodul gibt an, wann der Benutzerverkehr zu der „roten" Zone übergeht und für wie lange. Dies bedeutet beispielsweise, dass es drei ausgehende Paketströme gibt. In der „grünen" Zone, wenn beide Steuerungen aus sind, folgt der Verkehr einem Unterstrom 1 (z.B. zu einem ersten Paketstromverlust- & -verzögerungsmodul 4021 , ..., 402N von 4). In der „gelben" Zone (falls lediglich die Steuerung 1 das Ausgangssignal derselben auf hoch setzt) wird der Verkehr zu einem Unterstrom 2 gerichtet (z.B. zu einem zweiten Paketstromverlust- & -verzögerungsmodul 4021 , ..., 402N von 4) und in der „roten" Zone (die Steuerung 2 setzt das Ausgangssignal derselben auf hoch) wird der Verkehr zu einem Unterstrom 3 gerichtet, der ein Biteimer sein kann (z.B. Paketverlust/ -abfall 403 in 4). Der Selektor 504 wählt den ordnungsgemäßen ausgehenden Unterstrom basierend auf den Ausgangssignalen der Steuermodule aus.
  • 6 zeigt eine exemplarische Implementierung eines Paketstromverlust- & -verzögerungsmoduls, wie beispielsweise des Moduls 4021 von 4, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Das exemplarische Modul 4021 von 6 umfasst ein Gatter 601, ein Zeitstempelmodul 602, einen Puffer 603, ein Gatter 604, einen Paketzähler 605, ein Komparatormodul „A" 606, einen Zufallszahlengenerator mit einer beliebigen Verteilung zum Fallenlassen von Paketen 607, einen Zufallszahlengenerator mit einer beliebigen Verteilung zum Verzögern von Paketen 608, einen Addierer 609, einen Takt 610 und ein Komparatormodul „B" 611. In Betrieb erzeugt ein Paket, das an dem Modul 4021 ankommt, ein Ereignis, das zu dem Paketzähler und zu dem Modul 608 gerichtet wird. Der Paketzähler 605 inkrementiert den Zählwert von Paketen desselben. Das Modul 608 erzeugt einen Verzögerungswert. Bevor das Paket weitergeleitet wird, bestimmt das Komparatormodul 606, ob der Abfallpaketzählwert erreicht ist, durch ein Vergleichen des Werts, der durch den Zufallszahlengenerator 607 gegeben ist, mit dem Wert, der von dem Paketzähler 605 erhalten wird. Falls diese Werte übereinstimmen, signalisiert der Komparator 606 dem Gatter 601, das Paket nicht weiterzuleiten, und setzt den Zähler 605 auf 0 rück. Die Module 608 erzeugen lediglich einen Wert, falls das Paket nicht fallengelassen wird. Der Verzögerungswert von dem Modul 608 wird zu dem aktuellen Taktwert (Zeit), der durch den Takt 610 geliefert wird, hinzugefügt und dadurch erzeugt derselbe einen Zeitstempel (einen Zeitpunkt in der Zukunft). Dieser Zeitstempel wird an dem Zeitstempelmodul 602 zuerst in einen FIFO 603 eingebracht. Das erste Element, das durch das Komparatormodul 611 von dem FIFO 603 „sichtbar" ist, wird der Zeitstempel sein. Dies bedeutet, dass der Komparator 611 einen Zeitstempel aus dem FIFO 603 „liest", falls ein derartiger Zeitstempel in dem FIFO ankommt, andernfalls wartet derselbe. Bei einer Implementierung bringt der Komparator 611 ein Lesefreigabesignal in den FIFO 603 ein, wenn der FIFO 603 signalisiert, dass derselbe nicht leer ist. Mit anderen Worten liest der Komparator 611 lediglich einen Zeitstempel, falls der FIFO 603 signalisiert, dass derselbe nicht leer ist. Dann vergleicht der Komparator 611 den gelesenen Zeitstempelwert mit der Zeit des aktuellen Takts. Falls die Werte übereinstimmen, signalisiert der Komparator 611 dem Gatter 604, ein Lesen von Daten aus dem FIFO 603 zu beginnen. Bei einer Implementierung liest das Gatter 604 die Daten durch ein Einbringen eines FIFO-Lesefreigabesignals, bis dasselbe das Ende des Pakets sieht. Es gibt viele Wege, die Durchschnittsfachleute auf dem Gebiet zum Einsetzen zum Erfassen des Endes des Pakets erkennen.
  • Diese exemplarische Implementierung des Paketstromverlust- & Verzögerungsmoduls 4021 simuliert den Paketverlust und die -verzögerung eines spezifischen Stroms, der von der Paketstromsteuerung 401 (4) empfangen wird. Bei diesem Ausführungsbeispiel treiben die Verteilungstabellen, die durch die Steuerstation 23 (2) geliefert werden, den Paketverlust und die Paketverteilung. Mit anderen Worten weiß der eingereihte Netzsimulator nichts über die Verkehrsverteilung, derselbe führt bloß aus, um was derselbe gebeten wird; z.B. Pakete fallen lassen oder Pakete verzögern, gemäß den gegebenen spezifischen Werten und der Verteilung. Dies macht die Implementierung eines derartigen eingereihten Netzsimulators sehr leicht und einfach bei Vorrichtungen mit begrenzten Verarbeitungs- und Speicherfähigkeiten zu implementieren. Dies bedeutet ferner, dass die exemplarische Implementierung des eingereihten Netzsimulators keine algebraische Berechnung erfordert, wie beispielsweise eine Gleitkommaberechnung, die bei einer ASIC- oder FPGA-Typ-Vorrichtung teuer ist. Bei bestimmten Ausfüh rungsbeispielen können irgendwelche Statistische-Verteilung-Algorithmen, die eine derartige Funktionalität erfordern, die Berechnungen derselben auf leistungsfähigere Vorrichtung delegieren lassen, wie die Steuerstation 23 (wie beispielsweise einen PC oder Laptop). Diese Berechnungen müssen nicht mit dem Verkehrsfluss Schritt halten und können deshalb an die Offline-Einrichtung delegiert werden.
  • Die exemplarische Implementierung des Paketstromverlust- & -verzögerungsmoduls 4021 in 6 führt drei Funktionen durch: Fallenlassen von Paketen, Paketzeitstempelung und Paketverzögerung. Die Paketzeitstempelung und die Verzögerung arbeiten bei diesem Beispiel tatsächlich zusammen. Die Paketzeitstempelung wird zum Angeben verwendet, wann ein Paket von dem FIFO 603 ausgesendet oder gelesen werden könnte. Der Paketverlust und die -verzögerung sind durch die Zufallszahlengeneratoren 607 und 608 getrieben, deren Verteilung wiederum durch die Steuerstation 23 gesteuert ist.
  • Somit wird bei einem Ausführungsbeispiel ein Verkehr von einem Quellknoten zu einem Bestimmungsknoten bei dem eingereihten Netzsimulator 101A empfangen und ein Paketklassifizierer 301 kann die empfangen Pakete in entsprechende Typen von Strömen (z.B. UDP- gegenüber TCP-Strömen) filtern. Für einen gegebenen Strom bestimmt eine Steuerung 401 Zeitcharakteristika, die eine Auftretenszeit und wie lange Abschnitte des Stroms in einer bestimmten Weise behandelt werden sollten (z.B. wann und wie lange eine bestimmte Überlastungsbedingung an dem simulierten Netz auftreten soll) spezifizieren. Basierend auf diesen Zeitcharakteristika wird der empfangene Strom in unterschiedliche zeitabhängige Unterströme geteilt und jeder jeweilige Unterstrom weist entsprechende Unterbrechungscharakteristika (z.B. Paketverzögerungs- und/oder -verlustverteilungen) auf, die derselbe zum Unterbrechen der Pakete desselben verwendet. Unterschiedliche Verteilungen können für unterschiedliche der Paketverlust- & -verzögerungsmodule 4021 402N vorgese hen sein, und somit unterschiedliche Unterbrechungen (z.B. unterschiedliche Anzahl/Rate von Paketverzögerungen und/oder -abfällen) durch die unterschiedlichen Unterströme. Folglich können die zeitabhängigen Unterströme, die durch die Steuerung 401 geteilt sind, unterschiedlich unterbrochen werden.
  • 7 zeigt ein Betriebsflussdiagramm für bestimmte Ausführungsbeispiele der vorliegenden Erfindung. Wie es gezeigt ist, empfängt bei einem Betriebsblock 701 ein eingereihtes Netz Pakete, die von einem Quellknoten zu einem Bestimmungsknoten gesendet werden. Bei einem Betriebsblock 702 klassifiziert der eingereihte Netzsimulator die empfangenen Pakete in jeweilige einer Mehrzahl von unterschiedlichen Klassifikationen. Wie es beispielsweise oben beschrieben ist, können empfangene Pakete als UDP- oder TCP-Pakete klassifiziert werden. Es kann irgendeine Anzahl derartiger Klassifikationen implementiert sein. Bei einem Betriebsblock 703 unterbricht der eingereihte Netzsimulator die empfangenen Pakete basierend auf entsprechenden Unterbrechungscharakteristika, die für die jeweiligen Klassifikationen derselben definiert sind. Das heißt, der Netzsimulator verzögert die empfangene Pakete basierend auf den entsprechenden Unterbrechungscharakteristika (z.B. Paketverzögerungstabellen und Paketverlusttabellen) selektiv, lässt dieselben fallen und/oder ordnet dieselben neu.
  • 8 zeigt ein detaillierteres Betriebsflussdiagramm für das exemplarische Ausführungsbeispiel des eingereihten Netzsimulators 101A1 , der oben in 36 beschrieben ist. Bei einem Betriebsblock 80 werden Paketklassifikationen definiert, die durch den eingereihten Netzsimulator verwendet werden sollen. Wie es beispielsweise oben beschrieben ist, können Paketklassifikationen wie UDP und TCP definiert werden. Bei bestimmten Implementierungen werden derartige Paketklassifikationen durch ein Herunterladen von Paketfiltern (z.B. von der Steuerstation 23) zum dem Paketklassifizierer 301 definiert, wie bei einem Unterbetriebsblock 801. Derartige heruntergeladene Paketfilter können spezifizieren, wie Informationen, die empfangenen Paketen zugeordnet sind, zum Klassifizieren der Pakete in verschiedene Klassifikationen zu verwenden sind.
  • Bei einem Betriebsblock 81 werden jeweilige Unterbrechungscharakteristika für jede der Klassifikationen definiert. Beispielsweise werden bei bestimmten Implementierungen derartige Unterbrechungscharakteristika durch Paketverzögerungstabellen und Paketverlusttabellen definiert, die (z.B. von der Steuerstation 23) zu dem eingereihten Netzsimulator heruntergeladen werden. Bei einem Betriebsblock 82 empfängt der Paketklassifizierer 301 eingehende Pakete, die von einem Quellknoten zu einem Bestimmungsknoten gesendet werden. Bei einem Betriebsblock 83 klassifiziert der Paketklassifizierer 301 jedes empfangene Paket in eine Entsprechende der definierten Paketklassifikationen (z.B. UDP- oder TCP-Klassifikationen) und sendet jedes Paket zu einem entsprechenden Paketstromverlust- & -verzögerungsmodul 302 basierend auf der Klassifikation des Pakets.
  • Bei einem Betriebsblock 84 unterbricht das Paketstromverlust- & -verzögerungsmodul 302 die Pakete, die zu demselben gesendet werden, basierend auf den Unterbrechungscharakteristika, die für die entsprechende Klassifikation definiert sind. Wie es oben beschrieben ist, können bei bestimmten Implementierungen eines oder mehrere der Paketstromverlust- & -verzögerungsmodule 302 eine Mehrzahl von Unterstrommodulen 402 umfassen. Folglich empfängt bei derartigen Implementierungen die Paketstromsteuereinheit 401 eingehende Pakete und klassifiziert derartige empfangene Pakete weiter in Unterströme und sendet jedes Paket zu einem entsprechenden Paketstromverlust- & -verzögerungsmodul 402 basierend auf der weiteren Klassifikation des Pakets, wie bei dem Block 803. Genauer gesagt werden bei einem Ausführungsbeispiel die in 5 gezeigten Module zum Implementieren der Paketstromsteuereinheit 401 bei einem Betriebsblock 804 verwendet, um einen Paketstrom in zeitabhängige Unterströme zu teilen. Bei einem derartigen Ausführungsbeispiel erzeugen die Module 501 (5) ein Signal basierend auf einer Zeit, d. h. wann das Signal auftritt, und das Modul 502 bestimmt, wie lange das Signal ein bleiben sollte. Während ein derartiges Signal ein ist, werden die entsprechenden Pakete, die in diesem Strom empfangen werden, zu einem entsprechenden Unterstrom gesendet (bestimmt durch die Steuersignale, die „ein" sind, wie es hierin im Folgenden weiter erörtert ist). Bei einem Ausführungsbeispiel sendet das Modul 501 ein Signal zu der Steuereinheit 503, wobei die Steuereinheit 503 hinsichtlich der Zeit zum Einsetzen angewiesen wird (z.B. zum Vergleichen einer aktuellen Zeit mit einem Zeitstempel, der durch ein Verwenden eines Zufallszahlengenerators erzeugt wurde). Das Steuermodul 503 fragt dann das Modul 502, wie lange dieses Ereignis auftreten sollte. Somit erzeugen die Module 501 und 402 Zeitcharakteristika (Auftretenszeit und Dauer), die durch den Selektor 504 zum Teilen des Paketstroms in Unterströme verwendet werden. Es gibt mehrere Sätze von Modulen 501, 502 und 503, die derartige Zeitcharakteristiksignale erzeugen. Der Selektor 504 wählt basierend auf diesen Signalkombinationen (Kombinationen von aktiven Signalen von den Steuerungen 503) aus, zu welchem ausgehenden Unterstrom der eingehende Strom gerichtet werden sollte. Derselbe tut dies durch ein Steuern des deMUX 505. Es könnten mehrere Signale von den Steuermodulen 503 zu dem Selektor 504 kommen und der Selektor 504 entscheidet basierend auf einer gewissen Form einer Taktik, welcher Unterstrom zu wählen ist. Kurz gesagt senden die Module 501 und 502 Signale, die die Zeitcharakteristika für ein Unterbrechungsereignis definieren (wann das Ereignis auftritt, d.h. eine Zeit erreicht ist, und für wie lange). Eine Auswertung wird durch die Steuereinheit 503 vorgenommen, die das Signal zu dem Selektor 504 sendet. Der Selektor 504 wählt basierend auf empfangenen Signalen und der eigenen Taktik desselben einen ausgehenden Unterstrom durch ein Steuern des deMUX 505. Im Allgemeinen wird lediglich ein ausgehender Unterstrom zu irgendeiner gegebenen Zeit ausgewählt. Es ist zu beachten, dass ein Umschalten von Unterströmen bei diesem exemplarischen Ausführungsbeispiel lediglich zwischen Paketen und nicht in der Mitte eines Pakets auftritt.
  • Bei einem Betriebsblock 805 wird das Paketverlust- & -verzögerungsmodul 402, zu dem ein Paket (eines entsprechenden Unterstroms) von der Paketstromsteuereinheit 401 gesendet wird, verwendet, um ein derartiges Paket gemäß entsprechenden Unterbrechungscharakteristika zu unterbrechen, die für einen derartigen Unterstrom definiert sind. Genauer gesagt, werden bei einem Ausführungsbeispiel die in 6 gezeigten Module zum Implementieren eines Paketverlust- & -verzögerungsmodul 402 bei einem Betriebsblock 804 verwendet. Bei einem derartigen Ausführungsbeispiel wird durch ein Vergleichen eines Paketzählwerts 605 mit einer erzeugten Zufallszahl 607 bei dem Komparator 606 eine Ankunft eines Pakets daraufhin geprüft, ob dasselbe einem Paketabfall unterliegt. Falls das Paket nicht fallengelassen wurde, erzeugt der Komparator 608 einen Verzögerungswert, der, wenn derselbe zu der aktuellen Zeit des Takts 610 hinzugefügt wird, einen Zeitstempel 602 („Zeit in der Zukunft") erzeugt. Dieser Zeitstempel wird dann in den FIFO 603 vor irgendwelchen Paketdaten eingebracht. Dann werden die Daten des Pakets in den FIFO 603 geschrieben. Bei einer Implementierung setzt der Zeitstempel 602 das Schreibfreigabesignal des FIFO 603 hoch und Daten werden in den FIFO geschrieben. Das Schreibfreigabesignal bleibt hoch bis zu dem Ende des Pakets. Zu der gleichen Zeit liest an dem anderen Ende des Spektrums der Komparator 611 einen Zeitstempel von dem FIFO 603 und vergleicht denselben mit der tatsächlichen Zeit des Takts 610. Falls diese Zeiten übereinstimmen, signalisiert der Komparator 611 dem Gatter 604, ein Lesen von Daten von dem FIFO 603 zu beginnen und dieselben zu dem Ausgang zu senden. Ein Lesen endet, wenn das Ende des Pakets gefunden wird, und der Komparator 611 wiederholt den Prozess. Die obigen Prozesse (d.h. Schreiben zu dem FIFO und Lesen von demselben) laufen parallel und unabhängig voneinander. Bei einer Implementierung wartet der Komparator 611, dass ein Signal „leer" niedrig wird (was angibt, dass der FIFO nicht leer ist), und bringt dann ein „Lesefreigabe"-Signal zu dem FIFO 603 ein und liest lediglich den Zeitstempel. Falls also der Zeitstempel 8 Bytes lang ist und das FIFO-Wort 16 Bits beträgt, dann bleibt die „Lesefreigabe" bei einer Implementierung lediglich 4 Taktzyklen lang EIN. Bis zu dem Ende der 4 Taktzyklen hat der Komparator 611 den Zeitstempel in dem Register desselben und derselbe kann ein Vergleichen mit der aktuellen Zeit beginnen, die von dem Takt 610 kommt. Sobald diese Werte übereinstimmen, sendet der Komparator 611 ein Signal zu dem Gatter 604, um ein Lesen der Paketdaten von dem FIFO 603 zu beginnen. Dies bedeutet, dass das Gatter 604 ein sehr einfaches Modul ist, das ein Signal von dem Komparator 611 nimmt und ein Flip-Flop setzt, so dass dasselbe ein kontinuierliches Signal erhält, das eine „Lesefreigabe" des FIFO 603 treibt. Sobald das Gatter 604 das Ende der Paketdaten sieht, setzt dasselbe das Flip Flop rück und lässt dadurch das „Lesefreigabe"-Signal fallen.
  • Bei einem Betriebsblock 85 kommt das ausgehende Paket von dem Gatter „B" 604 (6) an dem MUX 404 (4) an, der ein Senden von Paketen von den Paketverlust- & -verzögerungsmodulen 402 steuert. Bei einem Betriebsblock 86 kommt das ausgehende Paket von dem MUX 404 an dem MUX 303 ( 3) an, der ein Senden von Paketen (die nicht fallengelassen sind) von den Paketstromverlust- & -verzögerungsmodulen 302 zu dem Bestimmungsknoten steuert.
  • Angesichts des Obigen ist gemäß bestimmten Ausführungsbeispiel ein Paketklassifizierer 301 implementiert, der wirksam ist, um Pakete (z.B. basierend auf einem Pakettyp und/oder einer Paketgröße, einem Volumen oder einer Burst-Rate) in unterschiedliche Paketströme zu klassifizieren. Beispielsweise kann der Paketklassifizierer 301 einen empfangenen Verkehr basierend auf Paketfiltern filtern, die durch denselben eingesetzt werden, um unabhängige Paketströme zu erzeugen. Dies kann beispielsweise ein Filtern bestimmter Typen von Paketen ermöglichen, die für eine gegebene Analyse von Interesse sind, in einen Strom für eine Unterbrechung derselben ermöglichen, während ermöglicht wird, das andere Typen von Paketen ununterbrochen fließen. Die Paketströme unterliegen Paketstromsteuerungen 401, die Zeitabhängigkeiten simulieren. Dies bedeutet, dass Ströme weiter in Unterströme geteilt werden, die in einer Zeit erzeugt werden, unabhängig davon, was die Pakete innerhalb eines gegebenen Stroms darstellen. Mit anderen Worten werden zeitabhängige Unterströme erzeugt. Die Unterströme unterliegen einem Paketzählwert und einer Zeitverzögerung (wiederum ungeachtet dessen, was die Pakete in dem Unterstrom darstellen) basierend auf den entsprechenden Verteilungen, die dem Unterstrom zugewiesen sind. Die Paketstromsteuerung 401 bestimmt eine gegebene Zeit (Zufallszahl für „Wann" = aktuelle Zeit + durch den Zufallszahlengenerator gegebenes Intervall) und die Dauer (eine andere Zufallszahl) liefert ein Signal, das aktiv ist, und basierend auf diesen Signalen, die zu einer gegebenen Zeit aktiv sind, weist der Selektor 504 Pakete des eingehenden Stroms einem speziellen Unterstrom zu, der eine sehr spezifische Paketverlust- und -verzögerungsmaschine aufweist. Mit anderen Worten treibt der Paketstromsimulator eine Verkehrsüberlastung in der Zeit, z.B. wenn es einen sehr starken Paketverlust und eine lange zeitliche Verzögerung gibt und wenn leichtere Bedingungen bestehen.
  • Exemplarische Techniken dafür, wie Überlastungsbedingungen unter Verwendung von Techniken zum Fallenlassen von Paketen und Verzögern von Paketen in einer Hardwarelösung simuliert werden können, sind oben bei dem eingereihten Netzsimulator 101A beschrieben. Eine Kombination mehrerer Ströme und ein Multiplexen derselben zurück zu einem einzigen Strom erzeugen ferner Situationen, bei denen abgehende Pakete sich in einer unterschiedlichen Reihenfolge als dann befinden, wenn dieselben in den Simulator eintreten. Anstelle eines Lieferns einer expliziten Steuerung dafür, welche Pakete fallenzulassen/zu verzögern sind, ist das exemplarische Aus führungsbeispiel des eingereihten Netzsimulators 101A in einer nicht deterministischen Weise unter Verwendung von Zufallszahlengeneratoren an Strömen von Paketen wirksam. Der eingereihte Netzsimulator 101A betrachtet zuerst Pakete, die durch den Klassifizierer 301 empfangen werden, um die Pakete in geeignete Ströme zu klassifizieren, und dann ist der Simulator einfach an jedem Strom zum Anwenden von Unterbrechungscharakteristika ohne Rücksicht darauf wirksam, welcher Typ von Paketen sich in jedem Strom befindet (d. h. der eingereihte Netzsimulator ist agnostisch hinsichtlich der Pakete, auf die derselbe eine gegebene Unterbrechungscharakteristik anwendet, wie beispielsweise Paketverlust- und -verzögerungsverteilungen). Alle Ströme und Unterströme können parallel in einer Hardware verarbeitet werden. Bei einer derartigen Hardwareimplementierung kann eine echte parallele Verarbeitung erreicht werden, gegenüber einer Softwarelösung, die eine Parallelität nachahmt.
  • Während eine spezifische exemplarische Hardwareimplementierung eines eingereihten Netzsimulators 101A oben bei 36 und dem Betriebsfluss von 8 beschrieben ist, ist der Schutzbereich der vorliegenden Erfindung nicht auf diese exemplarische Implementierung begrenzt. Vielmehr liefert dies ein darstellendes Beispiel und die hierin beschriebenen Konzepte können bei verschiedenen anderen Konfigurationen (z.B. bei anderen hardwarebasierten Implementierungen, etc.) implementiert werden.
  • 9 zeigt ein Betriebsflussdiagram für ein Ausführungsbeispiel der vorliegenden Erfindung. Bei einem Betriebsblock 901 wird ein Paketstrom an einer Steuerung empfangen, wie beispielsweise der Steuerung Paketstromsteuerung 401 von 4. Bei einem Block 902 teilt die Steuerung den Paketstrom in unterschiedliche zeitabhängige Paketunterströme, wie beispielsweise die Unterströme, die zu den Paketverlust- & -verzögerungsmodulen 4021 402N in 4 gesendet werden. Bei einem Block 903 werden die Pakete jedes Unterstroms basierend auf entsprechenden Unterbrechungscha rakteristika unterbrochen. Beispielsweise können unterschiedliche Paketverlust- und -verzögerungscharakteristika (z.B. Verteilungen) für jedes der Unterstrommodule 4021 402N definiert werden und die entsprechenden Paketverlust- und -verzögerungscharakteristika, die für ein gegebenes Unterstrommodul definiert sind, werden auf den Unterstrom, der durch ein derartiges Modul empfangen wird, zum Unterbrochen von Paketen des Unterstroms angewendet. Die Unterströme sind bei bestimmten Ausführungsbeispielen zeitabhängig, weil die Paketstromsteuerung 401 selektiv unterschiedliche Zeitcharakteristika erzeugt, z.B. Auftretenszeit (oder „Wann") und Dauer, wie es beispielsweise oben in Verbindung mit 5 beschrieben ist, zum Bestimmen, wie der Strom in unterschiedliche Unterströme zu teilen ist.
  • Bei bestimmten Ausführungsbeispielen wird der exemplarische Betriebsfluss von 9 an einem Strom durchgeführt, der von einem Paketklassifizierer empfangen wird, wie beispielsweise dem Paketklassifizierer 301 in 3. Wie es oben beschrieben ist, können somit empfangene Pakete bei bestimmten Ausführungsbeispielen durch eine Paketklassifizierer 301 gefiltert werden, um zu bestimmen, zu welchem von einer Mehrzahl von unterschiedlichen Strömen jedes Paket zu senden ist, und der obige Prozess von 9 kann für einen oder mehrere der unterschiedlichen Ströme durchgeführt werden. Natürlich können unterschiedliche Verteilungen (z.B. unterschiedliche Unterbrechungscharakteristika) und/oder Zeitcharakteristika für unterschiedliche Ströme definiert werden (z.B. UDP-Ströme könnten anders als TCP-Ströme unterbrochen werden). Bei bestimmten anderen Ausführungsbeispielen kann der Klassifizierer 301 weggelassen sein. Falls beispielsweise der Typ von Paketen, die eingehen, gesteuert/bekannt ist oder falls eine gemeinsame Unterbrechungsverteilung für alle Typen von eingehenden Paketen eingesetzt werden soll, dann kann ein derartiger Klassifizierer 301 bei derartigen Ausführungsbeispielen weggelassen sein.
  • Obwohl die vorliegende Erfindung und die Vorteile derselben detailliert beschrieben wurden, ist klar, dass verschiedene Veränderungen, Substitutionen und Änderungen hierin vorgenommen werden können, ohne von der Erfindung abzuweichen, wie dieselbe durch die beigefügten Ansprüche definiert ist. Außerdem soll der Schutzbereich der vorliegenden Erfindung nicht auf die speziellen Ausführungsbeispiele eines Prozesses, einer Maschine, einer Herstellung, einer Materialzusammensetzung, einer Einrichtung, von Verfahren und Schritten begrenzt sein, die in der Beschreibung beschrieben sind. Wie man ohne weiteres aus der Offenbarung erkennt, können Prozesse, Maschinen, eine Herstellung, Materialzusammensetzungen, eine Einrichtung, Verfahren oder Schritte, die gegenwärtig existieren oder später entwickelt werden sollen und die im Wesentlichen die gleiche Funktion durchführen oder im Wesentlichen das gleiche Ergebnis wie die entsprechenden Ausführungsbeispiele erzielen, die hierin beschrieben sind, verwendet werden. Folglich sollen die beigefügten Ansprüche in dem Schutzbereich derselben derartige Prozesse, Maschinen, eine Herstellung, Materialzusammensetzungen, eine Einrichtung, Verfahren oder Schritte umfassen.

Claims (48)

  1. Verfahren, das folgende Schritte aufweist: Empfangen (701) von Paketen, die von einem Quellknoten (11) zu einem Bestimmungsknoten (12) gesendet werden, an einem eingereihten Netzsimulator (101); Klassifizieren (702) der empfangenen Pakete in Jeweilige einer Mehrzahl von unterschiedlichen Klassifikationen durch den eingereihten Netzsimulator (101); und Unterbrechen (703) der empfangenen Pakete basierend auf entsprechenden Unterbrechungscharakteristika, die für die jeweiligen Klassifikationen derselben definiert sind, durch den eingereihten Netzsimulator (101).
  2. Verfahren gemäß Anspruch 1, bei dem das Unterbrechen (703) folgenden Schritt aufweist: selektives Durchführen zumindest eines Verzögerns, Fallenlassens oder Neuordnens der empfangenen Pakete.
  3. Verfahren gemäß Anspruch 1 oder 2, das ferner folgenden Schritt aufweist: Definieren der Unterbrechungscharakteristika als Verteilungen für zumindest eine Paketverzögerung und/oder einen Paketverlust.
  4. Verfahren gemäß Anspruch 3, bei dem die Verteilungen auf Verteilungen basieren, die für ein Netz beobachtet werden, das simuliert werden soll.
  5. Verfahren gemäß Anspruch 3 oder 4, bei dem die Verteilungen zumindest eine begrenzte exponentielle Verteilung umfassen.
  6. Verfahren gemäß einem der Ansprüche 3 bis 5, bei dem das Definieren der Unterbrechungscharakteristika folgenden Schritt aufweist: Liefern einer Paketverzögerungsverteilungstabelle und einer Paketverlustverteilungstabelle zu dem eingereihten Netzsimulator (101).
  7. Verfahren gemäß Anspruch 6, bei dem das Liefern folgenden Schritt aufweist. Herunterladen der Paketverzögerungsverteilungstabelle und der Paketverlustverteilungstabelle zu dem eingereihten Netzsimulator (101) von einer Steuerstation über ein Kommunikationsnetz.
  8. Verfahren gemäß Anspruch 6 oder 7, das ferner folgenden Schritt aufweist: Zuordnen der Paketverzögerungsverteilungstabellen und der Paketverlustverteilungstabellen zu entsprechenden Paketklassifikationen.
  9. Verfahren gemäß einem der Ansprüche 1 bis 8, bei dem das Klassifizieren folgenden Schritt aufweist: Klassifizieren der empfangenden Pakete zumindest teilweise basierend auf einem Typ der empfangenen Pakete.
  10. Verfahren gemäß Anspruch 9, bei dem der Typ der empfangenen Pakete IP-Paket- und Nicht-IP-Paket-Typen aufweist.
  11. Verfahren gemäß Anspruch 9 oder 10, bei dem der Typ der empfangenen Pakete TCP- und UDP-Typen aufweist.
  12. Verfahren gemäß einem der Ansprüche 1 bis 11, bei dem das Klassifizieren folgenden Schritt aufweist: Klassifizieren der empfangenen Pakete teilweise basierend auf zumindest einer Verkehrsvolumenrate oder einer Burst-Rate der empfangenen Pakete.
  13. Verfahren gemäß einem der Ansprüche 1 bis 12, bei dem das Klassifizieren folgenden Schritt aufweist: Klassifizieren der empfangenen Pakete zumindest teilweise basierend auf einer Paketgröße.
  14. Verfahren gemäß einem der Ansprüche 1 bis 13, bei dem das Unterbrechen ferner folgende Schritte aufweist: Empfangen eines Stroms von Paketen einer ersten Klassifikation bei einer ersten Steuerung; Teilen des Stroms von Paketen der ersten Klassifikation in eine Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen durch die erste Steuerung; und Unterbrechen von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen basierend auf entsprechenden Unterbrechungscharakteristika.
  15. Verfahren gemäß Anspruch 14, bei dem die entsprechenden Unterbrechungscharakteristika eines Unterstroms definierte Verteilungen für zumindest eine Paketverzögerung oder einen Paketverlust aufweisen.
  16. Verfahren gemäß Anspruch 14 oder 15, bei dem das Unterbrechen ferner folgende Schritte aufweist: Empfangen eines Stroms von Paketen einer zweiten Klassifikation an einer zweiten Steuerung; Teilen des Stroms von Paketen der zweiten Klassifikation in eine Mehrzahl von unterschiedlichen zeitab hängigen Paketunterströmen durch die zweite Steuerung; und Unterbrechen von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen, in die der Strom von Paketen der zweiten Klassifikation geteilt ist, basierend auf entsprechenden Unterbrechungscharakteristika.
  17. Verfahren gemäß Anspruch 16, bei dem das Unterbrechen von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen, in die der Strom von Paketen der zweiten Klassifikation geteilt ist, und das Unterbrechen von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen, in die der Strom von Paketen der ersten Klassifikation geteilt ist, parallel durchgeführt werden.
  18. Verfahren gemäß Anspruch 17, bei dem das Parallele getrennte Hardwarekomponenten aufweist, die die Unterbrechungsoperationen parallel durchführen.
  19. Verfahren gemäß einem der Ansprüche 14 bis 18, bei dem das Teilen ferner folgende Schritte aufweist: Erzeugen von Zufallszeitcharakteristika durch die Steuerung; Zuweisen von Paketen des Stroms unter der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen basierend auf den Zeitcharakteristika durch die Steuerung.
  20. Verfahren gemäß Anspruch 19, bei dem das Erzeugen von Zufallszeitcharakteristika ferner folgende Schritte aufweist: Erzeugen eines Zufallsauftretenszeitsignals durch die Steuerung; und Erzeugen eines Zufallsdauersignals durch die Steuerung.
  21. Verfahren, das folgende Schritte aufweist: Definieren einer Mehrzahl von unterschiedlichen Paketklassifikationen; Definieren einer jeweiligen Paketunterbrechungscharakteristik für jede der unterschiedlichen Paketklassifikationen; Empfangen von Paketen, die von einem Quellknoten zu einem Bestimmungsknoten gesendet werden, an einem eingereihten Netzsimulator (101); Klassifizieren der empfangenen Pakete in Jeweilige der Mehrzahl von unterschiedlichen Paketklassifikationen durch den eingereihten Netzsimulator (101); und Unterbrechen der empfangenen Pakete basierend auf der entsprechenden Unterbrechungscharakteristik der Paketklassifikationen durch den eingereihten Netzsimulator (101).
  22. Verfahren gemäß Anspruch 21, bei dem das Unterbrechen folgenden Schritt aufweist: selektives Durchführen zumindest eines Verzögerns, eines Fallenlassens oder eines Neuordnens der empfangenen Pakete.
  23. Verfahren gemäß Anspruch 21 oder 22, bei dem das Unterbrechen ferner folgende Schritte aufweist: Empfangen eines Stroms von Paketen einer ersten Klassifikation bei einer ersten Steuerung; Teilen des Stroms von Paketen der ersten Klassifikation in eine Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen durch die erste Steuerung; und Unterbrechen von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen basierend auf entsprechenden Unterbrechungscharakteristika.
  24. Verfahren gemäß Anspruch 23, bei dem die entsprechenden Unterbrechungscharakteristika eines Unterstroms definierte Verteilungen für zumindest eine Paketverzögerung oder einen Paketverlust aufweisen.
  25. Verfahren gemäß Anspruch 23 oder 24, bei dem das Unterbrechen ferner folgende Schritte aufweist: Empfangen eines Stroms von Paketen einer zweiten Klassifikation an einer zweiten Steuerung; Teilen des Stroms von Paketen der zweiten Klassifikation in eine Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen durch die zweite Steuerung; und Unterbrechen von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen, in die der Strom von Paketen der zweiten Klassifikation geteilt ist, basierend auf entsprechenden Unterbrechungscharakteristika.
  26. Verfahren gemäß Anspruch 25, bei dem das Unterbrechen von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen, in die der Strom von Paketen der zweiten Klassifikation geteilt ist, und das Unterbrechen von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen, in die der Strom von Paketen der ersten Klassifikation geteilt ist, parallel durchgeführt werden.
  27. Verfahren gemäß Anspruch 26, bei dem das Parallele getrennte Hardwarekomponenten aufweist, die die Unterbrechungsoperationen parallel durchführen.
  28. Verfahren gemäß einem der Ansprüche 23 bis 27, bei dem das Teilen ferner folgende Schritte aufweist: Erzeugen von Zufallszeitcharakteristika durch die Steuerung; Zuweisen von Paketen des Stroms unter der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen basierend auf den Zeitcharakteristika durch die Steuerung.
  29. Verfahren gemäß Anspruch 28, bei dem das Erzeugen von Zufallszeitcharakteristika ferner folgende Schritte aufweist: Erzeugen eines Zufallsauftretenszeitsignals durch die Steuerung; und Erzeugen eines Zufallsdauersignals durch die Steuerung.
  30. Verfahren, das folgende Schritte aufweist: Empfangen (901) eines Paketstroms von Paketen, die von einem Quellknoten (11) zu einem Bestimmungsknoten (12) gesendet werden, an einer Steuerung (401); Teilen (902) des Paketstroms in eine Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen durch die Steuerung (401); und Unterbrechen (903) von Paketen von zumindest einem der Mehrzahl von unterschiedlichen zeitabhängigen Paketunterströmen basierend auf entsprechenden Unterbrechungscharakteristika.
  31. Verfahren gemäß Anspruch 30, bei dem das Unterbrechen (903) folgenden Schritt aufweist: selektives Durchführen zumindest eines Verzögerns, eines Fallenlassens oder eines Neuordnens der empfangenen Pakete.
  32. Verfahren gemäß Anspruch 30 oder 31, das ferner folgenden Schritt aufweist: Definieren der Unterbrechungscharakteristika als Verteilungen für zumindest eine Paketverzögerung oder einen Paketverlust.
  33. Verfahren gemäß einem der Ansprüche 30 bis 32, bei dem die Verteilungen auf Verteilungen basieren, die für ein Netz beobachtet werden, das simuliert werden soll.
  34. Verfahren gemäß Anspruch 32 oder 33, bei dem das Definieren der Unterbrechungscharakteristika folgenden Schritt aufweist: Liefern einer Paketverzögerungsverteilungstabelle und einer Paketverlustverteilungstabelle zu dem eingereihten Netzsimulator (101).
  35. Verfahren gemäß einem der Ansprüche 30 bis 34, das ferner folgenden Schritt aufweist: Klassifizieren von empfangenen Paketen in den Paketstrom, der einer von einer Mehrzahl von unterschiedlichen Strömen ist.
  36. Verfahren gemäß Anspruch 35, bei dem Klassifizieren zumindest auf einem Pakettyp oder einer Paketgröße basiert.
  37. Eingereihter Netzsimulator (101), der angeordnet ist, um Pakete zu empfangen, die von einem ersten Knoten (11) kommuniziert werden und für einen zweiten Knoten (12) bestimmt sind, wobei der eingereihte Netzsimulator (101) folgende Merkmale aufweist: eine Einrichtung (301) zum Klassifizieren empfangener Pakete in unterschiedliche Ströme von Paketen; eine Einrichtung (401) zum Steuern zumindest eines der unterschiedlichen Ströme, um zeitabhängige Unterströme von Paketen zu erzeugen; und eine Einrichtung (402) zum Unterbrechen von Paketen von zumindest einem der zeitabhängigen Unterströme, wobei die Einrichtung zum Unterbrechen zumindest a) eine Einrichtung (605, 606, 607) zum selektiven Fallenlassen von Paketen basierend auf einer definierten Paketverlustverteilung oder b) eine Einrichtung (608, 609, 610) zum selektiven Verzögern von Paketen basierend auf einer definierten Paketverzögerungsverteilung aufweist.
  38. Eingereihter Netzsimulator (101) gemäß Anspruch 37, bei dem die Einrichtung (402) zum Unterbrechen sowohl die Einrichtung (605, 606, 607) zum selektiven Fallenlassen von Paketen als auch die Einrichtung (608, 609, 610) zum selektiven Verzögern von Paketen aufweist.
  39. Eingereihter Netzsimulator (101) gemäß Anspruch 37 oder 38, bei dem die Einrichtung (301) zum Klassifizieren der Pakete die Pakete in unterschiedliche Ströme basierend zumindest auf einem Pakettyp oder einer Paketgröße klassifiziert.
  40. Eingereihter Netzsimulator (101) gemäß einem der Ansprüche 37 bis 39, bei dem die Einrichtung (401) zum Steuern folgende Merkmale aufweist: eine Einrichtung zum Erzeugen von Zufallszeitcharakteristika; und eine Einrichtung zum selektiven Zuweisen von Paketen des zumindest einen der unterschiedlichen Ströme zu einem der Mehrzahl von unterschiedlichen Unterströmen basierend auf den Zeitcharakteristika.
  41. Eingereihter Netzsimulator (101) gemäß Anspruch 40, bei dem die Einrichtung zum Erzeugen von Zufallszeitcharakteristika ferner folgende Merkmale aufweist: eine Einrichtung zum Erzeugen eines Zufallsauftretenszeitsignals; und eine Einrichtung zum Erzeugen eines Zufallsdauersignals.
  42. Eingereihter Netzsimulator (101) gemäß Anspruch 41, bei dem die Einrichtung zum selektiven Zuweisen von Paketen empfangene Pakete beginnend mit dem Auftretenszeitsignal über die Dauer des Dauersignals hinweg einem Speziellen der unterschiedlichen Unterströme zuweist.
  43. System, das folgende Merkmale aufweist: ein erstes Gatter (601), das einen Strom von eingehenden Paketen empfängt, die von einem ersten Knoten (11) kommuniziert werden und für einen zweiten Knoten (12) bestimmt sind; einen ersten Zufallszahlengenerator (607), der eine erste Verteilung aufweist, die einen Abfallpaketwert erzeugt; einen Paketzähler (605), der den Strom von eingehenden Paketen empfängt; einen ersten Komparator (606), der einen Paketzählwert, der von dem Paketzähler empfangen wird, und den Abfallpaketwert, der von dem ersten Zufallszahlengenerator empfangen wird, vergleicht, wobei der erste Komparator auslöst, dass ein Paket in dem Strom fallengelassen wird, wenn der Zählwert des Paketzählers des Pakets mit dem Abfallpaketwert übereinstimmt.
  44. System gemäß Anspruch 43, das ferner folgende Merkmale aufweist: einen zweiten Zufallszahlengenerator (608), der eine zweite Verteilung aufweist, die einen Paketverzögerungswert ansprechend auf einen Empfang eines Pakets in dem Strom von eingehenden Paketen erzeugt; einen Takt (610); einen Addierer (609), der den Paketverzögerungswert zu einer aktuellen Zeit des Takts addiert, um einen zukünftigen Zeitstempel (602) zu erzeugen; einen Puffer (603), um das Paket zu puffern; und einen zweiten Komparator (611), um den zukünftigen Zeitstempel mit einer Zeit des Takts zu vergleichen und ein Senden des Pakets zu dem zweiten Knoten auszulösen, wenn die Zeit des Takts mit dem zukünftigen Zeitstempel übereinstimmt.
  45. System gemäß Anspruch 44, bei dem die zweite Verteilung eine begrenzte exponentielle Verteilung ist.
  46. System gemäß einem der Ansprüche 43 bis 45, bei dem die erste Verteilung eine begrenzte exponentielle Verteilung ist.
  47. System, das folgende Merkmale aufweist: ein erstes Gatter, das einen Strom von eingehenden Paketen empfängt, die von einem ersten Knoten kommuniziert werden und für einen zweiten Knoten bestimmt sind; einen ersten Zufallszahlengenerator, der eine erste Verteilung aufweist, die einen Paketverzögerungswert ansprechend auf einen Empfang eines Pakets in dem Strom von eingehenden Paketen erzeugt; einen Takt; einen Addierer, der den Paketverzögerungswert zu einer aktuellen Zeit des Takts addiert, um einen zukünftigen Zeitstempel zu erzeugen; einen Puffer, um das Paket zu puffern; und einen ersten Komparator, um den zukünftigen Zeitstempel mit einer Zeit des Takts zu vergleichen und ein Senden des Pakets zu dem zweiten Knoten auszulösen, wenn die Zeit des Takts mit dem zukünftigen Zeitstempel übereinstimmt.
  48. System gemäß Anspruch 47, das ferner folgende Merkmale aufweist: einen zweiten Zufallszahlengenerator, der eine zweite Verteilung aufweist, die einen Abfallpaketwert erzeugt; einen Paketzähler, der den Strom von eingehenden Paketen empfängt; einen zweiten Komparator, der einen Paketzählwert, der von dem Paketzähler empfangen wird, und den Abfallpaketwert, der von dem zweiten Zufallszahlengenerator empfangen wird, vergleicht, wobei der zweite Komparator auslöst, dass ein Paket in dem Strom fallengelassen wird, wenn der Zählwert des Paketzählers des Pakets mit dem Abfallpaketwert übereinstimmt.
DE102006012427A 2005-05-12 2006-03-17 Eingereihter Netzsimulator Active DE102006012427B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/127,350 US7633939B2 (en) 2005-05-12 2005-05-12 In-line network simulator
US11/127,350 2005-05-12

Publications (2)

Publication Number Publication Date
DE102006012427A1 true DE102006012427A1 (de) 2006-11-16
DE102006012427B4 DE102006012427B4 (de) 2012-10-25

Family

ID=36571716

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006012427A Active DE102006012427B4 (de) 2005-05-12 2006-03-17 Eingereihter Netzsimulator

Country Status (4)

Country Link
US (1) US7633939B2 (de)
JP (1) JP4787669B2 (de)
DE (1) DE102006012427B4 (de)
GB (1) GB2426144A (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376550B1 (en) * 2005-10-26 2008-05-20 Juniper Networks, Inc. Simulation of network traffic using non-deterministic user behavior models
EP1793528B1 (de) * 2005-12-05 2008-03-26 Alcatel Lucent Verfahren zur Überwachung der Qualität einer Echtzeitkommunikation
JP4849467B2 (ja) * 2007-03-05 2012-01-11 Kddi株式会社 接続性評価システム
US7848242B2 (en) * 2007-06-14 2010-12-07 Agere Systems Inc. Methods and apparatus for testing adaptive timing characteristics of packet-based timing protocol
US8027267B2 (en) * 2007-11-06 2011-09-27 Avaya Inc Network condition capture and reproduction
US7895146B2 (en) * 2007-12-03 2011-02-22 Microsoft Corporation Time modulated generative probabilistic models for automated causal discovery that monitors times of packets
US20090319247A1 (en) * 2008-06-18 2009-12-24 Eads Na Defense Security And Systems Solutions Inc Systems and Methods for A Simulated Network Environment and Operation Thereof
JP5067362B2 (ja) * 2008-12-26 2012-11-07 富士通株式会社 通信端末、ネットワークインタフェースカード及びその方法
US8879397B2 (en) * 2011-05-13 2014-11-04 Polytechnic Institute Of New York University Balancing load in a network, such as a data center network, using flow based routing
US8995286B2 (en) * 2011-05-31 2015-03-31 Alcatel Lucent Autonomous self-disrupting network element
US9065770B2 (en) 2011-09-08 2015-06-23 Ixia Traffic item impairment emulation
US9088520B2 (en) 2011-09-15 2015-07-21 Ixia Network impairment unit for concurrent delay and packet queue impairments
US8520529B2 (en) * 2011-09-15 2013-08-27 Ixia Reordering network traffic
US8964553B2 (en) 2011-12-13 2015-02-24 Ixia Network impairment unit with bandwidth-constrained packet duplication
WO2013119205A1 (en) * 2012-02-07 2013-08-15 Hewlett-Packard Development Company, L.P. Testing a mobile application
US8842672B2 (en) * 2012-03-28 2014-09-23 Anue Systems, Inc. Systems and methods for modifying network packets to use unrecognized headers/fields for packet classification and forwarding
JP2014131212A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd 検証プログラム及び情報処理装置
RO130953A2 (ro) * 2014-07-04 2016-02-26 Ixia, A California Corporation Metode, sisteme şi suport citibil de calculator pentru distribuirea traficului de pachete de date prin protocolul de comunicaţii bazat pe ip () pentru transportul serviciilor generale de transmisiide date organizate în mod pachet pe canal radio (gprs)
US20180203666A1 (en) * 2015-07-21 2018-07-19 Sony Corporation First-in first-out control circuit, storage device, and method of controlling first-in first-out control circuit
US9961588B2 (en) 2016-02-24 2018-05-01 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for distributing monitored network traffic
US10567263B2 (en) * 2016-08-19 2020-02-18 Intel Corporation Technologies for simulating service degradation in a software defined network
US10609054B2 (en) 2017-04-07 2020-03-31 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring, adjusting, and utilizing latency associated with accessing distributed computing resources
US10425321B2 (en) 2017-04-25 2019-09-24 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for testing time sensitive network (TSN) elements
US11606263B2 (en) 2017-10-17 2023-03-14 Science Applications International Corporation Large network simulation
US11211999B2 (en) * 2017-12-28 2021-12-28 Hughes Network Systems, Llc Satellite network virtual LAN usage
US11689440B2 (en) * 2019-02-06 2023-06-27 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for transmit time timestamping
US11502932B2 (en) 2019-05-17 2022-11-15 Keysight Technologies, Inc. Indirect testing using impairment rules
US11621908B2 (en) 2020-07-13 2023-04-04 Keysight Technologies, Inc. Methods, systems and computer readable media for stateless service traffic generation
US11258719B1 (en) 2020-08-24 2022-02-22 Keysight Technologies, Inc. Methods, systems and computer readable media for network congestion control tuning
US11388081B1 (en) 2021-03-30 2022-07-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for impairment testing using an impairment device
US20230362137A1 (en) * 2022-05-09 2023-11-09 Juniper Networks, Inc. Utilizing a removable quantum random number generator for a network device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481735A (en) 1992-12-28 1996-01-02 Apple Computer, Inc. Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network
US6563796B1 (en) 1998-03-18 2003-05-13 Nippon Telegraph And Telephone Corporation Apparatus for quality of service evaluation and traffic measurement
US6442141B1 (en) 1998-08-31 2002-08-27 3Com Corporation Network delay and loss simulator
US6820042B1 (en) 1999-07-23 2004-11-16 Opnet Technologies Mixed mode network simulator
US6560720B1 (en) 1999-09-09 2003-05-06 International Business Machines Corporation Error injection apparatus and method
EP1234406A1 (de) 1999-12-01 2002-08-28 BRITISH TELECOMMUNICATIONS public limited company Vorrichtung zur simulation von kommunikationseinrichtungen
JP2001177525A (ja) * 1999-12-17 2001-06-29 Nec Corp 擬似ネットワーク提供システム及び方法
JP2002009884A (ja) * 2000-06-26 2002-01-11 Nec Corp 回線障害発生システム
US20020016937A1 (en) 2000-08-02 2002-02-07 Henry Houh Method and apparatus for utilizing a network processor as part of a test system
EP1327333B1 (de) * 2000-10-03 2007-08-01 U4EA Technologies Limited Filterung von datenströmen
US6862291B2 (en) 2000-11-03 2005-03-01 Telcordia Technologies, Inc. Method and system for quality of service provisioning for IP virtual private networks
US6970430B2 (en) 2000-12-29 2005-11-29 Texas Instruments Incorporated Method to measure throughput efficiency of low speed modem relay over packet network
US6822947B2 (en) 2001-02-02 2004-11-23 Telefonaktiebolaget L M Ericsson (Publ) Radio network emulator for a packet core network
US6886029B1 (en) 2001-03-13 2005-04-26 Panamsat Corporation End to end simulation of a content delivery system
US20020169815A1 (en) 2001-05-10 2002-11-14 Francis Wong Method and apparatus for configuration independent simulation of network layer conditions
JP2003324479A (ja) * 2002-05-07 2003-11-14 Kddi Corp Ipシミュレータ
US7173908B2 (en) * 2002-07-08 2007-02-06 Alcatel Canada Inc. Flexible policing technique for telecommunications traffic
JP4004389B2 (ja) * 2002-11-27 2007-11-07 富士通株式会社 バッファメモリ管理方法及びシステム
US7606165B2 (en) * 2004-01-30 2009-10-20 Microsoft Corporation What-if analysis for network diagnostics
US7447209B2 (en) * 2004-03-09 2008-11-04 The University Of North Carolina Methods, systems, and computer program products for modeling and simulating application-level traffic characteristics in a network based on transport and network layer header information

Also Published As

Publication number Publication date
US20060256720A1 (en) 2006-11-16
GB2426144A (en) 2006-11-15
DE102006012427B4 (de) 2012-10-25
JP4787669B2 (ja) 2011-10-05
US7633939B2 (en) 2009-12-15
JP2006319978A (ja) 2006-11-24
GB0607385D0 (en) 2006-05-24

Similar Documents

Publication Publication Date Title
DE102006012427B4 (de) Eingereihter Netzsimulator
DE112015004008B4 (de) Selektives abtasten von netzwerkpaketverkehr unter verwendung von virtuelle-maschinen-werkzeugplattformen auf cloud-basis
DE602005003226T2 (de) System und verfahren zur analyse der verbindungsleistung
DE60311364T2 (de) System und Verfahren für Sitzungszulassungssteuerung
DE60034353T2 (de) Regelbasierte ip datenverarbeitung
DE60112089T2 (de) Verfahren und system zur verwaltung der dienstqualität durch einspeisen von informationen in das paketnetz
Beheshti et al. Experimental study of router buffer sizing
DE60317588T2 (de) Verfahren zur Ermittlung der peer-to-peer Servicequalität (QOS)
DE60306723T2 (de) Warteschlangensystem für Diffserv Router mit mehreren Betriebsmodi
DE602005004130T2 (de) Verteilte Verkehrsanalyse
DE102018109689A1 (de) Verfahren, Systeme und computerlesbare Medien zum Testen von Time-Sensitive-Network(TSN)-Elementen.
DE60205548T2 (de) Verfahren und System zur Übertragung von Multimediadatenflusspaketen
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE102015010730A1 (de) Gigabit-ermittlung der verfügbaren bandbreite zwischen peers
WO2003026341A2 (de) Verteilte übermittlung von informationen in einem verbindungslosen, paketorientierten kommunikationsnetz
DE102006024965A1 (de) Verfahren zum Messen einer Zeitverzögerungsmetrik und Messsystem
DE10301963A1 (de) Verfahren für eine Klassifizierung von Netzwerk-Komponenten eines paket-orientierten Netzwerks
WO1997033409A1 (de) Verfahren zur übertragung von datenpaketen vorgebbarer prioritätsklassen im ethernet von einer ersten anordnung zu mindestens einer zweiten anordnung
DE10357582A1 (de) Klassenbasierte Ratensteuerung unter Verwendung eines Leaky Bucket mit einer Vielzahl von Grenzwerten
EP1428361B1 (de) Verkehrsbegrenzung mittels zulässigkeitsprüfung für ein paketorientiertes verbindungsloses netz mit qos niveau übertragung
DE102009043291A1 (de) Automatische Erfassung und Rekonfiguration des Prioritätsstatus in Telekommunikationsnetzen
DE602004001605T2 (de) Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED)
DE69633915T2 (de) Verfahren zur abweisung von zellen an einem überlasteten knotenpuffer
DE10084739T5 (de) Anordnung und Verfahren in einem geschalteten Telekommunikationssystem
Samociuk et al. Measuring and analyzing the burst ratio in IP traffic

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012893000

R020 Patent grant now final

Effective date: 20130126

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012893000

Effective date: 20130313

R081 Change of applicant/patentee

Owner name: JDS UNIPHASE CORP. (N. D. GES. D. STAATES DELA, US

Free format text: FORMER OWNER: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES DELAWARE), SANTA CLARA, CALIF., US

Effective date: 20130620

Owner name: VIAVI SOLUTIONS INC. (N. D. GES. D. STAATES DE, US

Free format text: FORMER OWNER: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES DELAWARE), SANTA CLARA, CALIF., US

Effective date: 20130620

Owner name: JDS UNIPHASE CORP. (N. D. GES. D. STAATES DELA, US

Free format text: FORMER OWNER: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES DELAWARE), SANTA CLARA, US

Effective date: 20130620

R082 Change of representative

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE

Effective date: 20130620

Representative=s name: MURGITROYD & COMPANY, DE

Effective date: 20130620

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER & PAR, DE

Effective date: 20130620

R082 Change of representative

Representative=s name: MURGITROYD & COMPANY, DE

R081 Change of applicant/patentee

Owner name: VIAVI SOLUTIONS INC. (N. D. GES. D. STAATES DE, US

Free format text: FORMER OWNER: JDS UNIPHASE CORP. (N. D. GES. D. STAATES DELAWARE), MILPITAS, CALIF., US

R082 Change of representative

Representative=s name: MURGITROYD & COMPANY, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012893000

Ipc: H04L0047400000