-
HINWEIS ZU URHEBERRECHT UND HANDELSAUFMACHUNG
-
Ein
Abschnitt der Offenbarung dieser Patentschrift enthält Material,
welches dem Urheberschutz unterliegt. Diese Patentschrift zeigt
und/oder beschreibt möglicherweise
Dinge, welche die Handelsaufmachung des Eigentümers sind oder möglicherweise
werden. Der Eigentümer
des Urheberrechts und der Handelsaufmachung hat keine Einwände gegen
die Faxübertragung
der Patentoffenbarung durch egal wen, wenn diese in Patentakten
oder -unterlagen des Patent- und Markenamtes auftaucht, behält sich
jedoch ansonsten jegliches Urheberrecht und Rechte an der Handelsaufmachung
vor.
-
ALLGEMEINER STAND DER TECHNIK
-
Gebiet der Erfindung
-
Die
Erfindung betrifft Netzwerke und Netzwerkverkehr.
-
Beschreibung des Standes der Technik
-
Netzwerke
wie das Internet stellen eine Vielzahl von Daten bereit, die unter
Verwendung einer Vielzahl von Netzwerkgeräten, einschließlich Servern,
Routern, Hubs, Switches und anderen Geräte, kommuniziert werden. Bevor
ein Netzwerk in Betrieb genommen wird, kann das Netzwerk, einschließlich der
darin enthaltenen Netzwerkgeräte,
getestet werden, um einen erfolgreichen Betrieb sicherzustellen. Netzwerkgeräte können getestet
werden, zum Beispiel um sicherzustellen, dass sie wie beabsichtigt funktionieren,
mit den unterstützten
Protokollen übereinstimmen
und den erwarteten Verkehrsanforderungen standhalten.
-
Ein
statistisches Abgleich- und Wartenschlangensystem, welches als SMAQ
bekannt ist, ist in S. Q. Li, S. Park and D. Arifler, „SMAQ:
A Measurement-Based Tool for Traffic Modelling and Queueing Analysis,
Part I – Design
Methodologies and Software Architecture", IEEE Communications Magazine, August
1998; S. Q. Li, S. Park and D. Arifler, „SMAQ: A Measurement-Based
Tool for Traffic Modelling and Queueing Analysis, Part II – Network Applications", IEEE Communications
Magazine, August 1998; und
US-Patentschrift
Nr. 5,583,792 , herausgegeben am 10.12.1996 mit dem Titel „Method and
Apparatus for Integration of Traffic Measurement and Queueing [sic]
Performance Evaluation in a Network System", unter Angabe von San-Qi Li und Chia-Lin
Hwang als die Erfinder, beschrieben. Das in dem Patent und in den
Artikeln beschriebene SMAQ-System umfasst drei Grundkomponenten:
(1) eine Netzwerkverkehr-Statistikmessungskomponente, (2) eine angepasste
Modellierkomponente, welche die Statistiken auswertet, die durch
die erste Komponente erzeugt werden und (3) eine Warteschlangenlösungskomponente,
welche die Modelle analysiert, die durch die zweite Komponente hergestellt
werden. In der Statistikmessungskomponente werden Signalverarbeitungstechniken
verwendet, um die stationären
Statistiken und die Statistiken zweiter Ordnung des Netzwerkverkehrs
zu erhalten. In der angepassten Modellierkomponente wird eine Klasse
von Markow-Kettenmodulierten Ratenprozessen, die als zirkulant modulierte
Ratenprozesse bezeichnet werden, zum statistischen Anpassen der Netzwerkverkehrsstatistiken
an Modelle verwendet. In der Warteschlangenlösungskomponente werden stationäre und zeitabhängige Lösungen der
Puffergröße, Linkkapazität, Verlustrate, Überlastungskontrolle
und des Warteschlangenverhaltens unter Verwendung eines generalisierten
Folding-Algorithmus erhalten. Die daraus entstehende/n Modelle und Analyse
können
verwendet werden, um Verkehr in einem Netzwerk zu übertragen.
Die Beschreibungen des SMAQ-Systems in diesen Veröffentlichungen enthalten
keine Lehre zur Erleichterung der Verwendung oder Automatisierung
der Prozesse jeder der Bestandteilkomponenten oder schlagen diese
vor.
-
Zur
Unterstützung
der Konstruktion, Installation und Wartung von Netzwerken und Netzwerkgeräten können Netzwerke
mit Netzwerkanalysegeräten, Netzwerkkonformitätssystemen,
Netzwerküberwachungsgeräten und
Netzwerkverkehrsgeneratoren erweitert werden, welche hierin alle
als Netzwerktestsysteme bezeichnet werden. Die Netzwerktestsysteme
können
das Senden, Einfangen und/oder Analysieren von Netzwerkkommunikationen
zulassen.
-
Aktuelle
Netzwerkverkehrsanalysewerkzeuge und Verkehrserzeugungssysteme existieren
als separate Einheiten. Es existieren mehrere Techniken zum Sammeln
und Analysieren von Netzwerkdaten. Zu diesen Techniken zählen das
direkte Abspielen aufgezeichneter Daten und die synthetische Erzeugung
von paketbasiertem Verkehr. Aktuelle Systeme kombinieren die statistische
Analyse und Modellierung nicht mit automatischen Skript- und Verkehrserzeugungsfähigkeiten.
-
Bei
einigen Netzwerktestsystemen beinhalten die Aufgaben des Sammelns,
Analysierens und Modellierens von Netzwerkverkehrsdaten, die Erzeugung
von Skripts auf der Grundlage der Netzwerkverkehrdaten und die Erzeugung
synthetischen Netzwerkverkehrs umfangreichen Benutzereingriff.
-
Die
manuell intensiven Aufgaben verlangen nach gut ausgebildetem Personal
mit Erfahrung im Umgang mit einer Reihe von Produkten. Die Anwender
aktueller Netzwerktestsysteme müssen
die Eingabe- und Ausgabespezifikationen jeder der separaten Komponenten
der Systeme verstehen, die im Verlauf des Testprozesses verwendet
werden. Die Schwierigkeit der Verwendung mehrerer Produkte für Netzwerktests
erhöht
sich durch das Risiko menschlicher Fehler an mehreren Stellen im
Verlauf des Testprozesses. Die möglichen
Fehler, die sich aus der Verwendung der aktuellen Netzwerktestsysteme ergeben,
das Personal, das zur Unterhaltung und/oder Verwaltung aktueller
Netzwerktestsysteme benötigt
wird, und das Personal, das zum Betreiben aktueller Netzwerktestsysteme
erforderlich ist, führen zu
hohen Betriebskosten. Außerdem
wurden bei der Vereinfachung aktueller Netzwerktestsysteme zur Verringerung
von durch den Menschen eingebrachten Fehlern, und um weniger Kenntnisse
von den Benutzern zu fordern, die Fähigkeiten aktueller Netzwerktestsysteme
verringert.
-
Die
Erfindung ist durch die beigefügten
unabhängigen
Ansprüche
1, 16 und 27 definiert.
-
BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm einer Umgebung.
-
2 ist
ein Blockdiagramm einer zweiten Umgebung.
-
3 ist
ein Blockdiagramm einer dritten Umgebung.
-
4A ist
ein Funktionsblockdiagramm von Betriebseinheiten gemäß der Erfindung.
-
4B ist
ein Flussdiagramm der Aktionen, die durch die in 4A gezeigten
Betriebseinheiten durchgeführt
werden.
-
5 ist
ein zweites Funktionsblockdiagramm von Betriebseinheiten gemäß der Erfindung.
-
6 ist
ein Blockdiagramm eines Netzwerktestsystems gemäß der Erfindung.
-
7 ist
ein Flussdiagramm eines Verfahrens.
-
8 ist
ein Flussdiagramm der Aktionen, die beim Filtern von Netzwerkverkehr
durchgeführt werden.
-
9 ist
ein Flussdiagramm der Aktionen, die beim Filtern von Internet-Protokoll-Dateneinheiten
durchgeführt
werden.
-
10 ist
eine Netzwerkverkehr-Zusammenfassungstabelle.
-
11 ist
ein Darstellungsvektor einer TCP-Dateneinheit.
-
12 ist
ein Darstellungsvektor einer ICMP-Dateneinheit.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
In
dieser gesamten Beschreibung sind die gezeigten Ausführungsformen
und Beispiele als Modellbeispiele und nicht als Einschränkungen
der unten beanspruchten Elemente zu betrachten.
-
Wie
hierein beschrieben, sind die Netzwerkverkehrsstatistikanalyse und
Statistiksammlung, die Netzwerkverkehrsmodellierung, die Netzwerkverkehrsskriptherstellung
und/oder die Netzwerkverkehrserzeugung automatisiert, um den Benutzereingriff
in Netzwerktests, Netzwerkgerätetests
und Netzwerkanwendungstests zu verringern und diese zu verbessern.
Die Analyse, die Modellierung und das Profiling des Netzwerkverkehrs
ermöglicht
die automatische Erzeugung von Netzwerkverkehrsskripts und/oder
Netzwerkverkehr, die/der das Verhalten des realen Verkehrs in einem
Netzwerk statistisch widerspiegeln/t.
-
Umgebung
-
Bezugnehmend
auf 1 ist ein Blockdiagramm einer Umgebung gezeigt.
Die Umgebung umfasst die Netzwerktest-Chassis 110 und 120 miteinander
gekoppelt über
eine dedizierte Leitung oder ein dediziertes Netzwerk 150,
mehrere netzwerkfähige Geräte 130 und
ein Netzwerk 140, mit denen jedes der Netzwerktest-Chassis
gekoppelt sein kann.
-
Das
Netzwerk 140 kann ein lokales Netzwerk (LAN – local
area network), ein Weitverkehrsnetz (WAN – wide area network), ein Speichernetzwerk (SAN – storage
area network) oder eine Kombination aus diesen sein. Das Netzwerk 140 kann
verdrahtet, drahtlos oder eine Kombination aus diesen sein. Das Netzwerk 140 kann
das Internet sein oder dieses enthalten. Das Netzwerk 140 kann öffentlich
oder privat sein, und es kann ein abgetrenntes Testnetzwerk sein.
Das Netzwerk 140 kann aus zahlreichen Knoten bestehen,
die zahlreiche physische und logische Pfade für die Bewegung von Daten bereitstellen.
-
Kommunikationen
auf dem Netzwerk 140 können
verschiedene Formen annehmen, einschließlich Rahmen, Zellen, Datagramme,
Pakete oder andere Informationseinheiten, von denen alle hierin
als Dateneinheiten bezeichnet werden. Das Netzwerktestsystem 100 und
die netzwerkfähigen Geräte 130 können gleichzeitig
miteinander kommunizieren, und es kann mehrere logische Kommunikationslinks
zwischen den Netzwerktestchassis 110 und 120 zu
einem gegebenen netz werkfähigen
Gerät 130 geben.
Diese Dateneinheiten, die über
ein Netzwerk kommuniziert werden, werden hierin als Netzwerkverkehr
bezeichnet.
-
Die
Netzwerktestchassis 110 und 120 können ein
oder mehrere aus einem Verkehrsgenerator, einem Leistungsanalysator,
einem Übereinstimmungsvalidierungsystem,
einem Netzwerkanalysator, einem Netzwerkmanagementsystem und/oder anderen
sein oder diese enthalten. Die Netzwerktestchassis können ein
Betriebssystem, wie zum Beispiel Versionen von Linux, Unix und Microsoft
Windows, enthalten. Die Netzwerktestchassis 110 und 120 können eine
oder mehrere Netzwerkkarten 114 und 124 und die
Rückwandplatine 112 und 122 enthalten.
Die Netzwerktestchassis 110 und 120 und/oder eine
oder mehrere der Netzwerkkarten 114 und 124 können über eine
oder mehrere Verbindungen 118 und 128 mit dem
Netzwerk 140 gekoppelt sein. Die Verbindungen 118 und 128 können verdrahtet
oder drahtlos sein. Die Netzwerktestchassis 110 und 120 können für die direkte
Kommunikation miteinander über
die Leitung 150 gekoppelt sein. Die Netzwerktestchassis 110 und 120 können auch über das
Netzwerk 140 miteinander kommunizieren.
-
Die
Netzwerktestchassis 110 und 120 können in
Form eines Kartenrahmens, wie in 1 gezeigt,
vorliegen, oder sie können
eine integrierte Einheit sein. Alternativ dazu kann jedes der Netzwerktestchassis
eine Reihe von separaten Einheiten umfassen, die zusammenarbeiten,
um die Verkehrserzeugung, den Verkehr und/oder die Netzwerkanalyse,
Netzwerkübereinstimmungstests
und weitere Aufgaben bereitzustellen.
-
Die
Netzwerktestchassis 110 und 120 und die Netzwerkkarten 114 und 124 können einen
oder mehrere gut bekannte Kommunikationsstandards oder Protokolle
höheren
Levels unterstützen,
wie zum Beispiel das User Datengram Protocol (UDP), das Transmission
Control Protocol (TCP), das Internet Protocol (IP), das Internet
Control Message Protocol (ICMP), das Hypertext Transfer Protocol (HTTP),
das Address Resolution Protocol (ARP), das Reverse Address Resolution
Protocol (RARP), das File Transfer Protocol (FTP) und das Simple
Mail Transfer Protocol (SMTP), und sie können einen oder mehrere gut
bekannte Kommunikationsstandards oder Protokolle niedrigeren Levels
unterstützen,
wie zum Beispiel den 10-Gigabit-Ethernet-Standard, die Fibre Channel-Standards
und eine oder mehrere Varietäten
der IEEE 802 Ethernet-Standards,
Asynchronous Transfer Mode (ATM), X.25, Integrated Services Digital
Netzwerk (ISDN), Token-Ring, Frame-Relay, Point-to-Point Protocol
(PPP) und Fiber Distributed Data Interface (FDDI), und sie können eigene
Protokolle wie auch weitere Protokolle unterstützen.
-
Der
Begriff Netzwerkkarte beinhaltet Leitungskarten, Testkarten, Analysekarten,
Netzwerkleitungskarten, Lastmodule, Schnittstellenkarten, Netzwerkschnittstellenkarten,
Datenschnittstellenkarten, Paket-Engine-Karten, Service-Karten,
Smart-Cards, Schalt-Karten,
Relaiszugangskarten, CPU-Karten, Port-Karten und andere. Die Netzwerkkarten
können auch
als Blades bezeichnet werden. Die Netzwerkkarten 114 und 124 können einen
oder mehrere Computerprozessoren, Field Programmable Gate Arrays
(FPGA), Application Specific Integrated Circuits (ASIC), Programmable
Logic Devices (PLD), Programmable Logic Arrays (PLA), Prozessoren
und andere Arten von Geräten
enthalten. Die Netzwerkkarten können
Speicher enthalten, wie zum Beispiel Random Access Memory (RAM).
Außerdem
können die
Netzwerkkarten 114 und 124 Software und/oder Firmware
enthalten.
-
Zumindest
eine Netzwerkkarte 114 und 124 in jedem der Netzwerktestsysteme 110 und 120 kann eine
Schaltung, einen Chip oder einen Chipsatz enthalten, die/der die
Kommunikation über
ein Netzwerk als ein oder mehrere netzwerkfähige Geräte erlaubt. Ein netzwerkfähiges Gerät ist jedes
Gerät,
das über das
Netzwerk 140 kommunizieren kann. Die Netzwerkkarten 114 und 124 können mit
dem Netzwerk 140 über
eine oder mehrere Verbindungen 118 und 218 verbunden
sein, bei welchen es sich um Drahtleitungen, Glasfaserkabel, drahtlose
und andere Verbindungen handeln kann. Obwohl jeweils nur eine der
Verbindungen 118 und 218 gezeigt ist, kann es mehrere
Verbindungen mit dem Netzwerk 140 von den Netzwerktestchassis 110 und 120 und
den Netzwerkkarten 114 und 124 aus geben. Jede
Netzwerkkarte 114 und 124 kann ein einzelnes Kommunikationsprotokoll
unterstützen,
sie kann eine Reihe von verwandten Protokollen unterstützen oder
sie kann eine Reihe nichtverwandter Protokolle unterstützen. Die
Netzwerkkarten 114 und 124 können permanent in den Netzwerktestsystemen 110 und 120 installiert sein,
sie können
entfernbar sein oder sie können
eine Kombination davon sein. Auf einer oder mehreren der Netzwerkkarten 114 und 124 kann
sich ein Betriebssystem befinden, wie zum Beispiel eine Version des
Linux-Betriebssystems.
Jedes der Netzwerktestchassis 110 und 120 kann
eine CPU-Karte enthalten, die es dem Chassis ermöglicht, auch als eine Computerworkstation
zu dienen.
-
Die
Rückwandplatinen 112 und 122 können als
ein Bus- oder Kommunikationsmedium für die Netzwerkkarten 114 und 124 dienen.
Die Rückwandplatinen 112 und 122 können auch
die Netzwerkkarten 114 und 124 mit Strom versorgen.
-
Die
netzwerkfähigen
Geräte 130 können sämtliche
Geräte
sein, die in der Lage sind, über
das Netzwerk 140 zu kommunizieren. Die netzwerkfähigen Geräte 130 können Rechengeräte wie Workstations,
PCs, Server, tragbare Computer, PDAs, Tablet-Computer und ähnliche
sein; Peripheriegeräte
wie Drucker, Scanner, Faxgeräte
und ähnliche;
netzwerkfähige
Speichergeräte,
einschließlich
Plattenlaufwerke wie Network Attached Storage (NAS) und SAN-Geräte; sowie
Vernetzungsgeräte
wie Router, Relais, Firewalls, Hubs, Schalter, Brücken, Verkehrsbeschleuniger
und Multiplexer. Außerdem
können
zu den netzwerkfähigen
Geräten 130 Vorrichtungen
wie Kühlschränke, Waschmaschinen
und ähnliche
sowie Haushalts- oder gewerbliche Klimaanlagen, Alarmsysteme und
jedes andere Gerät
oder System zählen,
welches in der Lage ist, über
ein Netzwerk zu kommunizieren. Ein oder mehrere netzwerkfähige Geräte 130 können zu
testende Geräte
sein und können
als Geräte
im Test bezeichnet werden.
-
Jedes
der Netzwerktestchassis 110 und 120 sowie eine
oder mehrere der Netzwerkkarten 114 und 124 können Software
enthalten, die ausgeführt wird,
um die hierin beschriebenen Techniken zu erreichen. Wie hierin verwendet,
umfasst der Begriff Software sämtliche
Anweisungen, die auf einem Computerprozessor jeglicher Art ausgeführt werden
können. Die
Software kann in jeder Computersprache implementiert sein und sie
kann als Objektcode ausgeführt werden,
kann ein Anordnungs- oder Maschinencode sein, eine Kombination aus
diesen oder andere. Der Begriff Anwendung betrifft ein oder mehrere
Softwaremodule, Softwareroutinen oder Softwareprogramme und Kombinationen
davon. Eine Suite umfasst ein/e oder mehrere Softwareanwendungen, Softwaremodule,
Softwareroutinen oder Softwareprogramme und Kombinationen davon.
Die hierin beschriebenen Techniken können als Software in Form von
einer oder mehreren Anwendungen und Suites implementiert sein und
können
Treiber niedrigeren Levels, Objektcode und andere Software niedrigeren Levels
enthalten.
-
Die
Software kann auf jedem lokalen oder entfernten maschinenlesbaren
Medium gespeichert sein und darauf ausgeführt werden, wie zum Beispiel, ohne
Einschränkung,
magnetische Medien (z. B. Festplatten, Band, Disketten), optische
Medien (z. B. CD, DVD), Flashspeicherprodukte (z. B. Memory-Stick,
Kompakt-Flash und andere) und flüchtige und
nichtflüchtige
Siliziumspeicherprodukte (z. B. Direktzugriffsspeicher (RAM), programmierbarer Nur-Lese-Speicher
(PROM), elektronisch löschbarer und
programmierbarer Nur-Lese-Speicher (EEPROM) und andere). Ein Speichergerät ist jedes
Gerät,
welches das Lesen von und/oder Schreiben auf ein maschinenlesbares
Medium zulässt.
-
Die
Netzwerktestchassis 110 und 120 können jeweils
durch ein oder mehrere Rechengeräte mit
darin enthaltenen Netzwerkkarten erweitert oder durch diese ersetzt
werden, einschließlich,
jedoch nicht darauf beschränkt,
PCs und Computerworkstations.
-
2 ist
ein Blockdiagramm einer zweiten Umgebung. Die Netzwerktestchassis 210 und 220 können über die
dedizierten Kommunikationsleitungen 252 und 254 mit
einer Computerworkstation 250 gekoppelt sein. Die Computerwork station 250 kann jedes
beliebige Rechengerät
sein. Die Computerworkstation 250 kann ein Speichergerät für den Zugriff
auf ein Speichermedium umfassen, auf dem Software gespeichert ist,
welche die hierin beschriebenen Techniken implementiert. Die Software,
welche die hierin beschriebenen Techniken implementiert, kann von
der Workstation 250 auf jedes der Netzwerktestchassis 210 und 220 und
die darin enthaltenen Netzwerkkarten heruntergeladen werden. Die
Workstation 250 kann sich physisch neben den oder entfernt
von den Netzwerktestchassis 210 und 220 befinden. Ähnlich können sich
die Netzwerktestchassis 210 und 220 physisch nebeneinander
oder entfernt voneinander befinden.
-
Das
Netzwerktestchassis 210 kann über eine oder mehrere Verbindungen 268 mit
einem Produktionsnetzwerk 260 gekoppelt sein. Der Begriff „Produktionsnetzwerk", wie hierin verwendet,
steht für
ein Netzwerk, das im regulären
Geschäftsverlauf funktioniert.
Als solches umfasst ein Produktionsnetzwerk Netzwerkverkehr ausgehend
von und zwischen Endbenutzern und anderen Clientgeräten und -servern
wie Webservern und Anwendungsservern, sowie anderen netzwerkfähigen Geräten 270,
die an das Produktionsnetzwerk 260 angeschlossen sind oder
anderweitig darüber
kommunizieren. Das Netzwerktestchassis 210 kann den Verkehr
auf dem Produktionsnetzwerk 260 abhören und ihn von dort einfangen
oder prüfen.
-
Das
Netzwerktestchassis 220 kann über eine oder mehrere Verbindungen 228 mit
einem Testnetzwerk 280 gekoppelt sein. Der Begriff „Testnetzwerk," wie hierin verwendet,
steht für
jedes beliebige Netzwerk, das zu testen ist, einschließlich private
abgetrennte Netzwerke und öffentlich
zugängliche Netzwerke.
Das Testnetzwerk 280 kann ein oder mehrere netzwerkfähige Geräte 290 umfassen,
welche getestet werden können
und die als Geräte
im Test bezeichnet werden können.
Das Netzwerktestchassis 220 kann Dateneinheiten, die an
die netzwerkfähigen
Geräte 290 gerichtet
sind, über
das Testnetzwerk 280 senden oder anderweitig übertragen
oder kommunizieren.
-
Jedes
der Netzwerktestchassis 210 und 220 kann eine
CPU-Karte enthalten, die es dem Chassis erlaubt, als eine Computerworkstation
zu dienen. Speichergeräte
und Speichermedien wie Festplattenlaufwerke können in den Testchassis 210 und 220 enthalten
sein und auf dem Chassis, den CPU-Karten und/oder darin enthaltenen
Netzwerkkarten enthalten und/oder damit gekoppelt sein.
-
3 ist
ein Blockdiagramm einer dritten Umgebung. Das Netzwerktestchassis 310 kann über die
Kommunikationsleitung 368 zum Empfangen, Prüfen und/oder
Einfangen von Netzwerkverkehr von den Geräten 370 auf dem Produktionsnetzwerk 360 gekoppelt
sein. Das Netzwerktestchassis 310 kann über die Kommunikationsleitung 338 zum Übertragen
von Netzwerkverkehr an die Geräte 390 auf
dem Testnetzwerk 380 gekoppelt sein.
-
Das
Netzwerktestchassis 310 kann eine Anzeige 316 und
Benutzereingabegeräte
wie eine Tastatur 312 und eine Maus 314 sowie
weitere Benutzereingabegeräte
darin enthalten, wie zum Beispiel Stifte und Trackballs, welche
alle mit einer CPU-Karte gekoppelt sein können, die sich im Chassis befindet.
Ein Festplattenlaufwerk oder ein anderes Speichergerät können im
Netzwerktestchassis 310 enthalten sein, zum Speichern von
Software, welche die hierin beschriebenen Techniken implementiert.
Die Software, welche die hierin beschriebenen Techniken implementiert,
kann von der CPU-Karte zu den Netzwerkkarten, die sich im Netzwerktestchassis 310 befinden,
kommuniziert werden. Das Netzwerktestchassis 310 kann sich
physisch neben den oder entfernt von den Geräten 370 im Produktionsnetzwerk 360 und
den Geräten 390 im
Testnetzwerk 380 befinden.
-
Überblick
-
4A ist
ein Funktionsblockdiagramm von Betriebseinheiten gemäß der Erfindung. 4B ist ein
Flussdiagramm der Aktionen, die durch die in 4A gezeigten
Betriebseinheiten gemäß der Erfindung
durchgeführt
werden. Ein Netzwerktestsystem 400 kann die Sammler 410 zum
Einfangen, Sammeln, Filtern und Durchführen weiterer Operationen an
dem Netzwerkverkehr, der vom Netzwerk 460 gesammelt wurde,
enthalten, wie in Block 412 gezeigt. Die Sammler können Netzwerkverkehrsdaten
zusammentragen. Die Sammler können
mit der Charakterisierungseinheit 420 gekoppelt sein und
gesammelten und gefilterten Netzwerkverkehr an sie weitergeben.
Die Charakterisierungseinheit 420 kann den gesammelten
und gefilterten Netzwerkverkehr und/oder die Netzwerkverkehrsdaten
analysieren, modellieren, profilieren, sortieren und weitere Operationen
daran durchführen,
um eine Netzwerkverkehrscharakterisierung zu erzeugen, wie in Block 422 gezeigt.
-
Die
Rückkopplung 470 kann
durch die Charakterisierungseinheit 420 verwendet werden,
um anzufordern, dass die Sammler 410 zusätzliche
Arten oder Typen von Daten in Bezug auf spezifische Arten oder Typen
von Netzwerkverkehr sammeln. Die Charakterisierungseinheit 420 kann
auf der Grundlage der Analyse der Netzwerkverkehrsdaten die durch die
Sammler 410 gesammelten und zusammengetragenen Netzwerkverkehrsdaten
automatisch einstellen. D. h. die Charakterisierungseinheit 420 kann über die
Rückkopplung 470 anfordern,
dass die Sammler 410 zusätzliche Informationen in Bezug
auf den Netzwerkverkehr sammeln oder aufrechterhalten. Die Charakterisierungseinheit 420 kann
auch über
die Rückkopplung 470 anfordern,
dass die Sammler 410 die gesammelten Informationen auf
Informationen in Bezug auf spezifizierte Arten oder Typen des Netzwerkverkehrs
begrenzen. Wenn die Charakterisierungseinheit 420 zusätzliche
Informationen über
den Netzwerkverkehr erhält,
kann die Charakterisierungseinheit 420 über die Rückkopplung 470 nacheinander
detailliertere Informationen über
begrenzte Sätze
oder Arten von Dateneinheiten anfordern.
-
Die
Charakterisierungseinheit 420 kann mit einem Skript-Generator 430 gekoppelt
sein. Der Skript-Generator 430 kann
Verkehrsübertragungsskripts
auf der Grundlage der Netzwerkverkehrscharakterisierung herstellen,
wie in Block 432 gezeigt. Der Skript-Generator 430 kann
mit dem Verkehrsgenerator 440 gekoppelt sein. Der Verkehrsgenerator 440 kann
Testnetzwerkverkehr auf das Netzwerk 460 gemäß der Skripts
erzeugen, die durch den Skript-Generator 430 hergestellt
wurden, wie in Block 442 gezeigt. Der Testnetzwerkverkehr
kann verwendet werden, um netzwerkfähige Geräte zu testen, die mit dem Netzwerk 460 gekoppelt
oder anderweitig durch dieses zugänglich sind, und um die Software zu
testen, die auf den netzwerkfähigen
Geräten
enthalten ist, einschließlich
Anwendungssoftware.
-
Ein
Manager 450 kann mit jedem der Sammler 410, der
Charakterisierungseinheit 420, dem Skript-Generator 430 und
dem Verkehrsgenerator 440 gekoppelt sein. Der Manager 450 kann
eine Benutzerschnittstelle bereitstellen, durch welche ein Benutzer
auf Informationen in Bezug auf den gesammelten Netzwerkverkehr und
die Netzwerkverkehrsdaten, die Skripts und weitere Informationen
zugreifen kann, die Benutzern durch jede der anderen Komponenten
zugänglich
gemacht werden. Außerdem
kann der Manager 450 einem Benutzer eine Schnittstelle
zum Definieren der Arten oder Typen von Netzwerkverkehr bereitstellen,
welche die Sammler 410 möglicherweise sammeln und filtern, die
einem Benutzer das Editieren oder Verbessern der Netzwerkverkehrscharakterisierung
ermöglichen kann,
die einem Benutzer das Editieren oder Verbessern der Skripts, die
durch Skript-Generator 430 erzeugt wurden, ermöglichen
kann und die einem Benutzer das Durchführen weiterer Aufgaben ermöglichen
kann.
-
Außerdem kann
der Manager 450 den Verkehrsgenerator 440 befragen,
um sich über
die Fähigkeiten
des Verkehrsgenerators 440 zu informieren. Auf der Grundlage
der Verkehrserzeugungsfähigkeiten
des Verkehrsgenerators 440 kann der Manager 450 Anfangseinstellungen
bereitstellen und ansonsten den Umfang, die Breite und die Tiefe
des Netzwerkverkehrs und der Netzwerkverkehrsdaten steuern, die
durch die Sammler 410 aus dem Netzwerkverkehr gesucht,
gesammelt und eingefangen wurden. Der Manager kann auch den Umfang,
die Breite und die Tiefe der Skripts steuern, die durch den Skript-Generator 430 auf
der Grundlage der Fähigkeiten
des Verkehrsgenerators 440 hergestellt wurden.
-
5 ist
ein zweites Funktionsblockdiagramm von Betriebseinheiten gemäß der Erfindung. Die
Sammler 510 können
Netzwerkverkehr aus dem Netzwerk 560 einfangen und sammeln.
Die Sammler 510 können
auch Netzwerkverkehrsdateien 512 und/oder Netzwerkverkehrsdaten 514 von
anderen Sammlern (nicht gezeigt) außerhalb des Netzwerktestsystems 500 empfangen,
bei welchen es sich um lokale oder entfernte Netzwerktestsysteme,
Paketschnüffler
oder andere Geräte
und Systeme handeln kann. Die externen Sammler können Verkehrsdateien 512 bereitstellen,
welche Dateneinheiten aus einer Einfanggruppe von Netzwerkverkehr
enthalten, und sie können
Verkehrsdaten 514 für
Dateneinheiten aus einer Einfanggruppe von Netzwerkverkehr bereitstellen.
Außerdem
können
die Sammler 510 Protokolldateien von lokalen oder entfernten
Netzwerktestsystemen und netzwerkfähigen Geräten, einschließlich Servern,
Routern, Gateways und anderen, empfangen und/oder abrufen. Die Sammler 510 können Zugang
zu den Log-Dateien 516 erhalten, indem sie ein Passwort
oder ein anderes Mittel zur Authentifizierung des Zugangs zu den
Log-Dateien vorweisen.
Die Sammler 510 können
durch externe Sammler (nicht gezeigt) ersetzt werden, welche die
Netzwerkverkehrsdateien 512, die Netzwerkverkehrsdaten
und/oder die Log-Dateien 516 direkt an die Charakterisierungseinheit 520 weitergeben.
-
Die
Sammler 510 können
Netzwerkverkehrsdaten aufbereiten und geben die Netzwerkverkehrsdaten
an eine Charakterisierungseinheit 520 weiter. Die Sammler 510 können die
Netzwerkverkehrsdaten 518 auch an einen externen Berichtgenerator 552,
der lokal oder vom Netzwerktestsystem 500 entfernt sein
kann, weitergeben oder sie ihm anderweitig zugänglich machen. Der externe
Berichtgenerator 552 kann ein Softwareprogramm sein, das
auf einem Rechengerät
läuft,
das ein Netzwerktestsystem sein oder ein solches enthalten kann.
Der externe Berichtgenerator 552 kann es einem Benutzer
wie einem Netzwerktestadministrator gestatten, sich die Netzwerkverkehrsdaten über eine
graphische Benutzerschnittstelle oder eine andere Benutzerschnittstelle anzusehen.
-
Die
Charakterisierungseinheit 520 kann die Netzwerkverkehrsdaten
von den Sammlern 510 empfangen und eine Netzwerkverkehrscharakterisierung 522 herstellen,
die Netzwerkverkehrsstatistiken und ein Netzwerkverkehrsmodell enthält. Die
Charakterisierungseinheit 520 kann die Netzwerkverkehrscharakterisierung
an den Skript-Generator 530 weitergeben oder sie ihm anderweitig
zugänglich
machen.
-
Außerdem kann
die Charakterisierungseinheit 520 die Netzwerkverkehrscharakterisierung 522 an
den externen Berichtgenerator 552 weitergeben oder sie
ihm anderweitig zugänglich
machen. Der externe Berichtgenerator 552 kann es einem
Benutzer wie einem Netzwerktestadministrator gestatten, die Netzwerkverkehrscharakterisierung über eine
graphische Benutzerschnittstelle oder eine andere Benutzerschnittstelle
anzusehen.
-
Die
Charakterisierungseinheit 520 kann auch den Typ und die
Art von Filtern, die in den Sammlern 510 verwendet werden,
steuern und definieren. Dadurch kann die Charakterisierungseinheit 520 den
Umfang, die Breite und die Tiefe des Netzwerkverkehrs und der Netzwerkverkehrsdaten
verfeinern, die durch die Sammler 510 gesammelt, eingefangen
und geprüft
werden. Wie oben in Bezug auf die Charakterisierungseinheit 420 und
die Rückkopplung 470 beschrieben,
kann die Rückkopplung 570 durch
die Charakterisierungseinheit 520 verwendet werden um anzufordern,
dass die Sammler 510 Daten in Bezug auf spezifische Arten
oder Typen von Netzwerkverkehr sammeln. Die Charakterisierungseinheit 520 kann
auf der Grundlage der Analyse der Netzwerkverkehrsdaten die Rückkopplung 570 verwenden,
um die durch die Sammler 510 gesammelten und zusammengetragenen
Netzwerkverkehrsdaten automatisch anzupassen. Wenn die Charakterisierungseinheit 520 zusätzliche
Informationen über den
Netzwerkverkehr erhält,
kann die Charakterisierungseinheit 520 über die Rückkopplung 570 nacheinander
detailliertere Informationen über
begrenzte Sätze
oder Arten von Dateneinheiten im Netzwerkverkehr anfordern.
-
Der
Skript-Generator 530 kann Netzwerkverkehrserzeugungs-Skripts
auf der Grundlage der Netzwerkverkehrscharakterisierung herstellen.
Der Skript-Generator
kann die Netzwerkverkehrserzeugungs-Skripts 532 an den
Verkehrsgenerator 540, der im Netzwerktestsystem 500 enthalten
ist, weitergeben oder sie ihm anderweitig zugänglich machen. Der Verkehrsgenerator 540 kann
auf der Grundlage der Netzwerkverkehrserzeugungs-Skripts hinausgehenden
Netzwerkverkehr auf das Netzwerk 560 aufbereiten und übertragen.
Der Skript-Generator kann die Netzwerkverkehrserzeugungs-Skripts 532 auch an
einen externen Verkehrsgenerator 542, der sich lokal oder
vom Netzwerktestsystem 500 entfernt befinden kann, weitergeben
oder sie ihm anderweitig zugänglich
machen. Der externe Verkehrsgenerator 542 kann ein Softwareprogramm
sein, das auf einem Rechengerät
läuft,
das ein Netzwerktestsystem sein oder ein solches enthalten kann.
Der Verkehrsgenerator 540 kann durch den externen Verkehrsgenerator 542 ersetzt
oder durch ihn erweitert werden. Der externe Verkehrsgenerator 542 kann
auf der Grundlage der Netzwerkverkehrserzeugungs-Skripts 532 unabhängig vom
Verkehrsgenerator 540 hinausgehenden Netzwerkverkehr auf
das Netzwerk 560 aufbereiten und übertragen.
-
Systeme
-
6 ist
ein Blockdiagramm eines Netzwerktestsystems 600 gemäß der Erfindung.
Das Netzwerktestsystem 600 kann zwischen ein Produktionsnetzwerk 602 und
ein Testnetzwerk 652 gekoppelt sein. Das Netzwerktestsystem
kann das eingehende Produktionsnetzwerkverkehrschassis 604 und das
ausgehende Testnetzwerkchassis 654 enthalten. Die in einem
oder mehreren der Chassis 604 und 654 enthaltenen
Netzwerkkarten können
Software ausführen,
um die Funktionalität
des Netzwerktestsystems 600 zu erreichen. Zu den Funktionsein heiten des
Netzwerktestsystems 600 können ein oder mehrere Datensammler 612,
ein Charakterisierungs-Engine 620, Skript-Generatoren 630,
Verkehrsgeneratoren 640 und ein Manager 660 zählen.
-
Die
Datensammler 612 prüfen
den Netzwerkverkehr zum Sammeln von Netzwerkverkehrsdaten in Bezug
auf den Netzwerkverkehr auf dem Produktionsnetzwerk 602.
Die Datensammler können
Netzwerkverkehr und Netzwerkverkehrsdaten in Einfanggruppen prüfen, einfangen
und anderweitig erhalten. Wie hierin verwendet, ist eine Einfanggruppe
eine Gruppe von Dateneinheiten oder Netzwerkverkehrsdaten bezüglich der
Dateneinheiten, die über
einen systemdefinierten Zeitraum gesammelt werden (z. B. 3 Minuten,
30 Minuten, 3 Stunden), entweder bis ein Speicherbereich voll ist
oder bis ein vom Benutzer oder vom System spezifizierter Schwellenwert
erreicht wurde.
-
Zu
den Netzwerkverkehrsdaten können
Protokollverteilungsdaten, Längenverteilungsdaten, Transaktionsverteilungsdaten,
Kopfteilinformationen und Nutzabschnittsdaten ausgewählt aus
dem gesammelten Netzwerkverkehr zählen.
-
Die
Protokollverteilungsdaten können
die Protokolle zählen,
die in dem gesammelten Netzwerkverkehr vorliegen. Eine Grobzählung von
Dateneinheiten für
jedes aus einer Gruppe von Protokollen kann aufrechterhalten werden,
um die Protokollverteilungsdaten zusammenzutragen. Ein einfaches Histogramm
kann über
die Anzeigeeinheit 670 des Managers 660 dargestellt
werden, um die Protokollverteilung des Netzwerkverkehrs graphisch
anzuzeigen. Das Zusammentragen der Protokollverteilungsdaten kann
eine Mehrsegmentanalyse beinhalten, wie die schrittweise Weitergabe
oder schrittweise Sammlung mehrerer Einfanggruppen zum Bewerten der
Proportion des Netzwerkverkehrs, der gemäß verschiedener Datenkommunikationsprotokolle
kommuniziert wird.
-
Die
Längenverteilungsdaten
können
für jedes
Protokoll, für
Dateneinheiten einer bestimmten Größe und für bestimmte Raten- oder Geschwindigkeitseigenschaften
von Dateneinheiten, die im Netzwerkverkehr gesammelt werden, zusammengetragen
werden. Die Transaktionsverteilungsdaten können auf der Grundlage einer
Zählung
der beliebtesten Arten oder Typen von Transaktionen zusammengetragen
werden, die in den Dateneinheiten enthalten sind, welche den gesammelten
Netzwerkverkehr umfassen. Zum Beispiel können die N häufigsten Transaktionsdateneinheiten
für eine
oder mehrere Protokolldateneinheiten gezählt werden, wobei N 4, 8, 10,
16, 20, 32 oder jede beliebige andere Zahl ist. Die Kopfteilinformationen
wie Quell- oder Zieladressen, Portbezeichnungen und andere Kopfteildaten können gezählt oder
aufrechterhalten werden, so dass die häufigsten Adressen, Ports oder
die häufigsten
Kopfteilinformationen aufrechterhalten werden. Die Nutzabschnittsdaten
können
auch aufrechterhalten werden, um die unterschiedlichen Netzwerkanwendungen
zu kategorisieren, die durch den Netzwerkverkehr dargestellt werden.
Die Datensammler 612 können
eine Zählung
der häufigsten
Netzwerkanwendungen aufrechterhalten. Dateneinheiten mit einer spezifizierten
Kombination aus Kopfteil- und/oder Nutzabschnittsattributen können aufrechterhalten
werden.
-
Zur
Unterstützung
des statistischen Profilings von Netzwerkverkehr durch den Charakterisierungs-Engine 620 können die
Datensammler 612 Netzwerkverkehr vom Produktionsnetzwerk 602 einfangen
und in Echtzeit die Zahlen der Dateneinheiten und die Zahl der Bytes
pro Dateneinheit zählen
und andere Rohdaten bezüglich
des Netzwerkverkehrs aufrechterhalten. Die Datensammler 612 können die Sammlung
des Netzwerkverkehrsdaten direkt auf dem Kernel-Level, in Hardware,
wie FPGAs, und in Firmware durchführen. Dadurch wird eine schnelle Sammlung
von Netzwerkverkehrsdaten bereitgestellt. Die Echtzeitdatensammlung
kann verwendet werden, um statistisch relevante Informationen während der Übertragung
mit oder nahezu mit Leitungsgeschwindigkeit zu erzeugen. Wie hierin
verwendet, steht die Leitungsgeschwindigkeit für die Geschwindigkeit, mit
welcher der Netzwerkverkehr auf einer physischen oder PHY-Schicht,
auf der er kommuniziert wird, übertragen
wird. Die Drahtgeschwindigkeit ist ein Synonym für die Leitungsgeschwindigkeit.
-
Die
Datensammler 612 können
aus einer oder mehreren Einheiten, Systemen oder Plug-in-Modulen
bestehen, von denen jede/s für
den Erhalt von Daten in Bezug auf unterschiedliche Arten von Dateneinheiten,
die den Netzwerkverkehr umfassen, spezialisiert sein kann. Es können mehrere
Datensammlungseinheiten verwendet werden, um die Fülle des
gesammelten Netzwerkverkehrs und der Netzwerkverkehrsdaten ausgewählt aus
dem gesammelten Netzwerkverkehr zu erhöhen und/oder die Leistung der
Datensammler 612 zu erhöhen.
In einigen Fällen
kann anfänglich
eine erste Datensammlungseinheit verwendet werden, um die Verkehrsmischung
zu bestimmen, und es können
mehrere spezialisierte Datensammlungseinheiten in Folge angewandt
werden. Die mehreren spezialisierten Datensammlungseinheiten können sich
jeweils auf Dateneinheiten konzentrieren, die bestimmte Eigenschaften
aufweisen, wie das Netzwerkschichtprotokoll, die Anwendung, die
Zieladresse und andere. Es können
auch mehrere Datensammler 612 parallel oder gleichzeitig
angewandt werden, um den Inhalt unterschiedlicher Arten von Dateneinheiten
zu prüfen oder
unterschiedliche Abschnitte der gleichen Arten von Dateneinheiten
zu prüfen.
-
Die
Verwendung mehrerer Datensammlungseinheiten kann die Gesamtkomplexität des Systems
erhöhen.
Eine einzelne Datensammlungseinheit kann ausreichend Informationen
sammeln, um die Statistiken zu erzeugen. Der Einfachheit halber kann
auch eine einzelne Datensammlungseinheit verwendet werden.
-
Die
Datensammler 612 können
eine oder mehrere spezialisierte Netzwerkkarten mit Dateneinheitsscannern
verwenden, um Rohstatistiken über die
Dateneinheiten zu sammeln, die im Netzwerkverkehr auf dem Produktionsnetzwerk 602 enthalten sind.
Die Dateneinheitsscanner können
auf dem Betriebssystemlevel, in Hardware, wie FPGAs, und in Firmware
implementiert sein. Die Dateneinheitsscanner ermöglichen den Datensammlern 612 das
Sammeln mehrerer Eigenschaften der Dateneinheiten, die gleichzeitig
im Netzwerkverkehr enthalten sind, mit oder nahezu mit Leitungsgeschwindigkeit.
Diese mehreren Eigenschaften des Netzwerkverkehrs können verwendet
werden, um die Breite und/oder Tiefe der Statistiken zu erhöhen, die
durch den Sortier- und Statistik-Engine 622 berechnet werden
sollen, und um die Genauigkeit der Modellierung des Netzwerkverkehrs
durch den Modellier-Engine 624 zu erhöhen.
-
Die
Filter 614 und Übersetzer 616 können in den
Datensammlern 612 enthalten sein. Wenn die Datensammler 612 mehrere
Datensammlungseinheiten enthalten, kann jede der Datensammlungseinheiten
Ausgabe in unterschiedlichen Formaten präsentieren. Die Übersetzer 616 können in
den Datensammlern 612 enthalten sein, um die Netzwerkverkehrsdaten
in ein einheitliches Format umzuwandeln. Die Netzwerkverkehrsdaten
mit einheitlichem Format können
an den Charakterisierungs-Engine 620 weitergegeben
werden, mit dem die Datensammler 612 gekoppelt sind.
-
Die
in den Datensammlern 612 enthaltenen Übersetzer 616 können angewandt
werden, wenn eine Dateneinheit im Produktionsnetzwerk 602 sichere
Protokolle verwendet, wie zum Beispiel IP Security (IPSec), Secure
Sockets Layer (SSL), Transport Layer Security (TLS) und andere.
Die Übersetzer 616 können die
verschlüsselten
Informationen extrahieren und sie entsprechend übersetzen.
-
Die
Filter 614 können
systemdefiniert und/oder benutzerdefiniert sein. Die Filter 614 können für verschiedene
Zwecke verwendet werden, wie zum Beispiel zum Beschränken des
gesammelten Netzwerkverkehrs auf der Grundlage der Quell- oder Zieladressen,
der Protokolle oder sämtlicher
anderer Datenfelder, die in den Dateneinheiten spezifiziert sind.
Die verwendeten Filter 614 können aus den Fähigkeiten
der Verkehrgeneratoren 640 abgeleitet sein. Die Filter 614 können die
Netzwerkverkehrsammlung auf diejenigen Arten oder Typen von Dateneinheiten
begrenzen, zu deren Übertragung
die Verkehrsgeneratoren 640 in der Lage sind. Die Arten und
Typen der Filter 614, die in den Datensammlern 612 enthalten
oder aktiv sind, können
durch den Manager 660 teilweise auf der Grundlage der Fähigkeiten
der Verkehrgeneratoren 640 gesteuert werden. Die Filter 614 können auch
verwendet werden, um die Datensammlung auf spezifische Netzwerkverkehrsmuster
zu begrenzen.
-
Der
Manager 660 kann eine Schnittstelle bereitstellen, um es
einem Benutzer zu gestatten, Filter zu erzeugen und/oder zu modifizieren,
die durch die Datensammler 612 verwendet werden sollen.
Dies kann erreicht werden, indem der Manager 660 dem Benutzer über einen
Computerterminal oder ein anderes Rechengerät eine Benutzerschnittstelle
bereitstellt. Die Benutzerschnittstelle kann auch durch die oder
in Verbindung mit den Datensammlern 612 bereitgestellt
werden.
-
Der
Manager 660 kann auch eine Schnittstelle bereitstellen,
die es Benutzern gestattet, den Inhalt von Log-Dateien oder anderen Feldern anzusehen, die
Netzwerkverkehrverwandte Daten auf entfernten Servern, Routern und
anderen Netzwerkgeräten
enthalten. Zu den Log-Dateien, die ansehbar sein können, zählen Server-Logs,
Routing-Tabellen und Logs sowie andere. Um diesen Zugang zu erreichen,
kann der Manager 660 und/oder das Netzwerktestsystem 600 ein
Passwort oder ein anderes Authentifizierungsmittel verwenden, um
die Erlaubnis zum Ansehen der Logs auf Servern, Routern und anderen Netzwerkgeräten zu erhalten.
-
Der
Charakterisierungs-Engine 620 kann einen Sortier- und Statistik-Engine 622,
einen Modellier-Engine 624 und einen Verkehrs-Profiler 626 enthalten.
Der Sortier- und Statistik-Engine 622 kann Netzwerkverkehrsdaten
und Grundstatistiken (z. B. die Grobzählung von Dateneinheiten, die
Grobzählung
von Dateneinheiten bestimmter Protokolltypen usw.) hinsichtlich
Netzwerkverkehr in einem standardisierten Format von den Datensammlern 612 empfangen
und kann einen Satz von Netzwerkverkehrsstatistiken erzeugen.
-
Der
Sortier- und Statistik-Engine 622 kann die Netzwerkverkehrstatistiken
an den Modellier-Engine 624 weitergeben und kann sie auch
an den Manager 660 weitergeben. Der Sortier- und Statistik-Engine 622 kann
Statistiken sammeln, eine Verkehrsdatenanalyse bereitstellen und
benutzerlesbare Berichte erzeugen, die netzzugänglich sein können.
-
Der
Sortier- und Statistik-Engine 622 kann eine Schnittstelle
an den Manager 660 oder andere externe Komponenten wie
Netzwerkprotokollanalysatoren bereitstellen, um einem Benutzer das Überprüfen der
Netzwerkverkehrsstatistiken in Echtzeit oder anderweitig zu gestatten.
Diese Schnittstelle kann durch die Verwendung von libpcap oder tcpdump
für TCP-ähnliche Verkehrstypen bereitgestellt
oder erweitert werden. Der Sortier- und Statistik-Engine 622 kann
eine Schnittstelle an den Manager 660 bereitstellen, um
es Benutzern zu gestatten, Informationen der Anwendungsschicht anzusehen.
-
Der
Modellier-Engine 624 kann eine Beschreibung einer einzelnen
Einfanggruppe oder mehrerer Einfanggruppen von Netzwerkverkehr in
Form eines Modells erzeugen. Die mathematische Darstellung der beobachteten
Verkehrsmuster als ein Modell stellt eine Charakterisierung des
eingefangenen Netzwerkverkehrs bereit. Die Eingabe in den Modellier-Engine 624 ist
die Reihe angeordneter Netzwerkverkehrsstatistiken aus dem Sortier-
und Statistik-Engine 622. Die Statistiken können in
einer Datei weitergegeben werden, so dass nur ein Dateiname von dem
Sortier- und Statistik-Engine 622 an den Modellier-Engine 624 weitergegeben
werden muss.
-
Die
Ausgabe des Modellier-Engine 624 ist ein Modell, das als
eine Sammlung von Parametern zusammengetragen aus den Netzwerkverkehrstatistiken
dargestellt werden kann. Zu den Parametern zählen sämtliche Statistiken oder weitere
Informationen in Bezug auf die oder abgeleitet von den Netzwerkverkehrsdaten,
einschließlich
der mittleren Standardabweichung und anderen in Bezug auf Adressen,
Protokolle, Flags, die Dateneinheitsgröße, die Nutzabschnittgröße, die
in der Dateneinheit enthaltene Anwendung und andere. Der Modellier-Engine 624 destilliert
ein parameterisiertes Modell, welches den Verkehr auf der Grundlage
der Netzwerkverkehrsstatistiken charakterisiert. Der Modellier-Engine 624 gibt
das parameterisierte Modell an den Verkehrs-Profiler 626 weiter.
Der Modellier-Engine 624 kann das parameterisierte Modell über den
Manager 660 an einen Benutzer ausgeben. Der Modellier-Engine 624 kann
es Benutzern gestatten, das parameterisierte Modell über den
Manager 660 zu modifizieren.
-
Der
Modellier-Engine kann einen Rückkopplungs-Controller 623 zur
Steuerung der Art und des Typs von Informationen, die in den Netzwerkverkehrsdaten
enthalten sind, über
die Rückkopplung 628 durch
die Datensammler 612 und die Filter 614, und des
Umfangs, der Breite und der Tiefe der Informationen zusammengetragen
und berechnet durch das Sortier- und Statistik-Engine 622 enthalten.
Zum Beispiel kann der Rückkopplungs-Controller 623 nacheinander
die Informationen verfeinern, die hinsichtlich des Netzwerkverkehrs
zuerst durch das Anfordern aller Transportschicht (Schicht 3)-Dateneinheiten,
und dann das Anfordern aller TCP-Dateneinheiten,
dann das Anfordern aller http-Dateneinheiten und so weiter abzurufen
sind. Auf diese Art und Weise kann die Granularität der Netzwerkverkehrsdaten, die
durch die Datensammler, die Filter 614 und den Sortier-
und Statistik-Engine 622 eingefangen,
gesammelt und analysiert wurden, in aufeinanderfolgenden Einfanggruppen
erhöht
werden. Eine weitere aufeinanderfolgende Verfeinerung kann auf der Grundlage
von systemdefinierten und/oder benutzerdefinierten Anweisungen erreicht
werden, die im Rückkopplungs-Controller 623 enthalten
sind oder ihm bereitgestellt werden.
-
Der
Modellier-Engine 624 kann eine Modell-Tweaking-Einheit 625 enthalten,
die es Benutzern gestattet, die verschiedenen Variablen und Parameter
anzupassen, die in dem parameterisierten Modelldarstellungsprozess
des realen Verkehrs enthalten sind.
-
Der
Modellier-Engine 624 kann sämtliche Informationen „aufpolieren", die er hinsichtlich
des Netzwerkverkehrs aufrechterhält,
indem alle privaten und sensiblen Informationen aus den Daten entfernt werden.
Zum Beispiel können
private und sensible Daten wie Passwörter, Benutzernamen, Bankinformationen,
Kreditkartennummern, Sozialversicherungsnummern usw. durch den Modellier-Engine 624 entfernt
werden. Der Modellier-Engine 624 kann auch sämtliche
anderen identifizierenden Informationen aus den Netzwerkverkehrsdaten
und dem Netzwerkverkehrsmodell entfernen, einschließlich zum Beispiel
IP-Adressen, Portnummern, Nutzabschnittsdaten und andere.
-
Der
Modellier-Engine 624 kann ein parameterisiertes Modell
des Netzwerkverkehrs konstruieren, welches die Eigenschaften des
beobachteten Verkehrs beschreibt. Das parameterisierte Modell kann
auf eine bestimmte Schicht des Netzwerkes begrenzt sein. Dies kann
zum Beispiel Schicht 7 des Netzwerks sein, welche die Anwendungsschicht
sein kann, Schicht 3 des Netzwerks, welche die Netzwerkschicht sein
kann und so weiter. Es können
mehrere Schichten von Netzwerkverkehr parameterisiert werden, wie
zum Beispiel Schicht 3, 4 und 7 des OSI-Modells, nämlich die
Netzwerk-, Transport- und Anwendungsschicht.
-
Beim
Implementieren des Modellier-Engine 624 können das
Detaillevel und die Anzahl der bei der Herstellung des parameterisierten
Modells des Netzwerkverkehrs zu verwendenden Freiheitsgrade durch
die Fähigkeiten
des Netzwerktestsystems 600 beeinflusst werden. Die Fähigkeit
des Netzwerktestsystems zum Erzeugen von Verkehr mit aktueller und zukünftiger
Hardware sowie Software, die auf aktuellen und zukünftigen
Geräten
läuft,
kann berücksichtigt
werden, wenn die Anzahl der Parameter und die entsprechenden Genauigkeitslevels,
auf die durch den Modellier-Engine 624 Bezug genommen wird, ausgewählt werden.
D. h. die Arten und Typen von Parametern, die durch den Modellier-Engine 624 in dem
parameterisierten Modell des Netzwerkverkehrs enthalten sind, können durch
den Manager 660 teilweise auf der Grundlage der Fähigkeiten
der Verkehrsgeneratoren 640 gesteuert werden.
-
Der
Modellier-Engine 624 kann unterschiedliche Arten von parameterisierten
Modellen aufbereiten, einschließlich
Grundmodelle, mathematische Modelle und andere.
-
Ein
Grundmodell kann die Verteilung von Protokollen im Netzwerkverkehr
und eine Auswahlgruppe spezifischer Felder (und/oder Unterfelder)
in den Dateneinheiten des Netzwerkverkehrs für jede Quelladresse in den
Dateneinheiten, die im Netzwerkverkehr enthalten sind, enthalten.
Das Grundmodell kann auch den Verkehr beschreiben, der von spezifischen
Punkten im Netzwerk kommt. Ein Beispielgrundmodell kann für eine gegebene
Quelladresse die Anzahl der hinausgehenden Transportschicht- oder
IP-Pakete, die multivariate Verteilung von IP-Protokoll, Ports,
Flags usw. zusammen mit der Paketgrößenverteilung enthalten. Ein
weiterer Grundmodellansatz kann das Beschreiben der Statistiken
für jeden
Benutzer beinhalten, bei dem Statistiken hinsichtlich aller Pakete,
die von einer einzigen Quelladresse stammen, behalten werden können.
-
Ein
mathematisches Modell kann durch Verwendung einer polynomischen
Darstellung für
die Mischung des Netzwerkverkehrs erhalten werden. Jede einer Vielzahl
von Kurvenanpassungstechniken kann verwendet werden, um einen Ausdruck
der Mischung des Netzwerkverkehrs als eine polynomische Gleichung
zu erzeugen. Die polynomische Darstellung für die Mischung des Netzwerkverkehrs
kann unter Verwendung der Pareto-Verteilung, der Gaußschen Verteilung,
der abklingenden Exponentialverteilung und anderer Techniken erzeugt
werden. Es können mehrere
mathematische Modelle verwendet werden, um verschiedene Attribute
des Netzwerkverkehrs auszudrücken,
einschließlich
zum Beispiel die Dateneinheitsgrößenverteilung,
die Dateneinheiten mit der Zeit, die Dateneinheitsschichtverteilung,
Anwendungen enthalten in der Dateneinheitsverteilung, die Dateneinheitsprotokollverteilung
und andere. Ein komplexes mathematisches Modell kann mehrere Attribute
des Netzwerkverkehrs in Betracht ziehen.
-
Der
Verkehrs-Profiler 626 empfängt ein Netzwerkverkehrsmodell
in Form von Parametern vom Modellier-Engine 624. Der Verkehrs-Profiler 626 gleicht
das Modell, dass durch den Modellier-Engine 624 erzeugt
wurde, mit vordefinierten Verkehrsmustern in Form von Verkehrs-Archetypen
ab. Der Verkehrs-Profiler 626 kann ein Verkehrsprofilschema
auf der Grundlage des Vergleichs des parameterisierten Modells mit
den verfügbaren
Verkehrs-Archetyp-Mischungen erzeugen. Es gibt viele potentielle
Verkehrsmischungen, die als Verkehrs-Archetype vordefiniert sein können, einschließlich zum
Beispiel Finanzmischung, Herstellungsmischung, Internet-Basisnetz-Mischung
und andere Muster. Zusätzliche Verkehrs-Archetypen können von
Kunden bereitgestellt und aus Studien oder aus anderen Quellen erhalten
werden. Ein Vorteil der Bereitstellung einer Sammlung von Verkehrs-Archetypen
beinhaltet die Fähigkeit
des Netzwerktestsystems, die Netzwerkverkehrsmischung schnell anzugleichen,
indem ein entsprechender Archetyp für das entsprechende Industriesegment
oder den Netzwerktyp eines Benutzers verwendet wird.
-
Der
Verkehrs-Profiler 626 kann einen Profil-Editor 627 enthalten. Der Profil-Editor 627 kann
es Benutzern gestatten, Verkehrsarchetypen und das Verkehrsprofilschema
anzupassen und zu modifizieren, um die Verkehrsmischungen und Variationen
in Netzwerkverkehrsprofilen besser darzustellen.
-
Die
Skript-Generatoren 630 empfangen das Verkehrsprofilschema,
das durch den Verkehrs-Profiler 626 erzeugt wurde, und
stellen Skripts her, die durch die Verkehrsgeneratoren 640 verwendet
werden, um Netzwerkverkehr zu erzeugen. Die Skript-Generatoren 630 können ein
oder mehrere Plug-ins, Module oder Untereinheiten enthalten, die jeweils
einen separaten individuellen Compiler enthalten. Jeder skripterzeugende
Compiler kann einen spezifischen Skript-Typ herstellen, um eine
bestimmte Art von Netzwerkverkehr zu erzeugen. Die Skript-Generator-Plug-ins
können
auf die Herstellung von Skripts für verschiedene Arten von Netzwerkverkehr
spezialisiert sein, einschließlich
zum Beispiel zustandslose Ströme
wie TCP und HTTP, PerfStack und FullStack und andere. Skript-Generator-Plug-ins können hinzugefügt oder
entfernt werden. Es kann auch einen skripterzeugenden Compiler für jedes
unterstützte
Netzwerkkommunikationsprotokoll geben.
-
Die
Verkehrsgeneratoren 640 empfangen als Eingabe die erzeugte
Ansammlung von Skripts hergestellt durch die Skript-Generatoren 630.
Die Verkehrsgeneratoren 640 können als Ausgabe Netzwerkverkehr
in Form einer einzelnen Sequenz von Dateneinheiten, die durch die
Skripts beschrieben sind, erzeugen. Die einzelne Sequenz des Netzwerkverkehrs
kann ein einzelner Strom sein. Ein Strom kann jede Reihe verwandter
Pakete sein. Die einzelne Sequenz des Netzwerkverkehrs wird in das
Testnetzwerk 652 übertragen.
-
Die
Verkehrsgeneratoren 640 können auch mehrere Sequenzen
und mehrere Ströme
von Dateneinheiten erzeugen. Die Verkehrsgeneratoren 640 können einen
Terminplaner wie einen Strom-Multiplex-Terminplaner enthalten. Der
Terminplaner kann die verschiedenen Ströme oder anderen Gruppierungen
von Dateneinheiten multiplexen, welche die unterschiedlichen Typen
von Netzwerkverkehr modelliert durch die Skripts darstellen. Der
Terminplaner kann jede beliebige Anzahl von Strömen oder anderen Gruppierungen
von Netzwerkverkehr koordinieren; zum Beispiel können 160 separate Ströme als der
erzeugte Netzwerkverkehr zusammengenommen werden.
-
Wenn
die Anzahl der Dateneinheitstypen höher ist als ein systemdefiniertes
Maximum, wie zum Beispiel 128, 160, 256 und andere, können die Skripts
derart analysiert werden, dass die Anzahl der Dateneinheitstypen
verringert wird, wodurch die Auflösung des Testnetzwerkverkehrs
verringert wird. D. h. weniger Typen von Dateneinheiten als die
Typen, die in den Skripts enthalten sind, werden übertragen.
-
Der
Manager 660 kann Berichte, Graphiken und Diagramme erzeugen,
welche die eingehende Netzwerkverkehrs-Dateneinheitsmischung, den Gesamtdurchsatz
des Produktionsnetzwerkes 602, den Anwendungsdurchsatz,
der auf dem Produktionsnetzwerk 602 verzeichnet wird, und
weitere Eigenschaften des Produktionsnetzwerks 602 beschreiben,
sowie den Netzwerkverkehr, der das Produktionsnetzwerk 602 besetzt.
-
Der
Manager 660 kann Informationen von mehreren Quellen empfangen,
wie von einem oder mehreren der Datensammler 612, dem Sortier-
und Statistik-Engine 622, dem Modellier-Engine 624 und dem
Verkehrs-Profiler 626. Der Manager 660 kann statistische
Daten und weitere Daten von einem oder mehreren der Datensammler 612,
dem Sortier- und Statistik-Engine 622, dem Modellier-Engine 624 und dem Verkehrs-Profiler 626 empfangen.
Der Manager 660 kann die statistischen Daten für die humane
oder maschinelle Verwendung formatieren. Der Manager 660 kann
die statistischen Daten formatieren, sie für die Anzeige aufbereiten und/oder
die statistischen Daten in einem geeigneten Format für die Ausgabe aufbereiten.
Außerdem
kann der Manager 660 eine Schnittstelle bereitstellen,
die es Benutzern gestattet, sich den Inhalt von Server-Logs auf
entfernten Servern anzusehen.
-
Im
Hinblick auf alle hierin beschriebenen Netzwerktestsysteme können zusätzliche
und weniger Einheiten, Chassis, Blöcke, Kommunikationsleitungen,
Module oder eine andere Anordnung von Software, Hardware, Firmware
und Datenstrukturen verwendet werden, um das hierin beschriebene
System und die Techniken zu erreichen.
-
Verfahren
-
7 ist
ein Flussdiagramm eines Verfahrens. Dateneinheiten können aus
einem Netzwerk gesammelt werden, wie in Block 710 gezeigt.
Das Netzwerk ist üblicherweise
ein Produktionsnetzwerk. Die Dateneinheiten werden gefiltert, wie
in Block 714 gezeigt. Das Filtern kann durch Filter erreicht
werden, die systemdefiniert und/oder benutzerdefiniert sein können. Die
Filter können
das Sammeln und Prüfen
von Dateneinheiten auf der Grundlage spezifizierter Eigenschaften
wie der Größe der Dateneinheiten,
der Schicht der Dateneinheiten, der Anwendung, welche die Dateneinheit
gesendet hat, dem Protokoll, welches in der Dateneinheit enthalten
ist, den Quell- und/oder Zieladressen in der Dateneinheit, dem Port,
der in der Dateneinheit spezifiziert ist, den Flags, die in der
Dateneinheit spezifiziert sind, und anderen begrenzen. Entsprechende
Informationen aus allen gesammelten Dateneinheiten werden erhalten
und als Netzwerkverkehrsdaten gespeichert, wie in Block 716 gezeigt.
Die entsprechenden Informationen können durch verschiedene Plug-ins, Module
oder Einheiten erhalten werden, von denen alle die entsprechenden
Informationen in variierenden Formaten speichern können. Die
entsprechenden Informationen für
jede der Dateneinheiten werden dann in ein einheitliches Format übersetzt,
wie in Block 720 gezeigt. Statistiken für den Netzwerkverkehr werden
dann berechnet, wie in Block 724 gezeigt.
-
Die
Netzwerkverkehrsdaten können
sortiert werden, um die Dateneinheitsverteilung zu bestimmen, wie
in Block 730 gezeigt. Die Verteilung des Netzwerkverkehrs
kann nach der Dateneinheitsgröße, dem
Dateneinheitsprotokolltyp, der Dateneinheitsschicht, der Dateneinheitsanwendung
und anderen Dateneinheitsattributen bewertet werden. Ein Modell,
welches die gesammelten Dateneinheiten als ein parameterisiertes
Modell parameterisiert, wird destilliert, wie in Block 734 gezeigt.
Private und andere sensible Informationen können aus den Netzwerkverkehrsdaten
und/oder dem parameterisierten Modell entfernt werden, wie in Block 736 gezeigt.
Das parameterisierte Modell kann mit voreingestellten Netzwerkverkehr-Archetyp-Mischungen
abgeglichen werden, um ein Profil des Netzwerkverkehrs zu bestimmen,
wie in Block 740 gezeigt. Hinausgehende Dateneinheitserzeugungsskripts
können
auf der Grundlage des Netzwerkverkehrsprofils hergestellt werden,
wie in Block 744 gezeigt. Hinausgehende Dateneinheiten
können
auf der Grundlage der Dateneinheitserzeugungsskripts erzeugt werden,
wie in Block 750 gezeigt.
-
8 ist
ein Flussdiagramm der Filterung des gesammelten Netzwerkverkehrs.
Unbearbeiteter Netzwerkverkehr wird empfangen, wie in Block 810 gezeigt.
Die Art der Dateneinheit wird dann analysiert, wie in Block 820 gezeigt.
Die durchgeführten Aktionen
können
dann von der Art der geprüften
Dateneinheit abhängen.
In verschiedenen Implementierungen können verschiedene Aktionen
durchgeführt werden,
und zwar auf Grundlage dessen, ob die Art der Dateneinheit eine
Frame-Relay-Dateneinheit ist, wie in Block 822 gezeigt,
eine Token-Ring-Dateneinheit, wie in Block 824 gezeigt,
eine ISDN-Dateneinheit, wie in Block 826 gezeigt, eine
X.25-Dateneinheit, wie in Block 828 gezeigt, eine Ethernet-Dateneinheit,
wie in Block 830 gezeigt, eine FDDI-Dateneinheit, wie in Block 832 gezeigt,
eine ATM-Dateneinheit, wie in Block 834 gezeigt, eine PPP-Dateneinheit,
wie in Block 836 gezeigt, eine „andere" Art der Dateneinheit, wie in Block 838 gezeigt,
oder eine „Wildcard"-Dateneinheit, wie
in Block 840 gezeigt. Wie hierin verwendet, betrifft „andere" bekannte Arten oder
Typen von Dateneinheiten, bei denen keine feine Granularität der Informationen
aufrechterhalten werden muss. Wie hierin verwendet, betrifft „Wildcard" unbekannte Arten
oder Typen von Dateneinheiten, die im Netzwerkverkehr zu finden
sind.
-
Wenn
die Art der Dateneinheit Ethernet ist, wie in Block 830 gezeigt,
wird die Dateneinheit auf der Grundlage ihres Typs weiter klassifiziert,
wie in Block 850 gezeigt. Zu den Typen von Ethernet-Dateneinheiten
zählen
ARP-Dateneinheiten,
wie in Block 852 gezeigt, RARP-Dateneinheiten, wie in Block 854 gezeigt,
IP-Dateneinheiten, wie in Block 860 gezeigt, „andere" Typen von Ethernet-Dateneinheiten,
wie in Block 856 gezeigt, und „Wildcard"- oder unbekannte Typen von Ethernet-Dateneinheiten,
wie in Block 858 gezeigt. Wenn der Typ der Ethernet-Dateneinheit
IP ist, fährt
der Fluss der Aktionen mit Block 910 von 9 fort.
Andere Arten von Dateneinheiten können in ähnlicher, spezialisierter Art
und Weise auf der Grundlage der Attribute der bestimmten Art der
Dateneinheit gefiltert werden.
-
9 ist
ein Flussdiagramm der Aktionen, die bei der Filterung von IP-Dateneinheiten
durchgeführt
werden. Wenn eine IP-Dateneinheit gesammelt wird, wie in Block 910 gezeigt,
werden die entsprechenden Informationen, für welche Statistiken erhalten
werden, auf der Grundlage der Art der IP-Dateneinheit bestimmt, wie in Block 920 gezeigt.
-
Wenn
die Art der IP-Dateneinheit TCP ist, wie in Block 930 gezeigt,
wird ein Verlauf des verwendeten Ports aufrechterhalten, wie in
Block 932 gezeigt. Parameterisierte Informationen über die TCP-Dateneinheit
werden aufbereitet, wie in Block 933 gezeigt. Die parameterisierten
Informationen über
die TCP-Dateneinheit können
zu einer Verkehrszusammenfassungstabelle hinzugefügt werden,
wie in Block 934 gezeigt, oder zu einer anderen Datenstruktur,
die zum Speichern von Netzwerkverkehr-Zusammenfassungsdaten verwendet
wird. Eine Netzwerkverkehr-Zusammenfassungstabelle kann die Netzwerkverkehrsdaten
für jede
der Dateneinheiten in einer Einfanggruppe speichern.
-
Wenn
die Art der IP-Dateneinheit UDP ist, wie in Block 940 gezeigt,
wird ein Verlauf des Portverkehrs aufrechterhalten, wie in Block 942 gezeigt.
Parameterisierte Informationen über
die UDP-Dateneinheit werden aufbereitet, wie in Block 943 gezeigt,
und die parameterisierten Informationen über die UDP-Dateneinheit werden
zu der Netzwerkverkehr-Zusammenfassungstabelle hinzugefügt, wie
in Block 944 gezeigt.
-
Wenn
die Art der IP-Dateneinheit ICMP ist, wie in Block 950 gezeigt,
wird der Verlauf des Typs der ICMP-Dateneinheit aufrechterhalten, wie in
Block 952 gezeigt. Parameterisierte Informationen über die ICMP-Dateneinheit
werden aufbereitet, wie in Block 953 gezeigt, und die parameterisierten
Informationen über
die ICMP-Dateneinheit werden zu der Netzwerkverkehr-Zusammenfassungstabelle
hinzugefügt,
wie in Block 954 gezeigt.
-
Wenn
die Art der IP-Dateneinheit „andere" ist, wie in Block 960 gezeigt,
wird ein Verlauf der entsprechenden Datenfelder dieser anderen IP-Dateneinheiten
aufrechterhalten, wie in Block 962 gezeigt. Parameterisierte
Informationen über
die andere IP-Dateneinheit werden aufbereitet, wie in Block 963 gezeigt,
und die parameterisierten Informationen über die andere Dateneinheit
werden zu der Netzwerkverkehr-Zusammenfassungstabelle
hinzugefügt,
wie in Block 964 gezeigt.
-
Wenn
die Art der IP-Dateneinheit „unbekannt" ist, kann sie als
eine „Wildcard" betrachtet werden,
wie in Block 970 gezeigt. Parameterisierte Informationen über die
unbekannte Art der IP-Dateneinheit werden aufbereitet, wie in Block 973 gezeigt, und
die parameterisierten Informationen über die unbekannte Dateneinheit
werden zu der Netzwerkverkehr-Zusammenfassungstabelle hinzugefügt, wie
in Block 974 gezeigt.
-
In
Bezug auf 7, 8 und 9 können zusätzliche
und weniger Schritte durchgeführt
werden, und die Schritte wie gezeigt können kombiniert oder weiter
verfeinert werden, um die hierin beschriebenen Verfahren zu erreichen.
-
Datenspeicherung
-
10 ist
eine Netzwerkverkehr-Zusammenfassungstabelle 1000. Die
Zusammenfassungstabelle dient der Zusammenfassung entsprechender
Information in Bezug auf den Netzwerkverkehr. Die Zusammenfassungstabelle
kann auch als eine Verkehrsverteilungstabelle gesehen werden. Unbearbeitete
Grunddaten in Bezug auf Dateneinheiten, die im Netzwerkverkehr enthalten
sind, können
in einer oder mehreren Datenstrukturen aufrechterhalten werden,
die als eine Tabelle angesehen werden können. Es kann für jede Einfanggruppe
eine Zusammenfassungstabelle erstellt werden. Die Größe der Zusammenfassungstabellen
kann systemdefiniert oder vom Benutzer einstellbar sein. Die Zusammenfassungstabelle
bietet eine parameterisierte Ansicht des Netzwerkverkehrs in einer
bestimmten Einfanggruppe, und sie kann verwendet werden, um Daten
in Bezug auf mehrere Einfanggruppen oder eine Zusammenfassung des
gesamten eingefangenen Netzwerkverkehrs zu speichern.
-
Die
Netzwerkverkehr-Zusammenfassungstabelle 1000 kann die Quell-
und Ziel-IP-Adressen 1010 und 1012, die in einer
Dateneinheit enthalten sind, die Protokollinformationen 1016 wie
das Protokoll 1020, das in der Dateneinheit verwendet wird, eine
Portbezeichnung oder einen Porttyp 1022, die/der in der
Dateneinheit spezifiziert ist, und die Flags 1024, die
in der Dateneinheit spezifiziert sind, enthalten. Zu Beispielprotokollen
zählen
TCP, UDP, ICMP und andere. Die Protokolle können dem Protokolltyp entsprechen,
der oben in Bezug auf 8 und 9 diskutiert
wurde. Die Portbezeichnung 1022 kann ein Bereich von Ports,
eine Liste von Ports oder ein einzelner Port sein. Die Flags 1024 können auf der
Grundlage des Protokolltyps 1020 variieren.
-
Die
Anzahl der Dateneinheiten 1030 mit einer Größe in einem
bestimmten Bereich kann in Übereinstimmung
mit Behältern
aufrechterhalten werden. D. h. für
diejenigen Dateneinheiten mit bestimmten IP-Adressen 1004 und/oder
den gleichen Protokollinformationen 1016 kann eine Zählung der Dateneinheiten
nach der Größe aufrechterhalten werden.
Zum Beispiel kann ein erster Behälter 1032 die
Grobzählung
der Anzahl der Dateneinheiten mit der Größe 1–63 Bytes enthalten, ein zweiter
Behälter 1034 kann
die Grobzählung
der Anzahl der Dateneinheiten mit der Größe 64–128 Bytes enthalten, ein dritter
Behälter 1036 kann
die Grobzählung
der Anzahl der Dateneinheiten mit der Größe 128–255 Bytes enthalten, ein vierter
Behälter 1038 kann
die Grobzählung
der Anzahl der Dateneinheiten mit der Größe 256–511 Bytes enthalten, ein fünfter Behälter 1040 kann
die Grobzählung
der Anzahl der Dateneinheiten mit der Größe 512–1023 Bytes enthalten, ein
sechster Behälter 1042 kann
die Grobzählung
der Anzahl der Dateneinheiten mit der Größe 1024–1518 Bytes enthalten und ein
siebenter Behälter 1044 kann
die Grobzählung
der Anzahl der Dateneinheiten mit den Dateneinheiten mit maximaler
Größe enthalten.
-
Um
die in der Zusammenfassungstabelle aufrechterhaltenen Informationen
effizienter zu speichern, kann die Zusammenfassungstabelle implementiert
werden, um die Speicherplatzausnutzung zu erhalten, wie zum Beispiel
durch Verwendung einer Hash-Tabelle und anderer Datenspeichertechniken.
-
Zusätzlich zu
der oder anstatt der Zusammenfassungstabelle können parameterisierte Vektoren
von Informationen auf der Grundlage jeden Typs der Dateneinheit
aufrechterhalten werden. Wenn zum Beispiel die Typen der Dateneinheiten
TCP-, UDP- und ICMP-Dateneinheiten umfassen, können parameterisierte TCP-Darstellungsvektoren,
parameterisierte UDP-Darstellungsvektoren und parameterisierte ICMP-Darstellungsvektoren
wie auch andere verwendet werden.
-
11 ist
ein Darstellungsvektor 1100 einer TCP-Dateneinheit. Der
Darstellungsvektor 1100 kann Felder für den Schicht-2-Protokolltyp 1110,
den Schicht-3-Protokolltyp 1112, den Typ des IP-Dienstes 1114,
die Quell-IP-Adresse 1116, die Ziel-IP-Adresse 1118,
den Minimum-TCP-Port 1120, welcher das Minimum der Quell-
und Ziel-TCP-Ports ist, ein Quell/Ziel-Port-Bit 1122, ein
Stopfbit 1124, TCP-Flags 1126 und die Dateneinheitsgröße 1128 enthalten.
Der Darstellungsvektor 1100 kann 128 Bits breit sein. Die
Größe des Darstellungsvektors
kann in verschiedenen Implementierungen auf der Grundlage der einzufangenden
Informationen und anderer Gründe
variieren, wie der CPU-Wortgröße, des
zur Speicherung verfügbaren
Speichers und anderer. Der Darstellungsvektor 1100 ist
mit bezeichneten 32-Bit-Abschnitten gezeigt, weil ein Prozessor
auf einer Netzwerkkarte oder ein Prozessor, der Software ausführt, um
die hierin beschriebenen Techniken zu erreichen, ein 32-Bit-Wort aufweisen kann.
Es können
auch andere Prozessoren mit anderen Wortgrößen verwendet werden (z. B.
8, 16, 64 und andere).
-
Der
gezeigte Darstellungsvektor 1100 veranschaulicht ein Beispiel
einer IP Version 4 TCP-Dateneinheit
gesendet von der IP-Adresse 10.0.0.1 an die IP-Adresse 10.0.0.2, Ziel-TCP-Port 80,
unter Verwendung eines Standard-IP-Diensttyps. In diesem Beispiel
ist der Schicht-2-Protokolltyp
IP v4 mit dem Hexadezimalcode 0 × 0800. Das Erhalten dieser
Informationen kann etwas Verarbeitung erfordern. Zum Beispiel erfordert
der Minimum-TCP-Port das Extrahieren von Informationen hinsichtlich
zweier Ports (Quelle und Ziel) und deren Vergleich zum Herausfinden
des Minimums.
-
12 ist
ein Darstellungsvektor 1200 einer ICMP-Dateneinheit. Der
Darstellungsvektor 1200 kann Felder für den Schicht-2-Protokolltyp 1210,
den Schicht-3-Protokolltyp 1212, den Typ des IP-Dienstes 1214,
die Quell-IP-Adresse 1216, die Ziel-IP-Adresse 1218,
den Code des ICMP-Typs 1220, ein Stopfbit 1222 und
die Dateneinheitsgröße 1224 enthalten.
Der Darstellungsvektor 1200 kann 128 Bits breit sein. Die
Größe des Darstellungsvektors
kann in verschiedenen Implementierungen auf der Grundlage der einzufangenden
Informationen und anderer Gründe
variieren, wie der CPU-Wortgröße, dem
zur Speicherung verfügbaren
Speicher und anderer. Der Darstellungsvektor 1200 ist mit
bezeichneten 32-Bit-Abschnitten
gezeigt, weil ein Prozessor auf einer Netzwerkkarte oder ein Prozessor,
der Software ausführt,
um die hierin beschriebenen Techniken zu erreichen, ein 32-Bit-Wort aufweisen kann.
Es können
auch andere Prozessoren mit einem Wort anderer Größe (z. B.
8, 16, 64 und andere) verwendet werden.
-
Der
gezeigte Darstellungsvektor 1200 veranschaulicht ein Beispiel
einer IP Version 4 ICMP-Dateneinheit
gesendet von der IP-Adresse 10.0.0.1 an die IP-Adresse 10.0.0.3, unter Verwendung eines Standard-IP-Diensttyps. In diesem
Beispiel ist der Schicht-2-Protokolltyp IP v4 mit dem Hexadezimalcode
0 × 0800
und der Schicht-3-Protokolltyp
ist 1, was ICMP darstellt.
-
Obwohl
exemplarische Ausführungsformen der
Erfindung gezeigt und beschrieben wurden, wird der Durchschnittsfachmann
auf dem Gebiet verstehen, dass eine Reihe von Änderungen, Modifikationen oder
Veränderungen
an der Erfindung wie hierin beschrieben vorgenommen werden können, von
denen sich keine vom Umfang der Erfindung entfernt. Alle diese Änderungen,
Modifikationen und Veränderungen
sind daher als im Umfang der Erfindung liegend zu sehen. Die Erfindung
wird ausschließlich durch
die folgenden unabhängigen
Ansprüche
definiert.