DE60309611T2 - Verfahren und Vorrichtung zur Verarbeitung von Datenpaketen - Google Patents

Verfahren und Vorrichtung zur Verarbeitung von Datenpaketen Download PDF

Info

Publication number
DE60309611T2
DE60309611T2 DE60309611T DE60309611T DE60309611T2 DE 60309611 T2 DE60309611 T2 DE 60309611T2 DE 60309611 T DE60309611 T DE 60309611T DE 60309611 T DE60309611 T DE 60309611T DE 60309611 T2 DE60309611 T2 DE 60309611T2
Authority
DE
Germany
Prior art keywords
node
rules
tree
analysis
action
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
DE60309611T
Other languages
English (en)
Other versions
DE60309611D1 (de
Inventor
Olivier Paul
Sylvain Gombault
Maryline Laurent Maknavicius
Joel Lattmann
Christian Duret
Herve Guesdon
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of DE60309611D1 publication Critical patent/DE60309611D1/de
Application granted granted Critical
Publication of DE60309611T2 publication Critical patent/DE60309611T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Verarbeitung von Datenpaketen gemäß Regeln, die an jedes Datenpaket in Abhängigkeit von in diesem Paket enthaltenen Daten angewendet werden.
  • Sie betrifft insbesondere ein Verfahren zur Konfiguration einer besonderen Speichervorrichtung, die für die Verarbeitung von Datenpaketen verwendet wird.
  • Die Patentanmeldung FR-A-2 812 491, die am 1. Februar 2002 veröffentlicht wurde, offenbart eine Zugriffskontrollvorrichtung für ATM-Netze. Diese Vorrichtung enthält einen Zugriffskontroller, der Verkehrsanalysatoren konfiguriert, um die den ATM-Verkehr tragenden Zellen einzeln zu verarbeiten. Die Verkehrsanalysatoren gehen durch Analyse des Inhalts der ATM-Verkehr tragenden Zellen vor, indem sie ihnen mittels eines assoziativen Speichers vom Typ Trie Weiterleitungsreferenzen zuordnen. Solche Vorrichtungen können auch in IP-Routern, Sicherheitsvorrichtungen ("Firewall"), Verkehrsmessvorrichtungen usw. verwendet werden. Gemäß diesen Anwendungen kann die jedem Datenpaket zugeteilte Verarbeitung eine Adressierung dieses Pakets, eine Veränderung von Daten dieses Pakets, die Aufzeichnung einer ausgehend von diesem Paket erstellten Information oder allgemein eine bestimmte Aktion ausgehend vom Inhalt dieses Pakets sein.
  • Der Vorteil der Verwendung eines Speichers vom Typ Trie ist es, eine schnelle und in beliebiger Reihenfolge stattfindende Analyse von Teilen der Inhalte der Verkehr tragenden Zellen zu erlauben. Ein solcher Speicher und seine Verwendung bei der Analyse von Datenpaketen sind in der Patentanmeldung EP-A-1 030 493 beschrieben, die am 23. August 2000 veröffentlicht wurde.
  • Die Konfiguration des Trie-Speichers wird auf der Ebene der Zugriffskontrollverwaltung eingesetzt.
  • Ein Ziel der vorliegenden Erfindung ist es, eine Konfiguration dieses Speichers zu erhalten, die es ermöglicht, jedem Datenpaket in Abhängigkeit von Teilen seines Inhalts eine geeignete Verarbeitung zuzuweisen.
  • Die Erfindung schlägt ein Verfahren zur Konfiguration eines assoziativen Speichers vom Typ Trie für die Verarbeitung von Datenpaketen in Abhängigkeit von einem Satz von Regeln vor. Der Trie-Speicher wird für die Analyse von Binärketten verwendet, die sich an bestimmten Stellen jedes Datenpakets befinden. Jede Regel teilt einem Paket eine Aktion in Abhängigkeit von den Werten der Binärketten zu. Der Trie-Speicher weist Register auf, die aus einer bestimmten Anzahl von Elementarzellen zusammengesetzt sind, um entsprechende Referenzen zu empfangen.
  • Erfindungsgemäß weist das im Anspruch 1 definierte Verfahren einen Schritt auf, während dem der Satz von Regeln in einen Paketanalysebaum umgesetzt wird, der Knoten, die in aufeinander folgenden Stufen verteilt sind, die je den in einer bestimmten Reihenfolge berücksichtigten Stellen zugeordnet sind, Bögen und Blätter aufweist, die durch die Regeln zuteilbaren Aktionen entsprechen. Jeder Bogen hat einen Anfangsknoten, der einer Stelle zugeordnet ist, und einen Ankunftspunkt, der entweder aus einem Knoten der auf die Stufe des Anfangsknotens folgenden Stufe oder aus einem Blatt besteht. Die erste Stufe weist einen einzigen Wurzelknoten auf. Jeder Bogen des Baums ist einer Domäne von Binärkettenwerten zugeordnet, die an der Stelle auftreten können, die der Stufe seines Anfangsknotens zugeordnet ist. Der Analysebaum definiert so Wege, die je aus einer Folge von n Bögen bestehen, wobei n eine ganze Zahl mindestens gleich 1 ist, derart, dass der Ankunftspunkt jedes anderen Bogens als der letzte Bogen eines Wegs der Anfangsknoten des folgenden Bogens des Wegs ist, und dass der Ankunftspunkt des letzten Bogens des Wegs ein Blatt ist, das einer Aktion entspricht, die gemäß dem Satz von Regeln jedem Paket zugeordnet wird, das an den n Stellen, die je den Stufen der Anfangsknoten der n Bögen des Baums zugeordnet sind, Binärkettenwerte hat, die unter die n Domänen fallen, die den Bögen zugeordnet sind.
  • Das Verfahren weist weiter einen Schritt auf, während dem eine Gruppe von Registern des Trie-Speichers einschließlich eines "Portier"-Registers jedem Knoten des Analysebaums zugewiesen wird, der zu einer einer Stelle zugeordneten Stufe gehört, und in den Zellen dieser Gruppe von Registern werden derartige Referenzen gespeichert, dass man, wenn man ausgehend vom "Portier"-Register den Binärkettenwert analysiert, der an der Stelle in einem Paket enthalten ist, eine Endreferenz erhält, die davon abhängt, welche Domäne unter den den Bögen, die den Knoten als Anfangsknoten haben, zugeordneten Wertedomänen den Wert enthält, und derart, dass:
    • – wenn der Bogen, der der den Wert enthaltenden Domäne zugeordnet ist, als Ankunftspunkt ein Blatt hat, das einer Aktion entspricht, die Endreferenz die Aktion als dem Paket zugeteilt bezeichnet; und
    • – wenn der Bogen, der der den Wert enthaltenden Domäne zugeordnet ist, einen anderen Knoten der folgenden Stufe als Ankunftspunkt hat, die Endreferenz den anderen Knoten bezeichnet, um fortzufahren mit der Analyse des Binärkettenwerts, der in dem Paket an der Stelle enthalten ist, die der folgenden Stufe zugeordnet ist.
  • Ein solcher Konfigurationsmodus des Trie-Speichers bietet eine große Flexibilität, um eine große Vielfalt von Klassifizierungsregeln des Verkehrs zu berücksichtigen, die verschiedenen Aktionen entsprechen können, die an den Datenpaketen in Abhängigkeit vom Inhalt der analysierten Stellen durchzuführen sind. Die Wege des Baums entsprechen Analysegraphen, die mit Hilfe von Indexierungs- und Indirektionsoperationen im so konfigurierten Trie-Speicher durchlaufen werden.
  • Eine solche Organisation des Analyseaufbaus ermöglicht es, zu gewährleisten, dass die Analysedauer eines beliebigen Datenpakets von einer Obergrenze begrenzt wird, die durch die betreffende Analyse festgelegt wird. Diese Grenze entspricht der Höhe des Analysebaums, d.h. der Anzahl von zu analysierenden Feldern. Dies ermöglicht es dem die Erfindung nutzenden Kommunikationsnetzbetreiber, eine Echtzeitverarbeitung der Datenpakete durchzuführen, die am Eingang des Verkehrsanalysators auftreten, indem er ausreichend Analysemittel zuteilt.
  • Erfindungsgemäß ergibt sich die im Schritt der Konstruktion des Analysebaums in Betracht gezogene Reihenfolge aus einem Sortieren der Stellen, das nach Zählung von Elementarintervallen durchgeführt wird. Für jede der Stellen werden aufeinander folgende Elementarintervalle definiert, die Binärkettenwerte abdecken, die an dieser Stelle erscheinen können, wobei jedes Elementarintervall so ist, dass die von jeder der Regeln zugeteilte Aktion nicht innerhalb des Elementarintervalls von einer Veränderung des Werts der Binärkette verändert wird, die sich an der Stelle in einem verarbeiteten Paket befindet. Das Sortieren der Stellen wird dann in einer solchen Reihenfolge durchgeführt, dass die Stelle, für die die größte Zahl von Elementarintervallen definiert wurde, als letzte angeordnet wird. Man kann insbesondere die Stellen in der Reihenfolge der steigenden Zahlen von Elementarintervallen sortieren.
  • Ein Vorteil solcher Sortierungen von Stellen liegt in der Minimierung der Größe des Trie-Speichers, der für die Analyse des Inhalts jedes Datenpakets notwendig ist, von dem ausgehend jedem Paket eine Aktion gemäß dem Satz von Regeln zugeteilt wird. So kann eine große Zahl von Datenpaketen, die einer großen Vielfalt von Aktionen entspricht, die jedem von ihnen zugeteilt sind, mit einer einzigen Analyseoperation der Inhalte dieser Pakete verarbeitet werden.
  • Im Allgemeinen hat ein Trie-Speicher die Form einer Tabelle, deren Zeilen, Register genannt, eine feste Anzahl von Zellen aufweisen, zum Beispiel 4, 8, 16 oder 32 Zellen. Die Größe des Trie-Speichers entspricht dann der Anzahl von Registern dieses Speichers. Die vorliegende Erfindung ermöglicht es also, die Anzahl von Registern zu reduzieren, die notwendig sind, um eine gegebene Analyse des Inhalts der Datenpakete durchzuführen.
  • Das Konfigurationsverfahren des erfindungsgemäßen Trie-Speicher enthält die Transkription des Analysebaums in diesen Speicher in Form von Referenzen, die in die Zellen des Speichers eingetragen werden. Ein voluminöser Analysebaum erfordert im Allgemeinen einen umso größeren Trie-Speicher. Es ist folglich vorteilhaft, den Analysebaum und seine Transkription so zu gestalten, dass die notwendige Größe des Trie-Speichers reduziert wird.
  • Die Anzahl von Stufen von Knoten des Analysebaums entspricht der Anzahl von Stellen im Inneren der Datenpakete, an denen die Binärfelder zu lesen sind.
  • Man kann eine Obergrenze der Abmessung des Analysebaums folgendermaßen bestimmen. Die erste Stufe des Analysebaums enthält den Wurzelknoten als einzigen Knoten. Die zweite Stufe des Analysebaums enthält eine Anzahl von Knoten höchstens gleich der Anzahl von Elementarintervallen, die für die Stelle definiert sind, die gemäß der für die Stellen gewählten Reihenfolge als erste angeordnet ist. Die Anzahl von Knoten der dritten Stufe des Analysebaums ist höchstens gleich dem Produkt der zwei Anzahlen von Elementarintervallen, die für die zwei Stellen definiert sind, denen die beiden ersten Stufen von Knoten zugeordnet sind. In wiederholter Weise ist die Anzahl von Knoten einer beliebigen Stufe des Analysebaums, die einer gegebenen Stelle zugeordnet ist, geringer als das oder gleich dem Produkt der Anzahlen von Elementarintervallen, die jeweils für alle Stellen definiert sind, die vor der Stelle liegen, der die betrachtete Stufe gemäß der Sortierungsfolge der Stellen zugeordnet ist.
  • Wenn N die Anzahl von Binärkettenstellen bezeichnet, die in den Datenpaketen definiert sind, auf denen die Analyse der Pakete beruht, ist die Anzahl von Knoten der letzten Stufe des Analysebaums also geringer als das Produkt der (N-1) Anzahlen von Elementarintervallen, die den (N-1) ersten Stellen gemäß der Sortierungsfolge der Stellen entsprechen. Anders gesagt, ist sie geringer als der wert gleich dem Produkt aller Anzahlen von Elementarintervallen dividiert durch die Anzahl von Elementarintervallen der letzten Stelle gemäß dieser Reihenfolge. Dieser Wert stellt also eine Obergrenze der Anzahl von Knoten der letzte Stufe des Analysebaums dar, die einer oberen Begrenzung der notwendigen Größe des Trie-Speichers entspricht. Für Elementarintervalle, die für alle Stellen festgelegt sind, ist diese Obergrenze die kleinste, wenn die Sortierreihenfolge der Stellen so ist, dass als letzte diejenige der Stellen angeordnet ist, für die die größte Anzahl von Elementarintervallen definiert wurde.
  • Bei bestimmten Anwendungen des erfindungsgemäßen Verfahrens sind die an den Stellen gelesenen Binärketten Zahlen oder Zahlen enthaltende Werte. Dann ist es besonders bequem, die Elementarintervalle zu definieren, indem eine Reihenfolgenbeziehung zwischen diesen Zahlen beachtet wird, oder indem eine an den Aufbau der gelesenen werte angepasste Reihenfolgenbeziehung verwendet wird, um eine schnelle Konfiguration des Trie-Speichers zu ermöglichen.
  • In einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist die Umsetzung des Satzes von Regeln in einen Analysebaum so, dass mindestens ein Knoten des Analysebaums der Ankunftspunkt mehrerer Bögen ist, die von unterschiedlichen Anfangsknoten der vorhergehenden Stufe stammen. Diese Ausführungsform ermöglicht eine Komprimierung der im Trie-Speicher definierten Klassifizierungsstrukturen, die zu einem großen Raumgewinn in diesem Speicher führt.
  • Hierzu wird jedem Knoten des Analysebaums, der nicht die Wurzel des Analysebaums ist, ein Unterbaum zugeordnet. Dieser Unterbaum hat eine Wurzel, die vom Knoten gebildet wird, und ist aus den Knoten, Bögen und Blättern zusammengesetzt, die ausgehend vom Knoten entlang der verschiedenen durch den Knoten verlaufenden. Wege angetroffen werden. Die Umsetzung des Satzes von Regeln wird dann so vorgenommen, dass der Analysebaum keine ersten und zweiten Unterbäume aufweist, die unterschiedliche Wurzeln haben und so sind, dass man ihre jeweiligen Knoten, Bögen und Blätter paaren kann, so dass jeder Knoten des ersten Unterbaums mit einem Knoten des zweiten Unterbaums gepaart ist, der zur gleichen Stufe gehört, dass jedes Blatt des ersten Unterbaums mit einem Blatt des zweiten Unterbaums gepaart ist, der einer gleichen Aktion entspricht, und dass zwei gepaarte Bögen des ersten und des zweiten Unterbaums gepaarte Anfangsknoten und gepaarte Ankunftspunkte haben und der gleichen Wertedomäne zugeordnet sind.
  • Gemäß einer besonderen Formulierung der Regeln des Satzes wird jede Regel durch eine Aktion und durch Wertebereiche definiert, die je zumindest bestimmten der Stellen entsprechen, und teilt die Aktion den Paketen zu, die an den Stellen Binärkettenwerte haben, die in die jeweiligen Bereiche fallen. Für eine generische Verarbeitung aller Regeln wird auf die folgende Vorsichtsmaßnahme zurückgegriffen: Wenn für eine gegebene Stelle eine Regel keinen expliziten Bereich enthält, wird ihr ein Bereich hinzugefügt, der dieser Stelle entspricht und der die Gesamtheit der Binärkettenwerte enthält, die in Datenpaketen an dieser Stelle gelesen werden können.
  • Für eine solche Formulierung der Regeln wird jedem Knoten einer (p+1)-ten Stufe des Analysebaums eine Untergruppe von Regeln zugeordnet, wobei p eine ganze Zahl größer als 0 ist . Die Untergruppe ist aus solchen Regeln des Satzes zusammengesetzt, dass jeder Wertebereich, der einer Stelle entspricht, die einer der ersten p Stufen des Baums zugeordnet ist, eine nicht leere Überlappung mit der Wertedomäne hat, die dem Bogen jedes Wegs zugeordnet ist, der durch den Knoten verläuft und dessen Anfangsknoten sich in dieser Stufe befindet.
  • Dem Wurzelknoten wird eine Untergruppe zugeordnet, die aus dem Satz von Regeln besteht.
  • Die Umsetzung des Satzes von Regeln enthält dann die folgenden Schritte für jeden Knoten der p-ten Stufe, der einer ersten Untergruppe von Regeln zugeordnet ist:
    • – Bestimmung der Wertedomänen, die Binärkettenwerte abdecken, die an der p-ten Stelle gemäß der Reihenfolge auftreten können, wobei jede Domäne so ist, dass die von jeder der Regeln der ersten Untergruppe zugeteilte Aktion nicht innerhalb der Domäne durch einer Veränderung des Werts der Binärkette, die sich an der p-ten Stelle in einem verarbeiteten Paket befindet, verändert wird; und
    • – für jede der Wertedomänen:
    • – Erzeugung eines der Domäne zugeordneten Bogens, der den Knoten der p-ten Stufe als Anfangsknoten hat;
    • – Erfassung jeder Regel der ersten Untergruppe, die durch mindestens einen Wertebereich definiert wird, der die Domäne enthält;
    • – wenn gar keine Regel erfasst wird, Zuteilung eines Blatts des Baums entsprechend einer Standardaktion als Ankunftspunkt des Bogens;
    • – wenn für jede erfasste Regel kein Wertebereich einer beliebigen der Stellen nach der p-ten Stelle gemäß der Reihenfolge entspricht, Zuteilung eines Blatts des Baums entsprechend einer Aktion einer erfassten Regel als Ankunftspunkt des Bogens;
    • – wenn für mindestens eine erfasste Regel ein Wertebereich einer der Stellen nach der p-ten Stelle gemäß der Reihenfolge entspricht, Zuteilung eines Knotens der (p+1)-ten Stufe des Baums als Ankunftspunkt des Bogens, wobei der Knoten der (p+1)-ten Stufe einer zweiten Untergruppe zugeordnet ist, die aus den erfassten Regeln der ersten Untergruppe besteht.
  • Den Regeln des Satzes können jeweils Prioritäten zugewiesen werden. In diesem Fall ist, wenn mehrere Regeln erfasst werden und keiner ihrer Wertebereiche einer der Stellen nach der p-ten Stelle entspricht, die Aktion, die dem Blatt des Baums entspricht, das dem Bogen zugeteilt ist, diejenige einer der erfassten Regeln, die auf der Basis der zugewiesenen Prioritäten ausgewählt wird.
  • Um zu verhindern, dass der Analysebaum Unterbäume aufweist, die unterschiedliche jeweilige Wurzeln haben und von denen man die Knoten, Bögen und Blätter untereinander paaren kann, die je zu jedem von ihnen gehören, werden die folgenden Schritte durchgeführt, wenn mindestens eine Regel erfasst wurde, die einen Wertebereich hat, der einer der Stellen nach der p-ten Stelle entspricht:
    • – Suche, ob bereits ein Knoten der (p+1)-ten Stufe des Baums erzeugt wurde, der der zweiten Untergruppe zugeordnet ist;
    • – wenn die Suche fehlschlägt, Erzeugung eines solchen Knotens in der (p+1)-ten Stufe;
    • – wenn die Suche einen Knoten der (p+1)-ten Stufe identifiziert, Zuteilung des identifizierten Knotens als Ankunftspunkt des Bogens.
  • Die vorliegende Erfindung betrifft auch eine im Anspruch 11 definierte Vorrichtung zur Verarbeitung von Datenpaketen, die einen assoziativen Speicher vom Typ Trie und einen Kontroller aufweist, der ausgelegt ist, um ein wie oben definiertes Verfahren zur Konfiguration des Trie-Speichers durchzuführen. Diese Vorrichtungen können insbesondere in den folgenden Anwendungen genutzt werden:
    • – die Weiterleitung von Datenpaketen über ein Kommunikationsnetz in Abhängigkeit von an diese Pakete angewendeten Weiterleitungsregeln;
    • – die Zugriffskontrolle zu einem Kommunikationsnetz durch Datenpakete in Abhängigkeit von Zugriffskontrollregeln zu diesem Netz, die an diese Pakete angewendet werden;
    • – die Erfassung von Informationen, die Datenpakete betreffen, die von einem Kommunikationsnetz übertragen werden.
  • Die Datenpakete können insbesondere ATM-Zellen sein, die AAL-5-Rahmen oder IP-Pakete tragen.
  • Weitere Besonderheiten und Vorteile des Verfahrens der vorliegenden Erfindung gehen aus der nachfolgenden Beschreibung von nicht einschränkend zu verstehenden Anwendungsbeispielen hervor, die sich auf die beiliegenden Zeichnungen bezieht. Es zeigen:
  • 1 ein Funktionsschaltbild einer Zugriffskontrollvorrichtung, bei der das erfindungsgemäße Verfahren angewendet wird;
  • 2 eine Tabelle, die Informationen darstellt, die von Verkehrsanalysatoren der Vorrichtung der 1 verarbeitet werden;
  • 3 einen Analysebaum, der aus zwei besonderen Regeln resultiert, die an Paare von Zahlen (x,y) angewendet werden, und nicht die vorliegende Erfindung verwendet;
  • 4 einen zweiten Analysebaum, der den gegebenen Regeln für den Analysebaum der 3 entspricht, unter Verwendung der Klassifizierung der Stellen gemäß der vorliegenden Erfindung;
  • 5 einen Analysebaum, der aus drei besonderen Regeln resultiert, die an Tripletts von Zahlen (x,y,z) angewendet werden, und nicht die vorliegende Erfindung verwendet;
  • 6 einen zweiten Analysebaum, der den gegebenen Regeln für den Analysebaum der 5 entspricht, unter Verwendung der Klassifizierung der Stellen gemäß der vorliegenden Erfindung;
  • 7 einen dritten Analysebaum entsprechend den für den Analysebaum der 5 gegebenen Regeln, bei dem außerdem die Zusammenfassungen von Unterbäumen gemäß der vorliegenden Erfindung verwendet wird;
  • 8 ein Funktionsschaltbild der Schritte der Erzeugung eines neuen Bogens gemäß der bevorzugten Anwendungsform des erfindungsgemäßen Verfahrens;
  • 9 einen vierten Analysebaum entsprechend den für den Analysebaum der 5 gegebenen Regeln, unter Verwendung der Klassifizierung der Stellen und der Methode zur Erzeugung der Bögen der 8.
  • Der Aufbau einer zwischen zwei ATM-Übertragungsnetzen ("Asynchronous Transfer Mode") angeordneten Zugriffskontrollvorrichtung, bei der das erfindungsgemäße Verfahren angewendet werden kann, ist ausführlich in der Patentanmeldung WO 0209367, veröffentlicht am 31. Januar 2002, beschrieben. Wie in 1 gezeigt, kann eine Zugriffskontrollvorrichtung aus zwei Hauptteilen 1, 2 bestehen, die mit einem ATM-Schalter 3 zusammenwirken. Der erste Teil 1 ist der Berücksichtigung einer Zugriffskontrollpolitik und der Analyse der ATM-Signalisierung gewidmet. Das Ergebnis dieser Analyse wird verwendet, um dynamisch eine Konfiguration zu konstruieren. Diese wird vom zweiten Teil 2 verwendet, um einen Zugriffskontrolldienst zu liefern, der auf den Informationen basiert, die in den ATM-Zellen transportiert werden. Dieser zweite Teil 2 ist in der Lage, die ATM-Ebene-, IP- und Transport-Informationen zu sammeln, um zu entscheiden, ob eine Kommunikation erlaubt oder verboten werden soll. Die Konfiguration der Einheit erfolgt mit Hilfe einer einzigen Programmsprache.
  • Der Teil 1 kann mittels einer Arbeitsstation hergestellt werden, wie zum Beispiel eine Station, die von der Firma Sun Microsystem, Inc. vertrieben wird. Der Signalisierungsanalysator 4 ist das Element dieses Teils 1, das die Aktionen der Zugriffskontrolle auf der Ebene der ATM-Signalisierung in Kombination mit der Zugriffskontrollverwaltung 7 durchführt.
  • Der Teil 2 kann mit Hilfe einer Station vom Typ PC hergestellt werden, die zum Beispiel mit dem Betriebsprogramm Solaris x86 arbeitet. Diese Station ist mit Karten 20, 21 zur Echtzeitanalyse der ATM-Zellen, oder Verkehrsanalysatoren, nachfolgend IFT-Karten ("IP Fast Translator") genannt, ausgestattet, die die Aktionen der Zugriffskontrolle ATM-Zelle für ATM-Zelle gewährleisten.
  • Um den Ausdruck von Zugriffskontrollpolitiken zu ermöglichen, wird eine Sprache der Definition der Zugriffskontrollpolitik (ACPDL, "Access Control Policy Description Language") verwendet. Die Definition der ACPDL basiert auf der Politikbeschreibungssprache (PDL), die derzeit in der Arbeitsgruppe definiert wird, die an den Politiken bei der IETF arbeitet (siehe J. Strassner, et al, "Policy Framework Definition Language", draft-ietf-policy-framework-pfdl-00.txt, Internet Engineering Task Force, 17. November 1998). In dieser Sprache wird eine Politik durch einen Satz von Regeln definiert, wobei jede Regel selbst aus einem Satz von Bedingungen und einer Aktion besteht, die ausgeführt wird, wenn der Satz von Bedingungen erfüllt ist. Der folgende Ausdruck (ausgedrückt in dem Formalismus Backus Naur, BNF) beschreibt die allgemeine Form einer Regel:
    Rule :: = IF <Conditions> THEN <Action>
  • Alle Bedingungen haben den gleichen generischen Aufbau, der nachfolgend mittels des Formalismus BNF ausgedrückt wird:
    Condition :: = <ACCESS CONTROL PARAMETER> <RELATIONAL OPERATOR> <VALUE>
  • In Abhängigkeit von der Ebene im Protokollstapel können mehrere Typen von Zugriffskontrollparametern verwendet werden:
    • – auf der ATM-Ebene sind die interessanten Parametern im Artikel von O. Paul, et al. "Manageable parameters to improve access control in ATM networks", HP-OVUA Workshop, Rennes, Frankreich, April 1998 beschrieben. Darunter kann man den Verkehrstyp, den Verbindungsidentifikator, die Adressierinformationen, die QoS-Deskriptoren und die Dienst-Deskriptoren wählen;
    • – auf der Transportebene sind die meisten in Betracht gezogenen Parameter diejenigen, die üblicherweise verwendet werden, um die Filterung der Pakete in den filternden Routern durchzuführen (zum Beispiel die Adressierinformationen, die Quellen- und Ziel-Ports, die Marker im Fall der TCP-Verbindungen, usw.);
    • – auf der Anwendungsebene werden zwei generische Parameter in Betracht gezogen: der Identifikator des Benutzers der Anwendung sowie der Zustand der Anwendung;
    • – zeitliche Informationen gehören ebenfalls dazu, um zu spezifizieren, wann eine Regel angewendet werden soll.
  • Die Aktionen haben ebenfalls einen generischen Aufbau (Schreibweise BNF):
    Action : = <ACTION> <ACTION LEVEL> <LOG LEVEL>
  • Eine Aktion zerfällt in drei Teile. Der erste gibt an, ob die von den Bedingungen beschriebene Kommunikation erlaubt oder verboten werden soll. Der Parameter <ACTION LEVEL> entspricht der Protokollschicht, in der die Aktion durchgeführt werden soll. Der letzte Teil beschreibt die Bedeutung, die dem Zugriffskontrollereignis zugeordnet wird, und ermöglicht die Klassifikation der Ergebnisse.
  • Der folgende Absatz zeigt, wie die Sprache ACPDL verwendet werden kann, um ein Beispiel eines Zugriffskontrolldiensts auszudrücken. In diesem Beispiel wird jede Einrichtung durch ihre Quellenadresse (IP_SRC_ADDRESS) und durch ihre Zieladresse (IP_DST_ADDRESS) identifiziert. Der Dienst WWW wird durch die Quellen-(SRC_PORT) und Zielports (DST_PORT) identifiziert. Die zweite im Beispiel angegebene Steuerzeile wird verwendet, um die Verbindungsanforderungen mit dem Port WWW einer internen Station zu verbieten.
    IF (IP_SRC_ADDRESS = 192.165.203.5 255.255.255.255) AND (IP_DST_ADDRESS = 0.0.0.0 0.0.0.0) AND (SRC_PORT > 1023) AND (DST_PORT = 80) THEN PERMIT TRANSP_CONNECTION;
    IF (IP_SRC_ADDRESS = 0.0.0.0 0.0.0.0) AND (IP_DST_ADDRESS = 192.165.203.5 255.255.255.255) AND (SRC_PORT = 80) AND (DST_PORT > 1023) AND (TCP_FLAG <> SYN) THEN PERMIT TRANSP_CONNECTION;
  • Die Zugriffskontrollpolitik wird durch den Sicherheitsoffizier mittels einer Mensch-Maschine-Schnittstelle (IHM) 6 der Station 1 unter Verwendung der Sprache ACPDL definiert. Sie wird verwendet, um die zwei Teile des Kontrollers zu konfigurieren. Diese Politik kann aber nicht direkt von den beiden Zugriffskontrollwerkzeugen 4, 20/21 verwendet werden. Der Verwaltung 7 ist der Modul, der es ermöglicht, dieses Problem zu lösen, indem die Zugriffskontrollpolitik in Konfigurationssteuerungen für die beiden Werkzeuge umgesetzt wird.
  • Dieser Umsetzungsprozess kann in zwei Hauptteile aufgeteilt werden. Der erste ist die Umsetzung der Politik in drei statische Konfigurationen:
    • – auf der Ebene der ATM-Signalisierung enthält diese Konfiguration eine Beschreibung der Kommunikationen, die kontrolliert werden sollen. Jede Kommunikation wird von einem Satz von Informationselementen (IE) und von einer Aktion (Erlauben oder Verbieten) beschrieben. Diese Konfiguration wird an den Signalisierungsanalysator 4 geschickt:;
    • – auf der TCP/IP-Ebene weist die Konfiguration eine Beschreibung der Pakete auf, die kontrolliert werden sollen. Dieser Teil der Politik kann generisch sein, was bedeutet, dass die Regeln, die dort beschrieben sind, nicht einer besonderen ATM-Verbindung gewidmet sind. Dieser Teil kann auch durch den Ausdruck von Bedingungen, die sich auf Verbindungsidentifikatoren beziehen, mit einer ATM-Verbindung verknüpft sein;
    • – auf der Ebene der ATM-Zelle weist die Konfiguration eine Beschreibung der ATM-Zellen auf, die kontrolliert werden sollen. Diese Zellen sind gemäß den Feldern aufgeteilt, die sie enthalten können. Die Gesamtheit der Werte, die jedes Feld annehmen kann, wird durch einen Baum beschrieben. Diese Konfiguration wird an die IFT-Karten 20, 21 geschickt.
  • Der zweite Teil des Konfigurationsprozesses findet statt, wenn eine Verbindungsanforderung vom Signalisierungsanalysator 4 empfangen wird. Wenn der Zugriffskontrollprozess durchgeführt wurde, sendet der Signalisierungsanalysator 4 an die Verwaltung 7 die Informationen, die notwendig sind, um die dynamische Konfiguration der IFT-Karten 20, 21 durchzuführen. Die vom Signalisierungsanalysator 4 gelieferten Informationen enthalten:
    • – die Verbindungsidentifikatoren VPI und VCI ("Virtual Path Identifier", "Virtual Channel Identifier");
    • – die ATM-Adressen Quelle und Ziel;
    • – einen Dienstdeskriptor (Classical IP over ATM (CLIP), systemeigene ATM-Anwendungen). Wenn eine zusätzliche Schicht über dem ATM-Modell verwendet wird, liefert der Signalisierungsanalysator 4 ebenfalls die Verkapselung (mit oder ohne Kopfzeile SNAP/LLC);
    • – die Richtung der Kommunikation.
  • In einer CLIP-Umgebung verwendet die Verwaltung 7 die ATM-Adressen Quelle und Ziel, um die entsprechenden IP-Adressen zu finden. Diese Umsetzung erfolgt mittels einer Datei, die die Korrespondenzen zwischen IP- und ATM-Adressen beschreibt. Sie kann auch einen Adressenauflösungsserver (ATMARP) verwenden.
  • Die Verwaltung 7 versucht anschließend, eine Korrespondenz zwischen den IP-Adressen und den generischen Regeln der Zugriffskontrolle der Ebene TCP/IP zu finden. Die erhaltene Untergruppe von Regeln wird mit den IP-Adressen instanziiert und den anderen Informationen zugeordnet (Adressen, Verkapselung, Verbindungsidentifikatoren, Richtung). Dieser Satz von Informationen wird von der Verwaltung verwendet, um den Analysebaum zu konstruieren, der verwendet werden wird, um die IFT-Karten zu konfigurieren, und wird während der ganzen Dauer der Verbindung beibehalten. Beim Beenden der Verbindung empfängt die Verwaltung 7 ein Signal vom Signalisierungsanalysator 4, um ggf. die IFT-Karten 20, 21 neu zu konfigurieren, indem die Informationen bezüglich der Verbindung gelöscht werden. Die Verwaltung zerstört anschließend die der Verbindung zugeordneten Informationen.
  • Der Signalisierungsanalysator 4 beruht auf zwei Funktionen. Die erste ist die Umlenkung der vom internen und externen Netz kommenden Signalisierungsmitteilungen zu einem Filter, das zum Analysator 4 gehört. Die zweite ist die Fähigkeit, die Signalisierungsmitteilungen gemäß der Spezifikation UNI 3.1 des ATM-Forums ("ATM User-Network Interface Specification, Version 3.1", ATM Forum, Juli 1994) zu zerlegen und diese Mitteilungen abhängig von der von der Verwaltung 7 gelieferten Zugriffskontrollkonfiguration zu übertragen oder zu löschen.
  • Die Station 1 ist mit zwei ATM-Schnittstellenkarten 8, 9 versehen, die mit zwei Schnittstellen 12 bzw. 13 des Schalters 3 verbunden sind. Die anderen dargestellten Schnittstellen des Schalters 3 sind mit 10 (internes Netz), 11 (externes Netz), 14 und 15 (IFT-Karten 20 und 21) bezeichnet.
  • Um die Signalisierung umzulenken, ist der ATM-Schalter 3 so konfiguriert, dass er die Signalisierungsmitteilungen zur Station 1 lenkt. Diese Konfiguration kann erhalten werden durch Deaktivieren des Signalisierungsprotokolls an den Schnittstellen 10, 11, 12 und 13. Ein virtueller Kanal (VC) muss anschließend zwischen jedem Paar von Schnittstellen für jeden Signalisierungskanal konstruiert werden. Die Signalisierungskanäle werden zum Beispiel durch eine virtuelle Kanalkennung (VCI) gleich 5 gekennzeichnet.
  • Mit der vorhergehenden Konfiguration werden die vom externen Netz kommenden Signalisierungsmitteilungen zur Schnittstelle 13 der Station 1 gelenkt, während die vom internen Netz kommenden Mitteilungen zur Schnittstelle 12 gelenkt werden.
  • Wenn Signalisierungsmitteilungen vom Signalisierungsanalysator 4 empfangen werden, werden sie in Informationselemente gemäß der Spezifikation UNI 3.1 zerlegt. Die Informationselemente werden anschließend in Elementarinformationen wie die Adressen, die Verbindungsidentifikatoren, die Call-Reference, die Dienstqualitätsdeskriptoren und die Dienstidentifikatoren zerlegt. Der Analysator 4 sucht anschließend mittels des Typs der Mitteilung und der Call-Reference, ob die Mitteilung einer vorhandenen Verbindung zugeordnet werden kann. Wenn die Verbindung neu ist, wird ein Verbindungsdeskriptor konstruiert, der diese Informationen enthält. Wenn die Verbindung bereits besteht, wird der Verbindungsdeskriptor aktualisiert. Der Verbindungsdeskriptor ist dem Zustand der Verbindung und der Anfangs-Schnittstelle zugeordnet. Er wird durch einen Verbindungsidentifikator identifiziert. Der Deskriptor wird anschließend an das Filter des Signalisierungsanalysators 4 gesendet, um analysiert zu werden.
  • Wenn das Filter des Signalisierungsanalysators 4 einen Verbindungsdeskriptor empfängt, vergleicht es die die Verbindung beschreibenden Parameter mit der Gruppe der Kommunikationen, die von der Zugriffskontrollpolitik beschrieben wird. Wenn eine Entsprechung gefunden wird, wendet das Filter die der Kommunikation zugeordnete Aktion an. Im gegenteiligen Fall wendet es die Standard-Aktion an, die darin besteht, die Verbindung zu verbieten. Wenn die Aktion aus einem Verbot besteht, zerstört das Filter den Verbindungsdeskriptor. Im gegenteiligen Fall sendet es den Verbindungsdeskriptor an einen Konstruktionsmodul der Mitteilungen. Wenn der Verbindungsdeskriptor anzeigt, dass eine Mitteilung CONNECT empfangen wurde, wird eine Untergruppe der Parameter des Verbindungsdeskriptors wie nachfolgend angegeben an die Verwaltung 7 gesendet:
    • – die Verbindungsidentifikatoren VPI/VCI, die ausgehend von dem IE "Connection Identifier" erhalten werden;
    • – Die ATM-Adressen Quelle und Ziel, die von den IE "Called Party Identifier" und "Calling Party Identifier" geliefert werden;
    • – die Dienstdeskriptoren, die ausgehend von den IE "Broadband Higher Layer Identifier (BHLI)" und "Broadband Lower Layer Identifier (BLLI)" erhalten werden;
    • – die Richtung, geliefert vom Namen der dem Verbindungsdeskriptor zugeordneten Schnittstelle.
  • Wenn der Verbindungsdeskriptor den Empfang einer Mitteilung RELEASE_COMPLETE anzeigt, die die Freigabe einer Verbindung vollendet, wird der Verbindungsdeskriptor erneut zur Verwaltung 7 gesendet. Die Kommunikationen zwischen der Verwaltung 7 und dem Signalisierungsfilter können in klassischer Weise mit Hilfe eines gemeinsam genutzten Speichersegments und von Signalen erfolgen.
  • Die hier für die Anwendung der Erfindung in Betracht gezogenen IFT-Karten sind von dem in der europäischen Patentanmeldung EP 1 030 493 beschriebenen Typ, die am 9. Februar 2000 von der Anmelderin angemeldet und am 23. August 2000 veröffentlicht wurde. Sie basieren auf der Verwendung eines assoziativen Speichers vom Typ Trie für die Analyse von Teilen des Inhalts von ATM-Zellen, und für die Zuteilung einer Aktion zu jeder Zelle des gleichen Rahmens, die durch die Zugriffskontrollpolitik definiert wird. Diese Karten besitzen die folgenden bemerkenswerten Eigenschaften:
    • – sie ermöglichen die Analyse der ersten Zelle jedes AAL5-Rahmens ("ATM Adaptation Layer n° 5") und die Veränderung der entsprechenden Zellen in Abhängigkeit von der Analyse;
    • – sie können aufgrund eines schnellen und flexiblen Analyseverfahrens mit der Geschwindigkeit von 622 Mbits/s arbeiten;
    • – die durch die Analyse eingeführte Verzögerung kann begrenzt werden und hängt von der Konfiguration der Karte ab;
    • – sie können dynamisch konfiguriert werden, ohne den Analyseprozess zu unterbrechen;
    • – sie können in Einrichtungen vom Typ PC mit dem Betriebsprogramm Solaris integriert werden.
  • 2 beschreibt die Informationen, die von den IFT-Karten 20, 21 analysiert werden können für den Fall der Protokolle CLIP (CLIP1) und CLIP ohne Verkapselung SNRP-LLC (CLIP2). Die Felder UD und TD zeigen den Anfang der Datensegmente für die Protokolle UDP bzw. TCP an. Dies bedeutet, dass im allgemeinen Fall die IFT-Karten Zugriff auf die Informationen der ATM-, IP-, TCP-, UDP-Ebenen und in bestimmten Fallen der Anwendungsebene haben. Es ist aber anzumerken, dass die optionalen Felder, die sich im IP-Paket befinden können, nicht dargestellt sind. Das Vorhandensein dieser Felder (veränderlicher Länge) kann die Informationen der TCP- oder UDP-Ebene in die zweite ATM-Zelle verschieben.
  • Wie im Fall der Signalisierung besteht der erste Teil des Zugriffskontrollprozesses auf der Ebene der ATM-Zelle darin, den vom internen und vom externen Netz kommenden Verkehr zu den IFT-Karten 20, 21 umzulenken. In diesem Fall muss aber die Konfiguration die für die Kontrolle der Signalisierung hergestellte Konfiguration beibehalten. Zum Beispiel werden die durch einen Wert von VCI gleich 31 identifizierten virtuellen Kanäle absichtlich freigelassen, um es dem ATM-Schalter 3 zu ermöglichen, die ATM-Zellen zurückzuweisen, die zu einer Kommunikation gehören, die verboten werden soll. Der ATM-Schalter 3 wird dann so konfiguriert, dass ein virtueller Kanal für jeden Wert von VCI anders als 5 und als 31 zwischen jedem Schnittstellenpaar (10, 14) und (11, 15) erzeugt wird.
  • Die in Betracht gezogenen IFT-Karten ermöglichen nur die Analyse von unidirektionalen Strömen. Das heißt, dass die vom internen und vom externen Netz kommenden Ströme getrennt werden müssen. Dieser Vorgang ist besonders einfach im Fall einer physikalischen Schicht vom Typ Mono-Mode Fiber, die von den Karten verwendet wird, da die Sende- und Empfangsfasern physikalisch getrennt sind.
  • Der zweite Teil des Zugriffskontrollprozesses ist die Konfiguration der IFT-Karten 20, 21, damit sie den gewünschten Zugriffskontrolldienst liefern. Wie oben angegeben, wird diese Konfiguration von der Verwaltung 7 durchgeführt. Die IFT-Karten wurden ursprünglich konzipiert, um aus der Ferne von mehreren Verwaltungen verwaltet zu werden. Eine entsprechende Software 27 (Dämon RPC) wird dann in der Station 2 verwendet, um die Anforderungen zu serialisieren, die an die Steuerschaltung 28 (Driver) der Karten 20, 21 gerichtet werden. Auf der Seite der Verwaltung 7 bietet eine Programmbibliothek den Zugriff auf die Konfigurationsfunktionen. Diese Programmbibliothek setzt die lokalen Anrufe in Fernanrufe in der Station 2 um. Die Kommunikationen zwischen den beiden Einrichtungen erfolgen zum Beispiel über ein dediziertes Netz vom Typ Ethernet.
  • Die Konfiguration der Trie-Speicher der Karten 20, 21 beruht auf einer Beschreibung der zu kontrollierenden Kommunikationen in Form von Bäumen. Jeder Zweig des Baums beschreibt den codierten Wert einer Binärkette, zum Beispiel von 4 Bits, der während des Analyseprozesses gefunden werden kann. Dieser Prozess besteht darin, den zu analysierenden ATM-Zellenabschnitt in Scheiben von 4 aufeinander folgenden Bits zu durchlaufen, die dazu dienen, auf den Inhalt des Trie-Speichers zuzugreifen, der in jeder IFT-Karte enthalten ist. Ein Analysebaum, der ausgehend von einer von der Verwaltung 7 gelieferten Zugriffskontrollanweisung konstruiert wird, entspricht einer gegebenen Verkettung von Scheiben von 4 Bits, die beim Durchlaufen der ATM-Zelle an bestimmten Stellen gefunden werden. Die Wurzel des Baums entspricht einem "Portier", der erkannt wird, um die Analyse des Baums zu beginnen. Beispiele von Analysebäumen und von resultierenden Konfigurationen von Trie-Speichern von IFT-Karten werden nun vorgestellt.
  • Allgemein weist jede zu analysierende Stelle oder Feld eine durch die Abmessung des Felds festgelegte Anzahl von Bits auf, zum Beispiel 32 Bits. Ihre scheibenweise Analyse wird so durchgeführt, dass die Werte, die jede Scheibe annehmen kann, den Elementarzellen eines oder mehrerer Register des verwendeten Trie-Speichers entsprechen: Ein Quartett, das 24=16 Werte annehmen kann, ist insbesondere für einen Trie-Speicher geeignet, bei dem jedes Register 16 Elementarzellen enthält. Mehrere Register, sogar eine große Zahl von Registern, sind also für die Analyse eines Felds notwendig, je nach der Größe dieses Felds bezüglich der Anzahl von Elementarzellen eines Registers.
  • Die Analyse eines Felds enthält im Allgemeinen die Analysen einer großen Zahl von aufeinander folgend verketteten Bit-Scheiben bis zur Fortsetzung durch die Analyse eines anderen Felds des gleichen Rahmens, oder bis zum Erhalt einer dem analysierten Rahmen zugeordneten Aktion durch die Zugriffskontrollpolitik. Aus Gründen der Vereinfachung und der Klarheit der Darstellung der Erfindung, auch wenn dies nicht einer realen Situation entspricht, weisen die nachfolgend vorgestellten Beispiele je nur ein einziges Quartett für jedes Feld auf, auf das sich die Analyse bezieht. Aus den gleichen Gründen der Vereinfachung und der Klarheit sind die Anzahl von in Betracht gezogenen Regeln und die Anzahl von für die Analyse in Betracht gezogenen Felder stark reduziert, während eine reale Zugriffskontrollpolitik viele Zugriffsregeln enthalten kann, die sich auf eine größere Anzahl von Protokollkontrolle-Informationsfeldern beziehen.
  • Ein erstes Beispiel wird für zwei Felder x und y angegeben, die in ATM-Zellen gelesen werden, dargestellt durch Paare (x,y). Die in den Feldern x und y gelesenen Binärketten sind Quartette, die durch Hexadezimalzahlen dargestellt werden, die zwischen 0 und F liegen.
  • Die zwei betrachteten Regeln sind die folgenden:
    • – Regel Re1: wenn x ≥ 7 und 3 ≤ y ≤ 8, wird eine Aktion A1 durchgeführt;
    • – Regel Re2: wenn 2 ≤ x ≤ B und y ≥ 3, wird eine Aktion A2 durchgeführt.
  • Von der Regel Re1 wird angenommen, dass sie bezüglich der Regel Re2 prioritär ist, so dass die Aktion A1 alleine ausgeführt wird, wenn sie gleichzeitig mit der Aktion A2 einem gleichen Paar (x,y) jeweils von jeder Regel zugeteilt wird. Wenn die Bedingung keiner der zwei Regeln Re1 und Re2 von einem gegebenen Paar (x,y) erfüllt wird, dann wird diesem Paar eine Standard-Aktion O zugeteilt.
  • Die Aktionen A1, A2 und O können einfache Aktionen der Zurückweisung ("DENY") oder der Annahme ("PERMIT") der Rahmen sein. Sie können auch komplexeren Aktionen entsprechen, wie zum Beispiel der Fortsetzung der Zugriffskontrolle durch die Untersuchung anderer Parameter, wie erlaubte Domänen, die einem Empfänger des betrachteten Rahmens zugeteilt sind.
  • Die Aktion der Zurückweisung oder der Annahme wird mittels eines besonderen Knotens codiert, der das Ende der Analyse bewirkt und den Verbindungsidentifikator zurücksendet, der allen Zellen des entsprechenden AAL5-Rahmens zugeteilt werden wird. Die Aktion "DENY" wird codiert, indem der Rahmen zum nicht konfigurierten Kanal (VCI 31) auf der Ebene des Schalters 3 gelenkt wird. Der VCI 31 wird so als VCI-Papierkorb verwendet, um alle die ATM-Zellen wegzuwerfen, die nicht der Sicherheitspolitik entsprechen. Die Aktion "PERMIT" wird codiert, indem der Verbindungsidentifikator unverändert gelassen wird.
  • Die Gesamtheit der Zahlen, die in dem Feld x gelesen werden können, wird von den Regeln Re1 und Re2 gemäß den 4 folgenden Intervallen verteilt: x < 2, 2 ≤ x < 7, 7 < x ≤ B und x > B. Analog wird die Gesamtheit der Zahlen, die im Feld y gelesen werden können, gemäß den 3 folgenden Intervallen verteilt: y < 3, 3 ≤ y ≤ 8 und y > 8.
  • Ein Analysebaum, der aus der Anwendung der zwei Regeln Re1 und Re2 an die Paare (x,y) resultiert, ist in 3 dargestellt, indem zunächst der Wert von x und dann der Wert von y analysiert wird. Der Wurzelknoten 100 stellt den Ausgangspunkt der Analyse der Paare (x,y) dar. Drei Knoten 101, die je mit dem Wurzelknoten 100 über einen Bogen 130 verbunden sind, entsprechen Ergebnissen der Analyse des Werts von x bezüglich der 4 für x identifizierten Intervalle. Knoten 102 oder Blätter des Analysebaums, die mit den Knoten 101 über Bögen 131 verbunden sind, entsprechen je für die vorhergehenden Ergebnisse der Analyse des Werts von x den Ergebnissen der Analyse des Werts von y bezüglich der 3 für y identifizierten Intervalle. Für bestimmte Werte von x, zum Beispiel x < 2, erfordert die Analyse der Paare (x,y) keine Analyse des Werts von y, um die Aktion zu bestimmen, die durch die beiden Regeln Re1 und Re2 zugeteilt wird. In diesem Fall verbindet ein Bogen 131 direkt ein Blatt 102 mit dem Wurzelknoten 100. In anderen Fällen, 2 ≤ x < 7 und x > B, verwendet die Analyse des Werts von y nicht alle für y definierte Intervallgrenzen. Manche Intervalle, die für y definiert werden, können nämlich vereint werden, wenn sie jeweiligen gleichen Aktionen entsprechen, die von den zwei Regeln zugeteilt werden.
  • Zeilen 110 und 111 zeigen je die Blätter 102 an, für die die Aktion A2 und/oder die Aktion A1 von den Regeln Re2 und Re1 zugeteilt wird, getrennt betrachtet. Schließlich zeigt in Abhängigkeit von der Priorität dieser Aktionen eine Zeile 120 die Aktion AA an, die jedem Blatt 102 entspricht, das aus der Anwendung der zwei kombinierten Regeln Re1 und Re2 resultiert. So nimmt die Zeile 120 die Zeile 111 wieder auf, indem sie sie durch die Aktion A2 für diejenigen der Blätter 102 vervollständigt, für die die Zeile 110 die Aktion A2 zuteilt, während die Zeile 111 ihnen keine Aktion zuteilt. Außerdem teilt die Zeile 120 die Standard-Aktion O den Blättern 102 zu, die von keiner der zwei Zeilen 110 und 111 in Betracht gezogen werden.
  • Es wird ein Trie-Speicher verwendet, dessen aufeinander folgende Register RO, R1, R2,... alle sechzehn Elementarzellen enthalten. Ein Konfigurationsbeispiel dieses Trie-Speichers entsprechend dem Analysebaum der 3 ist wie folgt:
    Figure 00270001
  • In dieser Konfiguration des Trie-Speichers ist das "Portier"-Register RO der Analyse des Werts von x zugeordnet, und die Register R1, R2 und R3 sind der Analyse des Werts von y zugeordnet. RO ist also das Register, mit dem die Analyse jedes Paars (x,y) begonnen wird. Je nach dem Wert von x des analysierten Paars (x,y) leitet das Register R0 an eines der Register R1, R2 oder R3 für die Fortsetzung der Analyse zurück. Dieses letzte Register zeigt dann in Abhängigkeit vom Wert von y des analysierten Paars (x,y) die durchzuführende Aktion an, die dem Blatt 102 des Analysebaums zugeordnet ist, an dem der weg mündet, der den aufeinander folgenden Ergebnissen der Analysen von x und von y entspricht . Gemäß dieser Konfiguration sind 4 Trie-Speicher-Register notwendig, um die Analyse aller möglichen Paare (x,y) zu erlauben.
  • Indem zunächst der Wert y und dann der Wert x für die Anwendung der gleichen Regeln Re1 und Re2 analysiert wird, erhält man einen Analysebaum, wie er in 4 dargestellt ist. Gleiche Bezugszeichen in den 3 und 4 entsprechen gleichen Bedeutungen. In 4 entsprechen die Zwischenknoten 103 den Ergebnissen der Analyse des Werts von y, die zuerst durchgeführt wird, wenn die Analyse des Werts von x anschließend durchgeführt werden soll. Für jedes Zahlenpaar (x,y) zeigt dieser Baum das gleiche Anwendungsergebnis der Regeln Re1 und Re2 in Form der Aktion AA an, die von der Zeile 120 angezeigt wird.
  • Durch Anwendung der gleichen Methode wie oben für die Konfiguration des Trie-Speichers ausgehend vom Analysebaum der 4 erhält man:
    Figure 00280001
  • So ermöglicht es die erfindungsgemäße Klassifizierung der zwei Stellen x und y in diesem Beispiel, die Größe des Trie-Speichers, die notwendig ist, um die Anwendung der gleichen Verarbeitungsregeln durchzuführen, um ein Register zu reduzieren.
  • Ein zweites Beispiel betrifft einen Satz von Regeln, die an Tripletts von Zahlen (x,y,z) angewendet werden, wobei jede dieser Zahlen noch eine Hexadezimalzahl ist:
    • – Regel Re1: wenn x ≥ A und 3 ≤ z ≤ 8, dann wird eine Aktion A1 ausgeführt;
    • – Regel Re2: wenn x > 5 und 2 ≤ y ≤ 9 und z ≥ 6, dann wird eine Aktion A2 ausgeführt;
    • – Regel Re3: wenn 3 ≤ x ≤ C, dann wird eine Aktion A3 ausgeführt.
  • In diesem Beispiel ist die Prioritätsbeziehung zwischen den drei Regeln gleich: Re2 > Re1 > Re3. Nur die Aktion mit der höchsten Priorität unter den Aktionen, die von jeder der drei Regeln zugeteilt werden, wird noch schließlich jedem Triplett zugeordnet. Eine Standard-Aktion O wird noch einem Triplett (x,y,z) zugeordnet, das die Bedingungen keiner der drei Regeln erfüllt.
  • Diese drei Regeln definieren 5 Intervalle für das Feld x: x < 3 , 3 ≤ x ≤ 5, 5 < x < A, A ≤ x ≤ C, und x > C, 3 Intervalle für das Feld y: y < 2, 2 ≤ y ≤ 9 und y > 9, und 4 Intervalle für das Feld z: z < 3, 3 ≤ z < 6, 6 ≤ z ≤ 8 und z > 8.
  • 5 zeigt einen Analysebaum entsprechend den obigen drei Regeln Re1, Re2 und Re3, indem zunächst der Wert von x, dann der Wert von y und schließlich der Wert von z analysiert wird. Dieser Analysebaum wird in gleicher Weise konstruiert wie die Bäume der 3 und 4. Die Bezugszeichen 100 und 120 haben die bereits erwähnten Bedeutungen. Knoten 104 entsprechen den Ergebnissen der Analyse des Werts von x, die es nicht erlauben, direkt die von jeder Regel angezeigte Aktion zu bestimmen, nämlich 5 < x < A, A ≤ x ≤ C und x > C. In gleicher Weise entsprechen die Knoten 105 den Ergebnissen der Analyse des Werts von y, wenn die Analyse der Tripletts noch fortgesetzt werden muss durch die Analyse des Werts von z. Je nach den Wegen sind die Blätter 106 des Analysebaums über direkte Bögen mit den Knoten 100, 104 oder 105 verbunden.
  • Zeilen 112, 113 und 114 zeigen für jedes der Blätter 106 die Aktionen an, die je von jeder der drei Regeln angezeigt werden, die in der ansteigenden Prioritätsreihenfolge genommen werden. Eine Zeile 120 bezeichnet die End-Aktion, die jedem Triplett (x,y,z) in Abhängigkeit von der Priorität zwischen den von den drei Regeln angezeigten Aktionen zugeordnet wird.
  • Es wird zum Beispiel noch ein Trie-Speicher mit sechzehn Elementarzellen pro Register verwendet. In diesem Fall erfordert die Konfiguration des Trie-Speichers gemäß diesem ersten Analysebaum ebenso viele Register wie Knoten 100, 104 oder 105, d.h. insgesamt 9 Register.
  • Ein Beispiel einer Konfiguration dieses Trie-Speichers entsprechend dem Analysebaum der 5 ist wie folgt:
    Figure 00300001
  • In gleicher Weise stellt 6 einen den Regeln Re1, Re2 und Re3 entsprechenden Analysebaum dar, indem zunächst der Wert von y, dann der Wert von z und als letztes der Wert von x analysiert wird, entsprechend der ansteigenden Reihenfolge der Anzahl von Intervallen, die jeweils für x, y und z definiert werden. Zwei Zwischenknoten 107 entsprechen den Ergebnissen der Analyse der Werte von y, die zuerst durchgeführt wird, und sechs Zwischenknoten 108 den Ergebnissen der Analyse der Werte von z, die anschließend durchgeführt wird.
  • In diesem Analysebaum der 6 sind die Unterbäume, die den folgenden Ergebnissen der Analysen von y und dann z [(y < 2 oder y > 9) und (z < 3 oder z > 8)] einerseits und [2 ≤ y ≤ 9 und z < 3] andererseits entsprechen, homolog. Gleiches gilt für die Unterbäume [(y < 2 oder y > 9) und 3 ≤ z ≤ 8] einerseits und [2 ≤ y ≤ 9 und 3 ≤ z < 6] andererseits. Außerdem sind in 6 die Aktionen AA, die in Abhängigkeit von dem Wert von x gemäß der Zeile 120 für Werte von y und z derart zugeteilt werden, dass gilt [2 ≤ y ≤ 9 und 6 ≤ z ≤ 8] einerseits und [2 ≤ y ≤ 9 und z > 8] andererseits, identisch. Der Analysebaum der 7 entspricht dann demjenigen der 6, indem er die homologen Unterbäume zusammenfasst.
  • Die Konfiguration des Trie-Speichers gemäß diesem letzten Analysebaum erfordert ebenso viele Register wie Knoten 100, 107 oder 108, d.h. insgesamt 6 Register. So wurden 3 Trie-Speicher-Register im Vergleich mit der Konfiguration des vom Analysebaum der 5 stammenden Trie-Speichers eingespart. Ein Konfigurationsbeispiel des Trie-Speichers, das dem Analysebaum der 7 entspricht, ist wie folgt:
    Figure 00310001
  • 8 zeigt im Einzelnen die verschiedenen Schritte der Erzeugung eines neuen Bogens des Analysebaums gemäß der bevorzugten Anwendungsform des erfindungsgemäßen Verfahrens, die ausgehend von der Konstruktion des Analysebaums die Erzeugung von homologen Unterbäumen vermeidet. Es geht darum, den Ankunftspunkt eines neuen Bogens zu bestimmen, der von einem Knoten NP einer p-ten Stufe des Analysebaums stammt und einer bestimmten Domäne D für die der p-ten Stufe zugeordnete Stelle Ep zugeordnet ist.
  • Die beschriebene Methode wird wiederholt in jeder Stufe des Analysebaums angewendet, die gemäß der Reihenfolge der den Stufen zugeordneten Stellen genommen wird. Diese Methode generiert die Knoten des Analysebaums zur gleichen Zeit, zu der sie jedem erzeugten Knoten eine Untergruppe von Regeln zuteilt. So ist vor der Anwendung der vorliegenden Methode an den Knoten NP eine Untergruppe {Rj} von Regeln bereits diesem Knoten zugeordnet, wobei j eine ganze Nummerierungszahl ist.
  • Es wird angenommen, dass jede Regel Rj eine Aktion zuteilt, wenn für bestimmte. Stellen die an dieser Stelle gelesene Binärkette sich in einem Wertebereich befindet, der von dieser Regel spezifiziert wird. Diese Form der Regeln Rj entspricht derjenigen der vorhergehenden Beispiele.
  • In einer ersten Abfrage 200 werden diejenigen der Regeln Rj gesucht, von denen ein Bereich die Domäne D enthält, für die der zugeordnete Bogen gerade erzeugt wird. Wenn keine der Regeln Rj einen die Domäne D enthaltenden Bereich besitzt, ist der Ankunftspunkt des Bogens ein Blatt 102, 106, das der Aktion O zugeordnet ist, die standardmäßig gemäß dem Schritt 201 definiert wird.
  • Im positiven Fall besteht die zweite Abfrage 210 darin, unter den im Schritt 200 identifizierten Regeln Rj1 die Regeln Rj2 zu suchen, von denen mindestens ein Bereich in der Sortierreihenfolge der Stellen einer Stelle Eq nach der Stelle Ep entspricht. wenn keine der Regeln Rj1 einen Bereich entsprechend einer Stelle nach Ep besitzt, ist (Schritt 211) der Ankunftspunkt des Bogens ein Blatt 102, 106, das der Aktion der Regel zugeordnet ist, die unter den im Schritt 200 identifizierten Regeln Rj1 die höchste Priorität hat.
  • Wenn die Regeln Rj2 im Schritt 210 identifiziert werden, sucht man dann in einem Schritt 220 festzustellen, ob ein bereits in der Stufe (p+1) des Analysebaums erzeugter Knoten NP+1 der Untergruppe {Rj2} der identifizierten Regeln zugeordnet ist. Im positiven Fall ist dieser Knoten der Ankunftspunkt des neuen Bogens, der vom Knoten NP stammt (Schritt 222). Im negativen Fall wird ein neuer Knoten NP+1 in der Stufe (p+1) erzeugt und der Untergruppe {Rj2} von Regeln zugeordnet, die im Schritt 210 identifiziert wurden (Schritt 221).
  • Diese Analyse wird für jede der für die Stelle EP bestimmten Domänen D wiederholt, um den vom Knoten NP stammenden Bogen aufzubauen, der jeder von ihnen zugeordnet ist. Sie wird anschließend identisch für einen folgenden Knoten der p-ten Stufe des Analysebaums wiederholt, bis zur Erschöpfung der Knoten dieser Stufe. Schließlich wird sie noch für alle Knoten der folgenden Stufe (p+1) wiederholt, um die Konstruktion des Analysebaums fortzusetzen.
  • Diese Methode der Erzeugung von neuen Bögen wird für die Konstruktion eines vierten Baums angewendet, der den unter Bezugnahme auf 5 angegebenen Regeln entspricht. Wie für 6 sind die Stellen gemäß der erfindungsgemäßen Reihenfolge klassifiziert. Der resultierende Baum ist in 9 dargestellt.
  • Für jeden Knoten des Baums ist die Untergruppe von diesem Knoten zugeordneten Regeln {Rj2} angezeigt. Für die Blätter 106 zeigt die Zeile 121 die Regeln Rj1 an, die in Abhängigkeit von ihren relativen Prioritäten die Aktionen bestimmen, die diesen Blättern zugeordnet und durch die Zeile 120 angezeigt sind.
  • Die verschiedenen Konfigurationsbeispiele von Trie-Speichern, die ausführlich in dieser Patentanmeldung beschrieben wurden, zeigen den Vorteil des erfindungsgemäßen Verfahrens für die Konfiguration eines Trie-Speichers. Aufgrund der Klassifizierung der Stellen, ggf. kombiniert mit der Zusammenfassung der homologen Analyse-Unterbäume, ermöglicht dieses Verfahren die Reduzierung der Anzahl von notwendigen Registern eines Trie-Speichers, der verwendet wird, um ATM-Zellen Aktionen zuzuordnen, die von festgelegten Regeln bezeichnet werden. Die in den beschriebenen Beispielen erhaltenen Reduzierungen sind mit der Einfachheit dieser Beispiele verbunden. Für reale Zugriffskontrollpolitiken können die durch Anwendung der gleichen Prinzipien erhaltenen Reduzierungen je nachdem in Abhängigkeit von der Anzahl von Regeln, der Anzahl und der Größe der betrachteten Felder und der den Feldern zugeordneten Elementarintervalle konsequent sein.
  • In der Praxis wird die Konfiguration des erfindungsgemäßen Trie-Speichers im Lauf des Einführens neuer Regeln oder des Löschens von Regeln auf der Ebene der Zugriffskontrollverwaltung durchgeführt. Diese Verwaltung enthält einen Kompilierungsmodul, der die Analysebäume in Abhängigkeit von den Aktualisierungen der eingeführten Regeln konstruiert und verändert, ehe er die vorhandene Konfiguration des Trie-Speichers verändert.

Claims (16)

  1. Verfahren zur Konfiguration eines assoziativen Speichers vom Typ Trie zur Verarbeitung von Datenpaketen in Abhängigkeit von einem Satz von Regeln, wobei der Trie-Speicher für die Analyse von Binärketten verwendet wird, die sich an bestimmten Stellen jedes Datenpakets befinden, wobei jede Regel einem Paket in Abhängigkeit von den Werten der Binärketten eine Aktion (110-114) zuteilt, wobei der Trie-Speicher Register aufweist, die aus einer bestimmten Anzahl von Elementarzellen zusammengesetzt sind, um entsprechende Referenzen zu empfangen, wobei das Verfahren die folgenden Schritte aufweist: a- für jede der Stellen werden aufeinander folgende Elementarintervalle definiert, die Binärkettenwerte umfassen, die an der Stelle auftreten können, wobei jedes Elementarintervall so ist, dass die von jeder der Regeln zugeteilte Aktion (110-114) innerhalb des Elementarintervalls nicht durch eine Veränderung des Werts der Binärkette, die sich an der Stelle in einem verarbeiteten Paket befindet, verändert wird; b- die für jede Stelle definierten Elementarintervalle werden gezählt, und die Stellen werden in einer derartigen Reihenfolge sortiert, dass die Stelle, für die die größte Anzahl von Elementarintervallen definiert wurde, als letzte angeordnet wird; c- der Satz von Regeln wird in einen Paketanalysebaum umgesetzt, der Knoten (100, 101, 103-105, 107, 108) aufweist, die in aufeinander folgenden Stufen verteilt sind, die den in der besagten Reihenfolge berücksichtigten Stellen zugeordnet sind, sowie Bögen (130, 131) und Blätter (102, 106) aufweist, die den Regeln zuteilbaren Aktionen (120) entsprechen, wobei die erste Stufe des Baums einen einzigen Knoten (100) aufweist, der Wurzel des Analysebaums genannt wird, wobei jeder Bogen einen Anfangsknoten, der einer Stelle zugeordnet ist, und einen Ankunftspunkt hat, der entweder aus einem Knoten der auf die Stufe des Anfangsknotens folgenden Stufe oder aus einem Blatt besteht, und jeder Bogen einer Domäne von Binärkettenwerten zugeordnet ist, die an der Stelle möglich sind, wobei der Analysebaum Wege definiert, die je aus einer Folge von n Bögen (130, 131) bestehen, wobei n eine ganze Zahl mindestens gleich 1 ist und wobei der erste Bogen der Folge als Anfangsknoten die Wurzel des Analysebaums hat, wobei der Ankunftspunkt jedes anderen Bogens eines Wegs als der letzte Bogen der Anfangsknoten des folgenden Bogens des Wegs ist, und der Ankunftspunkt des letzten Bogens des Wegs ein Blatt (102, 106) ist, das einer Aktion entspricht, die gemäß dem Satz von Regeln jedem Paket zugeteilt ist, das an den den Stufen der Anfangspunkte der n Bögen des Wegs zugeordneten n Stellen Binärkettenwerte hat, die unter die n Domänen fallen, die den Bögen zugeordnet sind; d- eine Gruppe von Registern des Trie-Speichers einschließlich eines "Portier"-Registers wird jedem Knoten (100, 101, 103-105, 107, 108) des Analysebaums zugewiesen, der zu einer einer Stelle zugeordneten Stufe gehört, und in den Zellen der Gruppe von Registern werden derartige Referenzen gespeichert, dass man, wenn man ausgehend vom "Portier"-Register den Binärkettenwert analysiert, der an der Stelle in einem Paket enthalten ist, eine Endreferenz erhält, die davon abhängt, welche Domäne unter den den Bögen, die den Knoten als Anfangsknoten haben, zugeordneten Wertedomänen den Wert enthält, und derart, dass: wenn der Bogen (131), der der den Wert enthaltenden Domäne zugeordnet ist, als Ankunftspunkt ein Blatt (102, 106) hat, das einer Aktion (120) entspricht, die Endreferenz die Aktion als dem Paket zugeteilt bezeichnet; und wenn der Bogen (130), der der den Wert enthaltenden Domäne zugeordnet ist, einen anderen Knoten (101, 103-105, 107, 108) der folgenden Stufe als Ankunftspunkt hat, die Endreferenz den anderen Knoten bezeichnet, um fortzufahren mit der Analyse des Binärkettenwerts, der in dem Paket an der Stelle enthalten ist, die der folgenden Stufe zugeordnet ist.
  2. Verfahren nach Anspruch 1, bei dem im Schritt b die Stellen in der Reihenfolge der steigenden Anzahlen von Elementarintervallen sortiert werden.
  3. Verfahren nach Anspruch 1 oder 2, gemäß dem die für jede Stelle definierten Elementarintervalle Intervallgrenzen aufweisen, und gemäß dem jede Intervallgrenze der Änderung einer Aktion (110-114) entspricht, die durch mindestens eine Regel zuteilbar ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Umsetzung aller Regeln so ist, dass mindestens ein Knoten des Analysebaums der Ankunftspunkt mehrerer Bögen ist, die von unterschiedlichen Anfangsknoten der vorhergehenden Stufe stammen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem ein Unterbaum jedem Knoten des Analysebaums zugeordnet ist, der nicht die Wurzel des Analysebaums ist, wobei der Unterbaum eine Wurzel hat, die vom Knoten gebildet wird, und aus Knoten, Bögen und Blättern zusammengesetzt ist, die ausgehend vom Knoten entlang der verschiedenen durch den Knoten verlaufenden Wege angetroffen werden, und bei dem die Umsetzung des Satzes von Regeln so vorgenommen wird, dass der Analysebaum keine ersten und zweiten Unterbäume aufweist, die unterschiedliche Wurzeln haben und so sind, dass man ihre Knoten, ihre Bögen und ihre Blätter paaren kann, so dass jeder Knoten des ersten Unterbaums mit einem Knoten des zweiten Unterbaums gepaart ist, der zur gleichen Stufe gehört, dass jedes Blatt des ersten Unterbaums mit einem Blatt des zweiten Unterbaums gepaart ist, der einer gleichen Aktion entspricht, und dass zwei gepaarte Bögen des ersten und des zweiten Unterbaums gepaarte Anfangsknoten und gepaarte Ankunftspunkte haben und der gleichen Wertedomäne zugeordnet sind.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem jede Regel des Satzes von einer Aktion und von Wertebereichen definiert wird, die je zumindest bestimmten der Stellen entsprechen, und die Aktion den Paketen zuteilt, die an den Stellen Binärkettenwerte haben, die in die jeweiligen Bereiche fallen.
  7. Verfahren nach Anspruch 6, bei dem jedem Knoten einer (p+1)-ten Stufe des Analysebaums eine Untergruppe von Regeln zugeordnet wird, wobei p eine ganze Zahl größer als 0 ist, wobei die Untergruppe aus solchen Regeln des Satzes zusammengesetzt ist, dass jeder Wertebereich, der einer Stelle entspricht, die einer der ersten p Stufen des Baums zugeordnet ist, eine nicht leere Überlappung mit der Wertedomäne hat, die dem Bogen jedes Wegs zugeordnet ist, der durch den Knoten verläuft und dessen Anfangsknoten sich in dieser Stufe befindet.
  8. Verfahren nach Anspruch 7, bei dem dem Wurzelknoten eine Untergruppe zugeordnet wird, die aus dem Satz von Regeln besteht, und bei dem die Umsetzung aller Regeln die folgenden Schritte für jeden Knoten der p-ten Stufe enthält, der einer ersten Untergruppe von Regeln zugeordnet ist: – Bestimmung der Wertedomänen, die Binärkettenwerte abdecken, die an der p-ten Stelle gemäß der Reihenfolge auftreten können, wobei jede Domäne so ist, dass die von jeder der Regeln der ersten Untergruppe zugeteilte Aktion nicht innerhalb der Domäne durch einer Veränderung des Werts der Binärkette, die sich an der p-ten Stelle in einem verarbeiteten Paket befindet, verändert wird; und – für jede der Wertedomänen: – Erzeugung eines der Domäne zugeordneten Bogens, der den Knoten der p-ten Stufe als Anfangsknoten hat; – Erfassung jeder Regel der ersten Untergruppe, die durch mindestens einen Wertebereich definiert wird, der die Domäne enthält; – wenn gar keine Regel erfasst wird, Zuteilung eines Blatts des Baums entsprechend einer Standardaktion als Ankunftspunkt des Bogens; – wenn für jede erfasste Regel kein Wertebereich einer beliebigen der Stellen nach der p-ten Stelle nach der Reihenfolge entspricht, Zuteilung eines Blatts des Baums entsprechend einer Aktion einer erfassten Regel als Ankunftspunkt des Bogens; – wenn für mindestens eine erfasste Regel ein Wertebereich einer der Stellen gemäß der p-ten Stelle in der Reihenfolge entspricht, Zuteilung eines Knotens der (p+1)-ten Stufe des Baums als Ankunftspunkt des Bogens, wobei der Knoten der (p+1)-ten Stufe einer zweiten Untergruppe zugeordnet ist, die aus den erfassten Regeln der ersten Untergruppe besteht.
  9. Verfahren nach Anspruch 8, bei dem den Regeln des Satzes jeweils Prioritäten zugewiesen werden, und bei dem, wenn mehrere Regeln erfasst werden und keiner ihrer Wertebereiche einer der Stellen nach der p-ten Stelle entspricht, die Aktion, die dem Blatt des Baums entspricht, das dem Bogen zugeteilt ist, diejenige einer der erfassten Regeln ist, die auf der Basis der zugewiesenen Prioritäten ausgewählt wird.
  10. Verfahren nach Anspruch 8 oder 9, bei dem die folgenden Schritte durchgeführt werden, wenn mindestens eine Regel erfasst wurde, die einen Wertebereich hat, der einer der Stellen nach der p-ten Stelle entspricht: – Suche, ob bereits ein Knoten der (p+1)-ten Stufe des Baums erzeugt wurde, der der zweiten Untergruppe zugeordnet ist; – wenn die Suche fehlschlägt, Erzeugung eines solchen Knotens in der (p+1)-ten Stufe; – wenn die Suche einen Knoten der (p+1)-ten Stufe identifiziert, Zuteilung des identifizierten Knotens als Ankunftspunkt des Bogens.
  11. Vorrichtung zur Verarbeitung von Datenpaketen, die einen assoziativen Speicher vom Typ Trie und einen Kontroller aufweist, der ausgelegt ist, um ein Verfahren zur Konfiguration des Trie-Speichers nach einem der vorhergehenden Ansprüche durchzuführen.
  12. Vorrichtung nach Anspruch 11, bei der die Datenpakete ATM-Zellen sind, die AAL-5-Rahmen tragen.
  13. Vorrichtung nach Anspruch 11, bei der die Datenpakete IP-Pakete sind.
  14. Vorrichtung nach einem der Ansprüche 11 bis 13, die ausgelegt ist für den Transport von Datenpaketen über ein Kommunikationsnetz in Abhängigkeit von Transportregeln, die auf die Pakete angewendet werden.
  15. Vorrichtung nach einem der Ansprüche 11 bis 13, die ausgelegt ist für die Überwachung des Zugangs von Datenpaketen zu einem Kommunikationsnetz in Abhängigkeit von Zugangskontrollregeln zu diesem Netz, die an die Pakete angewendet werden.
  16. Vorrichtung nach einem der Ansprüche 11 bis 13, die ausgelegt ist für die Erfassung von Informationen betreffend Datenpakete, die von einem Kommunikationsnetz übertragen werden.
DE60309611T 2002-02-12 2003-01-31 Verfahren und Vorrichtung zur Verarbeitung von Datenpaketen Expired - Lifetime DE60309611T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0201705 2002-02-12
FR0201705A FR2835991B1 (fr) 2002-02-12 2002-02-12 Procede de configuration d'une memoire trie pour le traitement de paquets de donnees, et dispositif de traitement de paquets mettant en oeuvre un tel procede

Publications (2)

Publication Number Publication Date
DE60309611D1 DE60309611D1 (de) 2006-12-28
DE60309611T2 true DE60309611T2 (de) 2007-09-06

Family

ID=27589623

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60309611T Expired - Lifetime DE60309611T2 (de) 2002-02-12 2003-01-31 Verfahren und Vorrichtung zur Verarbeitung von Datenpaketen

Country Status (7)

Country Link
US (1) US7023859B2 (de)
EP (1) EP1335565B1 (de)
AT (1) ATE345634T1 (de)
CA (1) CA2373331A1 (de)
DE (1) DE60309611T2 (de)
ES (1) ES2276021T3 (de)
FR (1) FR2835991B1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2812491B1 (fr) * 2000-07-25 2003-01-10 France Telecom Dispositif de controle d'acces entre des reseaux atm
US7899067B2 (en) * 2002-05-31 2011-03-01 Cisco Technology, Inc. Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match
US7508825B2 (en) * 2002-08-05 2009-03-24 Intel Corporation Data packet classification
JP4610240B2 (ja) * 2004-06-24 2011-01-12 富士通株式会社 分析プログラム、分析方法及び分析装置
US7281642B2 (en) * 2004-09-16 2007-10-16 Prime Time Toys, Ltd. Squirting toy
US20060288024A1 (en) * 2005-04-28 2006-12-21 Freescale Semiconductor Incorporated Compressed representations of tries
US7804774B2 (en) * 2006-12-01 2010-09-28 Sonus Networks, Inc. Scalable filtering and policing mechanism for protecting user traffic in a network
US7940657B2 (en) 2006-12-01 2011-05-10 Sonus Networks, Inc. Identifying attackers on a network
US7672336B2 (en) * 2006-12-01 2010-03-02 Sonus Networks, Inc. Filtering and policing for defending against denial of service attacks on a network
USD621449S1 (en) 2009-08-31 2010-08-10 Easeon Services, Ltd. Squirting toy with animal head
USD621451S1 (en) 2009-08-31 2010-08-10 Easeon Services, Ltd. Squirting toy with animal head
USD621452S1 (en) 2009-09-02 2010-08-10 Easeon Services, Ltd. Squirting toy with handle
US8732207B2 (en) 2012-07-02 2014-05-20 International Business Machines Corporation Attribute-based linked tries for rule evaluation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU620994B2 (en) * 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
FR2789778B1 (fr) * 1999-02-12 2001-09-14 France Telecom Procede pour associer des references d'acheminement a des paquets de donnees au moyen d'une memoire trie, et routeur de paquets appliquant ce procede
EP1128608B1 (de) * 2000-01-27 2006-03-01 International Business Machines Corporation Verfahren und Vorrichtung für Klassifizierung von Datenpaketen
FR2812491B1 (fr) 2000-07-25 2003-01-10 France Telecom Dispositif de controle d'acces entre des reseaux atm

Also Published As

Publication number Publication date
EP1335565A2 (de) 2003-08-13
US20030156590A1 (en) 2003-08-21
ES2276021T3 (es) 2007-06-16
EP1335565B1 (de) 2006-11-15
DE60309611D1 (de) 2006-12-28
FR2835991A1 (fr) 2003-08-15
CA2373331A1 (en) 2003-08-12
EP1335565A3 (de) 2005-10-05
ATE345634T1 (de) 2006-12-15
FR2835991B1 (fr) 2004-04-23
US7023859B2 (en) 2006-04-04

Similar Documents

Publication Publication Date Title
DE69926109T2 (de) Paketversendegerät mit einer Flussnachweistabelle
DE60026229T2 (de) Verfahren und Vorrichtung für Klassifizierung von Datenpaketen
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE60309611T2 (de) Verfahren und Vorrichtung zur Verarbeitung von Datenpaketen
DE69924057T2 (de) Verfahren, Ablauffolgesteuerung, intelligenter Pufferspeicher, Prozessor und Telekommunikationssystem zum Verteilen verfügbahrer Bandbreite
DE60031468T2 (de) Paketkommunikationssystem mit QoS-Steuerungsfunktion
DE60120790T2 (de) Methode und gerät zum durchsuchen von tabellen in hoher geschwindigkeit
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE69829645T2 (de) Verfahren zur Änderung von dynamischen Entscheidungsbäume
DE69233588T2 (de) ATM-Vermittlungsanordnung
DE10297269B4 (de) Kennzeichnung von Paketen mit einem Nachschlageschlüssel zur leichteren Verwendung eines gemeinsamen Paketweiterleitungs-Cache
DE60120847T2 (de) Mehrprotokollvermittler und Verfahren dazu
DE60109972T2 (de) Prioirtätsauswahlverfahren für ein Datenkommunikationsschalter
DE60110760T2 (de) Auslese-ablaufsteuerung für nicht aufeinander-folgende daten
DE69717455T2 (de) Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE19929516B4 (de) Hochgeschwindigkeits-Netzwerkschalter
DE602004005785T2 (de) Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk
DE2910241A1 (de) Verfahren zur sortierung von informationen in einem uebertragungsnetz fuer numerische daten und anordnung zur durchfuehrung des verfahrens
EP0419959B1 (de) Schaltungsanordnung zum Überprüfen der Einhaltung festgelegter Übertragungsbitraten bei der Übertragung von Nachrichtenzellen
DE60109038T2 (de) Zugangskontrolleinrichtung zwischen atm-netzen
DE102007038964A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Netzwerkdaten
DE69833497T2 (de) Zusammenfügen von virtuellen pfaden in einem mehrpunkt-zu-punkt-netzwerk-tunnel-protokoll
DE69932892T2 (de) System zur Konsolidierung von Telekommunikationsverkehr
EP0523276B1 (de) Verfahren und Schaltungsanordnung zum Einrichten von virtuellen Verbindungen über ein ATM-Verbindungsleitungsbündel

Legal Events

Date Code Title Description
8364 No opposition during term of opposition