DE60314153T2 - Schneller, flexibler Filterprozessor basierend auf Bereichsprüfung sowie darauf basierendes Verarbeitungsverfahren - Google Patents

Schneller, flexibler Filterprozessor basierend auf Bereichsprüfung sowie darauf basierendes Verarbeitungsverfahren Download PDF

Info

Publication number
DE60314153T2
DE60314153T2 DE60314153T DE60314153T DE60314153T2 DE 60314153 T2 DE60314153 T2 DE 60314153T2 DE 60314153 T DE60314153 T DE 60314153T DE 60314153 T DE60314153 T DE 60314153T DE 60314153 T2 DE60314153 T2 DE 60314153T2
Authority
DE
Germany
Prior art keywords
packet
range
values
value
entries
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.)
Expired - Lifetime
Application number
DE60314153T
Other languages
English (en)
Other versions
DE60314153D1 (de
Inventor
Sandeep Relan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Broadcom Corp
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of DE60314153D1 publication Critical patent/DE60314153D1/de
Publication of DE60314153T2 publication Critical patent/DE60314153T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung:
  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Hochleistungspaketfilterung in einer Kommunikationsnetzwerkumgebung, wie etwa Token-Ring, ATM, Ethernet, Fast-Ethernet, Gigabit-Ethernet und 10Gigabit-Ethernet oder einer anderen Netzwerkumgebung. Die vorliegende Erfindung betrifft im Besonderen ein schnelles und flexibles Paketfilter sowie ein Verfahren zum Filtern eines Pakets, die in einer Netzwerkkomponente implementiert werden können, die diskrete Einrichtungen umfassen oder auf einem Halbleitersubstrat, wie etwa einem Siliziumchip, ausgeführt werden kann.
  • Beschreibung des relevanten Standes der Technik:
  • Bei Netzwerkmanagementanwendungen tritt ein eingehendes Paket an einem Ingress-Port einer Netzwerkkomponente, wie etwa einem Switch, ein. Die Netzwerkkomponente verarbeitet das eingehende Paket und leitet es zu einem Egress-Port. Bei der Verarbeitung des eingehenden Pakets kann die Netzwerkkomponente das eingehende Paket auf der Ingress-Seite untersuchen und die Adressierungs- und Routing-Informationen bestimmen, um die Netzwerkleistung zu verbessern.
  • Die Netzwerkkomponente kann verschiedene Adressierungs- und Verarbeitungslogiken auf das eingehende Paket anwenden, wenn sie das eingehende Paket auf der Ingress-Seite untersucht. In dem Maße, in dem der Bedarf an Netzwerkkomponenten mit höherer Geschwindigkeit und niedrigeren Kosten zunimmt, steigt auch der Bedarf an innovativen Systemen, die einen solchen Bedarf befriedigen. Demgemäß ist eine schnelle und flexible Verarbeitungslogik für eine Netzwerkkomponente wichtig, da sie der Kommunikationsnetzwerkumgebung zugute kommt.
  • EP-A-1 351 110 offenbart ein Verfahren und eine entsprechende Vorrichtung zur Paketfilterung in einer Kommunikationsnetzwerkumgebung, wobei wenigstens ein Paketfeldwert im Paket bestimmt und wenigstens ein Satz Bereichswerte ermittelt wird, und wobei der Paketfeldwert mit einem Satz Bereichswerte verglichen wird.
  • Des Weiteren wird wenigstens eine Aktion ausgeführt, wenn wenigstens ein Paketfeldwert in den wenigstens einen Satz Bereichswerte fällt.
  • ZUSAMMENFASSUNG DER ERFINDUNG:
  • Ein Beispiel der vorliegenden Erfindung kann ein Verfahren zum Verarbeiten eines Pakets in einem Datenübertragungsnetzwerk umfassen. Das Verfahren kann die Schritte des Empfangens eines Pakets in einer Netzwerkeinrichtung, des Bestimmens einer Mehrzahl von Paketfeldwerten bezogen auf das Paket basierend auf Sätzen von Bereichsprüfparametern in einer Regeln-Tabelle, und des Ermittelns einer Mehrzahl von in den Sätzen Bereichsprüfparameter in einer Mehrzahl an Einträgen der Regeln-Tabelle angegebenen Bereichswerten umfassen. Darüber hinaus kann das Verfahren die Schritte des Ausführens wenigstens einer ersten Aktion bezogen auf das Paket, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, des Ausführens wenigstens einer zweiten Aktion bezogen auf das Paket, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, und des Ausführens wenigstens einer dritten Aktion bezogen auf das Paket, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt, umfassen.
  • Bei einem weiteren Beispiel kann die vorliegende Erfindung eine Netzwerkkomponente zum Verarbeiten eines Pakets umfassen. Die Netzwerkkomponente kann eine Regeln-Tabelle, die dafür konfiguriert ist, eine Mehrzahl an Einträgen aufzuweisen, und Sätze erster Speichereinheiten in jedem der Mehrzahl an Einträgen umfassen, wobei die Sätze erster Speichereinheiten dafür konfiguriert sind, Sätze von Bereichsprüfparametern bezogen auf das Paket zu speichern, wobei die Sätze Bereichsprüfparameter mehrere Paketfeldwerte und mehrere Bereichswerte kennzeichnen. Die Netzwerkkomponente kann außerdem eine Aktionsimplementierungseinheit umfassen, die dafür konfiguriert ist, bezogen auf das Paket wenigstens eine erste Aktion auszuführen, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, wobei die Aktionsimplementierungseinheit, dafür konfiguriert ist, bezogen auf das Paket wenigstens eine zweite Aktion auszuführen, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, und wobei die Aktionsimplementierungseinheit bezogen auf das Paket wenigstens eine dritte Aktion ausführt, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt.
  • Des Weiteren kann ein weiteres Beispiel der vorliegenden Erfindung ein System zum Verarbeiten eines Pakets in einem Datenübertragungsnetzwerk bereitstellen. Das System kann eine Einrichtung zum Empfangen eines Pakets in einer Netzwerkeinrichtung, eine Einrichtung zum Bestimmen einer Mehrzahl von Paketfeldwerten bezogen auf das Paket basierend auf Sätzen von Bereichsprüfparametern in einer Regeln-Tabelle, und eine Einrichtung zum Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter in einer Mehrzahl an Einträgen der Regeln-Tabelle angegebenen Bereichswerten umfassen. Darüber hinaus kann das System eine Einrichtung zum Implementieren wenigstens einer ersten Aktion bezogen auf das Paket, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, eine Einrichtung zum Implementieren wenigstens einer zweiten Aktion bezogen auf das Paket, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, und eine Einrichtung zum Implementieren wenigstens einer dritten Aktion bezogen auf das Paket, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt, umfassen.
  • Gemäß einem Aspekt der Erfindung wird ein Verfahren zum Verarbeiten eines Pakets in einem Datenübertragungsnetzwerk bereitgestellt, wobei das Verfahren die Schritte umfasst:
    • – Empfangen eines Pakets in einer Netzwerkeinrichtung,
    • – Bestimmen einer Mehrzahl von Paketfeldwerten bezogen auf das Paket basierend auf Sätzen von Bereichsprüfparametern in einer Regeln-Tabelle,
    • – Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter in einer Mehrzahl an Einträgen der Regeln-Tabelle angegebenen Bereichswerten,
    • – Ausführen wenigstens einer ersten Aktion bezogen auf das Paket, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt,
    • – Ausführen wenigstens einer zweiten Aktion bezogen auf das Paket, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, und
    • – Ausführen wenigstens einer dritten Aktion bezogen auf das Paket, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt,
    dadurch gekennzeichnet, dass bestimmt wird, dass der Eintrag (200) mit dem höchsten Vorrangfeldwert (135) Vorrang erhält, wenn wenigstens ein Paketfeldwert in mehr als eines der entsprechenden Paare Bereichswerte der Mehrzahl an Einträgen (200) fällt.
  • Vorteilhafterweise kann der Schritt des Bestimmens der Mehrzahl von Paketfeldwerten die Schritte umfassen:
    • – Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter angegebenen Bitpositionen im Paket, wobei wenigstens eine der Mehrzahl an Bitpositionen einem Bitpositionswert entspricht, und
    • – Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter angegebenen Bitlängen, wobei wenigstens eine der Mehrzahl an Bitlängen einem Bitlängenwert entspricht.
  • Vorteilhafterweise umfasst der Schritt des Bestimmens der Mehrzahl von Paketfeldwerten ferner den Schritt:
    • – Bestimmen einer Mehrzahl von Paketfeldern, wobei wenigstens eines der Mehrzahl an Paketfeldern an einer jeweiligen Bitposition beginnt und an einer Endposition endet, wobei die Endposition die Summe eines entsprechenden Bitpositionswerts und eines entsprechenden Bitlängenwertes ist.
  • Vorteilhafterweise umfasst der Schritt des Ermittelns der Mehrzahl von Bereichswerten den Schritt:
    • – Ermitteln einer Mehrzahl von Startbereichswerten und einer Mehrzahl von jeweiligen Endbereichswerten, die in den Sätzen Bereichsprüfparameter in der Regeln-Tabelle angegeben sind.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt:
    • – Ermitteln einer Mehrzahl von Vorrangfeldwerten, die der Mehrzahl an Einträgen entspricht, wenn der wenigstens eine der Mehrzahl an Paketfeldwerten in das entsprechende Paar Bereichswerte für mehr als einen der Mehrzahl an Einträgen fällt.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt:
    • – Bestimmen des größten Vorrangfeldwertes aus der Mehrzahl an Vorrangfeldwerten, die dem mehr als einen der Mehrzahl an Einträgen entspricht, welche wenigstens einen der mehreren Paketfeldwerte umfasst, die in das entsprechende Paar Bereichswerte fallen, und
    • – Ausführen der wenigstens einen ersten Aktion entsprechend dem größten Vorrangfeldwert.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt:
    • – Ermitteln einer Mehrzahl an Vorrangfeldwerten, die der Mehrzahl an Einträgen entspricht, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für mehr als einen der Mehrzahl an Einträgen fällt.
  • Vorteilhafterweise umfasst das Verfahren ferner die Schritte:
    • – Bestimmen des größten Vorrangfeldwertes aus der Mehrzahl an Vorrangfeldwerten, die dem mehr als einen der Mehrzahl an Einträgen entspricht, welche jeden der mehreren Paketfeldwerte umfasst, die in jedes entsprechende Paar Bereichswerte fallen, und
    • – Ausführen der wenigstens einen zweiten Aktion entsprechend dem größten Vorrangfeldwert.
  • Gemäß einem anderen Aspekt der Erfindung wird eine Netzwerkkomponente zum Verarbeiten eines Pakets bereitgestellt, wobei die Netzwerkkomponente umfasst:
    • – eine Regeln-Tabelle, die dafür konfiguriert ist, eine Mehrzahl an Einträgen aufzuweisen,
    • – Sätze erster Speichereinheiten in jedem der Mehrzahl an Einträgen, wobei die Sätze erster Speichereinheiten dafür konfiguriert sind, Sätze von Bereichsprüfparametern bezogen auf das Paket zu speichern, wobei die Sätze Bereichsprüfparameter mehrere Paketfeldwerte und mehrere Bereichswerte kennzeichnen, und
    • – eine Aktionsimplementierungseinheit, die dafür konfiguriert ist, bezogen auf das Paket wenigstens eine erste Aktion auszuführen, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, wobei die Aktionsimplementierungseinheit, dafür konfiguriert ist, bezogen auf das Paket wenigstens eine zweite Aktion auszuführen, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, und wobei die Aktionsimplementierungseinheit bezogen auf das Paket wenigstens eine dritte Aktion ausführt, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt,
    dadurch gekennzeichnet, dass ein Vorrangfeldwert (135) für jeden Eintrag (200) in der Regeln-Tabelle (105) definiert wird, wobei der Vorrangfeldwert (135) den Eintrag (200) bestimmt, der Vorrang über die anderen Einträge (200) in der Regeln-Tabelle (105) erhält, wenn wenigstens ein Paketfeldwert in mehr als eines der entsprechenden Paare Bereichswerte der Mehrzahl an Einträgen fällt.
  • Vorteilhafterweise sind die Sätze erster Speichereinheiten dafür konfiguriert, Sätze Bereichsprüfparameter zu speichern, wobei jeder Satz Bereichsprüfparameter bezogen das Paket eine Bitposition, eine Bitlänge, einen Start- und einen Endbereich umfasst.
  • Vorteilhafterweise sind die Sätze erster Speichereinheiten dafür konfiguriert, Sätze Bereichsprüfparameter zu speichern, wobei jede Bitposition einem Bitpositionswert und jede Bitlänge einem Bitlängenwert entspricht.
  • Vorteilhafterweise sind die Sätze erster Speichereinheiten dafür konfiguriert, Sätze Bereichsprüfparameter zu speichern, wobei jede Bitposition und jede Bitlänge ein Paketfeld kennzeichnet, wobei das Paketfeld an der Bitposition beginnt und an einer Endposition endet, und wobei die Endposition die Summe des entsprechenden Bitpositionswerts und des entsprechenden Bitlängenwertes ist.
  • Vorteilhafterweise sind die Sätze erster Speichereinheiten dafür konfiguriert, Sätze Bereichsprüfparameter zu speichern, wobei jedes Paketfeld einen jeden der Mehrzahl an Paketfeldwerten kennzeichnet.
  • Vorteilhafterweise umfasst die Netzwerkkomponente ferner:
    • – eine Mehrzahl zweiter Speichereinheiten, die dafür konfiguriert ist, eine Mehrzahl an Vorrangfeldwerten zu speichern, wobei die Mehrzahl zweiter Speichereinheiten der Mehrzahl an Einträgen entspricht.
  • Vorteilhafterweise ist die Aktionsimplementierungseinheit dafür konfiguriert, die wenigstens eine erste Aktion entsprechend einer der Mehrzahl zweiter Speichereinheiten auszuführen, die den größten Vorrangfeldwert aufweist, wobei der größte Vorrangfeldwert aus der Mehrzahl an Vorrangfeldwerten ermittelt wird, die der Mehrzahl an Einträgen entspricht, welche wenigstens einen der mehreren Paketfeldwerte umfasst, die in das entsprechende Paar Bereichswerte fallen.
  • Vorteilhafterweise ist die Aktionsimplementierungseinheit dafür konfiguriert, die wenigstens eine zweite Aktion entsprechend einer der Mehrzahl zweiter Speichereinheiten auszuführen, die den größten Vorrangfeldwert aufweist, wobei der größte Vorrangfeldwert aus der Mehrzahl an Vorrangfeldwerten ermittelt wird, die der Mehrzahl an Einträgen entspricht, welche jeden der mehreren Paketfeldwerte umfasst, die in jedes entsprechende Paar Bereichswerte fallen.
  • Gemäß einem weiteren Aspekt der Erfindung wird ein System zum Verarbeiten eines Pakets in einem Datenübertragungsnetzwerk bereitgestellt, wobei das System umfasst:
    • – eine Empfangseinrichtung zum Empfangen eines Pakets in einer Netzwerkeinrichtung,
    • – eine erste Bestimmungseinrichtung zum Bestimmen einer Mehrzahl von Paketfeldwerten bezogen auf das Paket basierend auf Sätzen von Bereichsprüfparametern in einer Regeln-Tabelle,
    • – eine erste Ermittlungseinrichtung zum Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter in einer Mehrzahl an Einträgen der Regeln-Tabelle angegebenen Bereichswerten,
    • – eine erste Implementierungseinrichtung zum Ausführen wenigstens einer ersten Aktion bezogen auf das Paket, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt,
    • – eine zweite Implementierungseinrichtung zum Ausführen wenigstens einer zweiten Aktion bezogen auf das Paket, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen fällt, und
    • – eine dritte Implementierungseinrichtung zum Ausführen wenigstens einer dritten Aktion bezogen auf das Paket, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt,
    dadurch gekennzeichnet, dass ein Vorrangfeldwert (135) für jeden Eintrag (200) in der Regeln-Tabelle (105) definiert wird, wobei der Vorrangfeldwert (135) Vorrang erhält, wenn mehr als einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen (200) fällt.
  • Vorteilhafterweise umfasst die erste Bestimmungseinrichtung:
    • – eine zweite Ermittlungseinrichtung zum Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter angegebenen Bitpositionen im Paket, wobei wenigstens eine der Mehrzahl an Bitposition einem Bitpositionswert entspricht, und
    • – eine dritte Ermittlungseinrichtung zum Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter angegebenen Bitlängen, wobei wenigstens eine der Mehrzahl an Bitlängen einem Bitlängenwert entspricht.
  • Vorteilhafterweise umfasst die erste Bestimmungseinrichtung ferner:
    • – eine zweite Bestimmungseinrichtung zum Bestimmen einer Mehrzahl von Paketfeldern, wobei wenigstens eines der Mehrzahl an Paketfeldern an einer jeweili gen Bitposition beginnt und an einer Endposition endet, wobei die Endposition die Summe eines entsprechenden Bitpositionswerts und eines entsprechenden Bitlängenwertes ist.
  • Vorteilhafterweise umfasst die erste Ermittlungseinrichtung:
    • – eine zweite Ermittlungseinrichtung zum Ermitteln einer Mehrzahl von Startbereichswerten und einer Mehrzahl von jeweiligen Endbereichswerten, die in den Sätzen Bereichsprüfparameter in der Regeln-Tabelle angegeben sind.
  • Vorteilhafterweise umfasst das System ferner:
    • – eine zweite Ermittlungseinrichtung zum Ermitteln einer Mehrzahl an Vorrangfeldwerten, die der Mehrzahl an Einträgen entspricht, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in das entsprechende Paar Bereichswerte für mehr als einen der Mehrzahl an Einträgen fällt.
  • Vorteilhafterweise umfasst das System ferner:
    • – eine zweite Bestimmungseinrichtung zum Bestimmen des größten Vorrangfeldwertes aus der Mehrzahl an Vorrangfeldwerten, die dem mehr als einen der Mehrzahl an Einträgen entspricht, welche wenigstens einen der mehreren Paketfeldwerte umfasst, die in das entsprechende Paar Bereichswerte fallen, und
    • – eine vierte Implementierungseinrichtung zum Ausführen der wenigstens einen ersten Aktion, die dem größten Vorrangfeldwert entspricht.
  • Vorteilhafterweise umfasst das System ferner:
    • – eine zweite Ermittlungseinrichtung zum Ermitteln einer Mehrzahl an Vorrangfeldwerten, die der Mehrzahl an Einträgen entspricht, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für mehr als einen der Mehrzahl an Einträgen fällt.
  • Vorteilhafterweise umfasst das System ferner:
    • – eine zweite Bestimmungseinrichtung zum Bestimmen des größten Vorrangfeldwertes aus der Mehrzahl an Vorrangfeldwerten, die dem mehr als einen der Mehrzahl an Einträgen entspricht, welche jeden der mehreren Paketfeldwerte umfasst, die in jedes der entsprechenden Paare Bereichswerte fallen, und
    • – eine vierte Implementierungseinrichtung zum Ausführen der wenigstens einen zweiten Aktion, die dem größten Vorrangfeldwert entspricht.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN:
  • Für ein genaues Verständnis der Erfindung sollte auf die begleitenden Zeichnungen Bezug genommen werden. Es zeigt:
  • 1 ein Beispiel einer erfindungsgemäßen Konfiguration zum Filtern eines Pakets,
  • 2 ein Beispiel eines erfindungsgemäßen Regeln-Eintrags in einer Regeln-Tabelle,
  • 3 ein Beispiel eines Satzes erfindungsgemäßer Bereichsprüfparameter in einem Regeln-Tabelleneintrag bezogen auf einen Paketstrom,
  • 4 ein Flussdiagramm, das ein Beispiel eines erfindungsgemäßen Verfahrens zum Filtern eines Pakets darstellt,
  • 5 ein Flussdiagramm, das ein Beispiel eines erfindungsgemäßen Verfahrens zum Filtern eines Pakets darstellt, und
  • 6 ein weiteres Beispiel einer erfindungsgemäßen Konfiguration zum Filtern eines Pakets.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM(EN):
  • 1 zeigt ein Beispiel einer erfindungsgemäßen Hardware-Konfiguration, die basierend auf einem schnellen, flexiblen Bereichsprüfungsprozessor eine Paketfilterung durchführen kann. Die Durchführung der Paketfilterung kann auch als Paketklassifizierung bezeichnet werden. Daher können die hierin angegebenen Hardware-Konfigurationen und Beispiele auch eine Paketklassifizierung durchführen.
  • Außerdem kann sich die Hardware-Konfiguration gemäß 1 in einer integrierten, modularen Ein-Chip-Lösung befinden und daher auf einem Halbleitersubstrat, wie etwa Silizium, ausgeführt werden. Alternativ kann die Hardware-Konfiguration gemäß 1 aus einer Mehrzahl diskreter Komponenten auf einer Leiterplatte bestehen. Die Konfiguration kann auch als Universaleinrichtung ausgeführt werden, die dafür konfiguriert ist, die Erfindung mit Computer-Software zu implementieren.
  • 1 zeigt eine Netzwerkeinrichtung 100, die basierend auf einem Bereichsprüfungsprozessor ein Paket filtern kann. Es sei darauf hingewiesen, dass, obgleich die Netzwerkeinrichtung ein Paket filtern kann, die Netzwerkeinrichtung 100 Daten jeglichen Formats verarbeiten kann, einschließlich eines Datenpakets, eines Daten-Frames oder einer Datenzelle, ohne jedoch darauf beschränkt zu sein.
  • Die Netzwerkeinrichtung 100 gemäß 1 kann eine Regeln-Tabelle 105, eine Aktionsimplementierungseinheit 125 und eine Mehrzahl an Speichereinheiten 130 umfassen. Die Regeln-Tabelle 105 kann beispielsweise eine Mehrzahl an Regeln-Einträgen umfassen. 1 zeigt eine Regeln-Tabelle 105 mit "m" Einträgen. Jeder Eintrag in der Regeln-Tabelle kann mehrere Sätze Bereichsprüfparameter und eine Mehrzahl an Aktionsfeldern 115 und 120 umfassen. 1 zeigt, dass beispielsweise jeder Eintrag in der Regeln-Tabelle 105 "n" Sätze Bereichsprüfparameter und die Aktionsfelder 115, 120 aufweisen kann.
  • 2 zeigt ein Beispiel eines Eintrags 200 in der Regeln-Tabelle 105. Der Eintrag 200 kann eine Mehrzahl an Bereichsprüfparametern aufweisen. Bei diesem Beispiel hat der Eintrag 200 "n" Sätze Bereichsprüfparameter. Jeder Satz Bereichsprüfparameter im Eintrag 200 kann wenigstens vier Speichereinheiten 210a-n, 220a-n, 230a-n bzw. 240a-n umfassen. Der erste Satz Bereichsprüfparameter im Eintrag 200 kann beispielsweise die Speichereinheiten 210a, 220a, 230a und 240a und der zweite Satz Bereichsprüfparameter 210b, 220b, 230b und 240b usw. umfassen. Jede Speichereinheit 210a-n, 220a-n, 230a-n und 240a-n kann eine beliebige Speichereinheit sein, etwa ein Register, und darin programmierbare Werte oder Informationen speichern und eine beliebige Breite oder Bitlänge aufweisen.
  • 3 zeigt ein Beispiel eines Satzes Bereichsprüfparameter 300 im Eintrag 200 bezogen auf ein Beispiel eines Paketstroms 310. Der Satz Bereichsprüfparameter 300 kann die Speichereinheiten 210a, 220a, 230a und 240a umfassen und der Paketstrom 310 eine Mehrzahl von "n" Bits aufweisen, wie etwa 256 Bits. Jedes Bit im Paketstrom 310 kann einen Bitwert darstellen.
  • Die Speichereinheit 210a gemäß 3 kann ein Register zum Speichern eines Bitpositionswerts BP bezogen auf einen Paketstrom sein, wie etwa den Paketstrom 310. Der Bitpositionswert BP kann ein programmierbarer Wert sein, der eine vordefinierte Bitposition in einem Paketstrom kennzeichnet oder darstellt. Daher kann der Bitpositionswert BP ein Wert sein, der die Startbitposition eines bestimmten Paketsfelds oder eines bestimmten Paketabschnitts in einem Paketstrom 310 darstellt. Der Bitpositionswert BP kann beispielsweise ein vordefinierter programmierbarer Binärwert sein, der dem Dezimalwert 3 entspricht, welcher die Startbitposition 3 im Paketstrom 310 kennzeichnen oder darstellen kann.
  • Es sei darauf hingewiesen, dass der Paketstrom 310 jedes beliebige bekannte Format haben kann, etwa ein Ethernet-II-Format, ein 802.3-SNAP-Ethernet-Format oder ein beliebiges Ethernet-Standardformat. Es sei ferner darauf hingewiesen, dass die vorliegende Erfindung daher durch Aufnehmen einer Maskentabelle oder eines schnellen Filterprozessors (FFP – Fast Filter Processor) in die Netzwerkeinrichtung 100 gemäß 1 (nicht gezeigt) einen Paketstrom 310 eines beliebigen Formats filtern und verarbeiten kann. Der FFP kann den eingehenden Paketstrom 310 in einem beliebigen Paketformat empfangen und die Bitposition BP des Paketstroms 310 basierend auf der spezifischen Art des empfangenen Paketformats dynamisch repositionieren.
  • Darüber hinaus kann die Speichereinheit 220a gemäß 3 ebenfalls ein Register zum Speichern eines Bitlängenwertes BL sein. Der Bitlängenwert BL kann ein programmierbarer Wert sein, der eine vordefinierte Bitlänge eines Paketfelds in einem Paketstrom 310, ausgehend von der Bitposition BP, kennzeichnet oder darstellt. Mit anderen Worten der Bitlängenwert BL stellt bezogen auf das aus einem Paketstrom 310 zu ermittelnde Paketfeld eine Anzahl an Bits dar. Der Bitlängenwert BL kann ein beliebiger Wert sein, etwa von null bis zu dem Wert, der zur Angabe der maximalen Anzahl an Bits im Paketstrom 310 erforderlich ist. Mit anderen Worten, der Bitlängenwert BL kann ein Wert sein, der ausgehend von der Startbitposition BP eines aus einem Paketstrom 310 zu ermittelnden Paketfelds eine Anzahl an Bits darstellt. Der Bitlängenwert BL kann beispielsweise ein vordefinierter programmierbarer Binärwert sein, der dem Dezimalwert 8 entspricht. Ein Bitlängenwert BL von 8 kann, ausgehend von der Startposition 3 in einem Paketstrom 301, eine Anzahl an Bits kennzeichnen oder darstellen, um ein Paketfeld im Paketstrom 310 zu ermitteln. Als solche können ein im Register 210a gespeicherter Bitpositionswert BP von 3 und ein in 220a gespeicherter Bitlängenwert BL von 8 bestimmt und dazu genutzt werden, ein Paketfeld, das eine Länge von 8 Bits aufweist und die Bits 3, 4, 5, 6, 7, 8, 9 und 10 in einem Paketstrom 310 umfasst, zu ermitteln. Das ermittelte Paketfeld kann danach dazu verwendet werden, bezogen auf den entsprechenden Satz Bereichsprüfparameter einen Paketfeldwert zu bestimmen. Es sei darauf hingewiesen, dass die vorliegende Erfindung beispielsweise einen Satz Bereichsprüfparameter durch Einstellen des Bitlängenwerts BL auf null deaktivieren und durch Programmieren des Bitlängenwerts 81 auf einen größeren Wert als null aktivieren kann.
  • Des Weiteren kann der eine Satz Bereichsprüfparameter gemäß 3 die Speichereinheiten 230a und 240a umfassen. Die Speichereinheit 230a kann ein Register sein, das dafür konfiguriert ist, einen Bereichswert aus einer Mehrzahl von Bereichswerten zu speichern. Die Speichereinheit 230a kann beispielsweise einen Startbereichswert SR aus einer Mehrzahl an Bereichswerten speichern. Der Startbereichswert SR kann ein Binärwert oder ein Wert verschiedenartiger Formate sein. Des Weiteren kann der Startbereichswert SR ein programmierbarer Wert sein, der einen vordefinierten unteren Grenzwert eines Bereichs von Werten kennzeichnen oder darstellen kann. Daher kann der Startbereichswert SR einen unteren Grenzwert eines Bereichs von Werten kennzeichnen oder darstellen, in dem ein ermittelter Paketfeldwert verglichen oder überprüft werden kann.
  • Ebenso in 3 gezeigt, ist eine Speichereinheit 240a, die dafür konfiguriert ist, einen anderen Bereichswert aus einer Mehrzahl an Bereichswerten zu speichern. Die Speichereinheit 240a kann beispielsweise einen Endbereichswert ER aus einer Mehrzahl an Bereichswerten speichern. Die Speichereinheit 240a kann ebenfalls ein Register zum Speichern eines Endbereichswerts ER sein. Wie der Startbereichswert SR kann der Endbereichswert ER ein Binärwert oder ein Wert verschiedenartiger Formate sein. Des Weiteren kann der Endbereichswert ER ein programmierbarer Wert sein, der einen vordefinierten oberen Grenzwert eines Bereichs von Werten kennzeichnen oder darstellen kann. Daher kann der Endbereichswert ER einen oberen Grenzwert eines Bereichs von Werten kennzeichnen oder darstellen, in dem ein ermittelter Paketfeldwert verglichen oder überprüft werden kann.
  • Demgemäß kann die Speichereinheit 230a einen Startbereichswert SR speichern, der den unteren Grenzwert einer Mehrzahl an Bereichswerten angeben oder darstellen kann, und die Speichereinheit 240a einen Endbereichswert ER speichern, der den oberen Grenzwert der Mehrzahl an Bereichswerten angeben oder darstellen kann. Mit anderen Worten, der Startbereichswert SR und der Endbereichswert ER sind ein Paar Bereichswerte, die eine Unter- und eine Obergrenze für einen bestimmten Bereich von Werten kennzeichnen oder festlegen können. Sobald die Grenzen des Bereichs von Werten ermittelt worden sind, kann ein entsprechender Paketfeldwert, der anhand des Bitpositionswerts BP und des Bitlängenwerts BL bestimmt wird, mit dem durch den Startbereichswert SR und den Endbereichswert ER festgelegten Bereich von Werten verglichen oder mittels diesem überprüft werden.
  • Es sei darauf hingewiesen, dass der auf der erfindungsgemäßen Bereichsprüfung basierende Prozessor die Bereichsprüfung basierend auf der Aufnahme des Startbereichswerts SR und des Endbereichswerts ER oder basierend auf dem Ausschluss dieser Werte durchführen kann.
  • Bezug nehmend auf das Beispiel gemäß 1 kann die Regeln-Tabelle 105 eine Mehrzahl an Einträgen umfassen, wobei jeder Eintrag mehrere Sätze Bereichsprüfparameter enthalten kann. Daher kann jeder Eintrag in der Regeln-Tabelle 105 eine Mehrzahl an Bitpositionswerten BP, eine Mehrzahl an Bitlängenwerten BL, eine Mehrzahl an Startbereichswerten SR und eine Mehrzahl an Endbereichswerten ER aufweisen, die einander entsprechen. Die Mehrzahl an Bitpositionswerten BP zusammen mit der entsprechenden Mehrzahl an Bitlängenwerten BL kann eine Mehrzahl an Paketfeldern ermitteln, aus denen eine Mehrzahl entsprechender Paketfeldwerte bestimmt werden kann. Demgemäß wird die Mehrzahl an Paketfeldwerten mit einer Mehrzahl an entsprechenden Paaren aus Startbereichswerten SR und Endbereichswerten ER verglichen oder mittels dieser überprüft, die bestimmt werden sollen, wenn einer der Paketfeldwerte innerhalb des Bereichs der entsprechenden Startbereichswerte SR und Endbereichswerte ER liegt. Wenn bestimmt wird, dass der Paketfeldwert innerhalb des Paares entsprechender Start- und Endbereichswerte liegt, dann werden dadurch in dem entsprechenden Satz Bereichsprüfparameter angegebene Bedingungen eingehalten und/oder erfüllt. Somit wird eine Übereinstimmung erzielt.
  • Ferner in der Regeln-Tabelle 105 gemäß 1 gezeigt, ist eine Mehrzahl an Aktionsfeldern 115 und 120. Jedes Paar Aktionsfelder 115, 120 kann jedem Eintrag in der Regeln-Tabelle 105 entsprechen. Die Aktionsfelder 115 und 120 können beispielsweise ein feststehender Satz Bitfolgen sein, wobei jedes Bit in der Bitfolge festgelegt sein kann, etwa mit einem Binärwert "1" oder "0". Demgemäß kann das Aktionsfeld 115 eine feststehende Bitfolge sein, wobei jedes Bit in der Bitfolge auf eine Voll-Übereinstimmungsaktion festgelegt sein kann, die an einem Paket durchgeführt werden soll. Mit anderen Worten, es kann wenigstens eine in dem Aktionsfeld angegebene Voll-Übereinstimmungsaktion an einem Paket ausgeführt werden, wenn die in sämtlichen Sätzen Bereichsprüfparameter in dem entsprechenden Eintrag der Regeln-Tabelle angegebenen Bedingungen eingehalten und/oder erfüllt werden, wodurch eine vollständige oder genaue Übereinstimmung erzielt wird. Wenn beispielsweise jeder der Paketfeldwerte innerhalb des in jedem der Sätze Bereichsprüfparameter in einem Eintrag der Regeln-Tabelle angegebenen entsprechenden Bereichs von Werten liegt, wird eine vollständige Übereinstimmung erzielt und die in dem Voll-Übereinstimmungsaktionsfeld 115 angegebene(n) Voll-Übereinstimmungsaktion(en) kann/können durchgeführt werden.
  • Darüber hinaus kann das Aktionsfeld 120 ebenfalls eine feststehende Bitfolge sein, wobei jedes Bit in der Bitfolge auf eine Teil-Übereinstimmungsaktion festgelegt sein kann, die an einem Paket durchgeführt werden soll. Mit anderen Worten, es kann wenigstens eine in dem Aktionsfeld 120 angegebene Teil-Übereinstimmungsaktion an einem Paket ausgeführt werden, wenn keine vollständige oder genaue Übereinstimmung vorhanden ist und die in wenigstens einem Satz Bereichsprüfparameter in dem entsprechenden Eintrag der Regeln-Tabelle angegebenen Bedingungen eingehalten und/oder erfüllt werden, wodurch wenigstens eine Übereinstimmung erzielt wird. Wenn beispielsweise wenigstens einer der Paketfeldwerte innerhalb des in wenigstens einem entsprechenden Satz Bereichsprüfparameter in einem Eintrag der Regeln-Tabelle angegebenen entsprechenden Bereichs von Werten liegt, wird eine teilweise Übereinstimmung erzielt und die in dem Teil-Übereinstimmungsaktionsfeld 115 angegebene(n) Teil-Übereinstimmungsaktion(en) kann/können ausgeführt werden.
  • 1 zeigt außerdem eine Aktionsimplementierungseinheit 125, die dafür konfiguriert sein kann, verschiedene Aktionen an dem Paket auszuführen. Die Aktionsimplementierungseinheit 125 kann beispielsweise wenigstens eine Voll-Übereinstimmungsaktion ausführen, wenn bezogen auf die Sätze von Bereichsprüfparametern in einem Eintrag der Regeln-Tabelle 105 eine Voll-Übereinstimmungsbedingung vorhanden ist. Ebenso kann die Aktionsimplementierungseinheit 125 auch wenigstens eine Teil-Übereinstimmungsaktion ausführen, wenn bezogen auf die Sätze von Bereichsprüfparametern in einem Eintrag der Regeln-Tabelle 105 eine Teil-Übereinstimmungsbedingung vorhanden ist. Darüber hinaus kann die Aktionsimplementierungseinheit 125 wenigstens eine voreingestellte Nicht-Übereinstimmungsaktion und/oder wenigstens eine vorprogrammierte Nicht-Übereinstimmungsaktion ausführen, wenn bezogen auf sämtliche Sätze von Bereichsprüfparametern in der Regeln-Tabelle 105 eine Nicht-Übereinstimmungsbedingung vorhanden ist. Mit anderen Worten, wenn keiner der Paketfeldwerte in jedem der Sätze Bereichsprüfparameter in das entsprechende Paar Bereichswerte fällt, ist eine Nicht-Übereinstimmungsbedingung vorhanden, die die Aktionsimplementierungseinheit 125 aktivieren kann, um wenigstens eine voreingestellte Nicht-Übereinstimmungsaktion und/oder wenigstens eine vorprogrammierte Nicht-Übereinstimmungsaktion an dem Paket auszuführen.
  • Des Weiteren zeigt 1 auch eine Mehrzahl an Speichereinheiten 130. Jede der Speichereinheiten 130 kann ein Register sein, das dafür konfiguriert ist, einen Vorrangfeldwert 135 zu speichern, wobei der Vorrangfeldwert 135 einem Eintrag in der Regeln-Tabelle 105 entsprechen kann. Der Vorrangfeldwert 135 kann ein Binärwert oder ein Wert verschiedenartiger Formate sein. Des Weiteren kann der Vorrangfeldwert 135 ein programmierbarer Wert sein, der den Vorrang der Einträge in der Regeln-Tabelle 105 kennzeichnen oder darstellen kann. Demgemäß wird bestimmt, dass, wenn mehr als ein Eintrag die Bedingung entweder einer vollständigen Übereinstimmung oder einer teilweisen Übereinstimmung erfüllt, der Eintrag mit dem entsprechenden höchsten Vorrangfeldwert 135 Vorrang über die anderen Einträge erhält, wodurch die entsprechende(n) Aktion(en) im Aktionsfeld ausgeführt werden kann/können. Es sei darauf hingewiesen, dass der Vorrangfeldwert 135 in beliebiger Reihenfolge vorprogrammiert werden kann. Es sei ferner darauf hingewiesen, dass die Speichereinheiten 130 zum Speichern des Vorrangfeldwerts 135 ein Beispiel der vorliegenden Erfindung zum Auflösen der Bedingung mehrerer vollständiger oder teilweiser Übereinstimmungen darstellen können.
  • 4 zeigt ein Beispiel eines erfindungsgemäßen Verfahrens zum Filtern eingehender Pakete. Das Verfahren gemäß dem vorliegenden Beispiel kann in Hardware, Software oder einer Kombination aus sowohl Hardware als auch Software implementiert werden.
  • Ein Ingress-Port in einer Netzwerkeinrichtung kann darin wenigstens einen Paketstrom 310 empfangen. Ein Paketstrom 310 kann eine beliebige Länge haben. Der Ingress entnimmt eine vordefinierte Packungslänge, wie etwa eine Bitlänge von 256 Bits, die mit Bit 0 beginnt und mit Bit 255 endet. Demgemäß kann in Schritt 400 von 4 in einem Ingress-Port einer Netzwerkeinrichtung ein Paketstrom empfangen werden.
  • Wie vorstehend erwähnt, kann eine Netzwerkeinrichtung 100 eine Regeln-Tabelle 105, eine Aktionsimplementierungseinheit 125 und eine Mehrzahl an Speichereinheiten 130 umfassen. Darüber hinaus kann die Netzwerkeinrichtung 100 außerdem eine Maskentabelle (nicht gezeigt) umfassen. Nachdem ein Paket in der Netzwerkeinrichtung 100 empfangen worden ist, kann die vorliegende Erfindung das empfangene Paket unter Verwendung einer Maskentabelle mit einer Maske versehen, um das Paket zu einem bekannten Bitstrom zu formatieren. Mit anderen Worten, ein eingehender Paketstrom kann jedes beliebige bekannte Format aufweisen, wie etwa ein Ethernet-Il-Format, ein 802.3-SNAP-Ethernetformat oder ein beliebiges Ethernet- Standardformat. Daher kann die Maskentabelle den Paketstrom in einem beliebigen Paketformat empfangen und den Paketstrom basierend auf der spezifischen Art des empfangenen Paketsformats zu einem bekannten Bitstrom formatieren. Danach kann die vorliegende Erfindung in Schritt 410 von 4 eine Regeln-Tabelle 105 in der Netzwerkeinrichtung 100 ermitteln.
  • Die Regeln-Tabelle 105 kann "m" Einträge aufweisen, wobei jeder Eintrag in der Regeln-Tabelle 105 mehrere Sätze Bereichsprüfparameter umfassen kann. Wie in 3 gezeigt, kann ein Beispiel eines Satzes Bereichsprüfparameter 300 die Speichereinheiten 210a, 220a, 230a und 240a umfassen, wobei die Speichereinheit 210a bezogen auf einen Paketstrom einen Bitpositionswert BP speichern kann und die Speichereinheit 220a ebenfalls bezogen auf den Paketstrom einen Bitlängenwert BL speichern kann. Nachdem die Regeln-Tabelle 105, die mehrere Sätze Bereichsprüfparameter enthält, ermittelt worden ist, kann die vorliegende Erfindung basierend auf den Bitpositionswerten BP und den Bitlängenwerten BL in den mehreren Sätzen Bereichsprüfparametern eine Mehrzahl an Paketfeldern bestimmen. Das ermittelte Paketfeld kann danach dazu verwendet werden, in Schritt 415 entsprechende Paketfeldwerte zu bestimmen.
  • Ferner in 3 gezeigt sind die Speichereinheiten 230a und 240a. Die Speichereinheit 230a kann einen Startbereichswert SR speichern, wobei der Startbereichswert SR einen vordefinierten unteren Grenzwert eines Bereichs von Werten kennzeichnen oder darstellen kann. Darüber hinaus kann die Speichereinheit 240a einen Endbereichswert ER speichern, wobei der Endbereichswert ER einen oberen Grenzwert eines Bereichs von Werten kennzeichnen oder darstellen kann. Sobald eine Mehrzahl an Paketfeldwerten ermittelt worden ist, zeigt 4 unter 420 den Schritt des Ermittelns einer Mehrzahl entsprechender Bereichswerte, wobei jedes Paar Bereichswerte einen Startbereichswert SR und einen Endbereichswert ER umfasst.
  • Nachdem die Grenzen einer Mehrzahl an Bereichswerten ermittelt worden sind, kann eine Mehrzahl entsprechender Paketfeldwerte, die anhand des Bitpositionswerts BP und des Bitlängenwerts BL bestimmt werden, mit dem Bereich von Werten, der durch den Startbereichswert SR und den Endbereichswert ER festgelegt wird, in Schritt 425 von 4 verglichen oder mittels diesem überprüft werden.
  • Nach dem Vergleichen der Mehrzahl an Paketfeldwerten mit der Mehrzahl entsprechender Bereichswerte, kann die vorliegende Erfindung in Schritt 430 bestimmen, ob wenigstens ein Paketfeldwert in einen durch den Startbereichswert SR und den Endbereichswert ER angegebenen entsprechenden Bereich von Werten fällt. Wenn in Schritt 430 bestimmt wird, dass keiner der Mehrzahl an in den mehreren Sätzen Bereichsprüfparameter in der Regeln-Tabelle angegebenen Paketfeldwerten in den entsprechenden Bereich von Werten fällt, kann die Aktionsimplementierungseinheit 125 in Schritt 435 von 4 bezogen auf das empfangene Paket wenigstens eine Nicht-Übereinstimmungsaktion ausführen. Nehmen wir beispielsweise an, dass eine Regeln-Tabelle zehn Einträge enthält, wobei jeder Eintrag fünf Sätze Bereichsprüfparameter und entsprechende Aktionsfelder umfassen kann. Demgemäß enthält die Regeln-Tabelle insgesamt fünfzehn Sätze Bereichsprüfparameter. Daher wird in Schritt 430 bestimmt, wenn keiner der in den fünfzehn Sätzen Bereichsprüfparameter angegebenen fünfzehn Paketfeldwerte mit den entsprechenden Paaren Bereichswerte übereinstimmt oder in diese fällt, dass keine Übereinstimmung vorliegt und wenigstens eine Nicht-Übereinstimmungsaktion an dem empfangenen Paket ausgeführt werden kann.
  • Wenn andererseits wenigstens ein in den mehreren Sätzen Bereichsprüfparameter angegebener Paketfeldwert tatsächlich in ein entsprechendes Paar Bereichswerte fällt, kann die vorliegende Erfindung in Schritt 510 bestimmen, ob mehr als ein Paketfeldwert in der Regeln-Tabelle vorhanden ist, der in die entsprechenden Paare Bereichswerte in mehr als einem Eintrag in der Regeln-Tabelle fällt. Mit anderen Worten die Erfindung kann, wenn wenigstens ein in den mehreren Sätzen Bereichsprüfparameter angegebener Paketfeldwert in den entsprechenden Startbereichswert SR und den entsprechenden Endbereichswert ER fällt, in Schritt 510 bestimmen, ob mehr als ein Eintrag in der Regeln-Tabelle vorhanden ist, bei dem der Paketfeldwert mit einem in einem entsprechenden Bereich von Werten angegebenen Wert übereinstimmt. Bezug nehmend auf das vorstehend ausgeführte Beispiel wird, wenn wenigstens einer der fünfzehn Paketfeldwerte mit dem entsprechenden Paar Bereichswerte übereinstimmt oder in dieses fällt, in Schritt 510 bestimmt, ob mehr als einer der zehn Einträge eine Übereinstimmung mit den Paketfeldwerten enthält.
  • Wenn bestimmt wird, dass nur ein Eintrag in der Regeln-Tabelle übereinstimmende Paketfeldwerte enthält, kann die vorliegende Erfindung in Schritt 540 bestimmen, ob bezogen auf sämtliche Paketfeldwerte in dem einen Eintrag eine vollständige Übereinstimmung oder eine teilweise Übereinstimmung vorhanden ist. Wenn beispielsweise jeder der in den Sätzen Bereichsprüfparameter in dem einen Eintrag angegebenen Paketfeldwerte in sein entsprechendes Paar Bereichswerte fällt, wird bestimmt, dass eine vollständige Übereinstimmung der Paketfeldwerte vorliegt. Im Gegensatz dazu, wird, wenn nicht jeder der Paketfeldwerte in sein entsprechendes Paar Bereichswerte fällt, bestimmt, dass eine teilweise Übereinstimmung der Paketfeldwerte vorliegt.
  • Demgemäß kann eine Aktionsimplementierungseinheit in Schritt 570 von 5 wenigstens eine in dem entsprechenden Voll-Übereinstimmungsaktionsfeld angegebene Voll-Übereinstimmungsaktion ausführen, wenn bestimmt wird, dass eine vollständige Übereinstimmung der Paketfeldwerte vorliegt. Die Aktionsimplementierungseinheit kann jedoch in Schritt 550 von 5 wenigstens eine in dem entsprechenden Teil-Übereinstimmungsaktionsfeld angegebene Teil-Übereinstimmungsaktion ausführen, wenn bestimmt wird, dass eine teilweise Übereinstimmung der Paketfeldwerte vorliegt. Bei Verwendung des vorstehend ausgeführten Beispiels wird, wenn bestimmt wird, dass nur einer von den zehn Einträgen wenigstens einen übereinstimmenden Paketfeldwert enthalt, bei diesem Beispiel ferner in Schritt 540 bestimmt, ob der Eintrag ein Voll-Übereinstimmungseintrag oder ein Teil-Übereinstimmungseintrag ist. Daher kommt bei diesem Beispiel ein Voll-Übereinstimmungseintrag vor, wenn jeder der durch die fünf Sätze Bereichsprüfparameter angegebenen fünf Paketfeldwerte in die fünf entsprechenden Bereichswerte fällt. Ein Teil-Übereinstimmungseintrag kommt bei diesem Beispiel vor, wenn einer oder mehrere, jedoch nicht alle fünf, der Paketfeldwerte in den einen oder die mehreren entsprechenden Bereichswerte fällt.
  • Bezug nehmend auf Schritt 510 von 5 kann die vorliegende Erfindung bestimmen, ob mehr als ein Eintrag in der Regeln-Tabelle vorhanden ist, der wenigstens einen übereinstimmenden Paketfeldwert aufweist. Mit anderen Worten, sobald bestimmt worden ist, dass die Regeln-Tabelle wenigstens einen übereinstimmenden Paketfeldwert enthält, bestimmt die Erfindung in Schritt 510 ferner, ob mehr als ein Eintrag eine Übereinstimmung der Paketfeldwerte enthält. Wenn in Schritt 510 bestimmt wird, dass tatsächlich in mehr als einem Eintrag einer Regeln-Tabelle eine Übereinstimmung von Paketfeldwerten vorliegt, kann die Erfindung die Einträge, die wenigstens einen übereinstimmenden Paketfeldwert aufweisen, und ihre entsprechenden Speichereinheiten 130 ermitteln. Die Erfindung kann in Schritt 520 ferner die in den entsprechenden Speichereinheiten gespeicherten Vorrangfeldwerte ermitteln.
  • Nach dem Ermitteln der entsprechenden Speichereinheiten und der darin gespeicherten Vorrangfeldwerte in Schritt 520, kann die Erfindung in Schritt 530 den höchsten Vorrangfeldwert aus sämtlichen ermittelten Vorrangfeldwerten bestimmen.
  • Nehmen wir beispielsweise an, dass sieben der zehn Einträge in einer Regeln-Tabelle jeweils wenigstens einen übereinstimmenden Paketfeldwert enthalten. Die den sieben Einträgen entsprechenden Speichereinheiten können festgestellt und die in den sieben Speichereinheiten gespeicherten Vorrangfeldwerte ebenfalls in Schritt 520 ermittelt werden. Sobald die sieben entsprechenden Vorrangfeldwerte ermittelt worden sind, kann die vorliegende Erfindung bestimmen, welcher der sieben Vorrangfeldwerte der höchste Vorrangfeldwert ist.
  • Danach wird der dem bestimmten höchsten Vorrangfeldwert entsprechende Eintrag ausgewählt, um in Schritt 540 zu bestimmen, ob der Eintrag ein Voll-Übereinstimmungseintrag oder ein Teil-Übereinstimmungseintrag ist. Wenn beispielsweise jeder der in den Sätzen Bereichsprüfparameter in dem gewählten Eintrag angegebenen Paketfeldwerte in sein entsprechendes Paar Bereichswerte fällt, wird bestimmt, dass eine genaue oder vollständige Übereinstimmung der Paketfeldwerte vorliegt. Im Gegensatz dazu, wird jedoch, wenn nicht jeder der Paketfeldwerte in sein entsprechendes Paar Bereichswerte fällt, bestimmt, dass eine teilweise Übereinstimmung der Paketfeldwerte vorliegt.
  • Demgemäß kann eine Aktionsimplementierungseinheit in Schritt 570 von 5 wenigstens eine in dem entsprechenden Voll-Übereinstimmungsaktionsfeld angegebene Voll-Übereinstimmungsaktion ausführen, wenn bestimmt wird, dass eine vollständige Übereinstimmung der Paketfeldwerte vorliegt. Die Aktionsimplementierungseinheit kann jedoch in Schritt 550 von 5 wenigstens eine in dem entsprechenden Teil-Übereinstimmungsaktionsfeld angegebene Teil-Übereinstimmungsaktion ausführen, wenn bestimmt wird, dass eine teilweise Übereinstimmung der Paketfeldwerte vorliegt. Bei Verwendung des vorstehend angegebenen Beispiels wird, wenn der Eintrag mit dem höchsten Vorrangfeldwert bestimmt oder ausgewählt wird, bei diesem Beispiel in Schritt 540 ferner bestimmt, ob der Eintrag ein Voll-Übereinstimmungseintrag oder ein Teil-Übereinstimmungseintrag ist. Daher kommt bei diesem Beispiel ein Voll-Übereinstimmungseintrag vor, wenn jeder der durch die fünf Sätze Bereichsprüfparameter angegebenen fünf Paketfeldwerte in die fünf entsprechenden Bereichswerte fällt. Ein Teil-Übereinstimmungseintrag kommt bei diesem Beispiel vor, wenn einer oder mehrere, jedoch nicht alle fünf, der Paketfeldwerte in den einen oder die mehreren entsprechenden Bereichswerte fallen.
  • Wenn bestimmt wird, dass der Eintrag ein Voll-Übereinstimmungseintrag ist, kann in Schritt 570 wenigstens eine in dem Voll-Übereinstimmungsaktionsfeld angegebene entsprechende Voll-Übereinstimmungsaktion ausgeführt werden. Wenn jedoch bestimmt wird, dass der Eintrag ein Teil-Übereinstimmungseintrag ist, kann in Schritt 550 von 5 wenigstens eine in dem Teil-Übereinstimmungsaktionsfeld angegebene Teil-Übereinstimmungsaktion ausgeführt werden.
  • 6 zeigt ein Beispiel einer erfindungsgemäßen Konfiguration. 6 zeigt ein System 600 zum Filtern eines Pakets basierend auf einer Bereichsprüfung. Das System 600 kann eine Empfangseinheit 605 umfassen. Die Empfangseinheit 605 kann ein Paket in einer Netzwerkeinrichtung empfangen. Das System 600 kann außerdem eine Bestimmungseinheit 610 umfassen. Die Bestimmungseinheit 610 kann bezogen auf das empfangene Paket eine Mehrzahl an Paketfeldwerten bestimmen. Darüber hinaus kann die Bestimmungseinheit 610 die Mehrzahl an Paketfeldwerten basierend auf den Sätzen Bereichsprüfparameter in einer Regeln-Tabelle bestimmen. Des Weiteren kann die Bestimmungseinheit 610 eine Mehrzahl an Paketfeldern und den größten Vorrangfeldwert aus der Mehrzahl an Feldwerten bestimmen. Das System 600 gemäß 6 kann außerdem eine Ermittlungseinheit 615 umfassen, wobei die Ermittlungseinheit 615 eine Mehrzahl an in den Sätzen Bereichsprüfparameter angegebenen Bereichswerten ermitteln kann. Die Ermittlungseinheit 615 kann außerdem eine Mehrzahl an Bitpositionen, eine Mehrzahl an Bitlängen und eine Mehrzahl an Startbereichswerten und Endbereichswerten ermitteln. Darüber hinaus kann die Ermittlungseinheit 615 eine Mehrzahl an Vorrangfeldwerten ermitteln, die der Mehrzahl an Einträgen entspricht.
  • 6 zeigt außerdem eine Implementierungseinheit 620. Die Implementierungseinheit 620 kann eine Mehrzahl an Aktionen ausführen. Mit anderen Worten, die Implementierungseinheit kann wenigstens eine Teil-Übereinstimmungsaktion ausführen, wenn bezogen auf die vorprogrammierten Bedingungen eine teilweise Übereinstimmung vorliegt, wenigstens eine Voll-Übereinstimmungsaktion ausführen, wenn bezogen auf die vorprogrammierten Bedingungen eine genaue oder vollständige Übereinstimmung vorliegt, und wenigstens eine Nicht-Übereinstimmungsaktion ausführen, wenn bezogen auf die vorprogrammierten Bedingungen keine Übereinstimmung vorliegt. Darüber hinaus kann die Implementierungseinheit 620 wenigstens eine dem größten Vorrangwert zugeordnete Aktion ausführen.
  • Obgleich die Erfindung basierend auf diesen bevorzugten Ausführungsformen und Beispielen beschrieben worden ist, sei darauf hingewiesen, dass das erfindungsgemäße Verfahren und Filter zum Verarbeiten eines Pakets, die auf einer schnellen, flexiblen Bereichsprüfung basieren, in der Art ihrer Ausführung flexibel sein können. Das Verfahren und Filter zum Verarbeiten eines Pakets, die auf einer schnellen, flexiblen Bereichsprüfung basieren, können beispielsweise implementiert, sobald ein Paketstrom 310 in einer Netzwerkeinrichtung oder einem Filter ankommt, wenn ein Paketstrom 310 geparst (analysiert) wird, nachdem der Paketstrom 310 geparst worden ist, oder wenn der Paketstrom 310 nach einer gewissen Verarbeitung und daran durchgeführten Modifikationen bereitgestellt wird, oder mit einer Mehrfeld-Voll-Übereinstimmungsprüfung kombiniert werden, wobei ein Satz Bereichsprüffelder als Satz Erweiterungsregister mit einem Satz Voll-Übereinstimmungsregister kombiniert werden kann. Des Weiteren kann die vorliegende Erfindung eine genaue oder vollständige Paketfeldwertübereinstimmung erzielen. Mit anderen Worten, der Startbereichswert SR und der Endbereichswert ER können so programmiert oder festgelegt werden, dass sie einen äquivalenten Wert haben, wobei SR = ER. Daher kann die vorliegende Erfindung, statt einen Bereich von Werten aufzuweisen, mit denen eine Übereinstimmung erzielt werden muss, nur einen Wert haben, mit dem eine Übereinstimmung erzielt werden muss.
  • Die vorstehend offenbarten Konfigurationen der vorliegenden Erfindung können sich in einer integrierten, modularen Ein-Chip-Lösung befinden und auf einem Halbleitersubstrat, wie etwa Silizium, ausgeführt werden. Des Weiteren können die hierin offenbarten Verfahren zum Filtern eines Pakets in Hardware, Software oder einer Kombination aus sowohl Hardware als auch Software implementiert werden. Darüber hinaus wäre ein Fachmann auf dem Gebiet der Halbleiterkonstruktion und -herstellung dazu in der Lage, die verschiedenen Elemente und Verfahren der vorliegenden Erfindung basierend auf der vorstehenden architektonischen Beschreibung auf einem einzelnen Halbleitersubstrat auszuführen.
  • Ein Durchschnittsfachmann auf dem Gebiet wird leicht erkennen können, dass die vorstehend beschriebene Erfindung auch mit einer anderen Reihenfolge der Schritte und/oder mit Hardware-Elementen in Konfigurationen, die sich von den offenbarten unterscheiden, in die Praxis umgesetzt werden kann. Daher ist es, obgleich die Erfindung basierend auf diesen bevorzugten Ausführungsformen beschrieben worden ist, für Fachleute auf dem Gebiet offensichtlich, dass gewisse Modifikationen, Variationen und alternative Konstruktionen möglich sind. Zur Bestimmung des Maßes und Ziels der Erfindung sollte daher auf die anhängigen Ansprüche Bezug genommen werden.

Claims (10)

  1. Verfahren zum Verarbeiten eines Pakets in einem Datenübertragungsnetzwerk, wobei das Verfahren die Schritte umfasst: – Empfangen eines Pakets in einer Netzwerkeinrichtung (100), – Bestimmen einer Mehrzahl von Paketfeldwerten bezogen auf das Paket basierend auf Sätzen von Bereichsprüfparametern (300) in einer Regeln-Tabelle (105), – Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter (300) in einer Mehrzahl an Einträgen (200) der Regeln-Tabelle (105) angegebenen Bereichswerten, – Ausführen wenigstens einer ersten Aktion bezogen auf das Paket, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen (200) fällt, – Ausführen wenigstens einer zweiten Aktion bezogen auf das Paket, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen (200) fällt, und – Ausführen wenigstens einer dritten Aktion bezogen auf das Paket, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt, dadurch gekennzeichnet, dass bestimmt wird, dass der Eintrag (200) mit dem höchsten Vorrangfeldwert (135) Vorrang erhält, wenn wenigstens ein Paketfeldwert in mehr als eines der entsprechenden Paare Bereichswerte der Mehrzahl an Einträgen (200) fällt.
  2. Verfahren nach Anspruch 1, bei dem der Schritt des Bestimmens der Mehrzahl von Paketfeldwerten die Schritte umfasst: – Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter (300) angegebenen Bitpositionen im Paket, wobei wenigstens eine der Mehrzahl an Bitpositionen einem Bitpositionswert entspricht, und – Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter (300) angegebenen Bitlängen, wobei wenigstens eine der Mehrzahl an Bitlängen einem Bitlängenwert entspricht.
  3. Verfahren nach Anspruch 2, bei dem der Schritt des Bestimmens der Mehrzahl von Paketfeldwerten ferner den Schritt umfasst: – Bestimmen einer Mehrzahl von Paketfeldern, wobei wenigstens eines der Mehrzahl an Paketfeldern an einer jeweiligen Bitposition beginnt und an einer Endposition endet, wobei die Endposition eine Summe eines entsprechenden Bitpositionswerts und eines entsprechenden Bitlängenwertes ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Schritt des Ermittelns der Mehrzahl von Bereichswerten den Schritt umfasst: – Ermitteln einer Mehrzahl von Startbereichswerten und einer Mehrzahl von jeweiligen Endbereichswerten, die in den Sätzen Bereichsprüfparameter (300) in der Regeln-Tabelle (105) angegeben sind.
  5. Netzwerkkomponente (100) zum Verarbeiten eines Pakets, wobei die Netzwerkkomponente (100) umfasst: – eine Regeln-Tabelle (105), die dafür konfiguriert ist, eine Mehrzahl an Einträgen (200) aufzuweisen, – Sätze erster Speichereinheiten (130) in jedem der Mehrzahl an Einträgen (200), wobei die Sätze erster Speichereinheiten (130) dafür konfiguriert sind, Sätze von Bereichsprüfparametern (300) bezogen auf das Paket zu speichern, wobei die Sätze Bereichsprüfparameter (300) mehrere Paketfeldwerte und mehrere Bereichswerte kennzeichnen, und – eine Aktionsimplementierungseinheit (125), die dafür konfiguriert ist, bezogen auf das Paket wenigstens eine erste Aktion auszuführen, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen (200) fällt, wobei die Aktionsimplementierungseinheit (125), dafür konfiguriert ist, bezogen auf das Paket wenigstens eine zweite Aktion auszuführen, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen (200) fällt, und – wobei die Aktionsimplementierungseinheit (125) dafür konfiguriert ist, bezogen auf das Paket wenigstens eine dritte Aktion auszuführen, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt, dadurch gekennzeichnet, dass ein Vorrangfeldwert (135) für jeden Eintrag (200) in der Regeln-Tabelle (105) definiert wird, wobei der Vorrangfeldwert (135) den Eintrag (200) bestimmt, der Vorrang über die anderen Einträge (200) in der Regeln-Tabelle (105) erhält, wenn wenigstens ein Paketfeldwert in mehr als eines der entsprechenden Paare Bereichswerte der Mehrzahl an Einträgen (200) fällt.
  6. Netzwerkkomponente (100) nach Anspruch 5, bei der die Sätze erster Speichereinheiten dafür konfiguriert sind, Sätze Bereichsprüfparameter (300) zu speichern, wobei jeder Satz Bereichsprüfparameter (300) bezogen das Paket eine Bitposition, eine Bitlänge, einen Start- und einen Endbereich umfasst.
  7. Netzwerkkomponente (100) nach Anspruch 6, bei der die Sätze erster Speichereinheiten dafür konfiguriert sind, Sätze Bereichsprüfparameter (300) zu speichern, wobei jede Bitposition einem Bitpositionswert und jede Bitlänge einem Bitlängenwert entspricht.
  8. System zum Verarbeiten eines Pakets in einem Datenübertragungsnetzwerk, wobei das System umfasst: – eine Empfangseinrichtung zum Empfangen eines Pakets in einer Netzwerkeinrichtung (100), – eine erste Bestimmungseinrichtung zum Bestimmen einer Mehrzahl von Paketfeldwerten bezogen auf das Paket basierend auf Sätzen von Bereichsprüfparametern (300) in einer Regeln-Tabelle (105), – eine erste Ermittlungseinrichtung zum Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter (300) in einer Mehrzahl an Einträgen (200) der Regeln-Tabelle (105) angegebenen Bereichswerten, – eine erste Implementierungseinrichtung zum Ausführen wenigstens einer ersten Aktion bezogen auf das Paket, wenn wenigstens einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen (200) fällt, – eine zweite Implementierungseinrichtung zum Ausführen wenigstens einer zweiten Aktion bezogen auf das Paket, wenn jeder der Mehrzahl an Paketfeldwerten in jedes entsprechende Paar Bereichswerte für einen der Mehrzahl an Einträgen (200) fällt, und – eine dritte Implementierungseinrichtung zum Ausführen wenigstens einer dritten Aktion bezogen auf das Paket, wenn keiner der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte fällt, dadurch gekennzeichnet, dass ein Vorrangfeldwert (135) für jeden Eintrag (200) in der Regeln-Tabelle (105) definiert wird, wobei der Vorrangfeldwert (135) Vorrang erhält, wenn mehr als einer der Mehrzahl an Paketfeldwerten in ein entsprechendes Paar Bereichswerte für einen der Mehrzahl an Einträgen (200) fällt.
  9. System nach Anspruch 8, bei dem die erste Bestimmungseinrichtung umfasst: – eine zweite Ermittlungseinrichtung zum Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter (300) angegebenen Bitpositionen im Paket, wobei wenigstens eine der Mehrzahl an Bitposition einem Bitpositionswert entspricht, und – eine dritte Ermittlungseinrichtung zum Ermitteln einer Mehrzahl von in den Sätzen Bereichsprüfparameter (300) angegebenen Bitlängen, wobei wenigstens eine der Mehrzahl an Bitlängen einem Bitlängenwert entspricht.
  10. System nach Anspruch 9, bei dem die erste Bestimmungseinrichtung ferner umfasst: – eine zweite Bestimmungseinrichtung zum Bestimmen einer Mehrzahl von Paketfeldern, wobei wenigstens eines der Mehrzahl an Paketfeldern an einer jeweiligen Bitposition beginnt und an einer Endposition endet, wobei die Endposition eine Summe eines entsprechenden Bitpositionswerts und eines entsprechenden Bitlängenwertes ist.
DE60314153T 2003-11-22 2003-11-24 Schneller, flexibler Filterprozessor basierend auf Bereichsprüfung sowie darauf basierendes Verarbeitungsverfahren Expired - Lifetime DE60314153T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30170103A 2003-11-22 2003-11-22
US301701 2003-11-22

Publications (2)

Publication Number Publication Date
DE60314153D1 DE60314153D1 (de) 2007-07-12
DE60314153T2 true DE60314153T2 (de) 2008-01-31

Family

ID=34434708

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60314153T Expired - Lifetime DE60314153T2 (de) 2003-11-22 2003-11-24 Schneller, flexibler Filterprozessor basierend auf Bereichsprüfung sowie darauf basierendes Verarbeitungsverfahren

Country Status (2)

Country Link
EP (1) EP1533951B1 (de)
DE (1) DE60314153T2 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347087B1 (en) * 1998-10-05 2002-02-12 Packet Engines Incorporated Content-based forwarding/filtering in a network switching device
US7280541B2 (en) * 2002-03-15 2007-10-09 Broadcom Corporation Packet filtering based on conditional expression table
US7277438B2 (en) * 2002-03-18 2007-10-02 Broadcom Corporation Fast flexible range checking

Also Published As

Publication number Publication date
EP1533951A1 (de) 2005-05-25
EP1533951B1 (de) 2007-05-30
DE60314153D1 (de) 2007-07-12

Similar Documents

Publication Publication Date Title
DE60300333T2 (de) Verfahren und Vorrichtung für ein flexibles Rahmenverarbeitungs und Klassifikationssystem
DE112015004008B4 (de) Selektives abtasten von netzwerkpaketverkehr unter verwendung von virtuelle-maschinen-werkzeugplattformen auf cloud-basis
DE60222575T2 (de) Verfahren zur Generierung eines DFA-Automaten, wobei Übergänge zwecks Speichereinsparung in Klassen gruppiert werden
DE60305035T2 (de) Anpassen des längsten präfix unter verwendung von baumartigen "bitmap" datenstrukturen
DE112010004940B4 (de) Automatisches Erkennen von Adressbereichen für IP-Netzwerke
DE60222622T2 (de) Verfahren und Vorrichtung zur Paketkopfteilverarbeitung
EP2882144B1 (de) Verfahren und Filteranordnung zum Filtern von über einen seriellen Datenbus eines Kommunikationsnetzwerks in einem Teilnehmer des Netzwerks eingehenden Nachrichten
DE112007001529T5 (de) Flexibles und erweiterbares Receive Side Scaling
DE60303622T2 (de) Verfahren zur Netzpaket-Filterung basierend auf einer konditionellen Ausdruckstabelle
DE112005000705B4 (de) Konfiguration von Umleitungstabellen
DE112019002585T5 (de) Datenebene mit heavy-hitter-detektor
DE102018212297A1 (de) Verwendung von programmierbaren Switching-Chips als künstliche neuronale Netzwerk Module
DE60314153T2 (de) Schneller, flexibler Filterprozessor basierend auf Bereichsprüfung sowie darauf basierendes Verarbeitungsverfahren
DE60305774T2 (de) Schnelle und flexible Bereichsüberprüfung
DE60217729T2 (de) Verfahren zum erkennen eines elektronischen geräts in einem mehrfachsteuersystem
DE60102230T2 (de) Mehrfacheintragsvergleich in einem inhaltsadressierbaren speicher
DE10341565B4 (de) Bedarfsbasiertes Filtern für eine schnelle Auswahl von Geräten in einem Baumtopologie-Netzwerk
DE69831502T2 (de) Verfahren zum erzeugen von filtern, welche das einbruchrisiko in verbundene rechnernetze verhindern
DE69925599T2 (de) Kommunikationsnetz oder ip-netz mit einem paketklassifizierer
DE60129031T2 (de) Verfahren zur Weglenkungsinformations- Verteilung und Netzelement
DE102014207479A1 (de) Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
EP1447957B1 (de) Verfahren zum Erlernen der Kontextregeln zu Nachrichtenattributen
DE102021203777A1 (de) Flexibles lenken
DE60210576T2 (de) Verfahren und Vorrichtungen zur Umordnung von Paketen in einem Netzwerkprozessor
EP3705993A1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M