DE102005046702B4 - Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten - Google Patents

Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten Download PDF

Info

Publication number
DE102005046702B4
DE102005046702B4 DE102005046702A DE102005046702A DE102005046702B4 DE 102005046702 B4 DE102005046702 B4 DE 102005046702B4 DE 102005046702 A DE102005046702 A DE 102005046702A DE 102005046702 A DE102005046702 A DE 102005046702A DE 102005046702 B4 DE102005046702 B4 DE 102005046702B4
Authority
DE
Germany
Prior art keywords
data packet
classification
key
data
parameters
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 - Fee Related
Application number
DE102005046702A
Other languages
English (en)
Other versions
DE102005046702A1 (de
Inventor
Matthias Heink
Raimar Thudt
Charles Bry
Taro Kamiko
Franz-Josef SCHÄFER
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102005046702A priority Critical patent/DE102005046702B4/de
Priority to US11/528,760 priority patent/US7751319B2/en
Publication of DE102005046702A1 publication Critical patent/DE102005046702A1/de
Application granted granted Critical
Publication of DE102005046702B4 publication Critical patent/DE102005046702B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren zum Klassifizieren von Datenpaketeinheiten, die jeweils eine aus mehreren Datenpaketparametern bestehende Gruppe von Datenpaketparametern aufweisen,
(a) wobei bei einem Funktionsaufruf mittels eines darin enthaltenen Klassifizierungsindex (CKT-Index) ein Schlüssel-Bit-Map und ein zugehöriger Klassifizierungsselektor ausgelesen werden,
(b) wobei zum Generieren eines Klassifizierungsschlüssels (class key) die Dateninhalte einer durch den Schlüssel-Bit-Map ausgewählten Untergruppe von Datenpaketparametern verkettet werden,
(c) wobei der generierte Klassifizierungsschlüssel (class key) in Abhängigkeit von einem durch den ausgelesenen Klassifizierungsselektor selektierten Klassifizierungsalgorithmus zu einem Look-Up-Index (CLT-Index) reduziert wird, der eine Offset-Adresse zum Auslesen mindestens eines Datenpaketparameters bildet, welcher der Datenpaketeinheit zugewiesen wird.

Description

  • Bei Datennetzen bestehen verschiedene Vermittlungsprinzipien, d. h. die Art und Weise, nach der Datenströme zwischen den an das Netz angeschlossenen Kommunikationseinrichtungen weitergelenkt werden.
  • Bei der Leitungsvermittlung wird die Verbindung der Kommunikationseinheiten durch das Zusammenschalten von Leitungen hergestellt. Hierbei sind die Teilnehmer nach der Herstellung der Verbindung direkt miteinander verbunden.
  • Im Gegensatz dazu werden bei der Nachrichtenvermittlung die zu übermittelnden Daten aufgrund ihrer Zieladresse vom Ursprungsknoten über Zwischenknoten, d. h. Vermittlungsstellen, übertragen. Eine Sonderform der Nachrichtenübermittlung stellt die sogenannte Paketvermittlung dar. Dabei werden die zu übertragenden Daten in Fragmente von bestimmter Länge aufgeteilt, mit Steuerinformationen einschließlich Adressinformation versehen und abgesandt. Die adressierten Datenfragmente heißen Datenpakete bzw. Datenpaketeinheiten. Datennetze auf der Grundlage der Paketvermittlungstechnik nennt man Paketvermittlungsnetze oder paketvermittelnde Datennetze. Die Datenpakete bzw. Datenpaketeinheiten DPU (DPU: Data Package Unit) werden von Vermittlungsknoten zu Vermittlungsknoten weitergeleitet, ohne dass erst der Empfang aller zum betreffenden Datensatz gehörigen Datenpakete abgewartet werden muss. Die Datenpakete können dabei auch auf unterschiedlichen Übertragungswegen vom Sender zum Empfänger gelangen. Bei auftretenden Fehlern in Folge von Störungen muss bei der Paketvermittlungstechnik nur das fehlerhafte Datenpaket erneut versendet werden und nicht die gesamte Nachricht. Paketvermittlungsnetze weisen eine gute Auslastung der Verbindungsleitungen aufgrund der Möglichkeit auf, dass die Datenpaketströme entsprechend der Belastungssituation des Datennetzes auf unterschiedlichen Routen durch das Netz geführt werden können.
  • Die Weiterleitung der Datenpakete zum Datennetzwerk erfolgt mittels Netzwerkprozessoren. 1 zeigt einen Netzwerkprozessor nach dem Stand der Technik. Der Netzwerkprozessor weist einerseits Eingangports E und andererseits Ausgangsports A auf. Die maximale Datenbreite von Daten, die über die Ports digital übertragen werden können, hängt von der Breite des Datenbusses ab. Typisch ist eine Ansteuerung der Ports über ein zugehöriges Portregister. Ports können sowohl Daten unidirektional als auch bidirektional übertragen.
  • 2 zeigt das Datenformat einer Datenpaketeinheit bzw. eines Datenpakets nach dem Stand der Technik. Das Datenpaket umfasst einerseits Nutzdaten bzw. Payload und andererseits Datenpaketverwaltungsdaten bzw. einen Header.
  • Die Datenpaketverwaltungsdaten bzw. Header-Daten umfassen typischerweise ein Übertragungsprotokoll, eine Zieladresse des Datenpakets DA (DA: Destination Address), eine Herkunftsadresse SA (SA: Source Address) und gegebenenfalls ein oder mehrere Indikatortags. Das Kommunikationsprotokoll bzw. Übertragungsprotokoll umfasst Vereinbarungen und Konventionen, auf Grundlage derer die Kommunikation zwischen Teilnehmern vollzogen wird. Das OSI-Referenzmodell ist ein Architekturmodell der Internationalen Standardorganisation (ISO) für die Datenkommunikation in offenen Systemen OSI (OSI: Open Systems Interconnections). Das OSI-Referenzmodell umfasst sieben Schichten: die Applikationsschicht (application layer), die Darstellungsschicht (presentation layer), die Sitzungsschicht (session layer), die Transportschicht (transport layer), die Netzschicht oder Vermittlungsschicht (network layer), die Sicherungsschicht (data link layer) und schließlich die physikalische oder Bit-Übertragungsschicht (physical layer). Jede Schicht weist ein zugehöriges Übertragungsprotokoll auf, welche kompatibel mit den angrenzenden Schichten ist.
  • In der Netzwerkschicht (network layer) werden die Datenpakete durch die Techniken „Switching" und „Routing" durch das Netz transportiert. Die Netzwerkschicht führt zudem die logischen Zuordnungen entfernter Rechner, die Adressierung, Verbindung verschiedener Netze (Internet working), Fehlerbehandlung, Datenstaukontrolle und die Einreihung von Datenpaketen in Datenströme durch. In der Sicherungsschicht (data link layer) erfolgt die Übertragungssteuerung von Dateneinheiten (frames) auf Übermittlungsabschnitten zwischen den Knoten von Kommunikationsnetzen. Bekannte Datenübertragungsprotokolle umfassen Ethernet, IP, PPP, HDLC oder das ATM-Datenübertragungsprotokoll. Die Dienstgüte QoS (Quality of Service) gibt die kollektive Wirkung einer Dienstleistung an, welche den Zufriedenheitsgrad eines Nutzers eines Dienstes bestimmt. Typische QoS-Kriterien sind die Verfügbarkeit, die Verlust- und Fehlerwahrscheinlichkeit von Datenpaketen, die Verzögerungszeit von Datenpaketen in Folge von Stau und Überlastungserscheinungen (congestion) im Datenübertragungsnetz, die Laufzeit der Datenpakete sowie deren Schwankungen (jittering) und der Grad der Datenkompression und Pausenunterdrückung. Die Quality of Service bezeichnet somit alle Faktoren, die die Dienstgüte beeinflussen, beispielsweise Netzausfallzeiten, Bit-Fehlerraten auf Kanälen, Verzögerungszeiten beim Verbindungsaufbau, Stabilität der Verbindung und Blockierungswahrscheinlichkeit. Die QoS wird für verschiedene Dienste und Netze unterschiedlich definiert.
  • Die an den Eingangsports des Netzknotens bzw. Netzwerkprozessors ankommenden Datenpakete werden durch den Netzwerkprozessor einer Klassifizierung unterzogen. Derartige Klassifizierungen betreffen unter anderem das Bestimmen eines Ausgangsports, die Dienstqualität bzw. die Dienstgüte QoS des Datenpakets, das Erkennen von speziellen Datenpaketen sowie das Einfügen von Datenfeldern in das Datenpaket. Bei herkömmlichen Klassifizierungsverfahren werden Datenpakete, die be stimmte Eigenschaften bzw. Datenpaketparameter aufweisen, priorisiert behandelt.
  • Datenpakete weisen einerseits explizit in den Datenpaketverwaltungsdaten angebende Datenparameter auf, wie beispielsweise Ziel- und Herkunftsadresse und andererseits implizite Datenpaketparameter bzw. Datenpaketeigenschaften wie die Ankunftszeit des Datenpakets an einem der Eingangsporte des Netzwerkprozessor oder die Portnummer des Eingangsports.
  • Bei herkömmlichen Verfahren zum Klassifizieren von Datenpaketeinheiten erfolgt die Klassifizierung anhand eines Datenpaketparameters. Beispielsweise wird die Dienstgüte (Quality of Service) in Abhängigkeit von dem impliziten Datenpaketparameter „Eingangsportnummer" zugewiesen. Bei anderen Verfahren erfolgt die Klassifizierung in Abhängigkeit von Indikatortags wie beispielsweise einem Layer-2-Tag wie VLAN oder einem Layer-3-Tag wie TOS. Bei herkömmlichen Verfahren zum Klassifizieren von Datenpaketeinheiten ist zudem der Klassifizierungsalgorithmus vorgegeben und nicht konfigurierbar.
  • Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Klassifizieren von Datenpaketeinheiten zu schaffen, bei dem die Datenpaketparameter und der eingesetzte Klassifizierungsalgorithmus frei konfigurierbar sind.
  • Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den im Patentanspruch 1 angegebenen Merkmalen und durch einen Netzwerkprozessor mit den im Patentanspruch 23 angegebenen Merkmalen gelöst.
  • Die Erfindung schafft ein Verfahren zum Klassifizieren von Datenpaketeinheiten, die jeweils eine aus mehreren Datenpaketparametern bestehende Gruppe von Datenpaketparametern aufweisen,
    wobei eine Untergruppe von Datenpaketparametern zur Konfiguration eines Klassifizierungsschlüssels ausgewählt wird,
    wobei die Datenpaketeinheiten in Abhängigkeit von dem konfigurierten Klassifizierungsschlüssel und einem selektierten Klassifizierungsalgorithmus in Datenpaketklassen unterteilt werden, wobei den Datenpaketeinheiten weitere Datenpaketparameter zugewiesen werden, die der jeweiligen Datenpaketklasse entsprechen.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens umfassen die Datenpaketeinheiten Datenpaketverwaltungsdaten und Nutzdaten.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens umfassen die Datenpaketparameter einerseits in den Datenpaketverwaltungsdaten explizit angegebene Datenpaketparameter und andererseits implizite Datenpaketparameter.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden die Datenpaketeinheiten durch einen Netzwerkprozessor klassifiziert.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden die an einem Eingangsport des Netzwerkprozessors ankommenden Datenpaketeinheiten durch den Netzwerkprozessor klassifiziert und nach Zuweisung der der Datenpaketklasse entsprechenden weiteren Datenpaketparameter an einen Ausgangsport des Netzwerkprozessors abgegeben.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens umfassen die in den Datenpaketverwaltungsdaten der Datenpaketeinheiten explizit angegebenen Datenpaketparameter ein Übertragungsprotokoll der Datenpaketeinheit, eine Herkunftsadresse der Datenpaketeinheit, eine Zieladresse der Datenpaketeinheit sowie ein oder mehrere Indikatortags.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens umfassen die impliziten Datenpaketparameter der Datenpaketeinheit unter anderem eine Nummer eines Eingangsports, an dem die Datenpaketeinheit ankommt, eine Paketlänge der Datenpaketeinheit und eine Ankunftszeit der Datenpaketeinheit.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden die Datenpaketverwaltungsdaten und die Nutzdaten der ankommenden Datenpaketeinheiten durch den Netzwerkprozessor getrennt.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden in Abhängigkeit von dem Übertragungsprotokoll der Datenpaketeinheit die übrigen explizit in den Datenpaketverwaltungsdaten angegebenen Datenpaketparameter extrahiert.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden die extrahierten expliziten Datenpaketparameter der Datenpaketeinheit in einem Kontextspeicher zwischengespeichert.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens bilden die in dem Kontextspeicher zwischengespeicherten expliziten Datenpaketparameter und die in dem Kontextspeicher zwischengespeicherten impliziten Datenpaketparameter einen Parameterkontext der Datenpaketeinheit.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden mittels eines Schlüssel-Bit-Maps diejenigen Datenpaketparameter des Parameterkontexts ausgewählt, die den Konfigurationsschlüssel bilden.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden mehrere Schlüssel-Bit-Maps jeweils zusammen mit einem zugehörigen Klassifizierungsselektor in einem Klassifizierungsspeicher gespeichert.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden eine Schlüssel-Bit-Map und ein zugehöriger Klassifizierungsselektor mittels eines Klassifizierungsindex ausgewählt.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist der Klassifizierungsindex in einem externen Funktionsaufruf enthalten.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens selektiert der Klassifizierungsselektor einen Klassifizierungsalgorithmus aus einer Gruppe von vorgegebenen Klassifizierungsalgorithmen.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens umfassen die vorgegebenen Klassifizierungsalgorithmen eine direkte Klassifizierung, ein lineares Suchverfahren, ein logarithmisches Suchverfahren, ein binäres CAM-Verfahren, ein ternäres CAM-Verfahren sowie ein Hashingverfahren.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird der gebildete Konfigurationsschlüssel mittels des selektierten Klassifizierungsalgorithmus zu einem Look-up-Index reduziert.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird der Look-up-Index mit einer Basisadresse zur Adressierung mindestens eines in einem Auslesespeicher abgespeicherten Datenpaketparameters oder zur Adressierung eines abgespeicherten Zeigers auf einen Datenpaketparameter addiert.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird der adressierte Datenpaketparameter ausgelesen und der klassifizierten Datenpaketeinheit zugewiesen.
  • Bei einer besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens umfasst der zugewiesene Datenpaketparameter unter anderem eine Nummer eines Ausgangsports des Netzwerkprozessors, eine Dienstgüte der Datenpaketübertragung (Quality of Service), eine VLAN-ID und eine Policer ID.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens erfolgt die Bildung des Klassifizierungsschlüssels kontinuierlich oder stufenweise.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird der Klassifizierungsschlüssel stufenweise gebildet, indem mindestens ein zuvor bereits gebildeter Klassifizierungsschlüssel einen Teil des neuen Klassifizierungsschlüssels bildet.
  • Die Erfindung schafft ferner einen Netzwerkprozessor zur Klassifizierung von Datenpaketeinheiten, die jeweils eine aus mehreren Datenpaketparametern bestehende Gruppe von Datenpaketparametern aufweisen, wobei eine Untergruppe von Datenpaketparametern zur Konfiguration eines Klassifizierungsschlüssels auswählbar ist,
    wobei die Datenpaketeinheiten in Abhängigkeit von dem konfigurierten Klassifizierungsschlüssel und einem selektierbaren Klassifizierungsalgorithmus in Datenpaketklassen unterteilbar sind,
    wobei den Datenpaketeinheiten weitere Datenpaketparameter zugewiesen werden, die der jeweiligen Datenpaketklasse entsprechen.
  • Im Weiteren werden bevorzugte Ausführungsformen des erfindungsgemäßen Verfahrens und des erfindungsgemäßen Netzwerkprozessors zur Klassifizierung von Datenpaketeinheiten unter Bezugnahme auf die beigefügten Figuren zur Erläuterung erfindungswesentlicher Merkmale beschrieben.
  • Es zeigen:
  • 1: einen Netzwerkprozessor nach dem Stand der Technik; Figur die Datenstruktur einer Datenpaketeinheit nach dem Stand der Technik;
  • 3: ein Beispiel der Datenpaketverwaltungsdaten einer Datenpaketeinheit;
  • 4: ein schematisches Funktionsablaufdiagramm zur Erläuterung einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens;
  • 5: eine Detailansicht des in 4 dargestellten Funktionsablaufdiagramms zur Erläuterung der Funktionsweise einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens;
  • 6: Daten innerhalb eines Klassifizierungsspeichers gespeicherte Daten bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens;
  • 7: der Dateninhalt einer Schlüssel-Bit-Map-Tabelle bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens;
  • 8: eine Detailansicht des in 4 dargestellten Funktionsdiagramms zur Erläuterung einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens;
  • 9: ein Beispiel zur Zusammensetzung eines Klassifizierungsschlüssels gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens;
  • 10: eine Detailansicht nach dem in 4 dargestellten Funktionsablaufdiagramm zur Erläuterung der Funktionsweise einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens;
  • 11: eine Tabelle zur Lokalisierung des auszulesenden Klassifizierungsergebnisses gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens.
  • 4 zeigt ein Funktionsablaufdiagramm zur Erläuterung der Funktionsweise einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens zum Klassifizieren von Datenpaketeinheiten. Die Klassifizierung erfolgt innerhalb eines Netzwerkprozessors 1, der unter anderem die in 4 dargestellten Speicher- und Rechenelemente enthält. Der Netzwerkprozessor 1 enthält mehrere Speicher, nämlich einen Kontextspeicher 2, einen Klassifizierungsspeicher 3 und einen Auslesespeicher 4. Darüber hinaus ist ein Speicher 5 zum Abspeichern einer Tabelle zur Lokalisierung eines Klassifizierungsergebnisses und ein Speicher 6 zum Abspeichern einer Tabelle für Schlüssel-Bit-Maps vorgesehen.
  • In dem Klassifizierungsspeicher 3 sind mehrere Schlüssel-Bit-Maps (key bit map) mit einem jeweils dazugehörigen Klassifizierungsselektor zum Selektieren eines Klassifizierungsalgorithmus (method) abgespeichert. Der Dateninhalt des Klassifizierungsspeichers 3 wird mittels eines externen Klassifizierungsindex (CKT index) ausgewählt. Der Klassifizierungsindex ist vorzugsweise in einem externen Funktionsaufruf (function call) enthalten. Bei einem Funktionsaufruf wird ein Schlüssel-Bit-Map (key bit map) und ein zugehöriger Klassifizierungsselektor (method) ausgelesen. Die Schlüssel-Bit-Map ist beispielsweise ein 32-Bit umfassender Bit-Vektor, wobei alle diejenigen Bits, die logisch hochgesetzt sind, entsprechende Datenpaketparameter auswählen, die bei der Bildung des Klassifizierungsschlüssels berücksichtigt werden. Mittels der Schlüssel-Bit-Map wird somit eine Untergruppe von Datenpaketparameter- zur Konfiguration eines Klassifizierungsschlüssels ausgewählt. Jedem Datenpaketparameter ist ein bestimmtes Bit dem Bit-Map-Schlüssel zugewiesen. Sobald das entsprechende Bit in dem Bit-Map-Schlüssel gesetzt ist, wird der Datenpaketparameter bei der Generierung des Klassifizierungsschlüssels benutzt. Falls mehrere Datenbits in dem Bit-Map-Schlüssel gesetzt sind, werden die entsprechenden Datenparameterfelder verkettet bzw. konkateniert. Die Bildung eines Klassifizierungsschlüssels erfolgt durch eine Recheneinheit 7 des Netzwerkprozessors 1. Der gebildete Klassifizierungsschlüssel (class key) wird, wie in 4 dargestellt, einer Demultiplexereinheit 8 zugeführt, die in Abhängigkeit von dem aus dem Klassifizierungsspeicher 3 ausgelesenen Klassifizierungsselektor (method) den anliegenden Klassifizierungsschlüssel (class key) an eine der nachgeschalteten Berechnungseinheiten 9-1 bis 9-n durchschaltet.
  • Jede der nachgeschalteten Berechnungseinheiten 9-i führt einen vorgegebenen Klassifizierungsalgorithmus zur Reduzierung des gebildeten Konfigurationsschlüssels durch. Die Berechnungseinheit 9-1 führt beispielsweise eine direkte Klassifizierung durch, d. h. der gebildete Klassifizierungsschlüssel (class key) wird direkt als Look-up-Index (CLT-Index) einem Addierer 10 zugeführt. Die Berechnungseinheit 9-2 führt ein lineares Suchverfahren durch. Die in 4 in der Ausführungsform dargestellte Berechnungseinheit 9-3 führt ein binäres CAM-Verfahren durch, während die Berechnungseinheit 9-4 ein ternäres CAM-Verfahren durchführt. Die in 4 dargestellte Berechnungeinheit 9-5 führt ein Hashing-Verfahren durch. Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Netzwerkprozessors 1 umfasst der generierte Klassifizierungsschlüssel (class key) maximal 138 Bits. Da der Klassifizierungsschlüssel bis zu 138 Bits lang ist, kann er nicht zur direkten Adressierung des Auslesespeichers 4 eingesetzt werden. Der Klassifizierungsschlüssel wird bei Bedarf mittels einer der Berechnungseinheiten 9-i zu einem Look-up-Index (CLT-Index) reduziert, um den Auslesespeicher 4 zu adressieren.
  • 5 zeigt einen entsprechenden Ausschnitt aus dem Funktionsablaufdiagramm, das in 4 dargestellt ist.
  • 6 zeigt den Dateninhalt des Klassifizierungsspeichers 3 bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens. Bei der in 6 dargestellten Ausführungsform umfasst der darin abgespeicherte Klassifizierungsschlüssel-Bit-Map 32 Bits zur Auswahl von Datenpaketparametern aus einer Gruppe von 32 Datenpaketparametern und mit 4 Bits als Klassifizierungsselektor zur Auswahl des Klassifizierungsverfahrens.
  • Werden beispielsweise fünf Klassifizierungsverfahren, nämlich ein direkter Klassifizierungsalgorithmus (method = 0), ein lineares Suchverfahren (method = 1), ein binäres CAM-Verfahren (method = 2), ein ternäres CAM-Verfahren (method = 3) und ein Hashing-Verfahren (method = 4) unterstützt, liefern weitere Datenbits notwendige Informationen für die unterschiedlichen Klassifizierungsalgorithmen. Ein Flag zeigt zudem an, ob eine stufenweise Klassifizierung oder eine kontinuierliche Klassifizierung erfolgt.
  • 7 zeigt den Dateninhalt des Speichers 6 bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens. in dem Speicher 6 ist eine Tabelle abgespeichert. Ein Bit in dem Schlüssel-Bit-Map (key bit map), die in dem Klassifizierungsspeicher 3 abgespeichert ist, entspricht einem Eintrag in dieser Tabelle. Die Position des Bit in dem Schlüssel-Bit-Map stellt den Index zur Adressierung eines Eintrags in der Tabelle dar. Bei einer bevorzugten Ausführungsform weist daher der Speicher 6 32 Dateneinträge auf, wobei jeder Dateneintrag eine 16-Bit-Adresse eines Datenfeldes in dem Kontextspeicher 2 umfasst und eine 5-Bit breite Angabe zur Breite eines adressierten Datenfeldes (field) in dem Kontextspeicher 2.
  • Bei der Ankunft eines Datenpakets an einem Port des Netzwerkprozessors 1 werden zunächst die Datenpaketverwaltungsdaten (Header) und die Nutzdaten (payload) voneinander getrennt. Jedes an einem Eingangsport des Netzwerkprozessors 1 ankommende Datenpaket weist einerseits in den Datenpaketverwaltungsdaten (Header) des Datenpakets explizit angegebene Datenpaketparameter, beispielsweise Übertragungsprotokoll, Herkunftsadresse, Zieladresse oder Indikatortags auf, und andererseits implizite Datenpaketparameter, wie beispielsweise die Nummer des Eingangsports, die Paketlänge des Datenpakets sowie die Ankunftszeit des Datenpakets an dem Eingangsport des Netzwerkprozessors 1. Aus den abgetrennten Datenpaketverwaltungsdaten (Header) wird das Übertragungsprotokoll der ankommenden Datenpaketeinheit bestimmt. In Abhängigkeit von dem erkannten Übertragungsprotokoll der Datenpaketeinheit und dem damit in Verbindung stehenden Datenformat der Datenpaketeinheit werden die übrigen explizit in den Datenpaketverwaltungsdaten angegebenen Datenpaketparameter extrahiert. Die extrahierten Datenpaketparameter der Datenpaketeinheit werden dann in dem Kontextspeicher 2 zwischengespeichert. Neben den zwischengespeicherten expliziten Datenpaketparametern können die zugehörigen impliziten Datenpaketparameter der ankommenden Datenpaketeinheit, wie beispielsweise die Nummer des Eingangsports, ebenfalls in dem Kontextspeicher 2 zwischengespeichert werden. Jeder Datenpaketparameter, d. h. sowohl die impliziten Datenpaketparameter als auch die expliziten Datenpaketparameter, sind in einem zugehörigen Datenfeld (field) unter einer im Speicher 6 angegebenen Adresse und mit einer im Speicher 6 angegebenen Bitbreite (width) abgespeichert.
  • Wie man aus 8 erkennen kann, generiert die Berechnungseinheit 7 schrittweise aus denen mittels des Bit-Map-Schlüssels ausgewählten Datenpaketparametern schrittweise einen Klassifizierungsschlüssel.
  • 9 zeigt ein Beispiel für die Bildung eines Klassifizierungsschlüssel durch eine Berechnungseinheit 7. Mittels des aus dem Klassifizierungsspeicher 3 ausgelesenen Schlüssel-Bit-Maps werden bei dem angegebenen Beispiel aus mehreren Datenpaketparametern wie Zieladresse (MAC DA), Herkunftsadresse (MAC SA), VID, IP-Herkunftadresse (IP SA), IP-Zieladresse (IP DA), TOS etc. zwei Datenpaketparameter ausgewählt, nämlich einmal das erste Datenfeld MAC DA und das dritte Datenfeld VID, d. h. die Klassifizierung erfolgt auf Grundlage einer Untergruppe von Datenpaketparametern, wobei die Untergruppe im angegebenen Beispiel aus den beiden Datenpaketparametern MAC DA und VID besteht.
  • Die Berechnungseinheit 7 initialisiert anfänglich den zu bildenden Klassifizierungsschlüssel auf 0, wie man in 9 erkennen kann. Entsprechend der Schlüssel-Bit-Map wird der Dateninhalt des ausgewählten Datenfeldes (MAC DA) addiert. Schließlich wird der Dateninhalt des nächsten Datenfeldes VID kettenförmig angehängt, um den Klassifizierungsschlüssel zu bilden. Die Berechnungseinheit 7 verkettet die Dateninhalte der durch den Bit-Map-Schlüssel ausgewählten Datenpaketparameter, die aus dem Kontextspeicher 2 ausgelesen werden.
  • Sobald die Bildung des Klassifizierungsschlüssels durch die Berechnungseinheit 7 abgeschlossen ist, wird der gebildete Schlüssel in Abhängigkeit von dem Klassifizierungsselektor und dem Demultiplexer 8 an eine der Berechnungseinheiten 9-i durchgeschaltet, die unterschiedliche Klassifizierungsalgorithmen durchführen, d. h. der gebildete Klassifizierungsschlüssel wird in Abhängigkeit von dem ausgewählten Klassifizierungsalgorithmus zu einem Look-up-Index (CLT-Index) reduziert. Der gebildete Look-up-Index (CLT-Index) bildet eine Offset-Adresse zum Auslesen eines Dateninhaltes aus dem Auslesespeicher 4.
  • In einem Speicher 5 ist eine Tabelle abgespeichert, um das Klassifizierungsergebnis aus dem Auslesespeicher 4 auszulesen. Die Tabelle umfasst mehrere Dateneinträge, die durch einen Steuerindex (CRLT-Index) adressiert werden. Der Steue rungsindex bildet vorzugsweise einen Teil eines Funktionsaufrufs (function call). Jeder Dateneintrag enthält eine Basisadresse zur Adressierung eines Speicherbereichs innerhalb des Auslesespeichers 4. Diese Basisadresse wird mittels des Addierers 10 mit dem generierten Look-up-Index zur Bildung einer Adresse des Auslesespeichers 4 addiert.
  • 11 zeigt den Dateninhalt eines Speichers 5 bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens. Der Look-up-Index wird mit der Basisadresse zur Adressierung mindestens eines in dem Auslesespeicher 4 abgespeicherten Datenpaketparameters addiert. Bei einer alternativen Ausführungsform wird ein Datenpaketparameter nicht direkt adressiert, sondern es wird ein Pointer bzw. ein abgespeicherter Zeiger auf einen Datenpaketparameter adressiert, wobei dies mittels eines Anzeigebits (result interpretation) angezeigt wird. Aus dem Auslesespeicher 4 wird für jede klassifizierte Datenpaketeinheit mindestens ein Datenpaketparameter ausgelesen und der Datenpaketeinheit zugewiesen. Der zugewiesene Datenpaketparameter umfasst beispielsweise die Nummer eines Ausgangsports des Netzwerkprozessors 1 oder eine Dienstgüte der Datenpaketübertragung (Quality of Service). Das erfindungsgemäße Verfahren zum Klassifizieren von Datenpaketeinheiten, wie es schematisch in 4 dargestellt ist, erlaubt eine flexible frei konfigurierbare Klassifizierung von Datenpaketen anhand einer Gruppe von auswählbaren Datenpaketparametern. Das erfindungsgemäße Klassifizierungsverfahren ist daher entsprechend den Anforderungen änderungsfreundlich.
  • Besteht ein Klassifizierungsergebnis aus mehreren Parametern, werden diese adressiert, indem man den CRLT-Index inkrementiert.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens kann die Bildung des Klassifizierungsschlüssels durch die Berechnungseinheit 7 kontinuierlich oder stufenweise erfolgen. Wird der Klassifizierungsschlüssel (class key) stufenweise gebildet, bildet mindestens ein zuvor bereits gebildeter Klassifizierungsschlüssel einen Teil eines neuen Klassifizierungsschlüssels. Bei der stufenweise Klassifizierung wird der nächste Eintrag innerhalb des Klassifizierungsspeichers 3 bearbeitet, wobei der erhaltene Look up Index (LT) an den generierten Klassifizierungsschlüssel angehängt wird.
  • Bei einer kontinuierlichen Klassifizierung (continued classification indicator = 1) wird der nächste Dateneintrag als Klassifizierungspeicher nur dann bearbeitet, wenn die vorangegangene Klassifizierung zu keinem Ergebnis geführt hat.
  • Die in 4 dargestellten Speicher, d. h. der Kontextspeicher 2, der Klassifizierungsspeicher 3, der Auslesespeicher 4 sowie die Speicher 5, 6 durch die Adressierung sind vorzugsweise als RAM-Speicher innerhalb des Netzwerkprozessors 1 ausgebildet. Bei einer bevorzugten Ausführungsform befinden sich die unterschiedlichen Speicher 2, 3, 4, 5, 6 innerhalb verschiedener Speicherbereiche des gleichen RAM-Speichers. Die Berechnungseinheit 7 ist entweder als Schaltung hardware mäßig implementiert bzw. wird als Software durch einen Mikroprozessor in Abhängigkeit von einem Assembler bzw. Firmenware-Programm ausgeführt. Auch die Reduzierung des Klassifizierungsschlüssels durch die Berechnungseinheiten 9-i erfolgt entweder verdrahtet oder mittels Software.
  • Die Klassifizierung eines Datenpakets erfolgt bei dem erfindungsgemäßen Verfahren mittels mehrerer Kriterien bzw. Datenpaketparameter mit der Möglichkeit, durch den Anwender verschiedene Merkmale bzw. Datenpaketparameter und verschiedene Klassifizierungsalgorithmen auszuwählen. Klassifizierungen mittels verschiedener Datenpaketparameter können dabei untereinander mit unterschiedlichen Datenpaketmerkmalen ausgeführt werden. Das Ergebnis einer Klassifizierung kann selbst ein Merkmal für eine nachfolgende Klassifizierung eines Datenpakets darstellen. Längere Klassifizierungsschlüssel können als Kette von einzelnen kürzeren Schlüsselstrukturen behandelt werden.
  • E
    Eingangsport
    A
    Ausgangsport
    DA
    Zieladresse
    SA
    Herkunftsadresse
    1
    Netzwerkprozessor
    2
    Kontextspeicher
    3
    Klassifizierungsspeicher
    4
    Auslesespeicher
    5
    Speicher
    6
    Speicher
    7
    Recheneinheit
    8
    Demultiplexereinheit
    9
    Berechnungseinheit
    10
    Addierer

Claims (23)

  1. Verfahren zum Klassifizieren von Datenpaketeinheiten, die jeweils eine aus mehreren Datenpaketparametern bestehende Gruppe von Datenpaketparametern aufweisen, (a) wobei bei einem Funktionsaufruf mittels eines darin enthaltenen Klassifizierungsindex (CKT-Index) ein Schlüssel-Bit-Map und ein zugehöriger Klassifizierungsselektor ausgelesen werden, (b) wobei zum Generieren eines Klassifizierungsschlüssels (class key) die Dateninhalte einer durch den Schlüssel-Bit-Map ausgewählten Untergruppe von Datenpaketparametern verkettet werden, (c) wobei der generierte Klassifizierungsschlüssel (class key) in Abhängigkeit von einem durch den ausgelesenen Klassifizierungsselektor selektierten Klassifizierungsalgorithmus zu einem Look-Up-Index (CLT-Index) reduziert wird, der eine Offset-Adresse zum Auslesen mindestens eines Datenpaketparameters bildet, welcher der Datenpaketeinheit zugewiesen wird.
  2. Verfahren nach Anspruch 1, wobei die Datenpaketeinheiten Datenpaketverwaltungsdaten (Header) und Nutzdaten (payload) umfassen.
  3. Verfahren nach Anspruch 2, wobei die Datenpaketparameter einerseits in den Datenpaketverwaltungsdaten explizit angegebene Datenpaketparameter und andererseits implizite Datenpaketparameter umfassen.
  4. Verfahren nach Anspruch 1, wobei die Datenpaketeinheiten durch einen Netzwerkprozessor (1) klassifiziert werden.
  5. Verfahren nach Anspruch 4, wobei die an einem Eingangsport des Netzwerkprozessors (1) ankommenden Datenpaketeinheiten durch den Netzwerkprozessor (1) klassifiziert werden und nach Zuweisung der der Datenpaketklasse entsprechenden weiteren Datenpaketparameter an einem Ausgangsport des Netzwerkprozessors (1) abgegeben werden.
  6. Verfahren nach Anspruch 3, wobei die in den Datenpaketverwaltungsdaten der Datenpaketeinheiten explizit angegebene Datenpaketparameter ein Übertragungsprotokoll der Datenpaketeinheit, eine Herkunftsadresse der Datenpaketeinheit, eine Zieladresse der Datenpaketeinheit und ein oder mehrere Indikatortags aufweisen.
  7. Verfahren nach Anspruch 3, wobei die impliziten Datenpaketparameter der Datenpaketeinheit ein Eingangsport der Datenpaketeinheit, eine Paketlänge der Datenpaketeinheit und eine Ankunftszeit der Datenpaketeinheit aufweisen.
  8. Verfahren nach Anspruch 2, wobei die Datenpaketverwaltungsdaten und die Nutzdaten der ankommenden Datenpaketeinheiten durch den Netzwerkprozessor (1) getrennt werden.
  9. Verfahren nach Anspruch 8, wobei aus den abgetrennten Datenpaketverwaltungsdaten das Übertragungsprotokoll der ankommenden Datenpaketeinheit bestimmt wird.
  10. Verfahren nach Anspruch 9, wobei in Abhängigkeit von dem Übertragungsprotokoll der Datenpaketeinheit die übrigen explizit in den Datenpaketverwaltungsdaten angegebenen Datenpaketparameter extrahiert werden.
  11. Verfahren nach Anspruch 10, wobei die extrahierten expliziten Datenpaketparameter der Datenpaketeinheit in einem Kontextspeicher (2) zwischengespeichert werden.
  12. Verfahren nach Anspruch 11, wobei die impliziten Datenpaketparameter der Datenpaketeinheit ebenfalls in dem Kontextspeicher (2) zwischengespeichert werden.
  13. Verfahren nach Anspruch 12, wobei die in dem Kontextspeicher (2) zwischengespeicherten expliziten Datenpaketparameter und die in dem Kontextspeicher (2) zwischengespeicherten impliziten Datenpaketparameter einen Parameterkontext der Datenpaketeinheit bilden.
  14. Verfahren nach Anspruch 13, wobei mittels des Schlüssel-Bit-Maps (key bit map) diejenigen Datenpaketparameter des Parameterkontexts ausgewählt werden, die den Konfigurationsschlüssel bilden.
  15. Verfahren nach Anspruch 14, wobei mehrere Schlüssel-Bit-Maps jeweils zusammen mit einem zugehörigen Klassifizierungsselektor in einem Klassifizierungsspeicher (3) gespeichert werden.
  16. Verfahren nach Anspruch 16, wobei der Klassifizierungsselektor einen Klassifizierungsalgorithmus aus einer Gruppe von vorgegebenen Klassifizierungsalgorithmen selektiert.
  17. Verfahren nach Anspruch 18, wobei die vorgegebenen Klassifizierungsalgorithmen eine direkte Klassifizierung, ein lineares Suchverfahren, ein logarithmisches Suchverfahren, ein binäres CAM-Verfahren, ein ternäres CAM-Verfahren sowie ein Hashingverfahren umfassen.
  18. Verfahren nach Anspruch 1, wobei der Look-up-Index (CLT-Index) mit einer Basisadresse zur Adressierung mindestens eines in einem Auslesespeicher (4) abgespeicherten Datenpaketparameters oder zur Adressierung eines abgespeicherten Zeigers auf einen Datenpaketparameter addiert wird.
  19. Verfahren nach Anspruch 18, wobei der adressierte Datenpaketparameter ausgelesen und der klassifizierten Datenpaketeinheit zugewiesen wird.
  20. Verfahren nach Anspruch 19, wobei der zugewiesene Datenpaketparameter ein Ausgangsport des Netzwerkprozessors, eine Dienstgüte der Datenpaketübertragung (Quality of Service) eine VLAN-ID und eine POLICER-ID umfassen.
  21. Verfahren nach Anspruch 14, wobei die Bildung des Klassifizierungsschlüssel kontinuierlich oder stufenweise erfolgt.
  22. Verfahren nach Anspruch 21, wobei ein neuer Klassifizierungsschlüssel stufenweise gebildet wird, indem mindestens ein zuvor bereits gebildeter Klassifizierungsschlüssel einen Teil des neuen Klassifizierungsschlüssels bildet.
  23. Netzwerkprozessor (1) zur Klassifizierung von Datenpaketeinheiten, die jeweils eine aus mehreren Datenpaketparametern bestehende Gruppe von Datenpaketparametern aufweisen, mit: (a) einem Klassifizierungsspeicher (3) zum Abspeichern von Schlüssel-Bit-Maps mit jeweils einem zugehörigen Klassifizierungsselektor zum Selektieren eines Klassifizierungsalgorithmus, wobei bei einem Funktionsaufruf mittels eines darin enthaltenen Klassifizierungsindex (CKT-Index) ein Schlüssel-Bit-Map und ein zugehöriger Klassifizierungsselektor ausgelesen werden; (b) einer Einheit (7) zum Generieren eines Klassifizierungsschlüssels (class key), welche die Dateninhalte einer durch den ausgelesenen Schlüssel-Bit-Map ausgewählten Untergruppe von Datenpaketparametern verkettet; (c) einer Demultiplexereinheit (8), die in Abhängigkeit von dem aus dem Klassifizierungsspeicher (3) ausgelesenen Klassifizierungsselektor den generierten Klassifizierungsschlüssel (class key) an eine Berechnungseinheit (9) durchschaltet, die in einem vorgegebenen Klassifizierungsalgorithmus den gebildeten Klassifizierungsschlüssel zu einem Look-up-Index (CLT-Index) reduziert, der eine Offset-Adresse zum Auslesen mindestens eines Datenpaketparameters aus einem Auslesespeicher (4) bildet, welcher der Datenpaketeinheit zugewiesen wird.
DE102005046702A 2005-09-29 2005-09-29 Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten Expired - Fee Related DE102005046702B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005046702A DE102005046702B4 (de) 2005-09-29 2005-09-29 Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten
US11/528,760 US7751319B2 (en) 2005-09-29 2006-09-28 Method and processor for classifying data packet units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005046702A DE102005046702B4 (de) 2005-09-29 2005-09-29 Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten

Publications (2)

Publication Number Publication Date
DE102005046702A1 DE102005046702A1 (de) 2007-04-12
DE102005046702B4 true DE102005046702B4 (de) 2009-09-03

Family

ID=37886816

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005046702A Expired - Fee Related DE102005046702B4 (de) 2005-09-29 2005-09-29 Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten

Country Status (2)

Country Link
US (1) US7751319B2 (de)
DE (1) DE102005046702B4 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5104514B2 (ja) * 2008-04-21 2012-12-19 富士通株式会社 パケット転送制御装置およびパケット転送制御方法
US7835357B2 (en) 2008-09-30 2010-11-16 Juniper Networks, Inc. Methods and apparatus for packet classification based on policy vectors
US7961734B2 (en) * 2008-09-30 2011-06-14 Juniper Networks, Inc. Methods and apparatus related to packet classification associated with a multi-stage switch
US7738454B1 (en) * 2008-09-30 2010-06-15 Juniper Networks, Inc. Methods and apparatus related to packet classification based on range values
US8798057B1 (en) 2008-09-30 2014-08-05 Juniper Networks, Inc. Methods and apparatus to implement except condition during data packet classification
US8804950B1 (en) 2008-09-30 2014-08-12 Juniper Networks, Inc. Methods and apparatus for producing a hash value based on a hash function
US8675648B1 (en) 2008-09-30 2014-03-18 Juniper Networks, Inc. Methods and apparatus for compression in packet classification
US7796541B1 (en) 2008-09-30 2010-09-14 Juniper Networks, Inc. Methods and apparatus for range matching during packet classification based on a linked-node structure
US7889741B1 (en) * 2008-12-31 2011-02-15 Juniper Networks, Inc. Methods and apparatus for packet classification based on multiple conditions
US8488588B1 (en) 2008-12-31 2013-07-16 Juniper Networks, Inc. Methods and apparatus for indexing set bit values in a long vector associated with a switch fabric
US8111697B1 (en) 2008-12-31 2012-02-07 Juniper Networks, Inc. Methods and apparatus for packet classification based on multiple conditions
US9282060B2 (en) 2010-12-15 2016-03-08 Juniper Networks, Inc. Methods and apparatus for dynamic resource management within a distributed control plane of a switch
JP5853211B2 (ja) * 2013-01-25 2016-02-09 パナソニックIpマネジメント株式会社 バスインタフェース装置、中継装置、およびそれらを備えたバスシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010297A1 (en) * 1998-08-17 2000-02-24 Vitesse Semiconductor Corporation Packet processing architecture and methods
US20030063348A1 (en) * 2000-10-27 2003-04-03 Posey Nolan J. System and method for packet classification
US20030099205A1 (en) * 2001-11-28 2003-05-29 Samsung Electronics Co., Ltd. Method for classifying service classes of packet data in two way communication network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69325207T2 (de) * 1992-06-15 1999-12-09 Koninkl Philips Electronics Nv Prozessor zur Verarbeitung zeitdiskreter Signale
US6289013B1 (en) * 1998-02-09 2001-09-11 Lucent Technologies, Inc. Packet filter method and apparatus employing reduced memory
EP0993156B1 (de) * 1998-10-05 2007-01-03 Alcatel Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken
US6529508B1 (en) * 1999-02-01 2003-03-04 Redback Networks Inc. Methods and apparatus for packet classification with multiple answer sets
US7154888B1 (en) * 2002-02-08 2006-12-26 Cisco Technology, Inc. Method for classifying packets using multi-class structures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000010297A1 (en) * 1998-08-17 2000-02-24 Vitesse Semiconductor Corporation Packet processing architecture and methods
US20030063348A1 (en) * 2000-10-27 2003-04-03 Posey Nolan J. System and method for packet classification
US20030099205A1 (en) * 2001-11-28 2003-05-29 Samsung Electronics Co., Ltd. Method for classifying service classes of packet data in two way communication network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VARENNI,Gianluca, STIRANO,Federico, ALESSIO,Elisa, [u.a.]: Comparative Evaluation of Packet Classification Algorithms for Implementation on Resource Constrained Systems. 8th International Conference on Telecommunications - ConTEL, Juni 2005, S.135-139 *

Also Published As

Publication number Publication date
US7751319B2 (en) 2010-07-06
DE102005046702A1 (de) 2007-04-12
US20070070900A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
DE102005046702B4 (de) Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten
DE60202136T2 (de) Cache-eintrag-auswahlverfahren und -vorrichtung
DE69838126T2 (de) Verkehrsverwaltung für geschalteten Frame Relay Datendienst
DE69935683T2 (de) Paketversendegerät mit einer Flussnachweistabelle
DE10100842B4 (de) Kommunikationsvorrichtung mit Mehrschichten-Klassenidentifikation und Prioritätssteuerung
DE60301585T2 (de) Multisprungnetzwerk zum Übertragen von Paketen deren Größe durch die Anzahl der Sprünge bestimmt wird
DE69818846T2 (de) Paketnetzwerk
DE60120847T2 (de) Mehrprotokollvermittler und Verfahren dazu
DE69920893T2 (de) Berichtigung der Verbindungsbandbreite auf der Basis der Beobachtung der Belegung der Ressourcen des Netzes
DE69831893T2 (de) Wegesuchvorrichtung und Rahmenübertragungsverfahren unter Verwendung von Rahmenvermittlung auf Datenverbindungsschicht
DE60034504T2 (de) Vorrichtung zur Weiterleitung von Paketen und Verfahren zum Setzen von Paketprioritäten
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE69927252T2 (de) Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität
DE69828112T2 (de) Rahmenrelaisgeschalteter Datendienst
DE69935006T2 (de) Vorrichtung und verfahren zum setzen von prioritäten für multicast-sendepakete in einer netz-dienstklasse
DE60220549T2 (de) Dynamische Wegeleitung in einem paketvermittelden mehrschichtigen Kommunikationsnetzwerk
DE60031303T2 (de) Verfahren und einrichtung zur effizienten anwendungsschicht-vermittlung für gemultiplexte-internet-medienströme
DE60309414T2 (de) Metro-Ethernet Netzwerksystem mit einer selektiven aufwärtigen Pausenachrichtenübermittlung
DE10147748A1 (de) Verfahren und Vorrichtung zur Anpassung von Label-Switched-Pfaden in Paketnetzen
EP1428408A2 (de) Verteilte übermittlung von informationen in einem verbindungslosen, paketorientierten kommunikationsnetz
EP1133112A2 (de) Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens
DE69932892T2 (de) System zur Konsolidierung von Telekommunikationsverkehr
DE60108324T2 (de) System und Verfahren zur Erhöhung von Nachrichtendurchsatz in einem Funknetzwerk
DE69737343T2 (de) Verfahren zur Verwaltung eines gemeinsamen Speichers in Netzknoten
DE60319366T2 (de) Vorrichtung, verfahren und computerprogramm für betriebsmittelreservierungen in einem kommunikationssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee