DE102006012427A1 - Eingereihter Netzsimulator - Google Patents
Eingereihter Netzsimulator Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000009826 distribution Methods 0.000 claims description 87
- 238000004891 communication Methods 0.000 claims description 24
- 230000036962 time dependent Effects 0.000 claims description 24
- 239000002699 waste material Substances 0.000 claims description 7
- 230000005611 electricity Effects 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000001934 delay Effects 0.000 description 25
- 230000006399 behavior Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004088 simulation Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 206010051747 multiple endocrine neoplasia Diseases 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 229910000906 Bronze Inorganic materials 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000010974 bronze Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- KUNSUQLRTQLHQQ-UHFFFAOYSA-N copper tin Chemical compound [Cu].[Sn] KUNSUQLRTQLHQQ-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/24—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
Abstract
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 von1 als ein Teil eines Gigabit-Schnittstellenwandlers (GBIC) implementiert ist; -
3 ein exemplarisches Ausführungsbeispiel des eingereihten Netzsimulators von2 ; -
4 eine exemplarische Implementierung eines Paketstromverlust- & -verzögerungsmoduls, wie bei spielsweise Modul3021 von3 , gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; -
5 eine exemplarische Implementierung der Paketstromsteuereinheit von4 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; -
6 eine exemplarische Implementierung eines Paketverlust- & -verzögerungsmoduls, wie beispielsweise Modul4021 von4 , 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 in3 –6 beschrieben ist; und -
9 ein Betriebsflussdiagramm für ein Ausführungsbeispiel der vorliegenden Erfindung. -
1 zeigt ein exemplarisches System10 , das einen Netzsimulator101 gemäß bestimmten Ausführungsbeispielen der vorliegenden Erfindung einsetzt. Bei dem System10 kommunizieren Knoten11 und12 miteinander. Eine derartige Kommunikation durchläuft den Netzsimulator101 , 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 Netzsimulator101 ein eingereihter (in-line) Netzsimulator, durch den die tatsächliche Kommunikation zwischen den Knoten11 und12 fließt, und der Netzsimulator101 unterbricht die Kommunikation zwischen den Knoten11 und12 (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 Knoten11 und11 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 von1 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 Netzsimulator101 fließt. Durch ein Simulieren der Unterbrechungen, die durch den Netzsimulator101 auferlegt sind, können beispielsweise die Wirkungen derartiger Unterbrechungen auf das Verhalten der Knoten11 und/oder12 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 Netzsimulator101 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 Netzsimulator101 von1 als ein Netzsimulator101A implementiert ist, der innerhalb eines GBIC (eines Gigabit-Schnittstellenwandlers, der von elektrischen Signalen zu optischen umwandelt und umgekehrt)24 enthalten ist, der in eine Netzumgebung21 eingesteckt ist. Bei diesem Bei spiel umfasst somit ein System10A Knoten11 und12 , die über eine Netzausrüstung21 und22 , die beispielsweise Router und/oder Schalter sein kann, kommunikativ gekoppelt sind, und der Netzsimulator101A ist als eine Komponente des GBIC24 eingesetzt, die mit zumindest einer von derartigen Netzausrüstungsvorrichtungen gekoppelt ist, in diesem Fall der Vorrichtung21 . Bei bestimmten Ausführungsbeispielen ist ferner eine Steuerstation23 enthalten, die Konfigurationsparameter zu dem Netzsimulator101A laden kann, wie es weiter unten beschrieben ist. - Bei der exemplarischen Implementierung von
2 enthält der GBIC24 eine kleine ASIC- oder FPGA-basierte Maschine zum Implementieren des Netzsimulators101A , der eine Netzverkehrslastsimulation zum Verzögern durchlaufender Pakete oder sogar Fallenlassen derselben gemäß einer Verteilungscharakteristik durchführt, die von der Steuerstation23 heruntergeladen ist. Diese könnte eine einmalige Herunterladung für die Dauer des Experiments sein oder die Steuerstation23 könnte die Netzcharakteristika in dem Netzsimulator101A (z.B. basierend auf einer echten oder experimentellen Netzspeisung zu einer derartigen Steuerstation23 ) kontinuierlich aktualisieren. Exemplarische Implementierungen des Netzsimulators101A , der innerhalb des GBIC24 eingesetzt sein kann, sind weiter unten beschrieben. Während der Netzsimulator101A bei diesem Beispiel als ein Teil eines GBIC24 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üstung21 und/oder einem GBIC24 , etc.), oder kann als ein integrierter Teil einer anderen Vorrichtung implementiert sein, wie beispielsweise der Ausrüstung21 und/oder des GBIC24 , 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 Knoten11 und12 über ein tatsächliches Netz (über eine Netzausrüstung21 und22 ) und somit wird der Netzsimulator101 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 Knoten11 und12 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 Simulator101A , 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 Netzsimulator101A 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 Steuerstation23 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 Netzsimulator101A in dem Netz aktiv sein und durch die Steuerstation23 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 Netzsimulator101A 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 GBIC24 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 Netzsimulator101A implementiert, um nur wenige mW zu nutzen. Bestimmte Ausführungsbeispiele des eingereihten Netzsimulators101A 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 GBIC24 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 Netzsimulators101A , der hierin ferner als in dem GBIC24 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 Steuerstation23 eine Verteilungstabelle zu dem Netzsimulator101A , der in dem GBIC24 implementiert ist. Anfänglich kann der Netzsimulator101A 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 Netzsimulators101A 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 Netzsimulator101A 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 Steuerstation23 konfigurierbar). -
3 zeigt ein exemplarisches Ausführungsbeispiel des eingereihten Netzsimulators101A von2 , der als ein Simulator101A1 gezeigt ist. Dieser exemplarische eingereihte Netzsimulator101A1 umfasst einen Paketklassifizierer301 , der wirksam ist, um eingehende Pakete zum empfangen und jedes Paket in einen geeigneten von M Paketströmen3021 , ...302M zu klassifizieren. Der Paketklassifizierer301 empfängt eingehende Pakete, die von einem Quellknoten (z.B. dem Knoten11 von2 ) zu einem Bestimmungsknoten (z.B. dem Knoten12 von2 ) 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 Netzsimulator101A1 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 Paketklassifizierer301 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 Paketklassifizierers301 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 Klassifizierers301 unterliegt. Der Paketklassifizierer301 hält in diesem Fall Zähler, die rückgesetzt werden, sobald ein spezifiziertes Intervall abläuft. Beispielsweise kann der Paketklassifizierer301 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 Paketklassifizierer301 , 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 Netzsimulator101A1 mehrere Paketfilter (z.B. einen Satz von Paketfiltern pro Strom) aufweisen, die unterschiedliche Paketströme3021 , ...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 Netzsimulator101A1 kann jedoch selbst hinsichtlich dieser Verteilungen agnostisch sein. Es können Verteilungstabellen vorgese hen sein, die durch die Steuerstation23 (von2 ) „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 Knoten11 zu dem Knoten12 in1 und2 gesendet werden). Der eingereihte Netzsimulator101A1 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öme3021 , ...302M abhängig von Paketfiltern, die durch einen derartigen Paketklassifizierer301 eingesetzt werden. Bei bestimmten Ausführungsbeispielen können die Paketfilter benutzerkonfigurierbar sein und können von Zeit zu Zeit über die Steuerstation23 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 (in3 mit3021 etikettiert) gerichtet werden. Dieses Modul3021 kann geringe Verzögerungen und einen geringen Paketverlust einbringen. Das heißt eine entsprechende Verteilung für Paketverzögerungen und einen Paketverlust kann dem Modul3021 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 (in3 mit302M 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 Modul302M für eine Verwendung bei einem Unterbrechen der Pakete, die zu demselben gesendet werden, in einer zu der Unterbrechung, die durch das Modul3021 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 Netzsimulator101A1 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 Paketklassifizierer301 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 Paketklassifizierer301 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 Paketklassifizierer301 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 Paketklassifizierer301 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 von3 erneut in einem einzigen Paketstrom über einen MUX303 . Der MUX303 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 MUX303 wird dann entlang dem Kommunikationsweg desselben von einem Quellknoten (z.B. dem Knoten11 von2 ) zu dem Bestimmungsknoten (z.B. dem Knoten12 von2 ) 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 von3 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 von3 , ist in4 gezeigt. Wie es bei der exemplarischen Implementierung von4 gezeigt ist, kann das Modul3021 den Paketstrom weiter in Paketunterströme (oder „Unterklassifikationen")4021 , ...,402N teilen. Zum Beispiel umfasst die exemplarische Implementierung des Moduls3021 , die in4 vorgesehen ist, eine Paketstromsteuereinheit401 , die die Pakete empfängt, die durch den Paketklassifizierer301 (3 ) zu dem Modul3021 gerichtet werden. Die Paketstromsteuereinheit401 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 (von3 ) 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 Paketklassifizierer301 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 Weg403 senden, d.h. dieselbe entfernt einfach Pakete aus dem Strom, falls bestimmte Schwellen überschritten werden. Jeder Paketunterstrom unterliegt, nachdem derselbe die Paketstromsteuereinheit401 verlässt, einem Paketverlust und einer Verzögerung innerhalb des entsprechenden Paketstromverlust- & -verzögerungsmoduls4021 , ...,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 Module302 ) definiert sein und in einigen Fällen weist ein gegebenes Modul302 keine Mehrzahl von unterschiedlichen Unterstrommodulen402 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 MUX404 bei dem exemplarischen Ausführungsbeispiel von4 in einen ausgehenden Paketstrom von dem Paketstromverlust- & -verzögerungsmodul3021 . Der MUX404 kann Pakete in der Priorität der Paketstromverlust- & -verzögerungsmodule4021 , ...,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 von3 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 Paketklassifizierers301 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 Paketstrom3021 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 Paketklassifizierer301 kann einen Filteraufbau aufweisen, derart, dass, falls eine IP-Paket-Größe300 Bytes oder weniger beträgt, dasselbe zu einem Paketstromverlust- & -verzögerungsmodul302K und andernfalls zu einem anderen Paketstromverlust- & -verzögerungsmodul (in3 nicht gezeigt) weitergeleitet wird. Jeder der Paketströme wird durch ein Paketstromverlust- & -verzögerungsmodul (4 ) verarbeitet. Zuerst wird die Paketstromsteuerung401 durch ein Anwenden spezifischer Strategien bestimmt, d. h. sendet ein Signal zu einem Selektor504 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 Module501 ,502 und503 in5 realisiert. Der Selektor504 gibt an, zu welchen Paketstromverlust- & -verzögerungsmodul402 das UDP-Paket zu irgendeiner gegebenen Zeit geht. Zusammenfassend gesagt erzeugt der Paketklassifizierer301 basierend auf Paketfiltern Paketströme oder -flüsse. Diese Ströme unterliegen später einer spezifischen Verlust- und Verzögerungsverarbeitungsmaschine402 , die durch eine Zeit (Wann und Dauer) getrieben ist. Dies ist durch eine Paketstromsteuerung für Einen realisiert. Das Paketstromverlust- & -verzögerungsmodul402 hält Pakete zurück und selbst wenn ein Paketstrom an dem Klassifizierer301 in den eingereihten Simulator eintrat, werden folglich unterschiedliche Paketströme eventuell zu der gleichen Zeit an dem MUX303 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 Paketstromsteuereinheit401 detaillierter gezeigt. Diese exemplarische Implementierung der Paketstromsteuereinheit401 umfasst Steuermodule5031 , ...,503K , eine Selektoreinheit504 und einen deMUX 505. Jedes der Steuermodule5031 , ...,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 Steuermodul5031 weist beispielsweise einen demselben zugeordneten Zufallszahlengenerator mit einer beliebigen Verteilung5011 für eine Auftretenszeit (oder „Wann") und einen Zufallszahlengenerator mit einer beliebigen Verteilung5021 für eine „Dauer" auf. Gleichermaßen weist das Steuermodul503K einen demselben zugeordneten Zufallszahlengenerator mit einer beliebigen Verteilung501K für eine Auftretenszeit (oder „Wann") und einen Zufallszahlengenerator mit einer beliebigen Verteilung502K für eine „Dauer" auf. Die Steuermodule5031 , ...,503K steuern den Selektor504 zum Auswählen, zu welchem der Paketstromverlust- & -verzögerungsmodule4021 , ...,402N (4 ) ein eingehendes Paket zu der Paketstromsteuereinheit401 gesendet werden soll, über den deMUX505 . - Bei der exemplarischen Implementierung von
5 sind K Steuerungen über die Steuermodule5031 , ...,503K implementiert. Für eine einfache Darstellung zeigt5 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 Steuerstation23 (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ögerungsmodul4021 , ...,402N von4 ). In der „gelben" Zone (falls lediglich die Steuerung1 das Ausgangssignal derselben auf hoch setzt) wird der Verkehr zu einem Unterstrom2 gerichtet (z.B. zu einem zweiten Paketstromverlust- & -verzögerungsmodul4021 , ...,402N von4 ) und in der „roten" Zone (die Steuerung2 setzt das Ausgangssignal derselben auf hoch) wird der Verkehr zu einem Unterstrom3 gerichtet, der ein Biteimer sein kann (z.B. Paketverlust/ -abfall403 in4 ). Der Selektor504 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 Moduls4021 von4 , gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Das exemplarische Modul4021 von6 umfasst ein Gatter601 , ein Zeitstempelmodul602 , einen Puffer603 , ein Gatter604 , einen Paketzähler605 , ein Komparatormodul „A"606 , einen Zufallszahlengenerator mit einer beliebigen Verteilung zum Fallenlassen von Paketen607 , einen Zufallszahlengenerator mit einer beliebigen Verteilung zum Verzögern von Paketen608 , einen Addierer609 , einen Takt610 und ein Komparatormodul „B"611 . In Betrieb erzeugt ein Paket, das an dem Modul4021 ankommt, ein Ereignis, das zu dem Paketzähler und zu dem Modul608 gerichtet wird. Der Paketzähler605 inkrementiert den Zählwert von Paketen desselben. Das Modul608 erzeugt einen Verzögerungswert. Bevor das Paket weitergeleitet wird, bestimmt das Komparatormodul606 , ob der Abfallpaketzählwert erreicht ist, durch ein Vergleichen des Werts, der durch den Zufallszahlengenerator607 gegeben ist, mit dem Wert, der von dem Paketzähler605 erhalten wird. Falls diese Werte übereinstimmen, signalisiert der Komparator 606 dem Gatter601 , das Paket nicht weiterzuleiten, und setzt den Zähler605 auf 0 rück. Die Module608 erzeugen lediglich einen Wert, falls das Paket nicht fallengelassen wird. Der Verzögerungswert von dem Modul608 wird zu dem aktuellen Taktwert (Zeit), der durch den Takt610 geliefert wird, hinzugefügt und dadurch erzeugt derselbe einen Zeitstempel (einen Zeitpunkt in der Zukunft). Dieser Zeitstempel wird an dem Zeitstempelmodul602 zuerst in einen FIFO603 eingebracht. Das erste Element, das durch das Komparatormodul611 von dem FIFO603 „sichtbar" ist, wird der Zeitstempel sein. Dies bedeutet, dass der Komparator611 einen Zeitstempel aus dem FIFO603 „liest", falls ein derartiger Zeitstempel in dem FIFO ankommt, andernfalls wartet derselbe. Bei einer Implementierung bringt der Komparator611 ein Lesefreigabesignal in den FIFO603 ein, wenn der FIFO603 signalisiert, dass derselbe nicht leer ist. Mit anderen Worten liest der Komparator611 lediglich einen Zeitstempel, falls der FIFO603 signalisiert, dass derselbe nicht leer ist. Dann vergleicht der Komparator611 den gelesenen Zeitstempelwert mit der Zeit des aktuellen Takts. Falls die Werte übereinstimmen, signalisiert der Komparator611 dem Gatter604 , ein Lesen von Daten aus dem FIFO603 zu beginnen. Bei einer Implementierung liest das Gatter604 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 Paketstromsteuerung401 (4 ) empfangen wird. Bei diesem Ausführungsbeispiel treiben die Verteilungstabellen, die durch die Steuerstation23 (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 Steuerstation23 (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 in6 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 FIFO603 ausgesendet oder gelesen werden könnte. Der Paketverlust und die -verzögerung sind durch die Zufallszahlengeneratoren607 und608 getrieben, deren Verteilung wiederum durch die Steuerstation23 gesteuert ist. - Somit wird bei einem Ausführungsbeispiel ein Verkehr von einem Quellknoten zu einem Bestimmungsknoten bei dem eingereihten Netzsimulator
101A empfangen und ein Paketklassifizierer301 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 Steuerung401 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ögerungsmodule4021 –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 Steuerung401 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 Betriebsblock701 ein eingereihtes Netz Pakete, die von einem Quellknoten zu einem Bestimmungsknoten gesendet werden. Bei einem Betriebsblock702 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 Betriebsblock703 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 Netzsimulators101A1 , der oben in3 –6 beschrieben ist. Bei einem Betriebsblock80 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 Steuerstation23 ) zum dem Paketklassifizierer301 definiert, wie bei einem Unterbetriebsblock801 . 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 Steuerstation23 ) zu dem eingereihten Netzsimulator heruntergeladen werden. Bei einem Betriebsblock82 empfängt der Paketklassifizierer301 eingehende Pakete, die von einem Quellknoten zu einem Bestimmungsknoten gesendet werden. Bei einem Betriebsblock83 klassifiziert der Paketklassifizierer301 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ögerungsmodul302 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ögerungsmodule302 eine Mehrzahl von Unterstrommodulen402 umfassen. Folglich empfängt bei derartigen Implementierungen die Paketstromsteuereinheit401 eingehende Pakete und klassifiziert derartige empfangene Pakete weiter in Unterströme und sendet jedes Paket zu einem entsprechenden Paketstromverlust- & -verzögerungsmodul402 basierend auf der weiteren Klassifikation des Pakets, wie bei dem Block803 . Genauer gesagt werden bei einem Ausführungsbeispiel die in5 gezeigten Module zum Implementieren der Paketstromsteuereinheit401 bei einem Betriebsblock804 verwendet, um einen Paketstrom in zeitabhängige Unterströme zu teilen. Bei einem derartigen Ausführungsbeispiel erzeugen die Module501 (5 ) ein Signal basierend auf einer Zeit, d. h. wann das Signal auftritt, und das Modul502 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 Modul501 ein Signal zu der Steuereinheit503 , wobei die Steuereinheit503 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 Steuermodul503 fragt dann das Modul502 , wie lange dieses Ereignis auftreten sollte. Somit erzeugen die Module501 und402 Zeitcharakteristika (Auftretenszeit und Dauer), die durch den Selektor504 zum Teilen des Paketstroms in Unterströme verwendet werden. Es gibt mehrere Sätze von Modulen501 ,502 und503 , die derartige Zeitcharakteristiksignale erzeugen. Der Selektor504 wählt basierend auf diesen Signalkombinationen (Kombinationen von aktiven Signalen von den Steuerungen503 ) aus, zu welchem ausgehenden Unterstrom der eingehende Strom gerichtet werden sollte. Derselbe tut dies durch ein Steuern des deMUX505 . Es könnten mehrere Signale von den Steuermodulen503 zu dem Selektor504 kommen und der Selektor504 entscheidet basierend auf einer gewissen Form einer Taktik, welcher Unterstrom zu wählen ist. Kurz gesagt senden die Module501 und502 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 Steuereinheit503 vorgenommen, die das Signal zu dem Selektor504 sendet. Der Selektor504 wählt basierend auf empfangenen Signalen und der eigenen Taktik desselben einen ausgehenden Unterstrom durch ein Steuern des deMUX505 . 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ögerungsmodul402 , zu dem ein Paket (eines entsprechenden Unterstroms) von der Paketstromsteuereinheit401 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 in6 gezeigten Module zum Implementieren eines Paketverlust- & -verzögerungsmodul402 bei einem Betriebsblock804 verwendet. Bei einem derartigen Ausführungsbeispiel wird durch ein Vergleichen eines Paketzählwerts605 mit einer erzeugten Zufallszahl607 bei dem Komparator606 eine Ankunft eines Pakets daraufhin geprüft, ob dasselbe einem Paketabfall unterliegt. Falls das Paket nicht fallengelassen wurde, erzeugt der Komparator608 einen Verzögerungswert, der, wenn derselbe zu der aktuellen Zeit des Takts610 hinzugefügt wird, einen Zeitstempel602 („Zeit in der Zukunft") erzeugt. Dieser Zeitstempel wird dann in den FIFO603 vor irgendwelchen Paketdaten eingebracht. Dann werden die Daten des Pakets in den FIFO603 geschrieben. Bei einer Implementierung setzt der Zeitstempel602 das Schreibfreigabesignal des FIFO603 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 Komparator611 einen Zeitstempel von dem FIFO603 und vergleicht denselben mit der tatsächlichen Zeit des Takts610 . Falls diese Zeiten übereinstimmen, signalisiert der Komparator611 dem Gatter604 , ein Lesen von Daten von dem FIFO603 zu beginnen und dieselben zu dem Ausgang zu senden. Ein Lesen endet, wenn das Ende des Pakets gefunden wird, und der Komparator611 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 Komparator611 , dass ein Signal „leer" niedrig wird (was angibt, dass der FIFO nicht leer ist), und bringt dann ein „Lesefreigabe"-Signal zu dem FIFO603 ein und liest lediglich den Zeitstempel. Falls also der Zeitstempel 8 Bytes lang ist und das FIFO-Wort16 Bits beträgt, dann bleibt die „Lesefreigabe" bei einer Implementierung lediglich 4 Taktzyklen lang EIN. Bis zu dem Ende der 4 Taktzyklen hat der Komparator611 den Zeitstempel in dem Register desselben und derselbe kann ein Vergleichen mit der aktuellen Zeit beginnen, die von dem Takt610 kommt. Sobald diese Werte übereinstimmen, sendet der Komparator611 ein Signal zu dem Gatter604 , um ein Lesen der Paketdaten von dem FIFO603 zu beginnen. Dies bedeutet, dass das Gatter604 ein sehr einfaches Modul ist, das ein Signal von dem Komparator611 nimmt und ein Flip-Flop setzt, so dass dasselbe ein kontinuierliches Signal erhält, das eine „Lesefreigabe" des FIFO603 treibt. Sobald das Gatter604 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 MUX404 (4 ) an, der ein Senden von Paketen von den Paketverlust- & -verzögerungsmodulen402 steuert. Bei einem Betriebsblock86 kommt das ausgehende Paket von dem MUX404 an dem MUX303 (3 ) an, der ein Senden von Paketen (die nicht fallengelassen sind) von den Paketstromverlust- & -verzögerungsmodulen302 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 Paketklassifizierer301 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 Paketstromsteuerungen401 , 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 Paketstromsteuerung401 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 Selektor504 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 Netzsimulators101A in einer nicht deterministischen Weise unter Verwendung von Zufallszahlengeneratoren an Strömen von Paketen wirksam. Der eingereihte Netzsimulator101A betrachtet zuerst Pakete, die durch den Klassifizierer301 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 bei3 –6 und dem Betriebsfluss von8 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 Betriebsblock901 wird ein Paketstrom an einer Steuerung empfangen, wie beispielsweise der Steuerung Paketstromsteuerung401 von4 . Bei einem Block902 teilt die Steuerung den Paketstrom in unterschiedliche zeitabhängige Paketunterströme, wie beispielsweise die Unterströme, die zu den Paketverlust- & -verzögerungsmodulen4021 –402N in4 gesendet werden. Bei einem Block903 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 Unterstrommodule4021 –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 Paketstromsteuerung401 selektiv unterschiedliche Zeitcharakteristika erzeugt, z.B. Auftretenszeit (oder „Wann") und Dauer, wie es beispielsweise oben in Verbindung mit5 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 Paketklassifizierer301 in3 . Wie es oben beschrieben ist, können somit empfangene Pakete bei bestimmten Ausführungsbeispielen durch eine Paketklassifizierer301 gefiltert werden, um zu bestimmen, zu welchem von einer Mehrzahl von unterschiedlichen Strömen jedes Paket zu senden ist, und der obige Prozess von9 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 Klassifizierer301 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 Klassifizierer301 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)
- 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 ). - 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. - 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.
- Verfahren gemäß Anspruch 3, bei dem die Verteilungen auf Verteilungen basieren, die für ein Netz beobachtet werden, das simuliert werden soll.
- Verfahren gemäß Anspruch 3 oder 4, bei dem die Verteilungen zumindest eine begrenzte exponentielle Verteilung umfassen.
- 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 ). - 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. - Verfahren gemäß Anspruch 6 oder 7, das ferner folgenden Schritt aufweist: Zuordnen der Paketverzögerungsverteilungstabellen und der Paketverlustverteilungstabellen zu entsprechenden Paketklassifikationen.
- 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.
- Verfahren gemäß Anspruch 9, bei dem der Typ der empfangenen Pakete IP-Paket- und Nicht-IP-Paket-Typen aufweist.
- Verfahren gemäß Anspruch 9 oder 10, bei dem der Typ der empfangenen Pakete TCP- und UDP-Typen aufweist.
- 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.
- 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.
- 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.
- Verfahren gemäß Anspruch 14, bei dem die entsprechenden Unterbrechungscharakteristika eines Unterstroms definierte Verteilungen für zumindest eine Paketverzögerung oder einen Paketverlust aufweisen.
- 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.
- 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.
- Verfahren gemäß Anspruch 17, bei dem das Parallele getrennte Hardwarekomponenten aufweist, die die Unterbrechungsoperationen parallel durchführen.
- 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.
- 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.
- 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 ). - 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.
- 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.
- Verfahren gemäß Anspruch 23, bei dem die entsprechenden Unterbrechungscharakteristika eines Unterstroms definierte Verteilungen für zumindest eine Paketverzögerung oder einen Paketverlust aufweisen.
- 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.
- 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.
- Verfahren gemäß Anspruch 26, bei dem das Parallele getrennte Hardwarekomponenten aufweist, die die Unterbrechungsoperationen parallel durchführen.
- 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.
- 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.
- 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. - 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. - 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.
- 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.
- 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 ). - 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.
- Verfahren gemäß Anspruch 35, bei dem Klassifizieren zumindest auf einem Pakettyp oder einer Paketgröße basiert.
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - System gemäß Anspruch 44, bei dem die zweite Verteilung eine begrenzte exponentielle Verteilung ist.
- System gemäß einem der Ansprüche 43 bis 45, bei dem die erste Verteilung eine begrenzte exponentielle Verteilung ist.
- 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.
- 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.
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)
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)
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 |
-
2005
- 2005-05-12 US US11/127,350 patent/US7633939B2/en not_active Expired - Fee Related
-
2006
- 2006-03-17 DE DE102006012427A patent/DE102006012427B4/de active Active
- 2006-04-12 GB GB0607385A patent/GB2426144A/en not_active Withdrawn
- 2006-05-08 JP JP2006129380A patent/JP4787669B2/ja active Active
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 |