DE102015100654A1 - Verkehrunterschiedserkennersysteme für netzwerk- einrichtungen und verwandte verfahren - Google Patents
Verkehrunterschiedserkennersysteme für netzwerk- einrichtungen und verwandte verfahren Download PDFInfo
- Publication number
- DE102015100654A1 DE102015100654A1 DE102015100654.5A DE102015100654A DE102015100654A1 DE 102015100654 A1 DE102015100654 A1 DE 102015100654A1 DE 102015100654 A DE102015100654 A DE 102015100654A DE 102015100654 A1 DE102015100654 A1 DE 102015100654A1
- Authority
- DE
- Germany
- Prior art keywords
- packets
- stream
- packet
- port
- difference
- 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
Images
Classifications
-
- 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
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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
- H04L43/12—Network monitoring probes
-
- 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
-
- 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
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- 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
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- 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
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- Erfindungsgebiet
- Die vorliegende Erfindung betrifft Netzwerkpaket-Kommunikationssysteme und insbesondere das Analysieren von Unterschieden in Netzwerkpaket-Kommunikationsströmen.
- Allgemeiner Stand der Technik
- Bestimmte Netzwerkkommunikationssysteme nutzen Netzwerkpakete für Netzwerkkommunikationen. Wenn Pakete eine Netzwerkeinrichtung, wie etwa eine Firewall-Einrichtung, durchlaufen, besteht die Möglichkeit, dass durch die Einrichtung einige Pakete blockiert oder hinzugefügt werden, während andere Pakete durch die Netzwerkeinrichtung modifiziert werden, bevor sie als Egress-Pakete an andere Netzwerkeinrichtungen weitergeleitet werden. Beispielsweise können NAT (Network Address Translation), PAT (Port Address Translation), TTL (Time-To-Live), Tunneln und/oder andere Protokolle, die durch die Netzwerkeinrichtung angewendet werden, Modifikationen an Ingress-Paketen bewirken, bevor sie als Egress-Pakete durch die Netzwerkeinrichtung weiter übertragen werden.
- Zur Unterstützung der Problemlösung ist es wünschenswert zu bestimmen, welche Pakete durch eine Netzwerkeinrichtung entfernt oder modifiziert werden, und zu bestimmen, ob durch die Einrichtung selbst neue Pakete generiert werden. Diese Unterschiedsbestimmung wird typischerweise dadurch bewerkstelligt, dass alle in eine Netzwerkeinrichtung eintretenden Pakete gespeichert werden, alle eine Netzwerkeinrichtung verlassenden Pakete gespeichert werden und ein manueller oder automatisierter Nachverarbeitungsvergleich aller gespeicherter Pakete durchgeführt wird. Wenngleich diese Technik verwendet werden kann, um entfernte, modifizierte oder hinzugefügte Pakete zu bestimmen, ist diese Nachverarbeitungstechnik mühselig, zeitraubend und liefert keine Echtzeitinformationen hinsichtlich der Operationen der Netzwerkeinrichtung.
- Kurze Darstellung der Erfindung
- Es werden Verkehrsunterschiedserkennersysteme für Netzwerkeinrichtungen und verwandte Verfahren offenbart. Die offenbarten Ausführungsformen sind konfiguriert, zwei Ströme von Paketen zu empfangen, wobei ein Strom eine verarbeitete Version eines anderen Stroms ist, und dann Unterschiedspakete zwischen dem ersten und zweiten Strom innerhalb eines Nachschlagezeitfensters zu bestimmen, wobei das Nachschlagezeitfenster beispielsweise mit einer Verarbeitungszeit für den zweiten Strom, der eine verarbeitete Version des ersten Stroms sein soll, assoziiert ist. Unterschiedspakete innerhalb eines Nachschlagezeitfensters können auch für Pakete bestimmt werden, die innerhalb eines einzelnen kombinierten Stroms von Paketen empfangen werden. Unterschiedspakete und/oder verwandte statistische Informationen werden dann, wie gewünscht, für eine zusätzliche Verarbeitung ausgegeben. Die Ströme von Paketen können mit Ingress- und Egress-Paketen für eine Netzwerkeinrichtung assoziiert sein, und die Unterschiedspakete und verwandten statistischen Informationen können verwendet werden, um Pakete zu bestimmen, die durch die Netzwerkeinrichtung entfernt, hinzugefügt und/oder modifiziert worden sind. Unterschiedliche Merkmale und Varianten können, wie gewünscht, implementiert werden, und es können auch verwandte Systeme und Verfahren genutzt werden.
- Bei weiteren Ausführungsformen werden Verkehrsunterschiedserkennersysteme für Netzwerkeinrichtungen und verwandte Verfahren offenbart, die eine automatische Portreihenfolgenbestimmung beinhalten. Die offenbarten Ausführungsformen beinhalten Eingangsports, die einen ersten Strom von Paketen und einen zweiten Strom von Paketen empfangen, und einen Paketunterschiedsprozessor, der in einem Lernmodus und einem normalen Modus arbeitet. Im Lernarbeitsmodus bestimmt der Paketunterschiedsprozessor automatisch eine Portreihenfolge, die darstellt, ob der erste Strom von Paketen für den ersten Port oder der zweite Strom von Paketen für den zweiten Port eine zeitlich erste Version empfangener Pakete darstellt. Im normalen Arbeitsmodus verwendet der Paketunterschiedsprozessor die Portreihenfolgenbestimmung zum Erleichtern einer Bestimmung von Unterschiedspaketen zwischen dem ersten Strom von Paketen und dem zweiten Strom von Paketen. Unterschiedliche Merkmale und Varianten können, wie gewünscht, implementiert werden, und es können auch verwandte Systeme und Verfahren genutzt werden.
- Bei einer Ausführungsform enthält ein Verkehrsunterschiedserkennersystem für Netzwerkpakete einen Paketunterschiedsprozessor, der konfiguriert ist zum Bestimmen von Unterschiedspaketen innerhalb eines Nachschlagezeitfensters zwischen einem ersten Strom von Paketen und einem zweiten Strom von Paketen, die von dem Verkehrsunterschiedserkennersystem empfangen worden sind, und mindestens einen Ausgangsport, der konfiguriert ist zum Ausgeben der Unterschiedspakete. Der zweite Strom von Paketen stellt eine verarbeitete Version des ersten Stroms von Paketen dar und das Nachschlagezeitfenster mit einer Verarbeitungszeit für den zweiten Strom, der eine verarbeitete Version des ersten Stroms sein soll, assoziiert ist. Außerdem enthalten die Unterschiedspakete Pakete innerhalb des ersten Stroms und nicht innerhalb des zweiten Stroms und Pakete innerhalb des zweiten Stroms und nicht innerhalb des ersten Stroms. Für weitere Ausführungsformen kann der Paketunterschiedsprozessor weiterhin konfiguriert sein zum Ausgeben statistischer Informationen über die Unterschiedspakete.
- Bei weiteren Ausführungsformen kann das Verkehrsunterschiedserkennersystem weiterhin mindestens einen Eingangsport, der konfiguriert ist zum Empfangen des ersten Stroms von Paketen, und mindestens einen zusätzlichen Eingangsport, der konfiguriert ist zum Empfangen des zweiten Stroms von Paketen, enthalten. Außerdem können der erste und zweite Strom von Paketen von einer einzelnen Netzwerkeinrichtung kommen. Weiterhin enthält der erste Strom von Paketen möglicherweise nur Ingress-Pakete für die Netzwerkeinrichtung, und der zweite Strom von Paketen enthält möglicherweise nur Egress-Pakete für die Netzwerkeinrichtung. Noch weiter können Unterschiedspakete mindestens ein durch die Netzwerkeinrichtung entferntes von Paketen, durch die Netzwerkeinrichtung hinzugefügte Pakete oder durch die Netzwerkeinrichtung modifizierte Pakete darstellen. Außerdem enthält das System möglicherweise ein oder mehrere Paketfilter, die mit den Eingangsports assoziiert sein können und konfiguriert sein können zum Verwerfen oder Durchlassen von Paketen auf der Basis von Filterregeln.
- Bei weiteren Ausführungsformen kann das Verkehrsunterschiedserkennersystem weiterhin einen Paketsignaturgenerator, der mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Generieren von Signaturen für am Eingangsport empfangene Pakete, und eine Signaturtabelle, die mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Speichern der Signaturen, wobei die Signaturtabellen konfiguriert sind zum Speichern von Signaturen während des Nachschlagezeitfensters, enthalten. Außerdem kann der Paketunterschiedsprozessor weiterhin konfiguriert sein zum Durchführen, für jeden Eingangsport, mindestens eines Nachschlagevorgangs zwischen für die an diesem Eingangsport empfangenen Pakete generierten Signaturen und der mit mindestens einem anderen Eingangsport assoziierten Signaturtabelle und zum Verwerfen von Paketen, wenn keine Übereinstimmungen gefunden werden. Weiterhin kann der Paketunterschiedsprozessor konfiguriert sein zum Durchführen von zwei Nachschlagevorgängen, die mit jedem Eingangsport assoziiert sind, und wobei ein Paketpuffer Pakete zwischen den beiden Nachschlagevorgängen speichert. Noch weiter kann der Paketunterschiedsprozessor einen Nachschlagevorgang durchführen, der mit jedem Eingangsport assoziiert ist, und ein Paketpuffer kann Pakete vor dem Nachschlagevorgang speichern. Für weitere Ausführungsformen können die Eingangsports konfiguriert sein zum Empfangen von Ingress-Paketen oder Egress-Paketen, aber nicht beiden; der Paketunterschiedsprozessor kann konfiguriert sein zum Durchführen eines Nachschlagevorgangs, der mit jedem Eingangsport assoziiert ist; und ein Paketpuffer kann Pakete für jeden Eingangsport empfangen, der konfiguriert ist zum Empfangen von Ingress-Paketen.
- Bei noch weiteren Ausführungsformen enthält der erste Strom von Paketen möglicherweise nur mit einer Netzwerkeinrichtung assoziierte Ingress-Pakete, und der zweite Paketstrom enthält möglicherweise nur mit der Netzwerkeinrichtung assoziierte Egress-Pakete. Außerdem kann der Paketunterschiedsprozessor konfiguriert sein zum Empfangen eines kombinierten Paketstroms, der den ersten Strom von Ingress-Paketen und den zweiten Strom von Egress-Paketen enthält. Weiterhin kann das Verkehrsunterschiedserkennersystem weiterhin einen Eingangsport enthalten, der konfiguriert ist zum Empfangen des kombinierten Paketstroms. Noch weiter kann das Verkehrsunterschiedserkennersystem weiterhin einen Paketsignaturgenerator enthalten, der konfiguriert ist zum Generieren von Signaturen für am Eingangsport empfangene Pakete, und eine Signaturtabelle, die konfiguriert ist zum Speichern von Signaturen während des Nachschlagezeitfensters. Der Paketunterschiedsprozessor kann auch konfiguriert sein zum Durchführen von zwei mit dem Eingangsport assoziierten Nachschlagevorgängen und zum Verwerfen von Paketen, wenn keine Übereinstimmungen gefunden werden, und ein Paketpuffer kann Pakete zwischen den beiden Nachschlagevorgängen speichern. Für andere Ausführungsformen kann das Verkehrsunterschiedserkennersystem weiterhin einen oder mehrere Paketfilter enthalten, die mit dem Eingangsport assoziiert sind und konfiguriert sind zum Verwerfen oder Durchlassen von Paketen auf der Basis von Filterregeln.
- Bei einer weiteren Ausführungsform beinhaltet das Verfahren zum Generieren von Unterschiedspaketen zwischen Strömen von Netzwerkpaketen das Bestimmen von Unterschiedspaketen innerhalb eines Nachschlagezeitfensters zwischen einem ersten Strom von Paketen und einem zweiten Strom von Paketen, die von einem Verkehrsunterschiedserkennersystem empfangen worden sind, und das Ausgeben der Unterschiedspakete. Der zweite Strom von Paketen stellt eine verarbeitete Version des ersten Stroms von Paketen dar. Das Nachschlagezeitfenster ist mit einer Verarbeitungszeit für den zweiten Strom, der eine verarbeitete Version des ersten Stroms sein soll, assoziiert. Außerdem enthalten die Unterschiedspakete Pakete innerhalb des ersten Stroms und nicht innerhalb des zweiten Stroms und Pakete innerhalb des zweiten Stroms und nicht innerhalb des ersten Stroms. Bei weiteren Ausführungsformen kann das Verfahren das Ausgeben statistischer Informationen über die Unterschiedspakete beinhalten.
- Bei anderen Ausführungsformen beinhaltet das Verfahren das Empfangen des ersten Stroms von Paketen mit mindestens einem Eingangsport für das Paketunterschiedserkennersystem und das Empfangen des zweiten Stroms von Paketen mit mindestens einem zusätzlichen Eingangsport für das Paketunterschiedserkennersystem. Außerdem können der erste und zweite Strom von Paketen von einer einzelnen Netzwerkeinrichtung empfangen werden. Weiterhin enthält der erste Strom von Paketen möglicherweise nur Ingress-Pakete für die Netzwerkeinrichtung, und der zweite Strom von Paketen enthält möglicherweise nur Egress-Pakete für die Netzwerkeinrichtung. Noch weiter können die Unterschiedspakete mindestens ein durch die Netzwerkeinrichtung entferntes von Paketen, durch die Netzwerkeinrichtung hinzugefügte Pakete oder durch die Netzwerkeinrichtung modifizierte Pakete darstellen. Außerdem kann das Verfahren das Anwenden eines oder mehrerer Paketfilter zum Verwerfen oder Durchlassen von Paketen auf der Basis von Filterregeln beinhalten.
- Bei weiteren Ausführungsformen kann der Bestimmungsschritt das Generieren von Signaturen für an den Eingangsports empfangene Pakete, Speichern der Signaturen während des Nachschlagezeitfensters und Vergleichen von Signaturen, um die Unterschiedspakete zu bestimmen, beinhalten. Außerdem kann das Verfahren das Durchführen, für jeden Eingangsport, mindestens eines Nachschlagevorgangs zwischen für die an diesem Eingangsport empfangenen Pakete generierten Signaturen und für mindestens einen anderen Eingangsport gespeicherten Signaturen und Verwerfen von Paketen, wenn Übereinstimmungen gefunden werden, beinhalten. Weiterhin können zwei Nachschlagevorgänge für jeden Eingangsport durchgeführt werden, und das Verfahren kann das Speichern von Paketen zwischen den beiden Nachschlagevorgängen beinhalten. Noch weiter wird möglicherweise nur ein Nachschlagevorgang für jeden Eingangsport durchgeführt, und das Verfahren beinhaltet weiterhin möglicherweise das Speichern von Paketen vor dem Nachschlagevorgang. Für weitere Ausführungsformen können die Eingangsports konfiguriert sein zum Empfangen von Ingress-Paketen oder Egress-Paketen, aber nicht beiden; ein Nachschlagevorgang kann an jedem Eingangsport für jeden anderen Eingangsport durchgeführt werden; und das Verfahren kann weiterhin das Speichern von Paketen für jeden Ingress-Pakete empfangenden Eingangsport beinhalten.
- Bei noch weiteren Ausführungsformen enthält der erste Strom von Paketen möglicherweise nur mit einer Netzwerkeinrichtung assoziierte Ingress-Pakete, und der zweite Paketstrom enthält möglicherweise nur mit der Netzwerkeinrichtung assoziierte Egress-Pakete. Außerdem können der erste Strom von Ingress-Paketen und der zweite Strom von Egress-Paketen kombiniert werden, um einen kombinierten Paketstrom zu bilden. Weiterhin kann das Verfahren das Empfangen des kombinierten Paketstroms an einem Eingangsport für das Paketunterschiedserkennersystem beinhalten. Noch weiter kann der Bestimmungsschritt Folgendes beinhalten: Generieren von Signaturen für an dem Eingangsport empfangene Pakete; Speichern der Signaturen während des Nachschlagezeitfensters und Vergleichen von Signaturen, um Unterschiedspakete zu bestimmen. Das Verfahren kann auch das Durchführen von zwei Nachschlagevorgängen zwischen für die am Eingangsport empfangenen Pakete generierten Signaturen und gespeicherten Signaturen und das Verwerfen von Paketen, wenn Übereinstimmungen gefunden werden, beinhalten. Für andere Ausführungsformen kann das Verfahren weiterhin das Anwenden eines oder mehrerer Paketfilter zum Verwerfen oder Durchlassen von Paketen auf der Basis von Filterregeln beinhalten.
- Für eine weitere Ausführungsform wird ein Verfahren offenbart zum Generieren von Unterschiedspaketen zwischen mehreren Paketströmen, einschließlich: Empfangen eines ersten Stroms von Paketen an einem ersten Eingangsport; Empfangen eines zweiten Stroms von Paketen an einem zweiten Eingangsport; in einem Lernmodus, automatisches Bestimmen einer Portreihenfolge, die darstellt, ob der erste Strom von Paketen für den ersten Port oder der zweite Strom von Paketen für den zweiten Port eine zeitlich erste Version empfangener Pakete darstellt; und in einem normalen Arbeitsmodus, Verwenden der Portreihenfolgenbestimmung zum Erleichtern der Bestimmung von Unterschiedspaketen zwischen dem ersten Strom von Paketen und dem zweiten Strom von Paketen
- Bei weiteren Ausführungsformen beinhaltet das Verfahren das automatische Bestimmen einer Portreihenfolge auf der Basis eines Lernzeitfensters. Bei zusätzlichen Ausführungsformen beinhaltet das automatische Bestimmen einer Portreihenfolge: Speichern von Paketen vom ersten Eingangsport innerhalb eines ersten Paketpuffers während des Lernzeitfensters, Speichern von Paketen vom zweiten Eingangsport innerhalb eines zweiten Paketpuffers während des Lernzeitfensters, Generieren von Signaturen für die innerhalb des ersten und zweiten Paketpuffers gespeicherten Pakete, Speichern der Signaturen für die Pakete innerhalb des ersten Paketpuffers innerhalb einer ersten Signaturtabelle und Speichern der Signaturen für die Pakete innerhalb des zweiten Paketpuffers innerhalb einer zweiten Signaturtabelle. Bei weiteren Ausführungsformen beinhaltet das automatische Bestimmen einer Portreihenfolge weiterhin das Durchführen von Signaturnachschlageoperationen zwischen in den Paketpuffern gespeicherten Paketen und in den Signaturtabellen gespeicherten Paketen, um eine Portreihenfolge zu bestimmen. Bei noch weiteren Ausführungsformen beinhaltet das automatische Bestimmen einer Portreihenfolge weiterhin das Zählen von mit einer Signaturnachschlageoperation zwischen dem ersten Paketpuffer und der zweiten Signaturtabelle assoziierten Übereinstimmungen, um einen ersten Übereinstimmungszählwert zu bilden, und das Zählen von mit einer Signaturnachschlageoperation zwischen dem zweiten Paketpuffer und der ersten Signaturtabelle assoziierten Übereinstimmungen, um einen zweiten Übereinstimmungszählwert zu bilden. Bei zusätzlichen Ausführungsformen kann das automatische Bestimmen einer Portreihenfolge weiterhin das Vergleichen des ersten und zweiten Übereinstimmungszählwerts mit einem Übereinstimmungsschwellwert umfassen, um eine Portreihenfolge zu bestimmen.
- Bei noch weiteren Ausführungsformen stellt der zweite Strom von Paketen eine verarbeitete Version des ersten Stroms von Paketen dar. Bei zusätzlichen Ausführungsformen beinhaltet das Verfahren weiterhin das Generieren eines Portreihenfolgen-Bestimmungsindikators, der identifiziert, welcher des ersten und zweiten Eingangsports den früheren Port darstellt. Bei weiteren Ausführungsformen werden der erste und zweite Strom von Paketen von einer einzelnen Netzwerkeinrichtung empfangen. Bei noch weiteren Ausführungsformen enthält einer des ersten und zweiten Stroms von Paketen nur Ingress-Pakete für die einzelne Netzwerkeinrichtung, und einer des ersten und zweiten Stroms von Paketen enthält nur Egress-Pakete für die einzelne Netzwerkeinrichtung.
- Für eine weitere Ausführungsform wird ein Verkehrsunterschiedserkennersystem für Netzwerkpakete offenbart, das Folgendes enthält: einen ersten Eingangsport, der konfiguriert ist zum Empfangen eines ersten Stroms von Paketen, einen zweiten Eingangsport, der konfiguriert ist zum Empfangen eines zweiten Stroms von Paketen und einen Paketunterschiedsprozessor, der konfiguriert ist, in einem Lernmodus, zum automatischen Bestimmen einer Portreihenfolge, die darstellt, ob der erste Strom von Paketen für den ersten Port oder der zweite Strom von Paketen für den zweiten Port eine zeitlich erste Version empfangener Pakete darstellt, wobei der Paketunterschiedsprozessor weiterhin konfiguriert ist, in einem normalen Arbeitsmodus, zum Verwenden der Portreihenfolgenbestimmung zum Erleichtern der Bestimmung von Unterschiedspaketen zwischen dem ersten Strom von Paketen und dem zweiten Strom von Paketen.
- Bei weiteren Ausführungsformen ist der Paketunterschiedsprozessor konfiguriert zum Bestimmen einer Portreihenfolge auf der Basis eines Lernzeitfensters. Bei zusätzlichen Ausführungsformen enthält der Paketunterschiedsprozessor einen Paketpuffer, der mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Speichern von Paketen innerhalb des Lernzeitfensters, einen Paketsignaturgenerator, der mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Generieren von Signaturen für am Eingangsport empfangene Pakete, und eine Signaturtabelle, die mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Speichern der Signaturen. Bei weiteren Ausführungsformen ist der Verkehrsunterschiedserkennerprozessor weiterhin konfiguriert zum Durchführen von Signaturnachschlageoperationen zwischen in den Paketpuffern gespeicherten Paketen und in den Signaturtabellen gespeicherten Paketen, um eine Portreihenfolge zu bestimmen. Bei noch weiteren Ausführungsformen enthält der Paketunterschiedsprozessor weiterhin einen ersten Zähler, der konfiguriert ist zum Speichern eines ersten Übereinstimmungszählwerts, der mit einer Signaturnachschlageoperation zwischen dem mit dem ersten Eingangsport assoziierten Paketpuffer und der mit dem zweiten Eingangsport assoziierten Signaturtabelle assoziiert ist, und der Paketunterschiedsprozessor enthält weiterhin einen zweiten Zähler, der konfiguriert ist zum Speichern eines zweiten Übereinstimmungszählwerts, der mit der Signaturnachschlageoperation zwischen dem mit dem zweiten Eingangsport assoziierten Paketpuffer und der mit dem ersten Eingangsport assoziierten Signaturtabelle assoziiert ist. Bei weiteren Ausführungsformen enthält der Verkehrsunterschiedsprozessor weiterhin einen Portreihenfolgen-Logikprozessor, der konfiguriert ist zum Empfangen des ersten und zweiten Übereinstimmungszählwerts und zum Vergleichen des ersten und zweiten Übereinstimmungszählwerts mit einem Übereinstimmungsschwellwert, um eine Portreihenfolge zu bestimmen.
- Bei noch weiteren Ausführungsformen stellt der zweite Strom von Paketen eine verarbeitete Version des ersten Stroms von Paketen dar. Bei zusätzlichen Ausführungsformen ist der Paketunterschiedsprozessor weiterhin konfiguriert zum Ausgeben eines Portreihenfolgen-Bestimmungsindikators, der konfiguriert ist zum Identifizieren, welcher des ersten und zweiten Eingangsports den früheren Port darstellt. Bei weiteren Ausführungsformen sind der erste und zweite Eingangsport konfiguriert zum Empfangen des ersten und zweiten Stroms von Paketen von einer einzelnen Netzwerkeinrichtung. Bei noch weiteren Ausführungsformen ist einer des ersten und zweiten Eingangsports konfiguriert zum Empfangen nur von Ingress-Paketen für die einzelne Netzwerkeinrichtung, und einer des ersten und zweiten Eingangsports ist konfiguriert zum Empfangen nur von Egress-Paketen für die einzelne Netzwerkeinrichtung.
- Andere oder zusätzliche Merkmale, Varianten und Ausführungsformen können, falls gewünscht, implementiert werden, und es können auch verwandte Systeme und Verfahren genutzt werden.
- Beschreibung der Zeichnungen
- Es wird angemerkt, dass die beigefügten Zeichnungen nur Ausführungsbeispiele der Erfindung darstellen und deshalb nicht als ihren Schutzbereich beschränkend angesehen werden sollten, da die Erfindung andere, gleichermaßen effektive Ausführungsformen gestatten kann.
-
1 ist ein Blockdiagramm eines Ausführungsbeispiels für ein Verkehrsunterschiedserkennersystem, das konfiguriert ist zum Empfangen von Ingress-/Egress-Paketen von mehreren Ports für eine Netzwerkeinrichtung. -
2 ist ein repräsentatives Zeitsteuerdiagramm eines Ausführungsbeispiels zum Verarbeiten von von der Netzwerkeinrichtung empfangenen Ingress-/Egress-Paketen unter Verwendung einer einzelnen Nachschlageoperation pro Port und eines erweiterten Nachschlagezeitfensters. -
3 ist ein repräsentatives Zeitsteuerdiagramm eines Ausführungsbeispiels zum Verarbeiten von von der Netzwerkeinrichtung empfangenen Ingress-/Egress-Paketen unter Verwendung von zwei Nachschlageoperation pro Port und einem erweiterten Nachschlagezeitfenster. -
4A ist ein Blockdiagramm eines Ausführungsbeispiels für einen Paketunterschiedsprozessor, der konfiguriert ist zum Bestimmen von Unterschieden zwischen an zwei Ports empfangenen Ingress-/Egress-Paketen unter Verwendung von zwei Nachschlageoperationen und einem Nachschlagezeitfenster. -
4B ist ein Blockdiagramm eines Ausführungsbeispiels für einen Paketunterschiedsprozessor, der konfiguriert ist zum Bestimmen von Unterschieden zwischen an zwei Ports empfangenen Ingress-/Egress-Paketen unter Verwendung einer Nachschlageoperation und eines erweiterten Nachschlagezeitfensters. -
5A ist ein Blockdiagramm eines Ausführungsbeispiels für einen Paketunterschiedsprozessor, wobei die Ports konfiguriert sind zum Empfangen nur von Ingress-Paketen oder nur von Egress-Paketen. -
5B ist ein Blockdiagramm eines Ausführungsbeispiels für einen Paketunterschiedsprozessor, wobei eine automatische Portreihenfolgebestimmung innerhalb eines Portlernarbeitsmodus durchgeführt wird. -
6 ist ein Blockdiagramm eines Ausführungsbeispiels zum Verwenden eines Verkehrsunterschiedserkennersystems zum Bestimmen von Unterschieden zwischen mehreren Ingress-Ports und mehreren Egress-Ports für eine Netzwerkeinrichtung. -
7 ist ein Blockdiagramm eines Ausführungsbeispiels, wo zwei Ingress-Ports und zwei Egress-Ports innerhalb eines Paketunterschiedsprozessors für ein Paketunterschiedserkennersystem verarbeitet werden. -
8 ist ein Blockdiagramm eines Ausführungsbeispiels, wo Ingress/Egress-Ströme von mehreren Ports kombiniert werden und dann an einen Eingangsport für ein Verkehrsunterschiedserkennersystem geliefert werden. -
9 ist ein Blockdiagramm eines Ausführungsbeispiels zum Verarbeiten eines kombinierten Paketstroms mit einem Paketunterschiedsprozessor für ein Verkehrsunterschiedserkennersystem. - Ausführliche Beschreibung der Erfindung
- Es werden Verkehrsunterschiedserkennersysteme für Netzwerkeinrichtungen und verwandte Verfahren offenbart. Die offenbarten Ausführungsformen sind konfiguriert zum Empfangen von zwei Strömen von Paketen, wobei ein Strom eine verarbeitete Version eines anderen Stroms ist, und dann zum Bestimmen von Unterschiedspaketen zwischen dem ersten und zweiten Strom innerhalb eines Nachschlagezeitfensters, wobei das Nachschlagezeitfenster beispielsweise mit einer Verarbeitungszeit für den zweiten Strom, der eine verarbeitete Version des ersten Stroms sein soll, assoziiert ist. Unterschiedspakete innerhalb eines Nachschlagezeitfensters können auch für innerhalb eines einzelnen kombinierten Stroms von Paketen empfangene Pakete bestimmt werden. Unterschiedspakete und/oder verwandte statistische Informationen werden dann, wie gewünscht, für eine zusätzliche Verarbeitung ausgegeben. Die Ströme von Paketen können mit Ingress- und Egress-Paketen für eine Netzwerkeinrichtung assoziiert sein, und die Unterschiedspakete und verwandten statistischen Informationen können verwendet werden, um Pakete zu bestimmen, die durch die Netzwerkeinrichtung entfernt, hinzugefügt und/oder modifiziert worden sind. Unterschiedliche Merkmale und Varianten können, wie gewünscht, implementiert werden, und es können auch verwandte Systeme und Verfahren genutzt werden.
- Es werden auch Verkehrsunterschiedserkennersysteme für Netzwerkeinrichtungen und verwandte Verfahren offenbart, die eine automatische Portreihenfolgenbestimmung beinhalten. Die offenbarten Ausführungsformen enthalten Eingangsports, die einen ersten Strom von Paketen und einen zweiten Strom von Paketen empfangen, und einen Paketunterschiedsprozessor, der in einem Lernmodus und einem normalen Modus arbeitet. Im Lernarbeitsmodus bestimmt der Paketunterschiedsprozessor automatisch eine Portreihenfolge, die darstellt, ob der erste Strom von Paketen für den ersten Port oder der zweite Strom von Paketen für den zweiten Port eine zeitlich erste Version empfangener Pakete darstellt. Im normalen Arbeitsmodus verwendet der Paketunterschiedsprozessor die Portreihenfolgenbestimmung, um eine Bestimmung von Unterschiedspaketen zwischen dem ersten Strom von Paketen und dem zweiten Strom von Paketen zu erleichtern. Unterschiedliche Merkmale und Varianten können, falls gewünscht, implementiert werden, und es können auch verwandte Systeme und Verfahren genutzt werden.
- Teilweise bestimmen die offenbarten Ausführungsformen Unterschiede zwischen Ingress-/Egress-Paketsystemen und verwandte Informationen durch Vergleichen von zwei oder mehr unterschiedlichen Paketströmen für eine Netzwerkeinrichtung und Weiterleiten der Unterschiedspakete, die nur in einem der Ströme vorliegen. Diese Unterschiedsbestimmung trägt dazu bei, Pakete aufzudecken, die durch eine Netzwerkeinrichtung entfernt, modifiziert oder hinzugefügt worden sind. Diese Unterschiedsbestimmung kann auch auf innerhalb eines einzelnen kombinierten Paketstroms empfangene Pakete angewendet werden. Weiterhin besteht keine Anforderung, dass der oder die durch die offenbarten Ausführungsformen empfangenen und verarbeiteten Paketströme geordnete Pakete und/oder geordnete Paketströme enthalten, wie sie typischerweise erforderlich sind, wenn eine Synchronisation von zwei Paketströmen durchgeführt wird. Durch die offenbarten Ausführungsformen können auch Paketfilter genutzt werden, um gewisse Pakete gegenüber dieser Unterschiedsverarbeitung zu maskieren, die durch die Netzwerkeinrichtung hinzugefügt worden sind, wie etwa TCP ACK-Pakete (Transmission Control Protocol Acknowledge), die für die Unterschiedsanalyse, die schließlich an den Unterschiedspaketen durchgeführt wird, nicht relevant sind. Weiterhin können die Verkehrsunterschiedserkenner-Ausführungsformen konfiguriert sein zum Ausgeben statistischer oder anderer Informationen (z. B. von Paketinhalten) über Unterschiedspakete (z. B. entfernte, modifizierte oder hinzugefügte Pakete) zusätzlich zum Ausgeben der Unterschiedspakete selbst, und die Unterschiedspakete und verwandte statistische Informationen können an einen spezifizierten Port am Verkehrsunterschiedserkennersystem zur weiteren Analyse durch ein externes Netzwerküberwachungswerkzeug ausgegeben werden. Noch weiter können die hierin beschriebenen Verkehrsunterschiedserkennersysteme und -verfahren zum Bestimmen von Unterschieden zwischen einem oder mehreren Ingress-Paketströmen und einem oder mehreren Egress-Paketströmen für eine Netzwerkeinrichtung verwendet werden. Als solches können Unterschiedspakete und verwandte Informationen durch die offenbarten Ausführungsformen ausgegeben und zum Analysieren von Echtzeitoperationen einer großen Vielzahl von Netzwerkeinrichtungen (z. B. Firewalls, Load Balancer, Router, Switches und/oder anderen Netzwerkelementen) verwendet werden.
-
1 ist ein Blockdiagramm eines Ausführungsbeispiels100 für ein Verkehrsunterschiedserkennersystem112 , das konfiguriert ist zum Empfangen von Ingress-/Egress-Paketen von mehreren Ports für eine Netzwerkeinrichtung102 . Die Netzwerkeinrichtung102 ist konfiguriert zum Empfangen von mit einem oder mehreren Ports assoziierten Ingress-Paketen und zum Ausgeben verarbeiteter Versionen dieser Pakete als Egress-Pakete auf einem oder mehreren Ports unter Verwendung eines Paketprozessors103 . Die Ports für die Netzwerkeinrichtung102 können Ports sein, die konfiguriert sind zum Empfangen nur von Ingress-Paketen, nur von Egress-Paketen oder sowohl Ingress- als auch Egress-Paketen. Als solches können die bezüglich Ports für die Netzwerkeinrichtung102 empfangenen Paketströme108 und110 auch Nur-Ingress-Pakete, Nur-Egress-Pakete oder sowohl Ingress- als auch Egress-Pakete beinhalten. Es wird angemerkt, dass, falls die Paketströme108 /110 sowohl Ingress- als auch Egress-Pakete enthalten, diese Pakete mit zusätzlichen Informationen markiert werden können, um eine Bestimmung zu erleichtern, ob ein Unterschiedspaket durch eine Netzwerkeinrichtung102 hinzugefügt, modifiziert oder gelöscht worden ist. Falls keine zusätzlichen Markierungsinformationen verwendet werden, um zu bestimmen, ob Pakete Ingress- oder Egress-Pakete sind, kann möglicherweise nur eine Bestimmung vorgenommen werden, dass ein Paket ein Unterschiedspaket ist, ohne dass bestimmt werden kann, ob diese Unterschiedspaket ein hinzugefügtes Paket, ein modifiziertes Paket oder ein verworfenes Paket darstellt. - Das Verkehrsunterschiedserkennersystem
112 ist konfiguriert zum Empfangen von Kopien der Ingress-/Egress-Pakete108 an einem ersten Port104 und zum Empfangen von Kopien der Ingress-/Egress-Pakete110 an einem zweiten Port106 . Das Verkehrsunterschiedserkennersystem112 bestimmt Unterschiede zwischen Ingress-Paketen und Egress-Paketen unter Verwendung des Paketunterschiedsprozessors120 . Wie unten ausführlicher beschrieben, wird mit einem Nachschlagezeitfenster114 ein Zeitsteuerfenster bestimmt, innerhalb dessen der Paketunterschiedsprozessor120 nach Paketunterschieden sucht, und dieses Nachschlagezeitfenster114 kann mit der Verarbeitungszeit für den Paketprozessor103 assoziiert sein, wenn sich Pakete durch die Netzwerkeinrichtung102 bewegen. Die Ergebnisse dieser Unterschiedsverarbeitung können beispielsweise das Bestimmen von Paketen, die durch die Netzwerkeinrichtung102 entfernt werden, von Paketen, die durch die Netzwerkeinrichtung102 hinzugefügt werden, von Paketen, die durch die Netzwerkeinrichtung102 modifiziert werden, und/oder andere gewünschte Unterschiedsergebnisse oder statistische Informationen beinhalten. Das Verkehrsunterschiedserkennersystem112 kann konfiguriert sein zum Ausgeben von mit der Unterschiedsverarbeitung assoziierten Informationen, wie etwa Unterschiedspaketen122 (z. B. entfernte, hinzugefügte oder modifizierte Pakete), und/oder anderen Informationen124 bezüglich der Unterschiedsverarbeitung und bezüglich Unterschiedspaketen. - Es wird angemerkt, dass für die Ausführungsform
100 angenommen wird, dass der erste und zweite Port104 /106 sowohl Ingress- als Egress-Pakete empfangen. Weiterhin wird angenommen, dass am ersten Port104 empfangene Ingress-Pakete am zweiten Port106 als Egress-Pakete empfangen werden sollen. Analog wird angenommen, dass Ingress-Pakete, die am zweiten Port106 empfangen werden sollen, am ersten Port104 als Egress-Pakete empfangen werden. Das Verkehrsunterschiedserkennersystem112 ist konfiguriert zum Bestimmen des Unterschieds zwischen am ersten und zweiten Port104 /106 empfangenen Paketen. Wenn der Ingress- oder Egress-Pakettyp bekannt ist, kann zudem das Verkehrsunterschiedserkennersystem112 konfiguriert sein zum Ausgeben entfernter Pakete getrennt von hinzugefügten/modifizierten Paketen. Insbesondere werden Ingress-Pakete, die am ersten Port104 empfangen und am zweiten Port106 nicht als Egress-Pakete empfangen werden, als durch die Netzwerkeinrichtung102 entfernte Pakete angesehen. Egress-Pakete, die am zweiten Port106 empfangen werden und am ersten Port104 nicht als Ingress-Pakete empfangen werden, werden als durch die Netzwerkeinrichtung102 hinzugefügte oder modifizierte Pakete angesehen. Analog werden Ingress-Pakete, die am zweiten Port106 empfangen werden und am ersten Port104 nicht als Egress-Pakete empfangen werden, als durch die Netzwerkeinrichtung102 entfernte Pakete angesehen. Egress-Pakete, die am ersten Port104 empfangen werden und am zweiten Port106 nicht als Ingress-Pakete empfangen werden, werden als durch die Netzwerkeinrichtung102 hinzugefügte oder modifizierte Pakete angesehen. Als solches kann das Verkehrsunterschiedserkennersystem Unterschiedspakete122 sowie andere gewünschte Informationen124 ausgeben und kann insbesondere entfernte Pakete und hinzugefügte/modifizierte Pakete ausgeben, wenn der Ingress-/Egress-Pakettyp für empfangene Pakete bekannt ist. -
2 ist ein repräsentatives Zeitsteuerdiagramm eines Ausführungsbeispiels200 zum Verarbeiten von von der Netzwerkeinrichtung102 empfangenen Ingress-/Egress-Paketen unter Verwendung einer Nachschlageoperation pro Port und eines erweiterten Nachschlagezeitfensters204 . Für die Ausführungsform200 wird angenommen, dass jeder Port104 /106 konfiguriert ist zum Empfangen von sowohl Ingress- als auch Egress-Paketen von Ports für die Netzwerkeinrichtung102 . Wie hier beschrieben wird, verwendet das Verkehrsunterschiedserkennersystem112 ein Nachschlagezeitfenster (W)114 , um die Unterschiedsverarbeitung von Ingress- und Egress-Paketen zu erleichtern, und dieses Nachschlagezeitfenster114 kann mit der Verarbeitungszeit für den Paketprozessor103 für die Netzwerkeinrichtung102 assoziiert sein, während sich Pakete durch die Netzwerkeinrichtung102 bewegen. - Zuerst sei angenommen, dass ein Paket (PACKETA)
202 ein mit dem ersten Port (PORT1)104 assoziiertes Ingress-Paket ist und zum Zeitpunkt TA durch das Verkehrsunterschiedserkennersystem112 empfangen wird. Als ein am ersten Port104 empfangenes Ingress-Paket sollte ein verwandtes Egress-Paket (PACKETB)212 zum Zeitpunkt TB am zweiten Port (PORT2)106 empfangen werden. Zeit TB ist eine gewisse Zeitverzögerung (X) nach der Zeit TA, wobei die Zeitverzögerung (X) mit der Verarbeitungsverzögerung assoziiert ist, während sich das Paket durch die Netzwerkeinrichtung102 bewegt. Um diese Zeitverzögerung (X) zu berücksichtigen, wird das Nachschlagezeitfenster (W)114 verwendet, um eine Nachschlageoperation206 zu verzögern, die durchgeführt wird, um das am ersten Port104 empfangene Ingress-Paket (PACKETA)202 mit am zweiten Port empfangenen Paketen, wie etwa dem Paket (PACKETB)212 , zu vergleichen. Das Nachschlagezeitfenster (W)114 ist so gewählt, dass es größer oder gleich der Verarbeitungszeitverzögerung ist (z. B. W ≥ X). Die Nachschlageoperation206 ist konfiguriert zu bestimmen, ob das Ingress-Paket (PACKETA)202 am zweiten Port106 als ein Egress-Paket (PACKETB)212 empfangen oder nicht empfangen worden ist. - Zweitens sei angenommen, dass das Paket (PACKETB)
212 ein mit dem zweiten Port (PORT2)106 assoziiertes Egress-Paket ist. Es kann wieder angenommen werden, dass dieses Egress-Paket (PACKETB)212 zu einer Zeit TB durch das Paketunterschiedserkennersystem112 empfangen worden ist. Als ein am zweiten Port106 empfangenes Egress-Paket sollte ein verwandtes Ingress-Paket (PACKETA)202 mit einer gewissen Zeitverzögerung (X) früher zum Zeitpunkt TA am ersten Port104 empfangen worden sein, wobei diese Zeitverzögerung (X) wieder mit der Verarbeitungsverzögerung durch die Netzwerkeinrichtung102 assoziiert ist. Ein Nachschlagezeitfenster (W)114 wird wieder angewendet, bevor eine Nachschlageoperation216 durchgeführt wird, um das am zweiten Port106 empfangene Egress-Paket (PACKETB)212 mit am ersten Port104 empfangenen Paketen, wie etwa dem Paket (PACKETA)202 , zu vergleichen. Die Nachschlageoperation216 ist konfiguriert zum Bestimmen, ob das Egress-Paket (PACKETB)212 zuvor am ersten Port104 als ein Ingress-Paket (PACKETA)202 empfangen oder nicht empfangen worden ist. Das erweiterte Nachschlagezeitfenster204 wird ebenfalls benötigt, da das Paket (PACKETA)202 ansonsten bereits außerhalb des Nachschlagezeitfensters114 liegen könnte, wenn die Nachschlageoperation216 durchgeführt wird. - Für die Ausführungsform
200 werden, weil nicht bekannt ist, ob bezüglich Ports104 /106 empfangene Pakete202 /212 Ingress- oder Egress-Pakete sein werden, die Pakete für die Länge des Nachschlagezeitfensters (W)114 und auch ein zusätzliches erweitertes Nachschlagezeitfenster (W)204 gespeichert. Durch Speichern empfangener Pakete während zwei Nachschlagfenstern (2 × W) einschließlich des Nachschlagezeitfensters (W)114 und des erweiterten Nachschlagezeitfensters (W)204 kann bezüglich jedes der Ports104 /106 eine einzelne Nachschlageoperation206 /216 verwendet werden, um Unterschiede zwischen am ersten Port104 empfangenen Ingress-/Egress-Paketen und am zweiten Port106 empfangenen Ingress-/Egress-Paketen zu bestimmen. -
3 ist ein repräsentatives Zeitsteuerdiagramm eines Ausführungsbeispiels300 zum Verarbeiten von von den Ports104 /106 empfangenen Ingress-/Egress-Paketen unter Verwendung von zwei Nachschlageoperationen für jeden Port und eines Nachschlagezeitfensters (W)114 . Für die Ausführungsform300 verwendet das Verkehrsunterschiedserkennersystem112 wieder ein Nachschlagefenster (W)114 , um die Unterschiedsverarbeitung von Ingress- und Egress-Paketen zu erleichtern, verwendet aber nicht das erweiterte Nachschlagezeitfenster (W)204 . Es wird anfänglich angemerkt, dass, wie bei der Ausführungsform200 angenommen wird, jeder Port104 /106 sowohl Ingress- als Egress-Pakete, die mit Ports für die Netzwerkeinrichtung102 assoziiert sind, empfängt, und die Ausführungsform300 ist konfiguriert zum Verarbeiten sowohl von Ingress- als auch Egress-Bedingungen an jedem Port. - Zuerst sei angenommen, dass ein Paket (PACKETA)
202 ein mit dem ersten Port (PORT1)104 assoziiertes Ingress-Paket ist und zum Zeitpunkt TA durch das Verkehrsunterschiedserkennersystem112 empfangen wird. Als ein am ersten Port104 empfangenes Ingress-Paket sollte ein verwandtes Egress-Paket (PACKETB)212 zum Zeitpunkt TB am zweiten Port (PORT2)106 empfangen werden. Zeit TB liegt eine gewisse Zeitverzögerung (X) nach der Zeit TA, wobei die Zeitverzögerung (X) wieder mit der Verarbeitungsverzögerung assoziiert ist, während sich das Paket durch die Netzwerkeinrichtung102 bewegt. Um diese Zeitverzögerung (X) zu berücksichtigen, wird das Nachschlagezeitfenster (W)114 verwendet, um eine Nachschlageoperation206 zu verzögern, die durchgeführt wird, um das am ersten Port104 empfangene Ingress-Paket (PACKETA)202 mit am zweiten Port106 empfangenen Paketen, wie etwa dem Paket (PACKETB)212 , zu vergleichen. Das Nachschlagezeitfenster (W)114 ist so gewählt, dass es größer oder gleich der Verarbeitungszeitverzögerung ist. Die Nachschlageoperation206 ist konfiguriert zu bestimmen, ob das Ingress-Paket (PACKETA)202 am zweiten Port106 als ein Egress-Paket (PACKETB)212 empfangen oder nicht empfangen worden ist. Im Gegensatz zur Ausführungsform200 und wie unten ausführlicher beschrieben, wird eine zusätzliche Nachschlageoperation302 auch durchgeführt, wenn das Paket (PACKETA)202 für Bedingungen empfangen wird, bei denen das empfangene Paket ein Egress-Paket ist. - Zweitens sei wieder angenommen, dass das Paket (PACKETB)
212 ein mit dem zweiten Port (PORT2)106 assoziiertes Egress-Paket ist, das zum Zeitpunkt TB durch das Paketunterschiedserkennersystem112 empfangen wird. Als ein am zweiten Port106 empfangenes Egress-Paket sollte ein verwandtes Ingress-Paket (PACKETA)202 mit einer gewissen Zeitverzögerung (X) früher zum Zeitpunkt TA am ersten Port104 empfangen worden sein, wobei diese Zeitverzögerung (X) wieder mit der Verarbeitungsverzögerung durch die Netzwerkeinrichtung102 assoziiert ist. Ein Nachschlagezeitfenster (W)114 wird wieder angewendet, bevor eine Nachschlageoperation216 durchgeführt wird, um das am zweiten Port106 empfangene Egress-Paket (PACKETB)212 mit am ersten Port104 empfangenen Paketen, wie etwa dem Paket (PACKETA)202 , zu vergleichen. Die Nachschlageoperation216 ist konfiguriert zum Bestimmen, ob das Egress-Paket (PACKETB)212 zuvor am ersten Port104 als ein Ingress-Paket (PACKETA)202 empfangen oder nicht empfangen worden ist. Weil jedoch das Paket (PACKETB)212 ein Egress-Paket war und nur ein einzelnes Nachschlagefenster (W)114 verwendet wird, um Pakete zu speichern, wird Paket (PACKETA)202 nicht länger gespeichert, wenn die Nachschlageoperation216 durchgeführt wird. Als solches wird auch eine zusätzliche Nachschlageoperation312 durchgeführt, wenn das Paket (PACKETB)212 für diese Bedingung empfangen wird, bei der das empfangene Paket ein Egress-Paket ist. - Im Gegensatz zur Ausführungsform
200 werden deshalb, anstatt ein erweitertes Nachschlagefenster204 zu verwenden, um Egress-Paketbedingungen zu berücksichtigen, auch zusätzliche Nachschlageoperationen302 /312 durchgeführt, wenn die Pakete202 /212 empfangen werden. Insbesondere ist die Nachschlageoperation312 konfiguriert zu bestimmen, ob das Egress-Paket (PACKETB)212 zuvor am ersten Port104 als Ingress-Paket (PACKETA)202 empfangen oder nicht empfangen worden ist. Analog wird die zusätzliche Nachschlageoperation302 auch durchgeführt, wenn das Paket (PACKETA)202 empfangen wird, um den Fall zu bearbeiten, in dem dieses Paket ein Egress-Paket denn ein Ingress-Paket ist. Durch Anwendung der Nachschlageoperationen302 /312 , wenn die Pakete202 /212 empfangen werden, und durch Anwenden der Nachschlageoperationen206 /216 nach dem Zeitfenster (W)114 werden sowohl Ingress- als auch Egress-Bedingungen durch die Ausführungsform300 behandelt. - Es wird angemerkt, dass die Ausführungsform
200 von2 und/oder die Ausführungsform300 von3 verwendet werden können, um eine Anzeige von durch die Netzwerkeinrichtung102 hinzugefügten, modifizierten und/oder entfernten Paketen zu liefern. Da diese Ausführungsformen200 /300 jedoch nicht verfolgen, ob Pakete Ingress- oder Egress-Pakete sind, können diese Ausführungsformen200 /300 nicht bestimmen, ob Unterschiede entfernte Pakete oder hinzugefügte/modifizierte Pakete darstellen. Zur Bereitstellung einer derartigen Bestimmung können zusätzliche Informationen zu den Paketen hinzugefügt oder markiert oder bezüglich der Pakete verfolgt werden, während sie ankommen, um anzuzeigen, ob sie Ingress- oder Egress-Pakete sind. Weiterhin könnte das Verkehrsunterschiedserkennersystem112 Ports nutzen, die konfiguriert sind, nur Ingress- oder Egress-Pakete von Ports an der Netzwerkeinrichtung102 zu empfangen, so dass es bekannt wäre, ob ein empfangenes Paket ein Ingress-Paket oder ein Egress-Paket für die Netzwerkeinrichtung102 wäre. Wie oben angedeutet können Ingress-Pakete, die an einem Port empfangen werden, aber nicht als Egress-Pakete an einem anderen Port für die Netzwerkeinrichtung102 empfangen werden, als durch die Netzwerkeinrichtung102 entfernte Pakete angesehen werden. Analog können Egress-Pakete, die an einem Port empfangen werden, aber nicht als Ingress-Pakete an einem anderen Port für die Netzwerkeinrichtung102 empfangen werden, als durch die Netzwerkeinrichtung102 hinzugefügte oder modifizierte Pakete angesehen werden. Zudem kann eine zusätzliche Verarbeitung angewendet werden, um zusätzliche statistische Informationen über die Pakete zu bestimmen, die durch die Netzwerkeinrichtung102 entfernt, hinzugefügt und/oder modifiziert worden sind. Es könnten auch andere Varianten implementiert werden, wie gewünscht, während weiterhin die Paketstromunterschieds-Verarbeitungstechniken und Nachschlagezeitfenster, die hierin beschrieben werden, genutzt werden. - Nun werden die
4A –B und5A –B erörtert. Diese Zeichnungen liefern Ausführungsbeispiele für den Paketunterschiedsprozessor120 . Bei den Ausführungsformen der4A –B wird angenommen, dass die Paketströme Ingress- und Egress-Pakete enthalten können. Bei der Ausführungsform von5A wird angenommen, dass ein Eingangs-Paketstrom Ingress-Pakete enthält und der andere Eingangs-Paketstrom Egress-Pakete enthält. Die Ausführungsform von5B liefert automatische Portreihenfolgenbestimmungen innerhalb eines Port-Lernarbeitsmodus, um zu bestimmen, welcher Port zeitlich der erste ist, um Pakete zu empfangen (z. B. Ingress-Verkehr), und welcher zeitlich der zweite ist (z. B. Egress-Verkehr). -
4A ist ein Blockdiagramm eines Ausführungsbeispiels für den Paketunterschiedsprozessor120 , der konfiguriert ist zum Bestimmen von Unterschieden zwischen an zwei Ports empfangenen Ingress-/Egress-Paketen unter Verwendung von zwei Nachschlageoperationen und einem Nachschlagezeitfenster. Die Blöcke über der gestrichelten Linie460 stellen eine mit an einem ersten Port (PORT1) empfangenen Paketen401 assoziierte Verarbeitung dar, und die Blöcke unter der gestrichelten Linie460 stellen eine mit an einem zweiten Port (PORT2) empfangenen Paketen431 assoziierte Verarbeitung dar. Die dargestellte Ausführungsform führt zwei Nachschlageoperationen402 /406 bezüglich der Pakete401 für den ersten Port (PORT1) durch und führt zwei Nachschlageoperationen432 /436 bezüglich Paketen431 für den zweiten Port (PORT2) durch. Die Unterschiedspakete408 stellen am ersten Port (PORT1) empfangene Ingress-/Egress-Pakete401 dar, die nicht innerhalb der am zweiten Port (PORT2) empfangenen Ingress-/Egress-Pakete431 waren. Analog stellen die Unterschiedspakete438 am zweiten Port (PORT2) empfangene Ingress-/Egress-Pakete431 dar, die nicht innerhalb der am ersten Port (PORT1) empfangenen Ingress-/Egress-Pakete401 waren. Es wird angemerkt, dass das oben beschriebene Nachschlagezeitfenster (W)114 bestimmt, wie lange Pakete und Signaturindexwerte innerhalb der Puffer404 /4012 /434 /442 gespeichert werden, die unten ausführlicher beschrieben werden. - Wenn zuerst die Verarbeitung über der gestrichelten Linie
460 betrachtet wird, wird die Nachschlageoperation402 an Ingress-/Egress-Paketen401 von einem ersten Port (PORT1) durchgeführt. Die Nachschlageoperation402 sendet jedes Paket an einen Signaturprozessor410 . Der Signaturprozessor410 generiert eine Signatur für das Paket und sendet die Signatur an eine Signaturtabelle414 , damit sie zu den in der Signaturtabelle414 gespeicherten Signaturen hinzugefügt wird. Der Signaturprozessor410 sendet auch einen Index innerhalb der Signaturtabelle414 für diese Signatur an einen Aging-Puffer412 , und dieser Index wird im Aging-Puffer412 gespeichert. Der Aging-Puffer412 kann ein FIFO-Puffer (First In First Out) oder irgendein anderer Puffer sein, der Signaturindexwerte während einer mit dem hier beschriebenen Nachschlagezeitfenster assoziierten Zeitdauer speichert. Wenn ein Signaturindex den Aging-Puffer412 verläßt, wird dieser Index an die Signaturtabelle414 geliefert, wo sie zum Löschen der verwandten Signatur aus der Signaturtabelle414 verwendet wird. Als solches werden die Signaturen während des Nachschlagezeitfensters gespeichert. - Zusätzlich zum Generieren einer Signatur und eines Signaturindexes kommuniziert der Signaturprozessor
410 auch mit der Signaturtabelle444 für den zweiten Port (PORT2), um zu bestimmen, ob eine in der Signaturtabelle444 gespeicherte Signatur mit der für das empfangene Paket generierten Signatur übereinstimmt. Diese Bestimmung wird dann unter Verwendung einer Steuernachricht (CTRL)418 an die Nachschlageoperation402 kommuniziert. Falls die Steuernachricht (CTRL)418 anzeigt, dass eine Übereinstimmung gefunden worden ist, verwirft die Nachschlageoperation402 das Paket. Falls die Steuernachricht (CTRL)418 anzeigt, dass keine Übereinstimmung gefunden worden ist, lässt der Nachschlageprozessor402 das Paket zum Paketpuffer404 durch, wo es gespeichert wird. Der Paketpuffer404 kann ein FIFO-Puffer (First-In-First-Out) oder irgendein anderer Puffer sein, der Pakete während einer mit dem hierin beschriebenen Nachschlagefenster assoziierten gewählten Zeitdauer speichert. Nachdem dieses Nachschlagefenster verstrichen ist, sendet der Paketpuffer404 das Paket an die Nachschlageoperation406 . Als solches werden die Pakete während des Nachschlagezeitfensters gespeichert. - Die Nachschlageoperation
406 sendet jedes Paket, das sie vom Paketpuffer404 empfängt, an den Signaturprozessor420 . Der Signaturprozessor420 generiert eine Signatur für jedes Paket und kommuniziert mit der Signaturtabelle444 , um zu bestimmen, ob eine in der Signaturtabelle444 gespeicherte Signatur mit der für das von dem Paketpuffer404 empfangene Paket generierten Signatur übereinstimmt oder nicht übereinstimmt. Diese Bestimmung wird dann unter Verwendung einer Steuernachricht (CTRL)424 an die Nachschlageoperation406 kommuniziert. Falls die Steuernachricht (CTRL)424 anzeigt, dass eine Übereinstimmung gefunden wurde, verwirft die Nachschlageoperation406 das Paket. Falls die Steuernachricht (CTRL)424 anzeigt, dass keine Übereinstimmung gefunden wurde, gibt der Nachschlageprozessor406 das Paket als Teil von Unterschiedspaketen408 aus. - Wenn nun die Verarbeitung unter der gestrichelten Linie
460 betrachtet wird, wird die Nachschlageoperation432 bezüglich den Ingress-/Egress-Paketen431 von einem zweiten Port (PORT2) durchgeführt. Die Nachschlageoperation432 sendet jedes Paket an einen Signaturprozessor440 . Der Signaturprozessor440 generiert eine Signatur für das Paket und sendet die Signatur an eine Signaturtabelle444 , damit sie zu den in der Signaturtabelle444 gespeicherten Signaturen hinzugefügt wird. Der Signaturprozessor440 sendet auch einen Index innerhalb der Signaturtabelle444 für diese Signatur an einen Aging-Puffer412 , und dieser Index wird im Aging-Puffer442 gespeichert. Der Aging-Puffer442 kann ein FIFO-Puffer (First In First Out) oder irgendein anderer Puffer sein, der Signaturindexwerte während einer mit dem hier beschriebenen Nachschlagezeitfenster assoziierten Zeitdauer speichert. Wenn ein Signaturindex den Aging-Puffer442 verläßt, wird dieser Index an die Signaturtabelle444 geliefert, wo sie zum Löschen der verwandten Signatur aus der Signaturtabelle414 verwendet wird. Als solches werden die Signaturen während des Nachschlagezeitfensters gespeichert. - Zusätzlich zum Generieren einer Signatur und eines Signaturindexes kommuniziert der Signaturprozessor
440 auch mit der Signaturtabelle414 für den zweiten Port (PORT2), um zu bestimmen, ob eine in der Signaturtabelle414 gespeicherte Signatur mit der für das empfangene Paket generierten Signatur übereinstimmt. Diese Bestimmung wird dann unter Verwendung einer Steuernachricht (CTRL)448 an die Nachschlageoperation432 kommuniziert. Falls die Steuernachricht (CTRL)448 anzeigt, dass eine Übereinstimmung gefunden worden ist, verwirft die Nachschlageoperation432 das Paket. Falls die Steuernachricht (CTRL)448 anzeigt, dass keine Übereinstimmung gefunden worden ist, lässt der Nachschlageprozessor432 das Paket zum Paketpuffer434 durch, wo es gespeichert wird. Der Paketpuffer434 kann ein FIFO-Puffer (First-In-First-Out) oder irgendein anderer Puffer sein, der Pakete für eine mit dem hierin beschriebenen Nachschlagefenster assoziierte gewählte Zeitdauer speichert. Nachdem dieses Nachschlagefenster verstrichen ist, sendet der Paketpuffer434 das Paket an die Nachschlageoperation436 . Als solches werden die Pakete für das Nachschlagezeitfenster gespeichert. - Die Nachschlageoperation
436 sendet jedes Paket, das sie vom Paketpuffer434 empfängt, an den Signaturprozessor450 . Der Signaturprozessor450 generiert eine Signatur für jedes Paket und kommuniziert mit der Signaturtabelle414 , um zu bestimmen, ob eine in der Signaturtabelle414 gespeicherte Signatur mit der für das von dem Paketpuffer434 empfangene Paket generierten Signatur übereinstimmt oder nicht übereinstimmt. Diese Bestimmung wird dann unter Verwendung einer Steuernachricht (CTRL)454 an die Nachschlageoperation436 kommuniziert. Falls die Steuernachricht (CTRL)454 anzeigt, dass eine Übereinstimmung gefunden wurde, verwirft die Nachschlageoperation436 das Paket. Falls die Steuernachricht (CTRL)454 anzeigt, dass keine Übereinstimmung gefunden wurde, gibt der Nachschlageprozessor436 das Paket als Teil von Unterschiedspaketen438 aus. - Es wird angemerkt, dass die Unterschiedspakete
408 und die Unterschiedspakete438 dann kombiniert werden können, um eine einzelne Unterschiedspaketausgabe zu bilden. Die Paketinhalte für die Unterschiedspakete408 /438 können ebenfalls analysiert werden, um zusätzliche statistische Informationen hinsichtlich der Unterschiedspakete zu liefern, wie gewünscht. Es wird weiter angemerkt, dass die Signaturprozessoren410 /420 /440 /450 eine Vielzahl an Techniken verwenden können, um Signaturen für empfangene Pakete zu generieren. Beispielsweise können ein oder mehrere Hash-Algorithmen auf Inhalte empfangener Pakete angewendet werden, um Signaturen für die empfangenen Pakete zu generieren. Weiterhin kann die Signatur unter Verwendung des vollen Inhalts des Pakets oder unter Verwendung nur ausgewählter Abschnitte der Paketinhalte berechnet werden, wie gewünscht. Wenn nur ausgewählte Abschnitte der Paketinhalte verwendet werden, gestattet dies, dass eine oder mehrere Paketmodifikationen, die durch die Netzwerkeinrichtung102 erfolgen, bei den Unterschiedsbestimmungsoperationen ignoriert werden. Als solches können Pakete immer noch als nicht-unterschiedliche Kopien voneinander detektiert werden, obwohl gewisse Felder möglicherweise durch die Netzwerkeinrichtung102 aktualisiert oder modifiziert worden sind. Wenn beispielsweise die Netzwerkeinrichtung102 das TTL-Feld (Time-To-Live) innerhalb eines IP-Pakets (Internet Protocol) aktualisiert, einen VLAN-Tag (Virtual Local Area Network) innerhalb eines Pakets hinzufügt/entfernt und/oder andere Modifikationen an den Paketen vornimmt, können diese Paketmodifikationen bei der Unterschiedsverarbeitung durch das Generieren von Signaturen ignoriert werden, die diese Abschnitte des Pakets nicht betrachten. Wie oben beschrieben wird die Signatur zu den Signaturtabellen414 /444 hinzugefügt, und der Index an der Signatur wird zu den Aging-Puffern412 /432 hinzugefügt. Falls gewünscht, könnten auch andere Signaturgenerierungstechniken eingesetzt werden. - Im Betrieb detektiert die Ausführungsform von
4A entfernte, modifizierte und/oder hinzugefügte Pakete zwischen den beiden Ports (PORT1/PORT2) innerhalb eines bestimmten Nachschlagezeitfensters. Dieses Nachschlagezeitfenster wird durch die für die Paketpuffer404 /434 gewählte Zeitdauer zum Speichern von Paketen und für die Aging-Puffer412 /442 zum Speichern von Signaturindexwerten bestimmt. Der Paketunterschiedsprozessor120 detektiert, ob ein Paket in beiden Strömen vorliegt, solange die Zeit zwischen den Paketen kleiner ist als die für das Nachschlagezeitfenster gewählte Größe. Als solches werden Pakete, die sich nicht innerhalb beider Ströme für die Ports (PORT1/PORT2) befinden, als Unterschiedspakete und auch Pakete, die innerhalb beider Ströme sind, aber nicht innerhalb des Nachschlagezeitfensters an den Ports empfangen werden, ausgegeben. - Es wird weiter angemerkt, dass die durch die Ports (PORT1/PORT2) empfangenen Paketströme für das Verkehrsunterschiedserkennersystem
112 mit unterschiedlichen Netzwerkeinrichtungen und/oder -quellen assoziiert werden könnten, falls gewünscht. Weiterhin könnten Paketströme, die empfangen werden, Paketströme sein, die von einem oder mehreren Ports oder Quellen aggregiert worden sind. Kurz gesagt ist das Verkehrsunterschiedserkennersystem112 zwar nützlich, um Unterschiede zwischen durch eine Netzwerkeinrichtung102 empfangenen Paketen und durch diese Netzwerkeinrichtung102 ausgegebenen Paketen zu vergleichen, doch kann das Verkehrsunterschiedserkennersystem112 verwendet werden, um einen Unterschied zwischen beliebigen, an das Verkehrsunterschiedserkennersystem112 gelieferten gewünschten Paketströmen zu bestimmen. - Wie oben angedeutet kann das Nachschlagezeitfenster auf der Basis der erwarteten Verarbeitungszeit gewählt werden, die ein Paket benötigt, um sich durch die Netzwerkeinrichtung
102 zu bewegen. Die Größe der Puffer404 /412 /434 /442 und der Signaturtabellen414 /444 hängt von der Zeitdauer ab, die für das Nachschlagefenster gewählt wird. Längere Zeitdauern erfordern größere Puffer und Tabellen, während kürzere Zeitdauern kleinere Puffer und Tabellen erfordern. Es wird angemerkt, dass die Puffer und Tabellen unter Verwendung eines beliebigen gewünschten programmierbaren Ablagemediums implementiert werden können, wie etwa einem Direktzugriffsspeicher (RAM), FLASH-Speicher und/oder anderen programmierbaren Datenablagemedien. - Es wird weiter angemerkt, dass ein oder mehrere Paketfilter
405 und435 beispielsweise auch vor Nachschlageoperationen402 und432 verwendet werden können und konfiguriert sein können zum Entfernen von Paketen, die innerhalb der Unterschiedsverarbeitung nicht berücksichtigt werden sollen. Diese Paketfilter405 /435 können beispielsweise zum Verwerfen von Paketen mit vordefinierten Pakettypen verwendet werden, wie etwa beispielsweise innerhalb der Netzwerkeinrichtung102 generierten Paketen, die nicht signifikant sind. Die Paketfilter405 /435 können deshalb zum Maskieren gewählter Pakete aus der Unterschiedsverarbeitung verwendet werden. Wenngleich die Paketfilter405 /435 so gezeigt werden, dass sie sich vor den Nachschlageoperationen402 und432 befinden, könnten Paketfilter auch an anderen Orten platziert und zusätzliche Paketfilter könnten eingesetzt werden. Es wird angemerkt, dass die Filter405 /435 eine oder mehrere Filterregeln anwenden können, um zu bestimmen, ob empfangene Pakete durchgelassen oder verworfen oder nicht durchgelassen oder verworfen werden sollen. -
4B ist ein Blockdiagramm eines Ausführungsbeispiels für den Paketunterschiedsprozessor120 , der konfiguriert ist zum Bestimmen von Unterschieden zwischen an zwei Ports empfangenen Ingress-/Egress-Paketen unter Verwendung einer Nachschlageoperation und eines erweiterten Nachschlagezeitfensters. Wie oben bezüglich Ausführungsform200 von2 beschrieben, kann die Anzahl der durch den Paketunterschiedsprozessor120 verwendeten Nachschlageoperationen reduziert werden, falls das Nachschlagezeitfenster erweitert wird. In einer derartigen Konfiguration beispielsweise kann das Nachschlagezeitfenster (W)114 verdoppelt werden, indem das erweiterte Nachschlagezeitfenster (W)204 hinzugefügt wird, damit das Gesamtfenster doppelt so lang wird (2 W). Mit diesem längeren Zeitfenster wird dann nur eine einzelne Nachschlageoperation406 bezüglich Paketen401 von PORT1 verwendet, und die Nachschlageoperation402 wird beseitigt. Als solches werden die Pakete402 von PORT1 direkt an den Paketpuffer404 und den Signaturprozessor410 geliefert, und durch den Signaturprozessor410 wird keine Nachschlageoperation an der Signaturtabelle444 durchgeführt. Analog wird nur eine einzelne Nachschlageoperation436 bezüglich Paketen431 von PORT2 durchgeführt, und die Nachschlageoperation432 wird beseitigt. Als solches werden die Pakete431 von PORT2 direkt an den Paketpuffer434 und an den Signaturprozessor440 geliefert, und durch den Signaturprozessor440 wird kein Nachschlagen an der Signaturtabelle414 durchgeführt. Während das Erweitern des Nachschlagezeitfensters die Anzahl an Nachschlageoperationen reduziert, würde diese Konfiguration im Wesentlichen ein Verdoppeln der Größen für die Puffer404 /412 /434 /442 und der Tabellen414 /444 erfordern, da diese Puffer und Tabellen doppelt so viele Pakete, Indexwerte und Signaturen speichern werden. - Der Paketunterschiedsprozessor
120 kann rationalisiert werden, falls Ports (PORT1/PORT2) dem gewidmet werden, Ingress- oder Egress-Pakete zu empfangen, anstatt konfiguriert zu sein, sowohl Ingress- als auch Egress-Pakete zu empfangen. Bei einer derartigen Konfiguration braucht ein Port, der nur Egress-Pakete empfängt, Pakete nicht in einen Paketpuffer zu speichern, weil ein etwaiges dupliziertes Ingress-Paket immer vor seinem verwandten Egress-Paket empfangen wird. Umgekehrt muss ein Port, der nur Ingress-Pakete empfängt, keine Nachschlageoperation vor dem Paketpuffer durchführen, weil ein etwaiges dupliziertes Egress-Paket immer nach seinem verwandten Ingress-Paket empfangen werden wird. -
5A ist ein Blockdiagramm eines Ausführungsbeispiels für den Paketunterschiedsprozessor120 , wobei die Ports (PORT1/PORT2) nur Ingress-Pakete oder nur Egress-Pakete empfangen. Die Blöcke über der gestrichelten Linie560 stellen eine Verarbeitung dar, die mit an einem ersten Port (PORT1) empfangenen Nur-Ingress-Paketen501 assoziiert ist, und Blöcke unter der gestrichelten Linie560 stellen eine Verarbeitung dar, die mit an einem zweiten Port (PORT2) empfangenen Nur-Egress-Paketen531 assoziiert ist. Die dargestellte Ausführungsform führt eine Nachschlageoperation406 bezüglich der Pakete501 durch und führt eine Nachschlageoperation432 bezüglich der Pakete531 durch. Die entfernten Pakete508 stellen am ersten Port (PORT1) empfangene Ingress-Pakete501 dar, die sich nicht innerhalb der am zweiten Port (PORT2) empfangenen Egress-Pakete531 befanden. Die hinzugefügten Pakete538 stellen am zweiten Port (PORT2) empfangene Egress-Pakete531 dar, die sich nicht in den am ersten Port (PORT1) empfangenen Ingress-Paketen501 befanden. Es wird angemerkt, dass das oben beschriebene Nachschlagezeitfenster (W)114 bestimmt, wie lange Pakete und Signaturwerte innerhalb der Puffer404 /412 /442 gespeichert werden. - Wenn zuerst die Verarbeitung über der gestrichelten Linie
560 betrachtet wird, werden Ingress-Pakete501 von einem ersten Port (PORT1) direkt an den Paketpuffer404 und den Signaturprozessor410 geliefert. Wie bei den4A –B generiert der Signaturprozessor410 eine Signatur für das Paket und sendet die Signatur an die Signaturtabelle414 , um sie zu den in der Signaturtabelle414 gespeicherten Signaturen hinzuzufügen. Der Signaturprozessor410 sendet auch an den Aging-Puffer412 einen Index innerhalb der Signaturtabelle414 für diese Signatur, und dieser Index wird im Aging-Puffer412 gespeichert. Wenn ein Signaturindex den Aging-Puffer412 verlasst, wird dieser Index an die Signaturtabelle414 geliefert, wo er zum Löschen der verwandten Signatur aus der Signaturtabelle414 verwendet wird. - Im Gegensatz zu der Ausführungsform von
4A , aber wie bei der Ausführungsform von4B , befindet sich keine Nachschlageoperation vor dem Paketpuffer404 . Vielmehr werden alle Ingress-Pakete501 innerhalb des Paketpuffers404 für eine durch das hier beschriebene Nachschlagezeitfenster114 bestimmte Zeitdauer gespeichert. Nachdem dieses Nachschlagezeitfenster (W)114 verstrichen ist, sendet der Paketpuffer404 das Paket an die Nachschlageoperation406 . - Wie bei den
4A –B, sendet die Nachschlageoperation406 jedes Paket, das sie vom Paketpuffer404 empfängt, an den Signaturprozessor420 . Der Signaturprozessor420 generiert eine Signatur für jedes Paket und kommuniziert mit der Signaturtabelle444 , um zu bestimmen, ob eine in der Signaturtabelle444 gespeicherte Signatur mit der für das von dem Paketpuffer404 empfangene Paket generierten Signatur übereinstimmt oder nicht übereinstimmt. Diese Bestimmung wird dann unter Verwendung einer Steuernachricht (CTRL)424 an die Nachschlageoperation406 kommuniziert. Falls die Steuernachricht (CTRL)424 anzeigt, dass eine Übereinstimmung gefunden wurde, verwirft die Nachschlageoperation406 das Paket. Falls die Steuernachricht (CTRL)424 anzeigt, dass keine Übereinstimmung gefunden wurde, gibt der Nachschlageprozessor406 das Paket als Teil von entfernten Paketen508 aus. - Nunmehr bei Betrachtung der Verarbeitung unter der gestrichelten Linie
560 werden Egress-Pakete531 von einem zweiten Port (PORT2) an die Nachschlageoperation432 geschickt. Die Nachschlageoperation432 sendet jedes Paket an den Signaturprozessor440 . Der Signaturprozessor440 generiert eine Signatur für das Paket und sendet die Signatur an eine Signaturtabelle444 , damit sie zu den in der Signaturtabelle444 gespeicherten Signaturen hinzugefügt wird. Der Signaturprozessor440 sendet auch einen Index innerhalb der Signaturtabelle444 für diese Signatur an einen Aging-Puffer442 , und dieser Index wird im Aging-Puffer442 gespeichert. Wenn ein Signaturindex den Aging-Puffer442 verlasst, nachdem er während des Nachschlagezeitfensters114 gespeichert worden ist, wird dieser Index an die Signaturtabelle444 geliefert, wo er zum Löschen der verwandten Signatur aus der Signaturtabelle414 verwendet wird. - Wie bei
4A , aber nicht bei4B , kommuniziert der Signaturprozessor440 zusätzlich dazu, dass er eine Signatur und einen Signaturindex generiert, auch mit der Signaturtabelle414 für den ersten Port (PORT1), um zu bestimmen, ob eine in der Signaturtabelle414 gespeicherte Signatur mit der für das empfangene Paket generierten Signatur übereinstimmt. Diese Bestimmung wird dann unter Verwendung einer Steuernachricht (CTRL)448 an die Nachschlageoperation432 kommuniziert. Falls die Steuernachricht (CTRL)448 anzeigt, dass eine Übereinstimmung gefunden worden ist, verwirft die Nachschlageoperation432 das Paket. Falls die Steuernachricht (CTRL)448 anzeigt, dass keine Übereinstimmung gefunden worden ist, lässt der Nachschlageprozessor432 das Paket durch. Im Gegensatz zu der Ausführungsform von4A ist nach der Nachschlageoperation432 in der Ausführungsform von5A kein Puffer oder keine Nachschlageoperation positioniert. Vielmehr werden alle von der Nachschlageoperation432 durchgelassenen Pakete als hinzugefügte oder modifizierte Pakete538 ausgegeben. - Im Betrieb detektiert die Ausführungsform von
5A durch die Netzwerkeinrichtung102 zwischen dem ersten Ingress-Port (PORT1) und dem zweiten Egress-Port (PORT2) entfernte oder hinzugefügte/modifizierte Pakete innerhalb eines bestimmten Nachschlagezeitfensters. Wie oben angedeutet bestimmt dieses Nachschlagezeitfenster, wie lange der Paketpuffer404 die Ingress-Pakete speichern wird und wie lange die Aging-Puffer412 /442 Signaturindexwerte speichern werden. Der Paketunterschiedsprozessor120 detektiert, ob ein Paket sowohl in Ingress- als auch Egress-Strömen vorliegt, solange die Zeit zwischen den Paketen kürzer ist als die für das Nachschlagezeitfenster gewählte Größe. Als solches werden Pakete innerhalb eines Stroms für einen Port, aber nicht im Strom für einen anderen Port (z. B. an PORT1 empfangen, aber nicht an PORT2, oder umgekehrt), als Unterschiedspakete ausgegeben sowie als Pakete, die sich innerhalb von beiden Strömen befinden, aber nicht innerhalb des Nachschlagezeitfensters, nachdem sie am Ingress-Port (PORT1) empfangen worden sind, am Egress-Port (PORT2) empfangen werden. - Wie oben angedeutet kann das Nachschlagezeitfenster
114 auf der Basis der erwarteten Verarbeitungszeit gewählt werden, die ein Paket benötigt, um sich durch die Netzwerkeinrichtung102 zu bewegen. Wie ebenfalls oben angedeutet hängt die Größe der Puffer404 /412 /434 /442 und der Signaturtabellen414 /444 von der Zeitdauer ab, die für das Nachschlagefenster gewählt wird. Längere Zeitdauern erfordern größere Puffer und Tabellen, während kürzere Zeitdauern kleinere Puffer und Tabellen erfordern. Es wird wieder angemerkt, dass die Puffer und Tabellen unter Verwendung eines beliebigen gewünschten programmierbaren Ablagemediums implementiert werden können, wie etwa einem Direktzugriffsspeicher (RAM), FLASH-Speicher und/oder anderen programmierbaren Datenablagemedien. Es wird ebenfalls wieder angemerkt, dass Paketfilter und assoziierte Filterregeln ebenfalls verwendet werden könnten, um Pakete, die verarbeiten werden sollen, weiter zu filtern, falls gewünscht. - Bei zusätzlichen Ausführungsformen kann eine automatische Portreihenfolgenbestimmung dahingehend vorgenommen werden, welcher Port (PORT1/PORT2) zeitlich der erste ist, der Pakete empfängt. Wenn beispielsweise eine Einrichtung eingegebene Pakete an einem Port empfängt und Egress-Pakete an einem anderen Port ausgibt, die verarbeitete Versionen der Ingress-Pakete sind, und wenn der Paketunterschiedserkenner
112 diese Ingress-/Egress-Paketströme empfängt, kann die automatische Portreihenfolgenbestimmung automatisch bestimmen, welcher Paketstrom die Ingress-Pakete darstellt und welcher Paketstrom die Egress-Pakete darstellt. Diese automatische Bestimmung der Portreihenfolge gestattet einem Benutzer, Paketströme von mehreren Ports an Eingangsports an dem Verkehrsunterschiedserkennersystem112 zu verbinden, ohne dass der Benutzer wissen muss, welcher Port zeitlich den ersten Strom von Paketen liefert und welcher Port zeitlich den zweiten Strom von Paketen liefert. Nachdem das Verkehrsunterschiedserkennersystem112 automatisch bestimmt, welcher Paketstrom zeitlich der erste ist, kann das Verkehrsunterschiedserkennersystem112 diese Portreihenfolgenbestimmung für normalen Betrieb verwenden. Beispielsweise kann die Portreihenfolgenbestimmung verwendet werden, um einen Eingangsport für das Verkehrsunterschiedserkennersystem112 als den ersten Port (PORT1) und einen Eingangsport für das Verkehrsunterschiedserkennersystem112 als den zweiten Port (PORT2) bezüglich der Ausführungsform von5A zu konfigurieren. -
5B ist ein Blockdiagramm eines Ausführungsbeispiels für einen Paketunterschiedsprozessor120 mit einem Portreihenfolgen-Logikprozessor590 , der innerhalb eines Port-Lernarbeitsmodus arbeitet, um automatisch zu bestimmen, welcher Port Pakete empfängt, die zeitlich zuerst sind. Das Lernmodus-Wahlsignal572 wird an die Nachschlage-Arbeitsmodule406 und436 angelegt, um sie in den Port-Lernarbeitsmodus zu versetzen. Während dieses Port-Lernarbeitsmodus werden Übereinstimmungszählwerte574 /584 unter Verwendung von Paketsignaturen generiert, und diese Übereinstimmungszählwerte574 /584 werden durch den Portreihenfolgen-Logikprozessor590 mit einem Übereinstimmungsschwellwert592 verglichen, um zu bestimmen, welcher Port die Pakete empfängt, die zeitlich zuerst sind. Dann wird ein Portreihenfolgen-Bestimmungsindikator594 generiert, um den früheren Port zu identifizieren. Diese Portreihenfolgenbestimmung kann dann verwendet werden, um die normalen Arbeitsmodi für das Verkehrsunterschiedserkennersystem112 zu erleichtern. Beispielsweise kann bezüglich der Ausführungsform von5A die Portreihenfolgenbestimmung verwendet werden, um einen Eingangsport als den ersten Port (PORT1) zu bezeichnen und/oder zu konfigurieren, der die Ingress-Pakete empfängt, und einen anderen Eingangsport als den zweiten Port (PORT2), der die Egress-Pakete empfängt, die verarbeitete Versionen der Ingress-Pakete sind. Wenn der Lernmodus abgeschlossen ist, wird das Lernmodus-Wahlsignal572 deaktiviert und die Nachschlagearbeitsmodule406 und436 kehren zu ihrem normalen Arbeitsmodus zurück, wie hierin beschrieben, um Unterschiedspakete zwischen den Strömen von Paketen zu identifizieren. - Bei ausführlicher Betrachtung von
5B für den Port-Lernarbeitsmodus werden Pakete von einem an einem ersten Eingangsport (PORT1) für das Paketunterschiedserkennersystem112 empfangenen Paketstrom401 innerhalb des Paketpuffers404 (z. B. einem FIFO-Puffer) innerhalb eines Lernzeitfensters570 gespeichert. Dieses Lernzeitfenster570 gestattet, dass mehrere N Pakete empfangen und gespeichert werden. Der Signaturprozessor410 generiert eine Signatur für jedes der N empfangenen Pakete und speichert die Signaturen in der Signaturtabelle414 . Das Nachschlagearbeitsmodul406 empfängt dann die Pakete vom Paketpuffer404 und zählt mit dem Signaturprozessor420 innerhalb der Signaturtabelle444 für den zweiten Port (PORT2) gefundene Signaturübereinstimmungen. Insbesondere generiert der Signaturprozessor420 eine Signatur für jedes Paket und prüft die Signaturtabelle444 hinsichtlich einer übereinstimmenden Paketsignatur. Falls eine übereinstimmende Paketsignatur gefunden ist, zeigt die Steuernachricht (CTRL)424 an, dass eine Übereinstimmung gefunden worden ist, und der Übereinstimmungszählwert kann beispielsweise innerhalb eines Zählers inkrementiert werden. Falls keine übereinstimmende Paketsignatur gefunden wird, zeigt die Steuernachricht (CTRL)424 nicht an, dass eine Übereinstimmung gefunden worden ist. Das Nachschlagearbeitsmodul406 verwendet dann den Zähler, um die laufende Summe der Anzahl von Übereinstimmungen zu verfolgen, die bezüglich der N gespeicherten Pakete gefunden werden, während sie verarbeitet werden. Der aktuelle Zählwert für übereinstimmende Paketsignaturen für den ersten Port (PORT1), durch das Nachschlagearbeitsmodul406 bestimmt, wird als ein Übereinstimmungszählwert (PORT1)574 an den Portreihenfolgen-Logikprozessor590 ausgegeben. - Analog werden während des Port-Lernarbeitsmodus Pakete von einem an einem zweiten Eingangsport (PORT2) empfangenen Paketstrom
431 für das Paketunterschiedserkennersystem112 innerhalb des Paketpuffers434 (z. B. FIFO-Puffer) innerhalb des Lernzeitfensters570 gespeichert. Wie oben gestattet dieses Lernzeitfenster570 , dass mehrere N Pakete empfangen und gespeichert werden. Der Signaturprozessor440 generiert eine Signatur für jedes der N empfangenen Pakete und speichert die Signaturen in der Signaturtabelle444 . Das Nachschlagearbeitsmodul436 empfängt dann die Pakete vom Paketpuffer434 und zählt mit dem Signaturprozessor450 innerhalb der Signaturtabelle414 gefundene Signaturübereinstimmungen für den ersten Port (PORT1). Insbesondere generiert der Signaturprozessor450 eine Signatur für jedes Paket und prüft die Signaturtabelle414 auf eine übereinstimmende Paketsignatur. Falls eine übereinstimmende Paketsignatur gefunden ist, zeigt die Steuernachricht (CTRL)454 an, dass eine Übereinstimmung gefunden worden ist, und der Übereinstimmungszählwert kann beispielsweise innerhalb eines Zählers inkrementiert werden. Falls keine übereinstimmende Paketsignatur gefunden wird, zeigt die Steuernachricht (CTRL)454 nicht an, dass eine Übereinstimmung gefunden worden ist. Das Nachschlagearbeitsmodul436 verwendet dann den Zähler, um eine laufende Summe der Anzahl von Übereinstimmungen zu verfolgen, die bezüglich der N gespeicherten Pakete gefunden werden, während sie verarbeitet werden. Der aktuelle Zählwert für übereinstimmende Paketsignaturen für den zweiten Port (PORT2), durch das Nachschlagearbeitsmodul436 bestimmt, wird als ein Übereinstimmungszählwert (PORT1)584 an den Portreihenfolgen-Logikprozessor590 ausgegeben. - Der Portreihenfolgen-Logikprozessor
590 empfängt den aktuellen Übereinstimmungszählwert574 für den Paketstrom401 und den aktuellen Übereinstimmungszahlwert584 für den Paketstrom431 . Der Portreihenfolgen-Logikprozessor590 vergleicht diese Übereinstimmungszählwerte574 /584 mit einem Übereinstimmungsschwellwert592 , um zu bestimmen, welcher Port zeitlich der erste war, der Pakete empfangen hat. Es wird erwartet, dass der Port mit den früher empfangenen Paketen im Vergleich zu dem Port mit den später empfangenen Paketen einen höheren Übereinstimmungszählwert besitzen wird, weil die Paketsignaturen innerhalb der späteren Signaturtabelle die anfänglichen Paketsignaturen für den früheren Paketstrom enthalten werden. Falls beispielsweise der Paketpuffer434 zeitlich spätere Pakete speichert im Vergleich zu im Paketpuffer404 gespeicherten Paketen, wird der Signaturprozessor420 Übereinstimmungen in der Signaturtabelle444 schneller finden, als der Signaturprozessor450 Übereinstimmungen in der Signaturtabelle414 finden wird. Falls analog der Paketpuffer404 zeitlich spätere Pakete speichert im Vergleich zu im Paketpuffer434 gespeicherten Paketen, wird der Signaturprozessor450 Übereinstimmungen in der Signaturtabelle414 schneller finden, als der Signaturprozessor420 Übereinstimmungen in der Signaturtabelle444 finden wird. Wenn einer der Übereinstimmungszählwerte574 /584 den Übereinstimmungsschwellwert592 übersteigt, bestimmt der Portreihenfolgen-Logikprozessor592 dann, dass der mit diesem Übereinstimmungszählwert574 /584 assoziierte Paketstrom den zeitlich zuerst empfangenen Strom von Paketen darstellt. Falls beispielsweise zuerst der Übereinstimmungszählwert574 den Übereinstimmungsschwellwert592 übersteigt, wird dann der Paketstrom401 als zeitlich erster bestimmt, und der erste Port (PORT1) wird durch den Portreihenfolgen-Bestimmungsindikator594 als der frühere Port identifiziert. Falls jedoch zuerst der Übereinstimmungszählwert584 den Übereinstimmungsschwellwert592 übersteigt, dann wird der Paketstrom432 als der zeitlich erste bestimmt, und der zweite Port (PORT2) wird durch den Portreihenfolgen-Bestimmungsindikator594 als der frühere Port identifiziert. - Es wird auch angemerkt, dass der Portreihenfolgen-Logikprozessor
590 auch andere Techniken anwenden kann, um auf der Basis der Übereinstimmungszählwerte574 /584 die Portreihenfolge zu bestimmen. Beispielsweise können die beiden Übereinstimmungszahlwerte574 /584 miteinander verglichen werden und es kann bestimmt werden, dass der größere Übereinstimmungszählwert mit dem Port assoziiert sein soll, der die Pakete zeitlich zuerst empfangen hat. Es könnten auch andere Varianten implementiert werden. - Wenn der Übereinstimmungsschwellwert
592 durch einen der Übereinstimmungszählwerte574 /584 überstiegen wird oder die Portreihenfolge anderweitig unter Verwendung der Übereinstimmungszählwerte574 /584 durch den Portreihenfolgen-Logikprozessor592 bestimmt wird, endet der Port-Lernarbeitsmodus. Das Lernmodus-Wahlsignal572 wird deaktiviert, um die Nachschlagearbeitsmodule406 /436 in ihren normalen Arbeitsmodus zurück zu bewegen, wie hier bezüglich der verschiedenen Verkehrsunterschiedserkennersystem-Ausführungsformen beschrieben. Weiterhin werden sowohl die Signaturtabelle414 als auch die Signaturtabelle444 unter Verwendung des Löschsignals576 von dem Portreihenfolgen-Bestimmungsprozessor590 zurückgesetzt oder gelöscht. Wie oben beschrieben wird weiter angemerkt, dass die Pakete, die durch die Paketpuffer404 und434 empfangen werden, unter Verwendung der Filter405 beziehungsweise435 gefiltert werden können, falls eine derartige Filterung erwünscht ist. - Vorteilhafterweise gestattet deshalb die Ausführungsform von
5B , dass die Portreihenfolge automatisch bestimmt wird, und diese Portreihenfolge kann dann im normalen Arbeitsmodus verwendet werden, um die Identifikation von Unterschiedspaketen zu erleichtern, wie hierin beschrieben. Nachdem die Portreihenfolge automatisch bestimmt ist, können beispielsweise zusätzliche Nachschlageoperationen und/oder erweiterte Zeitfenster eliminiert werden, wie sie oben bezüglich der Ausführungsformen von4A (zwei Nachschlagevorgänge) und4B (erweitertes Zeitfenster) beschrieben sind. Nachdem die Portreihenfolge bestimmt ist, kann insbesondere die Ausführungsform von5A (ein Nachschlagevorgang) anstelle der Ausführungsform von4A (zwei Nachschlagevorgänge) verwendet werden, ohne dass eine Benutzeraktion oder -intervention erforderlich ist. Nachdem die Portreihenfolge automatisch bestimmt ist, wird der Eingangsport für das Verkehrsunterschiedserkennersystem112 , von dem bestimmt wird, dass er mit dem zeitlich früheren Paketstrom (z. B. Ingress-Paketen) assoziiert werden soll, in5A automatisch als der erste Port (PORT1) bezeichnet und/oder konfiguriert, und der Eingangsport für das Verkehrsunterschiedserkennersystem112 , von dem bestimmt ist, dass er mit dem zeitlich älteren Paketstrom assoziiert sein soll (z. B. Egress-Pakete, die verarbeitete Versionen der Ingress-Pakete sind), wird automatisch als der zweite Port (PORT2) bezeichnet und/oder konfiguriert. Es könnten auch andere Varianten implementiert werden, während immer noch aus der hier beschriebenen automatischen Portreihenfolgenbestimmung ein Nutzen gezogen wird. - Nun werden die
6 –7 erörtert und liefern Ausführungsbeispiele, wo das Paketunterschiedserkennersystem112 verwendet wird, um eine Unterschiedsverarbeitung für größere Anzahlen von Eingangsströmen zu liefern. Zusätzlich zu dem Bestimmen von Unterschieden zwischen an zwei Porten für eine Netzwerkeinrichtung102 empfangenen Paketströmen kann das Paketunterschiedserkennersystem112 auch verwendet werden, um Unterschiede unter an mehr als zwei Ports für das Paketunterschiedserkennersystem112 empfangenen Paketströmen zu bestimmen. Bei solchen Konfigurationen können die mit an einem Port empfangenen Paketen assoziierten Nachschlageoperationen konfiguriert sein zum Kommunizieren mit Signaturtabellen für zwei oder mehr andere Ports, um zu bestimmen, ob für an jenen zusätzlichen Ports empfangene Pakete Übereinstimmungen existieren. Für die Erörterungen der6 –7 unten wird angenommen, dass jeder an einem Port für das Paketunterschiedserkennersystem112 empfangene Eingangspaketstrom mit einem bestimmten Port an einer Netzwerkeinrichtung102 assoziiert ist. Wie hier jedoch beschrieben, können die Eingangspaketströme auch von mehreren Netzwerkeinrichtungen und/oder -quellen kommen, und die Paketströme können weiterhin eine Aggregation von mehreren Paketströmen darstellen. Es könnten auch andere Varianten implementiert werden, während immer noch das Nachschlagezeitfenster und die Unterschiedsverarbeitungstechniken, die hierin beschrieben sind, verwendet werden. - Die Anzahl an Nachschlageoperationen, die durch den Paketunterschiedserkennerprozessor
120 für Ausführungsformen gemäß6 –7 durchgeführt werden, die auf größere Anzahlen von Paketströmen angewendet werden, kann so konfiguriert sein, dass sie proportional zu der Anzahl an Ports ist, und kann durch den an den Ports empfangenem Typ von Paketen und die Unterschiedsbestimmungen, die vorgenommen werden sollen, bestimmt werden. Beispielsweise kann die Anzahl an Nachschlagevorgängen 2·(P-1) unter Verwendung der in Ausführungsform von4B gezeigten Portverarbeitung sein, wo zwei Nachschlagevorgänge bezüglich jedes Ports verwendet werden, wobei P die Gesamtzahl an Ports ist. Wie oben beschrieben kann die Anzahl an Nachschlagevorgängen auf einen einzelnen Nachschlagevorgang pro Port reduziert werden, falls das Nachschlagezeitfenster erweitert wird (z. B. das Zeitfenster verdoppelt wird). Beispielsweise kann die Anzahl an Nachschlagevorgängen P-1 betragen, wobei die in Ausführungsform von4A gezeigte Portverarbeitung verwendet, wo ein erweitertes Nachschlagezeitfenster zusammen mit einem einzelnen Nachschlagevorgang pro Port verwendet wird. Wie oben bezüglich5A beschrieben, kann die Anzahl an Nachschlagevorgängen auch durch Verwendung von Ports reduziert werden, die nur Ingress-Pakete empfangen oder die nur Egress-Pakete empfangen. Für solche Konfigurationen brauchen Ingress-Port-Nachschlagevorgänge nur an Egress-Port-Signaturtabellen vorgenommen zu werden, und Egress-Port-Nachschlagevorgänge brauchen nur an Ingress-Port-Signaturtabellen vorgenommen zu werden. Somit kann die Anzahl an Nachschlagevorgängen unter Verwendung der in5A gezeigten Portverarbeitung auf P/2 reduziert werden, wo bezüglich jedes Ports ein Nachschlagevorgang verwendet wird und wo P die Gesamtanzahl an Ports ist, zwischen Ingress- und Egress-Ports aufgeteilt. Es könnten auch andere Varianten implementiert werden, während immer noch das Nachschlagezeitfenster und die Unterschiedsverarbeitungstechniken, die hierin beschrieben sind, verwendet werden. -
6 ist ein Blockdiagramm einer Ausführungsform600 zum Verwenden eines Verkehrsunterschiedserkennersystem112 , um Unterschiede zwischen mehreren Ingress-Ports604 und mehreren Egress-Ports606 für eine Netzwerkeinrichtung102 zu bestimmen. Für diese Ausführungsform enthält die Netzwerkeinrichtung102 N Ingress-Ports604 , die Ingress-Pakete601 empfangen, und Kopien für dese Ingress-Paketströme werden an N Ports609 für das Verkehrsunterschiedserkennersystem112 als N Ingress-Paketströme608 empfangen. Die Netzwerkeinrichtung102 enthält auch N Egress-Ports606 , die Egress-Pakete602 empfangen und ausgeben, und Kopien für diese Egress-Pakete werden an N Ports611 für das Verkehrsunterschiedserkennersystem112 als N Egress-Paketströme610 empfangen. Für diese Ausführungsform600 bestimmt das Verkehrsunterschiedserkennersystem112 Unterschiede zwischen Ingress-Paketströmen und Egress-Paketströmen unter Verwendung des Paketunterschiedsprozessors120 . Die Ergebnisse dieser Unterschiedsverarbeitung können Unterschiedspakete122 und/oder andere gewünschte Informationen124 bezüglich der Unterschiedsverarbeitung oder der Unterschiedspakete enthalten. -
7 ist ein Blockdiagramm einer Ausführungsform700 , wo zwei Ingress-Ports und zwei Egress-Ports für das Verkehrsunterschiedserkennersystem112 innerhalb eines Paketunterschiedsprozessors (PDP)120 für das Verkehrsunterschiedserkennersystem112 verarbeitet werden. Eine Nachschlageoperation432A wird auf von einem Egress-Port (PORT2) empfangene Pakete angewendet, und diese Nachschlageoperation432A kommuniziert mit Signaturtabellen, die mit den beiden Ingress-Ports (PORT1, PORT3) assoziiert sind, wie durch die Pfeile dargestellt. Analog wird eine Nachschlageoperation432B auf von dem anderen Egress-Port (PORT4) empfangene Pakete angewendet, und diese Nachschlageoperation432B würde ebenfalls mit Signaturtabellen kommunizieren, die mit den beiden Ingress-Ports (PORT1, PORT3) assoziiert sind, wie durch die Pfeile dargestellt. Wie ebenfalls gezeigt, wird eine Nachschlageoperation406A auf von einem Ingress-Port (PORT1) empfangene Pakete angewendet, und diese Nachschlageoperation406A kommuniziert mit Signaturtabellen, die mit den beiden Ingress-Ports (PORT2, PORT4) assoziiert sind, wie durch die Pfeile dargestellt. Analog wird eine Nachschlageoperation406B auf von dem anderen Ingress-Port (PORT3) empfangene Pakete angewendet, und diese Nachschlageoperation406B kommuniziert mit Signaturtabellen, die mit den beiden Egress-Ports (PORT2, PORT4) assoziiert sind, wie durch die Pfeile dargestellt. Es wird angemerkt, dass andere Arbeitsblöcke, wie oben bezüglich4A –B und5 beschrieben, ebenfalls bezüglich der dedizierten Ingress- und Egress-Ports genutzt werden könnten. Weiterhin können, wie oben beschrieben, die Ergebnisse der Unterschiedsverarbeitung hinzugefügte/modifizierte Pakete738 und verworfene Pakete708 sein. - Nun werden die
8 –9 erörtert und liefern Ausführungsbeispiele, wo zwei Paketströme, wie etwa ein Ingress-Paketstrom und ein Egress-Paketstrom, zu einem kombinierten Paketstrom kombiniert werden, bevor sie durch einen Paketunterschiedsprozessor120 für ein Verkehrsunterschiedserkennersystem112 verarbeitet werden. Der kombinierte Paketstrom kann an einem Eingangsport für das Verkehrsunterschiedserkennersystem112 empfangen werden, oder die Paketströme können innerhalb des Verkehrsunterschiedserkennersystems112 kombiniert werden. Die Paketströme können kombiniert werden, indem die beiden Paketströme verschachtelt und/oder andere gewünschte Aggregationstechniken verwendet werden. Es können auch andere Varianten implementiert werden. - Zuerst unter Betrachtung von
8 wird ein Blockdiagramm eines Ausführungsbeispiels800 bereitgestellt, wo das Verkehrsunterschiedserkennersystem112 kombinierte Pakete804 am Eingangsport (PORT1)104 empfängt. Für die dargestellte Ausführungsform800 ist die Netzwerkeinrichtung102 konfiguriert zum Empfangen von Ingress-Paketen und zum Ausgeben verarbeiteter Versionen dieser Pakete als Egress-Pakete unter Verwendung eines Paketprozessors103 . Das Verkehrsunterschiedserkennersystem112 ist konfiguriert zum Empfangen der kombinierten Pakete804 am ersten Port104 . Kopien der Ingress-Pakete108 und Kopien der Egress-Pakete110 werden durch einen Kombinierer802 kombiniert, um die kombinierten Pakete804 auszubilden. Wie hierin beschrieben, bestimmt das Verkehrsunterschiedserkennersystem112 Unterschiede zwischen Paketströmen unter Verwendung des Paketunterschiedsprozessors120 und des Nachschlagezeitfensters114 . Die resultierenden Unterschiedspakete122 werden durch das Verkehrsunterschiedserkennersystem112 ausgegeben. Das Verkehrsunterschiedserkennersystem112 kann auch konfiguriert sein zum Ausgeben anderer Informationen124 bezüglich der Unterschiedsverarbeitung und bezüglich Unterschiedspaketen, wie etwa statistische Informationen über die Unterschiedspakete. Wenngleich der Kombinierer802 außerhalb des Verkehrsunterschiedserkennersystems gezeigt ist, wird angemerkt, dass Ingress-/Egress-Paketströme108 /110 an unterschiedlichen Ports für das Verkehrsunterschiedserkennersystem112 empfangen werden könnten und dann innerhalb des Verkehrsunterschiedserkennersystems112 kombiniert werden könnten vor der Verarbeitung durch den Paketunterschiedsprozessor120 , falls gewünscht. Es könnten auch andere Varianten implementiert werden. -
9 ist ein Blockdiagramm eines Ausführungsbeispiels für das Verarbeiten kombinierter Pakete904 mit einem Paketunterschiedsprozessor120 für ein Verkehrsunterschiedserkennersystem112 . Für die gezeigte Ausführungsform werden zwei Nachschlageoperationen902 /906 bezüglich der kombinierten Pakete904 durchgeführt. Die Unterschiedspakete908 stellen Pakete innerhalb der kombinierten Pakete904 dar, von denen detektiert wird, dass sie innerhalb eines Zeitfensters (W)114 nur einmal in den kombinierten Paketen904 empfangen werden. Wie hierin beschrieben, bestimmt das Nachschlagezeitfenster (W)114 , wie lange Pakete und Signaturindexwerte innerhalb der Puffer404 /412 gespeichert werden, die unten ausführlicher beschrieben werden. Es wird weiterhin angemerkt, dass für die auf eine Netzwerkeinrichtung102 angewendete Ausführungsform von9 bevorzugt wird, dass jedes Ingress-Paket durch die Netzwerkeinrichtung102 nur einmal empfangen wird und dass jedes Egress-Paket durch die Netzwerkeinrichtung102 nur einmal ausgegeben wird. Wenn diese Ingress-/Egress-Pakete kombiniert werden, um die kombinierten Pakete904 auszubilden, die durch den in9 dargestellten Paketunterschiedsprozessor120 verarbeitet werden, wird somit jedes Ingress-Paket und jedes Egress-Paket innerhalb des Zeitfensters nur einmal in den kombinierten Paketen904 auftreten, sofern sie nicht durch die Netzwerkeinrichtung102 hinzugefügte, verworfene oder modifizierte Pakete darstellen. Diese hinzugefügten/verworfenen/modifizierten Pakete werden durch die Ausführungsform von9 als Unterschiedspakete908 ausgegeben. - Auf
9 zurückblickend wird die Nachschlageoperation902 zuerst an empfangenen Paketen innerhalb kombinierter Pakete904 durchgeführt, und jedes empfangene Paket wird an den Signaturprozessor910 geschickt. Der Signaturprozessor910 generiert eine Signatur für das Paket und sendet die Signatur an eine Signaturtabelle414 , damit sie zu den in der Signaturtabelle414 gespeicherten Signaturen hinzugefügt wird. Der Signaturprozessor910 sendet auch einen Index innerhalb der Signaturtabelle414 für diese Signatur an einen Aging-Puffer412 , und dieser Index wird im Aging-Puffer412 gespeichert. Der Aging-Puffer412 kann ein FIFO-Puffer (First In First Out) oder irgendein anderer Puffer sein, der Signaturindexwerte während einer mit dem hier beschriebenen Nachschlagezeitfenster assoziierten Zeitdauer speichert. Wenn ein Signaturindex den Aging-Puffer412 verläßt, wird dieser Index an die Signaturtabelle414 geliefert, wo sie zum Löschen der verwandten Signatur aus der Signaturtabelle414 verwendet wird. Als solches werden die Signaturen während des Nachschlagezeitfensters gespeichert. - Zusätzlich zum Generieren einer Signatur und eines Signaturindexes kommuniziert der Signaturprozessor
910 auch mit der Signaturtabelle414 , um zu bestimmen, ob eine in der Signaturtabelle414 gespeicherte Signatur mit der für das empfangene Paket generierten Signatur übereinstimmt. Diese Bestimmung wird dann unter Verwendung einer Steuernachricht (CTRL)918 an die Nachschlageoperation902 kommuniziert. Falls die Steuernachricht (CTRL)918 anzeigt, dass eine Übereinstimmung gefunden worden ist, verwirft die Nachschlageoperation902 das Paket, so dass es nicht im Paketpuffer404 gespeichert wird, wenngleich die Signatur und der Index für dieses übereinstimmende Paket immer noch in der Signaturtabelle414 und im Aging-Puffer412 gespeichert sind, wie oben angegeben. Falls die Steuernachricht (CTRL)918 anzeigt, dass keine Übereinstimmung gefunden worden ist, lässt der Nachschlageprozessor902 das Paket zum Paketpuffer404 durch, wo es gespeichert wird. Der Paketpuffer404 kann ein FIFO-Puffer (First-In-First-Out) oder irgendein anderer Puffer sein, der Pakete für eine mit dem hierin beschriebenen Nachschlagefenster assoziierte gewählte Zeitdauer speichert. Nachdem dieses Nachschlagefenster verstrichen ist, sendet der Paketpuffer404 das Paket an die Nachschlageoperation906 . Als solches werden die Pakete während des Nachschlagezeitfensters gespeichert. Weiterhin werden, wie oben beschrieben, nachdem das Nachschlagefenster verstrichen ist und das Paket den Paketpuffer404 verlässt, der im Aging-Puffer412 gespeicherte Index für die Paketsignatur und die in der Signaturtabelle412 gespeicherte Paketsignatur für das Paket ebenfalls beide entfernt, da das Nachschlagezeitfenster verstrichen worden sein wird. - Die Nachschlageoperation
906 sendet jedes Paket, das sie vom Paketpuffer404 empfängt, an den Signaturprozessor920 . Der Signaturprozessor920 generiert eine Signatur für jedes Paket und kommuniziert mit der Signaturtabelle414 , um zu bestimmen, ob eine in der Signaturtabelle414 gespeicherte Signatur mit der für das von dem Paketpuffer404 empfangene Paket generierten Signatur übereinstimmt oder nicht übereinstimmt. Diese Bestimmung wird dann unter Verwendung einer Steuernachricht (CTRL)924 an die Nachschlageoperation906 kommuniziert. Falls die Steuernachricht (CTRL)924 anzeigt, dass eine Übereinstimmung gefunden wurde, verwirft die Nachschlageoperation906 das Paket. Falls die Steuernachricht (CTRL)924 anzeigt, dass keine Übereinstimmung gefunden wurde, gibt der Nachschlageprozessor906 das Paket als Teil von Unterschiedspaketen908 aus. Wie oben angegeben, stellen die Unterschiedspakete908 Pakete dar, die innerhalb der kombinierten Pakete904 innerhalb des Nachschlagezeitfensters nur einmal auftreten. Falls beispielsweise ein Ingress-Paket und ein übereinstimmendes Egress-Paket innerhalb des Nachschlagezeitfensters empfangen werden, wird eine Übereinstimmung für das Ingress-Paket gefunden werden, und eine Übereinstimmung wird auch für das Egress-Paket durch die Nachschlageoperationen gefunden werden. Insbesondere wird die Nachschlageoperation902 für das später empfangene Egress-Paket die Paketsignatur für das Ingress-Paket innerhalb der Signaturtabelle414 finden, die mit der Egress-Paketsignatur übereinstimmt. Da das Egress-Paket nicht im Paketpuffer404 gespeichert wird, wird, wenn erst einmal eine Übereinstimmung durch die Nachschlageoperation902 gefunden ist, die Nachschlageoperation906 nicht an dem Egress-Paket durchgeführt, obgleich die Egress-Paketsignatur und der verwandte Index immer noch in der Signaturtabelle414 und dem Aging-Puffer412 gespeichert sind, wie oben beschrieben. Für das früher empfangene Ingress-Paket wird die Nachschlageoperation906 diese Paketsignatur für das Egress-Paket innerhalb der Signaturtabelle414 finden, die mit der Ingress-Paketsignatur übereinstimmt. Da die Paketsignatur für das Ingress-Paket entfernt wird, nachdem ihr Index altersmäßig aus dem Aging-Puffer412 herausfällt und das Ingress-Paket aus dem Paketpuffer404 freigegeben wird, nachdem das Nachschlagezeitfenster verstrichen ist, wird die Nachschlageoperation906 keine Übereinstimmung mit der Ingress-Paketsignatur selbst finden. - Es wird wieder angemerkt, dass die Paketinhalte für die Unterschiedspakete
908 analysiert werden können, um zusätzliche statistische Informationen bezüglich der Unterschiedspakete zu liefern, wie gewünscht. Weiterhin können, wie oben beschrieben, die Signaturprozessoren910 /920 eine Vielfalt an Techniken verwenden, um Signaturen für empfangene Pakete zu generieren. Beispielsweise können ein oder mehrere Hash-Algorithmen auf Inhalte empfangener Pakete angewendet werden, um Signaturen für die empfangenen Pakete zu generieren. Weiterhin kann die Signatur unter Verwendung des vollen Inhalts des Pakets oder unter Verwendung nur ausgewählter Abschnitte der Paketinhalte berechnet werden, wie gewünscht. Wenn nur ausgewählte Abschnitte der Paketinhalte verwendet werden, gestattet dies, dass eine oder mehrere Paketmodifikationen, die durch die Netzwerkeinrichtung102 erfolgen, bei den Unterschiedsbestimmungsoperationen ignoriert werden. Als solches können Pakete immer noch als nicht-unterschiedliche Kopien voneinander detektiert werden, obwohl durch die Netzwerkeinrichtung102 gewisse Felder möglicherweise aktualisiert oder modifiziert worden sind. Wenn beispielsweise die Netzwerkeinrichtung102 das TTL-Feld (Time-To-Live) innerhalb eines IP-Pakets (Internet Protocol) aktualisiert, einen VLAN-Tag (Virtual Local Area Network) innerhalb eines Pakets hinzufügt/entfernt und/oder andere Modifikationen an den Paketen vornimmt, können diese Paketmodifikationen bei der Unterschiedsverarbeitung durch das Generieren von Signaturen ignoriert werden, die diese Abschnitte des Pakets nicht betrachten. Wie oben beschrieben, wird die Signatur zu der Signaturtabelle414 hinzugefügt, und der Index an der Signatur wird zum Aging-Puffer412 hinzugefügt. Falls gewünscht, könnten auch andere Signaturgenerierungstechniken eingesetzt werden. - Im Betrieb wird die Ausführungsform von
9 Unterschiedspakete908 detektieren, die nur einmal innerhalb der kombinierten Pakete904 innerhalb eines bestimmten Nachschlagezeitfensters empfangene Pakete darstellen. Dieses Nachschlagezeitfenster wird durch die für den Paketpuffer404 gewählte Zeitdauer zum Speichern von Paketen und für den Aging-Puffer412 zum Speichern von Signaturindexwerten bestimmt. Wie ebenfalls oben angegeben, kann das Nachschlagezeitfenster auf der Basis der erwarteten Verarbeitungszeit gewählt werden, die ein Paket benötigt, um sich durch die Netzwerkeinrichtung102 zu bewegen oder durch sie verarbeitet zu werden, wobei Pakete, die in einen oder mehrere Ports eintreten und einen oder mehrere Ports an der Netzwerkeinrichtung102 verlassen, kombiniert werden, um die kombinierten Pakete904 auszubilden. Die Größe des Puffers404 /412 und der Signaturtabelle414 hängt von der für das Nachschlagefenster gewählten Zeitdauer ab. Längere Zeitdauern erfordern größere Puffer und Tabellen, während kürzere Zeitdauern kleinere Puffer und Tabellen erfordern. Es wird angemerkt, dass die Puffer und Tabellen unter Verwendung eines beliebigen gewünschten programmierbaren Ablagemediums implementiert werden können, wie etwa einem Direktzugriffsspeicher (RAM), FLASH-Speicher und/oder anderen programmierbaren Datenablagemedien. - Wie oben wird weiter angemerkt, dass ein oder mehrere Paketfilter
405 beispielsweise auch vor Nachschlageoperationen902 verwendet werden können und konfiguriert sein können zum Entfernen von Paketen, die innerhalb der Unterschiedsverarbeitung nicht berücksichtigt werden sollen. Der Paketfilter405 kann beispielsweise zum Verwerfen von Paketen mit vordefinierten Pakettypen verwendet werden, wie etwa beispielsweise innerhalb der Netzwerkeinrichtung102 generierten Paketen, die nicht signifikant sind. Der Paketfilter405 kann deshalb zum Maskieren gewählter Pakete aus der Unterschiedsverarbeitung verwendet werden. Wenngleich der Paketfilter405 so gezeigt wird, dass er sich vor den Nachschlageoperationen402 und432 befindet, könnten Paketfilter auch an anderen Orten platziert und zusätzliche Paketfilter könnten eingesetzt werden. Wie oben beschrieben kann der Filter405 eine oder mehrere Filterregeln anwenden, um zu bestimmen, ob empfangene Pakete durchgelassen oder verworfen oder nicht durchgelassen oder verworfen werden sollen. - Es wird wieder angemerkt, dass die Ports oder Quellen, von denen Pakete durch das Verkehrsunterschiedserkennersystem
112 empfangen werden, mit unterschiedlichen Netzwerkeinrichtungen assoziiert sein könnten, falls gewünscht. Weiterhin könnten die Paketströme, die empfangen werden, Paketströme sein, die von einem oder mehreren Ports/einer oder mehreren Quellen aggregiert worden sind. Kurz gesagt ist das Verkehrsunterschiedserkennersystem112 zwar nützlich, um Unterschiede zwischen durch eine Netzwerkeinrichtung102 empfangenen Paketen und durch diese Netzwerkeinrichtung102 ausgegebenen Paketen zu vergleichen, kann das Verkehrsunterschiedserkennersystem112 verwendet werden, um Unterschiedspakete zwischen beliebigen, an das Verkehrsunterschiedserkennersystem112 gelieferten Paketströmen und innerhalb eines einzelnen, an das Verkehrsunterschiedserkennersystem112 gelieferten Paketstroms zu bestimmen. - Wie oben angegeben kann, um die Unterschiedsverarbeitung zu erleichtern und um mit empfangenen Paketströmen assoziierte zusätzliche Unterschiedsinformationen zu liefern, das Verkehrsunterschiedserkennersystem
112 auch konfiguriert sein zum Markieren empfangener Pakete mit zusätzlichen Informationen und/oder zum Zählen von Anzahlen von Paketen. Wenn beispielsweise die Netzwerkeinrichtung ein Load-Balancer-System ist, ist es wünschenswert zu bestimmen, dass jedes Paket innerhalb eines empfangenen Ingress-Paketstroms nur einmal an mehrere verschiedene empfangene Egress-Paketströme ausgegeben wird. Wenn weiterhin die Netzwerkeinrichtung ein Multi-Casting-System ist, ist es wünschenswert zu bestimmen, dass jedes Paket innerhalb eines empfangenen Ingress-Paketstroms je nach der Anzahl der durch die Multicast-Verarbeitung generierten Egress-Ströme mit einer gewählten Häufigkeit ausgegeben wird. Durch Markieren der empfangenen Pakete mit Portinformationen und dann Verfolgen dieser Portinformationen zusammen mit dem Zählen der Häufigkeit, mit der bestimmte Pakete empfangen werden, kann das Verkehrsunterschiedserkennersystem112 Bestimmungen für Load-Balancer-Systeme, Multi-Casting-Systeme und/oder andere Arten von Netzwerkeinrichtungen liefern. Es könnten auch andere Varianten implementiert werden, während immer noch das Nachschlagezeitfenster und die Unterschiedsverarbeitungstechniken, die hierin beschrieben sind, genutzt werden. - Es wird auch angemerkt, dass die hierin beschriebenen Arbeitsblöcke unter Verwendung von Hardware, Software oder einer Kombination aus Hardware und Software implementiert werden können, wie gewünscht. Außerdem können integrierte Schaltungen, diskrete Schaltungen oder eine Kombination aus diskreten und integrierten Schaltungen verwendet werden, wie gewünscht, die konfiguriert sind zum Durchführen der beschriebenen Funktionalität. Weiterhin kann auch eine programmierbare integrierte Schaltungsanordnung verwendet werden, wie etwa FPGAs (Field Programmable Gate Arrays), ASICs (Application Specific Integrated Circuits) und/oder eine andere programmierbare integrierte Schaltungsanordnung. Außerdem könnten auch ein oder mehrere Prozessoren, auf denen Software oder Firmware läuft, verwendet werden, wie gewünscht. Beispielsweise könnten computerlesbare Anweisungen, die in einem dinglichen Medium verkörpert sind (z. B. Speicherablageeinrichtungen, FLASH-Speicher, Direktzugriffsspeicher, Festwertspeicher, programmierbare Speichereinrichtungen, umprogrammierbare Ablageeinrichtungen, Festplattenlaufwerke, Disketten, DVDs, CD-ROMs und/oder ein beliebiges anderes dingliches Speichermedium) verwendet werden, einschließlich Anweisungen, die bewirken, dass Computersysteme, eine programmierbare Schaltungsanordnung (z. B. FPGAs) und/oder Prozessoren die hierin beschriebenen Prozesse, Funktionen und Fähigkeiten ausführen. Es versteht sich deshalb weiterhin, dass eine oder mehrere der hierin beschriebenen Aufgaben, Funktionen oder Methodiken beispielsweise als Software oder Firmware und/oder als andere Anweisungen implementiert werden können, die in einem oder mehreren nicht-vorübergehenden dinglichen computerlesbaren Medien verkörpert sind, die durch eine CPU, einen Controller, einen Mikrocontroller, einen Prozessor, einen Mikroprozessor oder eine andere geeignete Verarbeitungsschaltungsanordnung ausgeführt werden.
- Weitere Modifikationen und alternative Ausführungsformen der vorliegenden Erfindung ergeben sich dem Fachmann bei der Betrachtung dieser Beschreibung. Es ist deshalb zu erkennen, dass die vorliegende Erfindung nicht durch diese beispielhaften Anordnungen beschränkt wird. Dementsprechend ist die vorliegende Beschreibung nur als veranschaulichend auszulegen und dient dem Zweck, dem Fachmann die Art und Weise des Ausführens der Erfindung beizubringen. Es versteht sich, dass die hierin gezeigten und beschriebenen Formen der Erfindung als die gegenwärtig bevorzugten Ausführungsformen zu verstehen sind. Verschiedene Änderungen können bei den Implementierungen und Architekturen vorgenommen werden. Beispielsweise können äquivalente Elemente für jene hierin dargestellten und beschriebenen substituiert werden, und gewisse Merkmale der Erfindung können unabhängig von der Verwendung anderer Merkmale genutzt werden, was alles für den Fachmann mit dem Vorzug dieser Beschreibung der Erfindung offensichtlich ist.
Claims (22)
- Verfahren zum Generieren von Unterschiedspaketen zwischen Strömen von Netzwerkpaketen, das Folgendes umfasst: Bestimmen von Unterschiedspaketen innerhalb eines Nachschlagezeitfensters zwischen einem ersten Strom von Paketen und einem zweiten Strom von Paketen, die von einem Verkehrsunterschiedserkennersystem empfangen worden sind, wobei der zweite Strom von Paketen eine verarbeitete Version des ersten Stroms von Paketen darstellt und das Nachschlagezeitfenster mit einer Verarbeitungszeit für den zweiten Strom, der eine verarbeitete Version des ersten Stroms sein soll, assoziiert ist; und Ausgeben der Unterschiedspakete, wobei die Unterschiedspakete Pakete innerhalb des ersten Stroms und nicht innerhalb des zweiten Stroms und Pakete innerhalb des zweiten Stroms und nicht innerhalb des ersten Stroms umfassen.
- Verfahren nach Anspruch 1, das weiterhin Folgendes umfasst: Empfangen des ersten Stroms von Paketen mit mindestens einem Eingangsport für das Paketunterschiedserkennersystem und Empfangen des zweiten Stroms von Paketen mit mindestens einem zusätzlichen Eingangsport für das Paketunterschiedserkennersystem.
- Verfahren nach Anspruch 1 oder 2, wobei der erste Strom und der zweite Strom von Paketen von einer einzelnen Netzwerkeinrichtung empfangen werden.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei der erste Strom von Paketen nur Ingress-Pakete für die Netzwerkeinrichtung enthält und der zweite Strom von Paketen nur Egress-Pakete für die Netzwerkeinrichtung enthält.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei die Unterschiedspakete mindestens ein durch die Netzwerkeinrichtung entferntes von Paketen, durch die Netzwerkeinrichtung hinzugefügte Pakete oder durch die Netzwerkeinrichtung modifizierte Pakete darstellen.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei der Bestimmungsschritt Folgendes umfasst: Generieren von Signaturen für an den Eingangsports empfangene Pakete; Speichern der Signaturen während des Nachschlagezeitfensters und Vergleichen von Signaturen, um die Unterschiedspakete zu bestimmen.
- Verfahren nach Anspruch 6, weiterhin umfassend das Durchführen, für jeden Eingangsport, mindestens eines Nachschlagevorgangs zwischen für die an diesem Eingangsport empfangenen Pakete generierten Signaturen und für mindestens einen anderen Eingangsport gespeicherte Signaturen und Verwerfen von Paketen, wenn Übereinstimmungen gefunden werden.
- Verfahren nach einem der vorhergehenden Ansprüche, das weiterhin Folgendes umfasst: Empfangen des ersten Stroms von Paketen an einem ersten Eingangsport; Empfangen des zweiten Stroms von Paketen an einem zweiten Eingangsport; in einem Lernmodus, automatisches Bestimmen einer Portreihenfolge, die darstellt, ob der erste Strom von Paketen für den ersten Port oder der zweite Strom von Paketen für den zweiten Port eine zeitlich erste Version empfangener Pakete darstellt; und in einem normalen Arbeitsmodus, Verwenden der Portreihenfolgenbestimmung zum Erleichtern der Bestimmung von Unterschiedspaketen zwischen dem ersten Strom von Paketen und dem zweiten Strom von Paketen.
- Verfahren nach Anspruch 8, wobei das automatische Bestimmen einer Portreihenfolge Folgendes umfasst: Speichern von Paketen vom ersten Eingangsport innerhalb eines ersten Paketpuffers während eines Lernzeitfensters; Speichern von Paketen vom zweiten Eingangsport innerhalb eines zweiten Paketpuffers während des Lernzeitfensters; Generieren von Signaturen für die innerhalb des ersten und zweiten Paketpuffers gespeicherten Pakete; Speichern der Signaturen für die Pakete innerhalb des ersten Paketpuffers innerhalb einer ersten Signaturtabelle; Speichern der Signaturen für die Pakete innerhalb des zweiten Paketpuffers innerhalb einer zweiten Signaturtabelle; und Durchführen von Signaturnachschlageoperationen zwischen in den Paketpuffern gespeicherten Paketen und in den Signaturtabellen gespeicherten Paketen, um eine Portreihenfolge zu bestimmen.
- Verfahren nach Anspruch 8 oder 9, wobei das automatische Bestimmen einer Portreihenfolge weiterhin Folgendes umfasst: Zählen von mit einer Signaturnachschlageoperation zwischen dem ersten Paketpuffer und der zweiten Signaturtabelle assoziierten Übereinstimmungen, um einen ersten Übereinstimmungszählwert zu bilden, Zählen von mit einer Signaturnachschlageoperation zwischen dem zweiten Paketpuffer und der ersten Signaturtabelle assoziierten Übereinstimmungen, um einen zweiten Übereinstimmungszählwert zu bilden, und Verwenden des ersten und zweiten Übereinstimmungszählwerts, um eine Portreihenfolge zu bestimmen.
- Verfahren nach einem der Ansprüche 8 bis 10, wobei das automatische Bestimmen einer Portreihenfolge weiterhin das Vergleichen des ersten und zweiten Übereinstimmungszählwerts mit einem Übereinstimmungsschwellwert umfasst, um eine Portreihenfolge zu bestimmen.
- Verkehrsunterschiedserkennersystem für Netzwerkpakete, das Folgendes umfasst: einen Paketunterschiedsprozessor, der konfiguriert ist zum Bestimmen von Unterschiedspaketen innerhalb eines Nachschlagezeitfensters zwischen einem ersten Strom von Paketen und einem zweiten Strom von Paketen, die von dem Verkehrsunterschiedserkennersystem empfangen worden sind, wobei der zweite Strom von Paketen eine verarbeitete Version des ersten Stroms von Paketen darstellt und das Nachschlagezeitfenster mit einer Verarbeitungszeit für den zweiten Strom, der eine verarbeitete Version des ersten Stroms sein soll, assoziiert ist; und mindestens einen Ausgangsport, der konfiguriert ist zum Ausgeben der Unterschiedspakete, wobei die Unterschiedspakete Pakete innerhalb des ersten Stroms und nicht innerhalb des zweiten Stroms und Pakete innerhalb des zweiten Stroms und nicht innerhalb des ersten Stroms umfassen.
- Verkehrsunterschiedserkennersystem nach Anspruch 12, das weiterhin Folgendes umfasst: mindestens einen Eingangsport, der konfiguriert ist zum Empfangen des ersten Stroms von Paketen; und mindestens einen zusätzlichen Eingangsport, der konfiguriert ist zum Empfangen des zweiten Stroms von Paketen.
- Verkehrsunterschiedserkennersystem nach Anspruch 12 oder 13, wobei der erste und zweite Strom von Paketen von einer einzelnen Netzwerkeinrichtung kommen.
- Verkehrsunterschiedserkennersystem nach einem der Ansprüche 12 bis 14, wobei der erste Strom von Paketen nur Ingress-Pakete für die Netzwerkeinrichtung enthält und der zweite Strom von Paketen nur Egress-Pakete für die Netzwerkeinrichtung enthält.
- Verkehrsunterschiedserkennersystem nach einem der Ansprüche 12 bis 15, wobei die Unterschiedspakete mindestens ein durch die Netzwerkeinrichtung entferntes von Paketen, durch die Netzwerkeinrichtung hinzugefügte Pakete oder durch die Netzwerkeinrichtung modifizierte Pakete darstellen.
- Verkehrsunterschiedserkennersystem nach einem der Ansprüche 12 bis 16, das weiterhin Folgendes umfasst: einen Paketsignaturgenerator, der mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Generieren von Signaturen für am Eingangsport empfangene Pakete; und eine Signaturtabelle, die mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Speichern der Signaturen, wobei die Signaturtabellen konfiguriert sind zum Speichern von Signaturen für das Nachschlagezeitfenster.
- Verkehrsunterschiedserkennersystem nach Anspruch 17, wobei der Paketunterschiedsprozessor weiterhin konfiguriert ist zum Durchführen, für jeden Eingangsport, mindestens eines Nachschlagens zwischen für die an diesem Eingangsport empfangenen Pakete generierten Signaturen und der mit mindestens einem anderen Eingangsport assoziierten Signaturtabelle und zum Verwerfen von Paketen, wenn Übereinstimmungen gefunden werden.
- Verkehrsunterschiedserkennersystem nach einem der Ansprüche 12 bis 18, das weiterhin Folgendes umfasst: einen ersten Eingangsport, der konfiguriert ist zum Empfangen eines ersten Stroms von Paketen; einen zweiten Eingangsport, der konfiguriert ist zum Empfangen eines zweiten Stroms von Paketen; und einen Paketunterschiedsprozessor, der konfiguriert ist, in einem Lernmodus, zum automatischen Bestimmen einer Portreihenfolge, die darstellt, ob der erste Strom von Paketen für den ersten Port oder der zweite Strom von Paketen für den zweiten Port eine zeitlich erste Version empfangener Pakete darstellt; wobei der Paketunterschiedsprozessor weiterhin konfiguriert, ist in einem normalen Arbeitsmodus, zum Verwenden der Portreihenfolgenbestimmung zum Erleichtern der Bestimmung von Unterschiedspaketen zwischen dem ersten Strom von Paketen und dem zweiten Strom von Paketen.
- Verkehrsunterschiedserkennersystem nach Anspruch 19, wobei der Paketunterschiedsprozessor weiterhin Folgendes umfasst: einen Paketpuffer, der mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Speichern von Paketen innerhalb eines Lernzeitfensters; einen Paketsignaturgenerator, der mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Generieren von Signaturen für am Eingangsport empfangene Pakete; und eine Signaturtabelle, die mit jedem Eingangsport assoziiert ist und konfiguriert ist zum Speichern der Signaturen; und wobei der Verkehrsunterschiedserkennerprozessor weiterhin konfiguriert ist zum Durchführen von Signaturnachschlageoperationen zwischen in den Paketpuffern gespeicherten Paketen und in den Signaturtabellen gespeicherten Paketen, um eine Portreihenfolge zu bestimmen.
- Verkehrsunterschiedserkennersystem nach einem der Ansprüche 19 oder 20, wobei der Paketunterschiedsprozessor weiterhin einen ersten Zähler umfasst, der konfiguriert ist zum Speichern eines ersten Übereinstimmungszählwerts, der mit einer Signaturnachschlageoperation zwischen dem mit dem ersten Eingangsport assoziierten Paketpuffer und der mit dem zweiten Eingangsport assoziierten Signaturtabelle assoziiert ist, wobei der Paketunterschiedsprozessor weiterhin einen zweiten Zähler umfasst, der konfiguriert ist zum Speichern eines zweiten Übereinstimmungszählwerts, der mit der Signaturnachschlageoperation zwischen dem mit dem zweiten Eingangsport assoziierten Paketpuffer und der mit dem ersten Eingangsport assoziierten Signaturtabelle assoziiert ist, wobei der Paketunterschiedsprozessor weiterhin konfiguriert ist zum Verwenden des ersten und zweiten Übereinstimmungszählwerts, um eine Portreihenfolge zu bestimmen.
- Verkehrsunterschiedserkennersystem nach einem der Ansprüche 19 bis 21, wobei der Verkehrsunterschiedsprozessor weiterhin einen Portreihenfolgen-Logikprozessor umfasst, der konfiguriert ist zum Empfangen des ersten und zweiten Übereinstimmungszählwerts und zum Vergleichen des ersten und zweiten Übereinstimmungszählwerts mit einem Übereinstimmungsschwellwert, um eine Portreihenfolge zu bestimmen.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/164,450 US9521083B2 (en) | 2014-01-27 | 2014-01-27 | Traffic differentiator systems for network devices and related methods |
US14/164,450 | 2014-01-27 | ||
US14/570,058 US9832084B2 (en) | 2014-01-27 | 2014-12-15 | Traffic differentiator systems for network devices and related methods including automatic port order determination |
US14/570,058 | 2014-12-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102015100654A1 true DE102015100654A1 (de) | 2015-07-30 |
DE102015100654B4 DE102015100654B4 (de) | 2022-03-10 |
Family
ID=52471624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102015100654.5A Active DE102015100654B4 (de) | 2014-01-27 | 2015-01-19 | Verkehrunterschiedserkennersysteme für netzwerk- einrichtungen und verwandte verfahren |
Country Status (3)
Country | Link |
---|---|
US (2) | US9832084B2 (de) |
DE (1) | DE102015100654B4 (de) |
GB (1) | GB2524362B (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9832084B2 (en) | 2014-01-27 | 2017-11-28 | Keysight Technologies Singapore (Holdings) Pte Ltd | Traffic differentiator systems for network devices and related methods including automatic port order determination |
US11171890B1 (en) * | 2018-12-28 | 2021-11-09 | Innovium, Inc. | Reducing power consumption in an electronic device |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6147976A (en) | 1996-06-24 | 2000-11-14 | Cabletron Systems, Inc. | Fast network layer packet filter |
US6188674B1 (en) | 1998-02-17 | 2001-02-13 | Xiaoqiang Chen | Method and apparatus for packet loss measurement in packet networks |
US6868069B2 (en) * | 2001-01-16 | 2005-03-15 | Networks Associates Technology, Inc. | Method and apparatus for passively calculating latency for a network appliance |
US7194535B2 (en) | 2001-10-01 | 2007-03-20 | Ixia | Methods and systems for testing stateful network communications devices |
US20030112827A1 (en) * | 2001-12-13 | 2003-06-19 | International Business Machines Corporation | Method and apparatus for deskewing parallel serial data channels using asynchronous elastic buffers |
FR2834847B1 (fr) | 2002-01-17 | 2004-04-09 | Cit Alcatel | Systeme de gestion de reseau ou de services pour la determination de la synchronisation entre deux flots de paquets |
US7203173B2 (en) | 2002-01-25 | 2007-04-10 | Architecture Technology Corp. | Distributed packet capture and aggregation |
KR20050057611A (ko) | 2002-10-02 | 2005-06-16 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 디지털 데이터 신호의 보정 회로 및 그 방법 |
EP1573285A1 (de) | 2002-12-12 | 2005-09-14 | Koninklijke Philips Electronics N.V. | Transformationsstrukturen zur annäherung von farbabstimmungsfunktionen |
US7522606B1 (en) | 2004-11-09 | 2009-04-21 | Network Equipment Technologies, Inc. | Passive packet re-ordering and packet loss detection |
US7773611B2 (en) | 2005-06-15 | 2010-08-10 | Cisco Technology, Inc. | Method and apparatus for packet loss detection |
US7796598B2 (en) | 2006-04-03 | 2010-09-14 | Cisco Technology, Inc. | Synchronizing redundant video streams encapsulated in IP/UDP packets |
WO2008067371A2 (en) | 2006-11-29 | 2008-06-05 | Wisconsin Alumni Research Foundation | System for automatic detection of spyware |
EP1968235A1 (de) | 2007-03-05 | 2008-09-10 | Psytechnics Ltd | Verfahren zur Datenanalyse in einem paketvermittelten Netzwerk |
US7782851B2 (en) | 2007-06-26 | 2010-08-24 | At&T Intellectual Property I, L.P. | System and method of detecting lost video data packets |
US7995584B2 (en) | 2007-07-26 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Method and apparatus for detecting malicious routers from packet payload |
US8155151B2 (en) * | 2008-01-02 | 2012-04-10 | Cisco Technology, Inc. | Secure combined interoperable multiplexing |
US8649271B2 (en) | 2010-01-25 | 2014-02-11 | Ixia | Testing network equipment |
CN101883023A (zh) | 2010-06-05 | 2010-11-10 | 中国海洋大学 | 防火墙压力测试方法 |
US8462781B2 (en) | 2011-04-06 | 2013-06-11 | Anue Systems, Inc. | Systems and methods for in-line removal of duplicate network packets |
DE102011007387A1 (de) | 2011-04-14 | 2012-10-18 | Siemens Aktiengesellschaft | Netzkoppelvorrichtung und Übertragungsverfahren für ein paketbasiertes Felddatennetzwerk |
US8576709B2 (en) | 2011-05-25 | 2013-11-05 | Futurewei Technologies, Inc. | System and method for monitoring dropped packets |
US9930712B2 (en) | 2012-05-15 | 2018-03-27 | Qualcomm Incorporated | Limiting failure rate by serving through multiple channels |
US9397961B1 (en) * | 2012-09-21 | 2016-07-19 | Microsemi Storage Solutions (U.S.), Inc. | Method for remapping of allocated memory in queue based switching elements |
US10567489B2 (en) * | 2013-03-15 | 2020-02-18 | Time Warner Cable Enterprises Llc | System and method for seamless switching between data streams |
EP2802103B1 (de) | 2013-05-06 | 2018-04-18 | Viavi Solutions Inc. | Verfahren und system zur messung eines paketverlustes |
DE102013216847B4 (de) | 2013-08-23 | 2023-06-01 | Siemens Mobility GmbH | Verfahren, Vorrichtung und System zur Überwachung einer Sicherheits-Netzübergangseinheit |
US9521083B2 (en) | 2014-01-27 | 2016-12-13 | Anue Systems, Inc. | Traffic differentiator systems for network devices and related methods |
US9832084B2 (en) | 2014-01-27 | 2017-11-28 | Keysight Technologies Singapore (Holdings) Pte Ltd | Traffic differentiator systems for network devices and related methods including automatic port order determination |
-
2014
- 2014-12-15 US US14/570,058 patent/US9832084B2/en active Active
- 2014-12-30 GB GB1423341.5A patent/GB2524362B/en active Active
-
2015
- 2015-01-19 DE DE102015100654.5A patent/DE102015100654B4/de active Active
-
2017
- 2017-10-24 US US15/791,997 patent/US10680917B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10680917B2 (en) | 2020-06-09 |
GB2524362B (en) | 2016-11-16 |
US20180048543A1 (en) | 2018-02-15 |
GB201423341D0 (en) | 2015-02-11 |
US20150215176A1 (en) | 2015-07-30 |
GB2524362A (en) | 2015-09-23 |
DE102015100654B4 (de) | 2022-03-10 |
US9832084B2 (en) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112010004940B4 (de) | Automatisches Erkennen von Adressbereichen für IP-Netzwerke | |
DE102013209118B4 (de) | Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk | |
EP2882144B1 (de) | Verfahren und Filteranordnung zum Filtern von über einen seriellen Datenbus eines Kommunikationsnetzwerks in einem Teilnehmer des Netzwerks eingehenden Nachrichten | |
DE60115615T2 (de) | System, einrichtung und verfahren zur schnellen paketfilterung und -verarbeitung | |
DE69332370T2 (de) | Netzwerkanalyseverfahren | |
DE102018109689A1 (de) | Verfahren, Systeme und computerlesbare Medien zum Testen von Time-Sensitive-Network(TSN)-Elementen. | |
DE112015004008T5 (de) | Selektives abtasten von netzwerkpaketverkehr unter verwendung von virtuelle-maschinen-werkzeugplattformen auf cloud-basis | |
DE112011103561T5 (de) | Netzwerkprozessor und Verfahren zum Beschleunigen der Datenpaket-Syntaxanalyse | |
DE102018209407A1 (de) | Verfahren und Vorrichtung zur Behandlung einer Anomalie in einem Kommunikationsnetzwerk | |
DE112016002952T5 (de) | Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz | |
DE102020105776A1 (de) | Kostengünstige Überlastungsisolierung für verlustfreies Ethernet | |
DE112019002585T5 (de) | Datenebene mit heavy-hitter-detektor | |
DE102020201988A1 (de) | Vorrichtung zur Verarbeitung von Daten mit wenigstens zwei Datenschnittstellen und Betriebsverfahren hierfür | |
DE102015100654B4 (de) | Verkehrunterschiedserkennersysteme für netzwerk- einrichtungen und verwandte verfahren | |
DE69310946T2 (de) | Verfahren und Mittel zum Detektieren einer Leitweglenkungsschleife in einem Fernmeldenetz | |
DE102018215945A1 (de) | Verfahren und Vorrichtung zur Anomalie-Erkennung in einem Fahrzeug | |
US9521083B2 (en) | Traffic differentiator systems for network devices and related methods | |
DE112014005365T5 (de) | Übertragungsvorrichtung und Kommunikationsnetzwerk | |
DE102019210227A1 (de) | Vorrichtung und Verfahren zur Anomalieerkennung in einem Kommunikationsnetzwerk | |
DE102018128777A1 (de) | Skalierbare Kommunikation mit einer Paketverarbeitungseinheit | |
DE102016211189B4 (de) | Weiterleitungsvorrichtung | |
DE102014207479A1 (de) | Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung | |
DE60308493T2 (de) | Ein Router zur Lenkung von Paketen | |
DE102016113322A1 (de) | Slave-Steuerung für Ethernet-Netzwerk | |
DE102019218061A1 (de) | Weiterleitungsgerät |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R081 | Change of applicant/patentee |
Owner name: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE, SG Free format text: FORMER OWNER: ANUE SYSTEMS, INC, AUSTIN, TEX., US Owner name: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. L, SG Free format text: FORMER OWNER: ANUE SYSTEMS, INC, AUSTIN, TEX., US |
|
R082 | Change of representative |
Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Representative=s name: MURGITROYD & COMPANY, DE |
|
R082 | Change of representative |
Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE Representative=s name: MURGITROYD & COMPANY, DE |
|
R081 | Change of applicant/patentee |
Owner name: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. L, SG Free format text: FORMER OWNER: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD., SINGAPORE, SG |
|
R082 | Change of representative |
Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE Representative=s name: MURGITROYD & COMPANY, DE |
|
R082 | Change of representative |
Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE |
|
R016 | Response to examination communication | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012260000 Ipc: H04L0043000000 |
|
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |