DE102004052417B4 - Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk - Google Patents

Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk Download PDF

Info

Publication number
DE102004052417B4
DE102004052417B4 DE102004052417A DE102004052417A DE102004052417B4 DE 102004052417 B4 DE102004052417 B4 DE 102004052417B4 DE 102004052417 A DE102004052417 A DE 102004052417A DE 102004052417 A DE102004052417 A DE 102004052417A DE 102004052417 B4 DE102004052417 B4 DE 102004052417B4
Authority
DE
Germany
Prior art keywords
key
data
memory
coded
sub
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.)
Active
Application number
DE102004052417A
Other languages
English (en)
Other versions
DE102004052417A1 (de
Inventor
Jinan Lin
Sankamarayan Jagannathan
Xiaoning Nie
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.)
Intel Corp
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 DE102004052417A priority Critical patent/DE102004052417B4/de
Priority to US11/259,957 priority patent/US7457294B2/en
Publication of DE102004052417A1 publication Critical patent/DE102004052417A1/de
Application granted granted Critical
Publication of DE102004052417B4 publication Critical patent/DE102004052417B4/de
Active 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

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

Abstract

Schaltung (1) zur Weiterleitung von Datenpaketen (P), welche jeweils eine Zieladresse aufweisen, in einem Netzwerk, mit:
– einem Datenspeicher (2) zum Speichern sämtlicher durch ein bestimmtes Kodierverfahren codierter Adressen (a) des Netzwerkes in Abhängigkeit ihrer jeweiligen Schlüsselbitbreite (B2) in genau einem von T Unterdatenspeichern (2t) des Datenspeichers (2), wobei jeweils der t-te Unterdatenspeicher (2t), mit t∊[1, ...,T], in Blöcke (V1) von jeweils D Datenelementen (3) identischer Datenelementbitbreite (B1) unterteilt ist, wobei D das kleinste gemeinsame Vielfache von t∊[1, ..., T] ist; und mit
– einer Steuereinrichtung (4), welche Datenpakete (P) empfängt, die in dem jeweiligen empfangenen Datenpaket (P) enthaltene Zieladresse mittels des bestimmten Kodierverfahrens zu einem Schlüssel (k') codiert und den codierten Schlüssel (k') abhängig von seiner Schlüsselbitbreite (B2) jeweils blockweise mit den gespeicherten, codierten Adressen (a) des entsprechenden Unterdatenspeichers (2t) vergleicht, um das jeweilige Datenpaket (P) über einen Ausgang (O) an die Zieladresse weiterzuleiten, deren zugehörige codierte...

Description

  • Die Erfindung betrifft eine Schaltung und ein Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk.
  • Bei der Weiterleitung von Datenpaketen in einem Netzwerk, insbesondere in einem IP-Netzwerk, ist es eine wichtige und auch kritischste Funktionalität des eingesetzten Routers bzw. IP-Netzwerk-Routers, herausfinden, über welchen Ausgangsport ein empfangenes Datenpaket weiterzuleiten ist, so dass es schließlich seine Zieladresse erreicht. Dazu wird die in dem empfangenen Datenpaket enthaltene Zieladresse zum Vergleich mit den in einer Nachschlagtabelle (look-up table) des Routers gespeicherten Zieladressen verwendet. Jede in der Nachschlagtabelle gespeicherte Zieladresse ist mit einem Ausgangsport des Routers verknüpft, so dass bei einem positiven Vergleich das Datenpaket über den Ausgangsport weitergeleitet wird, der gerade mit der entsprechenden, den positiven Vergleich auslösenden Zieladresse verknüpft ist. Nachteiligerweise ist für die Zieladressen des Netzwerkes, welche in der Nachschlagtabelle gespeichert werden müssen, ein großer und kostenintensiver Speicherplatz vorzusehen. Des Weiteren benötigt das Vergleichen der Zieladresse des empfangenen Datenpakets mit jeder in der Nachschlagtabelle gespeicherten Zieladresse einen hohen Zeit- und Rechenaufwand.
  • Die Druckschrift EP 1 394 999 A1 beschreibt ein Verfahren zur Komprimierung der Zieladressen, welche in der Nachschlagtabelle bzw. dem Speicher des Routers zu speichern sind. Die Zieladressen werden beispielsweise mittels des Huffman-Algorithmus verlustlos zu codierten Schlüsseln komprimiert. Damit ist der Speicherplatzbedarf für die zu speichernden, codierten Schlüssel gegenüber zu speichernden Zieladressen deutlich verringert. Weiter besteht aber das Problem, dass die kompri mierten Schlüssel aufgrund der Huffman-Codierung nicht gleich lang sind, d. h. keine konstante Schlüsselbitbreite aufweisen. Die nicht konstante Schlüsselbitbreite der zu speichernden, codierten Schlüssel wirkt sich in Problemen bei der Speicherorganisation aus. Nachdem codierte Schlüssel mit einer relativ kurzen Bitbreite aufgrund des eingesetzten Huffman-Algorithmus häufiger auftreten als codierte Schlüssel mit längeren Bitbreiten, ist der Satz an Komparatoren, der aber aufgrund der vorkommenden codierten Schlüssel mit längeren Bitbreiten vorhanden sein muss, nur in den seltensten Fällen völlig ausgelastet. Dies führt zu einer Verringerung des möglichen Durchsatzes beim Adressenvergleich.
  • Aus der Druckschrift US 5 915 097 A ist ein Verfahren und eine Vorrichtung für das Speichern von Daten und das Suchen in der Adresstabelle einer Ethernet-Switch-Einheit bekannt. Die Ethernet-Switch-Einheit umfasst einen zentralen Switch und eine Anzahl von Port-Verbindern, die jeweils einen Port, einen Router, eine Adresstabelle und eine Media Access Control aufweisen. Der Router umfasst ein Zieladressen-Register, das Adressinformationen von der Media Access Control empfängt und diese in mehrere Adresssektionen teilt, welche wiederum an einen Multiplexer weitergeleitet werden. Die Ausgangsdaten des Multiplexers werden mit den in der Adresstabelle gespeicherten Eintragungen verglichen. Wird eine Übereinstimmung gefunden wird der Switch mit dem entsprechenden Port verbunden.
  • Die Aufgabe der vorliegenden Erfindung besteht daher darin, eine kostengünstigere und schnellere Weiterleitung von Datenpaketen in einem Netzwerk bereitzustellen.
  • Erfindungsgemäß wird die gestellte Aufgabe durch eine Schaltung mit den Merkmalen des Patentanspruchs 1 sowie durch ein Verfahren mit den Merkmalen des Patentanspruchs 16 gelöst. Demgemäß sind vorgesehen:
    Erfindungsgemäß ist eine Schaltung zur Weiterleitung von Datenpaketen, welche jeweils eine Zieladresse aufweisen, in einem Netzwerk vorgesehen, wobei die Schaltung aufweist:
    • – einen Datenspeicher zum Speichern sämtlicher durch ein bestimmtes Kodierverfahren codierter Adressen des Netzwerkes in Abhängigkeit ihrer jeweiligen Schlüsselbitbreite in genau einem von T Unterdatenspeichern des Datenspeichers, wobei jeweils der t-te Unterdatenspeicher (2t), mit t∊[1, ..., T], in Blöcke von jeweils D Datenelementen identischer Datenelementbitbreite unterteilt ist, wobei D das kleinste gemeinsame Vielfache von t∊[1, ...‚ T] ist;
    • – eine Steuereinrichtung, welche Datenpakete empfängt, die in dem jeweiligen empfangenen Datenpaket enthaltene Zieladresse mittels des bestimmten Kodierverfahrens zu einem Schlüssel codiert und den codierten Schlüssel abhängig von seiner Schlüsselbitbreite jeweils blockweise mit den gespeicherten, codierten Adressen des entsprechenden Unterdatenspeichers vergleicht, um das jeweilige Datenpaket über einen Ausgang an die Zieladresse weiterzuleiten, deren zugehörige codierte Adresse mit dem codierten Schlüssel des empfangenen Datenpakets übereinstimmt.
  • Weiter ist erfindungsgemäß ein Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk vorgesehen, wobei das Verfahren folgende Verfahrensschritte aufweist:
    • a) Speichern sämtlicher Zieladressen des Netzwerkes als mittels eines bestimmten Kodierverfahrens codierte Adressen abhängig von ihrer jeweiligen Schlüsselbitbreite jeweils in genau einem von T Unterdatenspeichern eines Datenspeichers, wobei jeweils der t-te Unterdatenspeicher (2t), mit t ∊ [1, T] in Blöcke von D Datenelementen identischer Datenelementbitbreite unterteilt wird, wobei D das kleinste gemeinsame Vielfache von T ist;
    • b) Empfangen eines Datenpakets;
    • c) Extrahieren einer Zieladresse aus dem empfangenen Datenpaket;
    • d) Codieren der Zieladresse des empfangenen Datenpakets zu einem codierten Schlüssel mittels des bestimmten Kodierverfahrens;
    • e) jeweils blockweises Vergleichen des codierten Schlüssels des empfangenen Datenpakets abhängig von seiner Schlüsselbitbreite mit den gespeicherten, codierten Adressen des entsprechenden Unterdatenspeichers und;
    • f) Weiterleiten des Datenpakets über einen Ausgang an die Zieladresse, deren zugehörige codierte Adresse mit dem codierten Schlüssel des empfangenen Datenpakets übereinstimmt.
  • Vorteilhafterweise wird durch das Vorsehen der entsprechenden Unterdatenspeicher für die entsprechenden codierten Schlüssel für verschiedene Schlüsse bitbreiten die Speicherorganisation des Datenspeichers deutlich verbessert. Dadurch wird der Bedarf an Speicherplatz deutlich verringert, was Kosten einspart. Außerdem wird ein codierter Schlüssel eines empfan genen Datenpakets nur mit den codierten Adressen des entsprechenden Unterdatenspeichers verglichen, in welchem ausschließlich codierte Adressen gespeichert sind, deren Schlüsselbitbreite der Schlüsselbitbreite des codierten Schlüssels entspricht. Damit reduziert sich der Vergleich ausschließlich auf die codierten Adressen in dem entsprechenden Unterdatenspeicher. Somit wird das Weiterleiten des Datenpaketes aufgrund des reduzierten Vergleichens deutlich schneller. Aufgrund des jeweils blockweisen Vergleichens des codierten Schlüssels des empfangenen Datenpakets mit den gespeicherten, codierten Adressen des entsprechenden Unterdatenspeichers erhöht sich der Durchsatz des Adressenvergleichens, was zu einer schnelleren Weiterleitung der empfangenen Datenpakete führt. Das gilt insbesondere für codierte Schlüssel mit einer kurzen Schlüsselbitbreite.
  • Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen sowie der Beschreibung unter Bezugnahme auf die Zeichnungen.
  • Gemäß einer bevorzugten Weiterbildung der Erfindung ist jeweils der t-te Unterdatenspeicher mit t∊[1, ..., T] in S Speicherblöcke unterteilt und jeweils der Speicherblock des entsprechenden t-ten Unterdatenspeichers ist durch t Datenelemente ausgebildet, wobei sämtliche Zieladressen des Netzwerkes als codierte Adressen abhängig von ihrer Schlüsselbitbreite jeweils in genau einem Speicherblock des entsprechenden Unterdatenspeichers gespeichert sind. Vorteilhafterweise wird dann ein codierter Schlüssel eines empfangenen Datenpakets in Abhängigkeit von seiner Schlüsselbitbreite nur mit den codierten Adressen verglichen, welche in dem entsprechenden t-ten Unterdatenspeicher gespeichert sind. Somit wird der Rechenaufwand für das Adressenvergleichen deutlich verringert und Zeit eingespart.
  • Gemäß einer weiteren bevorzugten Weiterbildung weisen alle T Unterdatenspeicher eine identische Unterdatenspeicher bitbreite auf. Vorteilhafterweise wird dadurch die Speicherorganisation des Datenspeichers vereinfacht und verbessert.
  • Gemäß einer weiteren bevorzugten Weiterbildung ist die Anzahl S der Speicherblöcke des jeweiligen t-ten Unterdatenspeichers der Quotient aus der Anzahl D der Datenelemente des Unterdatenspeichers und t.
  • Gemäß einer weiteren bevorzugten Weiterbildung setzt die Schaltung als bestimmten Kodieralgorithmus einen verlustlosen Komprimieralgorithmus ein.
  • Gemäß einer weiteren bevorzugten Weiterbildung verwendet die Schaltung als verlustlosen Komprimieralgorithmus einen Huffman-Algorithmus, einen arithmetischen Algorithmus oder einen Lempel-Ziv-Algorithmus. Vorteilhafterweise werden die codierten Schlüssel dadurch derart komprimiert, dass zum einen die Entropie der Zieladresse vollständig entfernt wird und zum anderen die codierten Schlüssel, die mit der größten Wahrscheinlichkeit auftreten, die geringste Schlüsselbitbreite aufweisen. Somit wird der Aufwand bzw. der Rechenaufwand für das folgende Adressenvergleichen deutlich verringert.
  • Gemäß einer weiteren bevorzugten Weiterbildung generiert die Steuereinrichtung mittels eines aufgerundeten Quotienten aus der Schlüsselbitbreite des codierten Schlüssels des empfangenen Datenpakets und der Datenelementbitbreite eine Schlüsselzuordnungskennung, welche angibt, in welchem Unterdatenspeicher die zu dem codierten Schlüssel des empfangenen Datenpakets korrespondierende codierte Adresse gespeichert ist. Vorteilhafterweise gibt die generierte Schlüsselzuordnungskennung auf einfache Weise an, in welchem Unterdatenspeicher das Adressenvergleichen für den empfangenen, codierten Schlüssel durchzuführen ist. Somit wird der Rechenaufwand für das Adressenvergleichen weiter verringert.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist die Steuereinrichtung einen Speicherblockzeigergenerator auf, welcher abhängig von der Schlüsselzuordnungskennung einen Speicherblockzeiger für jeden Auslesezyklus generiert, der jeweils auf den nächsten auszulesenden Block des entsprechenden Unterdatenspeichers zeigt. Vorteilhafterweise gibt der generierte Speicherblockzeigergenerator an, in welchem Unterdatenspeicher bei welchem Block von D Datenelementen der Adressenvergleich fortzusetzen ist.
  • Gemäß einer weiteren bevorzugten Weiterbildung generiert die Steuereinrichtung den Speicherblockzeiger für den aktuellen Auslesezyklus aus einer Summe des Speicherblockzeigers des vorhergehenden Auslesezyklus und der Schlüsselzuordnungskennung, so dass der Datenspeicher die auf dem Speicherblockzeiger folgenden D Datenelemente in Form eines Blockes von D Datenelementen bereitstellt.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist die Steuereinrichtung eine Verteilungseinrichtung auf, welche abhängig von der Schlüsselzuordnungskennung den codierten Schlüssel des empfangenen Datenpakets auf eine Anzahl verschiedener Schlüsselelemente verteilt, wobei eine Schlüsselelementbitbreite der Datenelementbitbreite entspricht und die Anzahl der verschiedenen Schlüsselelemente der Schlüsselzuordnungskennung entspricht, und welche die Anzahl der Schlüsselelemente derart vervielfältigt, dass ein Schlüsselelementvektor von D Schlüsselelementen ausgebildet wird.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist die Steuereinrichtung eine Komparatoreinrichtung auf, welche D Komparatoren beinhaltet, wobei jeder der D Komparatoren eine Komparatorbitbreite aufweist, die der Datenelementbitbreite entspricht.
  • Gemäß einer weiteren bevorzugten Weiterbildung vergleichen die D Komparatoren den Schlüsselelementvektor der D Schlüs selelemente jeweils mit einem Block von D Datenelementen und stellen abhängig von dem Vergleich einen Vektor von D Ausgangssignalen bereit, wobei die Steuereinrichtung ein Ausgangssignal bei einem positiven Vergleich auf Eins und bei einem negativen Vergleich auf Null setzt. Dadurch dass sowohl die Schlüsselelementbitbreite, die Datenelementbitbreite und die Komparatorbitbreite einander entsprechen als auch die Dimensionen des Schlüsselelementvektors und des Blockes von D Datenelementen der Anzahl der Komparatoren entsprechen, ist vorteilhafterweise stets sichergestellt, dass die Komparatoren ausgelastet sind. Somit werden die Ressourcen der erfindungsgemäßen Schaltung vollständig genutzt und die Geschwindigkeit beim Adressvergleich maximiert.
  • Gemäß einer weiteren bevorzugten Weiterbildung weist die Steuereinrichtung eine logische Verknüpfungseinheit auf, welche die D Ausgangssignale abhängig von der Schlüsselzuordnungskennung logisch verknüpft und mittels der logischen Verknüpfung auf den Ausgang entscheidet, über den die Steuereinheit das empfangene Datenpaket weiterzuleiten hat. Vorteilhafterweise wird die bereits generierte Schlüsselzuordnungskennung dafür genutzt, die D Ausgangssignale logisch miteinander zu verknüpfen, um auf den Ausgang zu entscheiden, über den die Steuereinheit das Datenpaket weiterzuleiten hat.
  • Gemäß einer weiteren bevorzugten Weiterbildung ist die Schaltung ein Teil eines IP-Routers.
  • Gemäß einer weiteren bevorzugten Weiterbildung ist der Datenspeicher ein RAM-Speicher.
  • Die Erfindung wird nachfolgend anhand der in den schematischen Figuren angegebenen Ausführungsbeispielen näher erläutert. Es zeigen:
  • 1 ein schematisches Blockschaltbild eines ersten bevorzugten Ausführungsbeispiels der erfindungsgemäßen Schaltung zur Weiterleitung von Datenpaketen;
  • 2 ein schematisches Blockschaltbild des Datenspeichers gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 eine schematische Tabelle zur Generierung des Schlüsselelementvektors in Abhängigkeit der Schlüsselzuordnungskennung gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 ein schematisches Blockschaltbild der Komparatoreinrichtung gemäß dem ersten bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 5 eine schematische Tabelle zur logischen Verknüpfung der Ausgangssignale durch die logische Verknüpfungseinheit gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung; und
  • 6 ein schematisches Blockschaltbild eines zweiten bevorzugten Ausführungsbeispiels des erfindungsgemäßen Verfahrens zur Weiterleitung von Datenpaketen.
  • In allen Figuren sind gleiche bzw. funktionsgleiche Elemente und Signale – sofern nichts anderes angegeben ist – mit denselben Bezugszeichen versehen worden.
  • Obwohl die vorliegende Erfindung nachfolgend mit Bezug auf Schaltungen und Verfahren zur Weiterleitung von Datenpaketen beschrieben wird, ist sie jedoch nicht darauf beschränkt, sondern auf vielfältige Weise einsetzbar.
  • 1 zeigt ein schematisches Blockschaltbild eines ersten bevorzugten Ausführungsbeispiels der erfindungsgemäßen Schal tung 1 zur Weiterleitung von Datenpaketen P in einem Netzwerk. Die erfindungsgemäße Schaltung 1 weist eine Steuereinrichtung 4 und einen Datenspeicher 2 auf.
  • Die Steuereinrichtung 4 weist vorzugsweise eine Empfangs-/Komprimiereinheit 9, einen Speicherblockzeigergenerator 5, eine Komparatoreinrichtung 6, eine Verteilungseinrichtung 7, eine logische Verknüpfungseinheit 8 und eine Ausgangseinrichtung 10 auf.
  • Die Empfangs-/Komprimiereinheit 9 empfängt das weiterzuleitende Datenpaket P und komprimiert die Zieladresse, welche in dem empfangenen Datenpaket P enthalten ist, mittels eines verlustlosen Komprimieralgorithmus zu einem codierten Schlüssel k'. Der verlustlose Komprimieralgorithmus ist vorzugsweise ein Huffman-Algorithmus, ein arithmetischer Algorithmus oder ein Lempel-Ziv-Algorithmus. Der codierte Schlüssel k' wird jeweils so ausgebildet, dass seine Schlüsselbitbreite B2 einem Vielfachen der Datenelementbitbreite B1 entspricht. (B2 = k·B1 mit k ∊ [1, ..., ∞]).
  • Der Datenspeicher 2 ist in T Unterdatenspeicher 2t unterteilt. Der Datenspeicher 2 speichert sämtliche codierte Adressen a, die mit demselben Komprimieralgorithmus codiert wurden wie der kodierte Schlüssel k', des Netzwerkes in Abhängigkeit ihrer jeweiligen Schlüsselbitbreite B2 in genau einem der T Unterdatenspeicher. In dem ersten Ausführungsbeispiel nach den 1 bis 5 ist T gleich vier ohne Einschränkung der Allgemeinheit gewählt. Die Unterteilung des Datenspeichers 2 in die vier Unterdatenspeicher 21, 22, 23, 24 ist beispielhaft in 2 erläutert. Erfindungsgemäß gilt, dass jeder der T Unterdatenspeicher 2t in Blöcke V1 von D Datenelementen 3 identischer Datenelementbreite B1 unterteilt ist, wobei D das kleinste gemeinsame Vielfache von T ist. Jeweils der t-te Unterdatenspeicher 2t mit t∊[1, ..., T] ist in S Speicherblöcke 2tr unterteilt und jeweils ein Speicherblock 2tr des entsprechenden t-ten Unterdatenspeichers 2t ist durch t Datenelemente 3 ausgebildet.
  • Die Steuereinrichtung 4 speichert sämtliche Zieladressen des Netzwerkes jeweils als codierte Adresse a abhängig von ihrer Schlüsselbitbreite B2 jeweils in genau einem Speicherblock 2tr des entsprechenden Unterdatenspeichers 2t. Dieses Abspeichern der codierten Adressen a in Abhängigkeit ihrer Schlüsselbitbreite B2 ist detailliert und beispielhaft in 2 erläutert.
  • Weiter empfängt die Steuereinrichtung 4 die Datenpakete P, codiert die in dem empfangenen Datenpaket P enthaltene Zieladresse zu einem Schlüssel k' und vergleicht den codierten Schlüssel k' abhängig von seiner Schlüsselbitbreite B2 jeweils blockweise mit den gespeicherten, codierten Adressen a des entsprechenden Unterdatenspeichers 2t, um das Datenpaket P über einen Ausgang O an die Zieladresse weiterzuleiten, deren zugehörige codierte Adresse a mit dem codierten Schlüssel k' des empfangenen Datenpakets P übereinstimmt.
  • Die Steuereinrichtung 4 und dabei vorzugsweise die Empfangs-/Komprimiereinheit 9 der Steuereinrichtung 4 generiert mittels eines aufgerundeten Quotienten aus der Schlüsselbitbreite B2 des codierten Schlüssels k' des empfangenen Datenpakets P und der Datenelementbitbreite B1 eine Schlüsselzuordnungskennung ID, welche angibt, in welchem Unterdatenspeicher 21, 22, 23, 24 der zu dem codierten Schlüssel k' des empfangenen Datenpakets P korrespondierende codierte Adresse a der Zieladresse gespeichert ist.
  • Der Speicherblockzeigergenerator 5 der Steuereinrichtung 4 generiert abhängig von der generierten Schlüsselzuordnungskennung ID einen Speicherblockzeiger Z für jeden Auslesezyklus. Der Speicherblockzeiger Z zeigt auf den nächsten auszulesenden Block V1 des entsprechenden Unterdatenspeichers 2t.
  • Vorzugsweise generiert der Speicherblockzeigergenerator 5 der Steuereinrichtung 4 den Speicherblockzeiger Z für den aktuellen Auslesezyklus aus einer Summe des Speicherblockzeigers Z des vorhergehenden Auslesezyklus und der Schlüsselzuordnungskennung ID, so dass der Datenspeicher 2 die auf dem Speicherblockzeiger Z folgenden D Datenelemente 3 in Form eines Blockes V1 von D Datenelementen 3 bereitstellt. Das Bereitstellen und Weiterverarbeiten eines Blockes V1 wird detailliert und beispielhaft in 4 beschrieben.
  • Die Verteilungseinrichtung 7 der Steuereinrichtung 4 verteilt abhängig von der Schlüsselzuordnungskennung ID den codierten Schlüssel k' des empfangenen Datenpakets P auf eine Anzahl verschiedener Schlüsselelemente k1–k4, wobei eine Schlüsselelementbitbreite B5 der Datenelementbitbreite B1 entspricht und die Anzahl der verschiedenen Schlüsselelemente k1–k4 der Schlüsselzuordnungskennung ID entspricht. Weiter vervielfältigt die Verteilungseinrichtung 7 die Anzahl der verschiedenen Schlüsselelemente k1–k4 derart, dass ein Schlüsselelementvektor V2 von D Schlüsselelementen k1–k4 entsteht. Das Vervielfältigen der verschiedenen Schlüsselelemente k1–k4 wird detailliert und beispielhaft in 3 beschrieben.
  • Vorzugsweise beinhaltet die Komparatoreinrichtung 6 der Steuereinrichtung 4D Komparatoren 6d, wobei jeder der D Komparatoren 6d eine Komparatorbitbreite B4 aufweist, die der Datenelementbitbreite B1 entspricht (d ε [1, ..., D]). Die D Komparatoren 6d vergleichen den Schlüsselelementvektor V2 der D Schlüsselelemente k1–k4 mit jeweils einem Block V1 von D Datenelementen 3 und stellen abhängig von dem Vergleich einen Ausgangssignalvektor V3 von D Ausgangssignalen o bereit. Vorzugsweise setzen die Komparatoren 6d ein Ausgangssignal o bei einem positiven Vergleich auf Eins und bei einem negativen Vergleich auf Null. Die Komparatoreinrichtung 6 wird detailliert und beispielhaft mit Bezug auf 4 beschrieben.
  • Die logische Verknüpfungseinheit 8 der Steuereinrichtung 4 verknüpft die D Ausgangssignale o abhängig von der Schlüsselzuordnungskennung ID logisch miteinander. Mittels der logischen Verknüpfung der D Ausgangssignale o entscheidet die logische Verknüpfungseinheit 8 auf denjenigen Ausgang O, über den die Steuereinrichtung 4 das empfangene Datenpaket P weiterzuleiten hat. Dazu überträgt die logische Verknüpfungseinheit 8 das Signal Ausgang O an die Ausgangseinrichtung 10, welche mittels des Signals Ausgang O den Ausgangsport festlegt, über welchen das Datenpaket P weitergeleitet wird.
  • Vorzugsweise ist die Schaltung 1 Teil eines IP-Routers und der Datenspeicher 2 ein RAM-Speicher.
  • 2 zeigt ein schematisches Blockschaltbild des Datenspeichers 2 gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung. Der Datenspeicher 2 ist hier in vier Unterdatenspeicher 21, 22, 23, 24 unterteilt (T = 4). Jeder Block V1 eines jeden Unterdatenspeichers 21, 22, 23, 24 weist genau zwölf (D = 12) Datenelemente 3 identischer Datenelementbitbreite B1 auf. Zu beachten ist, dass D (D = 12) das kleinste gemeinsame Vielfache von T (T = 4) ist. Jeweils der t-te Unterdatenspeicher 2t; 21, 22, 23, 24 mit t∊[1, ..., 4] ist in S Speicherblöcke 2tr unterteilt. Die Anzahl S der Speicherblöcke 2tr des jeweiligen t-ten Unterdatenspeichers 2t berechnet sich aus dem Quotienten der Anzahl D der Datenelemente 3 des Unterdatenspeichers 2t und t.
  • Ohne Einschränkung der Allgemeinheit ist in 2 nur jeweils ein Block V1 von jeweils zwölf Datenelementen 3 für jeden Unterdatenspeicher 21, 22, 23, 24 dargestellt.
  • Das bedeutet für den ersten Unterdatenspeicher 21, dass die Anzahl S der Speicherblöcke 2 gleich zwölf ist (S = 12:1 = 12). Demnach weist der erste Unterdatenspeicher 21 zwölf Speicherblöcke 211, 212 auf, wobei aus Gründen der Übersichtlichkeit in 2 nur die beiden ersten Speicherblöcke 211, 212 des ersten Unterdatenspeichers 21 gekennzeichnet sind. In dem ersten Unterdatenspeicher 21 werden solche codierten Adressen a gespeichert, deren Schlüsselbitbreite B2 gleich der Datenelementbitbreite B1 ist, da ein Speicherblock 211, 212 des ersten Unterdatenspeichers 21 durch genau ein Datenelement 3 ausgebildet ist.
  • Die Anzahl S der Speicherblöcke 22r des zweiten Unterdatenspeichers 22 berechnet sich aus dem Quotienten der Anzahl D (D = 12) der Datenelemente 3 des zweiten Unterdatenspeichers 22 und t (hier: t = 2). Demnach ist die Anzahl S der Speicherblöcke 22r für den zweiten Unterdatenspeicher 22 gleich sechs. Aus Gründen der Übersichtlichkeit sind auch bei dem zweiten Unterdatenspeicher 22 in 2 nur die beiden ersten Speicherblöcke 221 und 222 gekennzeichnet. Demnach wird ein Speicherblock 221, 222 durch genau zwei Datenelemente 3 ausgebildet. Somit werden in dem zweiten Unterdatenspeicher 22 diejenigen codierten Adressen a gespeichert, deren Schlüsselbitbreite gleich der doppelten Datenelementbitbreite B1 ist.
  • Die Anzahl S der Speicherblöcke 23r des dritten Unterdatenspeichers 23 berechnet sich aus dem Quotienten der Anzahl D (D = 12) der Datenelemente 3 des dritten Unterdatenspeichers 23 und t (t = 3). Somit ist die Anzahl S der Speicherblöcke 23r für den dritten Unterdatenspeicher 23 gleich vier. Aus Gründen der Übersichtlichkeit sind auch hier in 2 nur die beiden ersten Speicherblöcke 231, 232 des dritten Unterdatenspeichers 23 gekennzeichnet. Ein Speicherblock 231, 232 des dritten Unterdatenspeichers 23 wird durch genau drei Datenelemente 3 ausgebildet. Demnach werden in dem dritten Unterdatenspeicher 23 ausschließlich diejenigen codierten Adressen a gespeichert, deren Schlüsselbitbreite B2 gleich der dreifachen Datenelementbitbreite B1 ist.
  • Die Anzahl S der Speicherblöcke 24r des vierten Unterdatenspeichers 24 berechnet sich aus dem Quotienten der Anzahl D (D = 12) der Datenelemente 3 des vierten Unterdatenspeichers 24 und t (hier: t = 4). Somit ist die Anzahl S der Speicherblöcke 24r des vierten Unterdatenspeichers 24 gleich drei. Aus Gründen der Übersichtlichkeit sind in 2 für den vierten Unterdatenspeicher 24 nur die beiden ersten Speicherblöcke 241, 242 gekennzeichnet. Ein Speicherblock 241, 242 des vierten Unterdatenspeichers 24 wird genau durch vier Datenelemente (t = 4) ausgebildet. Demnach werden in dem vierten Unterdatenspeicher 24 ausschließlich codierte Adressen a gespeichert, deren Schlüsselbitbreite B2 der vierfachen Datenelementbitbreite B1 ist.
  • 3 zeigt eine schematische Tabelle zur Generierung des Schlüsselelementvektors V2 in Abhängigkeit von der Schlüsselzuordnungskennung ID gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung. Im ersten Ausführungsbeispiel wurde der Datenspeicher 2 in vier Unterdatenspeicher 21, 22, 23, 24 unterteilt. Demnach ist die Anzahl T der Unterdatenspeicher 21, 22, 23, 24 gleich vier. Aus T berechnet sich mittels des kleinsten gemeinsamen Vielfachen die Anzahl D (hier: D = 12).
  • Demnach ist die Dimension des Schlüsselelementvektors V2 auch zwölf. Die Generierung des Schlüsselelementvektors V2 in Abhängigkeit der Schlüsselzuordnungskennung ID wird von der Verteilungseinrichtung 7 der Steuereinrichtung 4 durchgeführt. In Abhängigkeit der Schlüsselzuordnungskennung ID verteilt die Verteilungseinrichtung 7 den codierten Schlüssel k' des empfangenen Datenpakets P auf eine Anzahl verschiedener Schlüsselelemente k1–k4.
  • Ist also ID = 1, so ist der codierte Schlüssel k' des empfangenen Datenpakets P mit den gespeicherten, codierten Adressen a des ersten Unterdatenspeichers 21 zu vergleichen. Der codierte Schlüssel k' des empfangenen Datenpakets P weist also, falls für die Schlüsselzuordnungskennung ID Eins berechnet wurde, eine Schlüsselbitbreite B2 auf, die gleich der Datenelementbitbreite B1 ist. Somit ist nur ein Schlüsselelement k1 notwendig, um den codierten Schlüssel k' des empfangenen Datenpakets P zu speichern. Demnach wird das Schlüsselelement k1, in welchem der codierte Schlüssel k' gänzlich gespeichert ist, 12-mal vervielfältigt, um den Schlüsselelementvektor V2 von D (D = 12) Schlüsselelementen k1 auszubilden.
  • Ist die Schlüsselzuordnungskennung ID gleich zwei, so wird der codierte Schlüssel k' des empfangenen Datenpakets P mit den gespeicherten codierten Adressen a des zweiten Unterdatenspeichers 22 verglichen, so dass zwei verschiedene Schlüsselelemente k1, k2 zur Speicherung des codierten Schlüssels k' des empfangenen Datenpakets P vorzusehen sind. Die zwei Schlüsselelemente k1, k2 sind 6-fach zu vervielfältigen, so dass der Schlüsselelementvektor V2 von D (D = 12) Schlüsselelementen k1, k2 ausgebildet ist. Somit ist das erste Schlüsselelement k1 in den Schlüsselelementvektorelementen V2-1, V2-3, V2-5, V2-7, V2-9, V2-11 und das zweite Schlüsselelement in den Schlüsselelementvektorelementen, V2-2, V2-4, V2-6, V2-8, V2-10 und V2-12 gespeichert.
  • Für die Schlüsselzuordnungskennungen ID = 3 und ID = 4 gilt Analoges. Zu beachten ist, dass die Schlüsselelementbitbreite B5 der Datenelementbitbreite B1 entspricht und die Anzahl der verschiedenen Schlüsselelemente k1–k4 der Schlüsselzuordnungskennung ID entspricht.
  • 4 zeigt ein schematisches Blockschaltbild der Komparatoreinrichtung 6 gemäß dem ersten bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Wie bereits oben erläutert, berechnet sich D = 12 für T = 4, so dass in der Komparatoreinrichtung 6 gemäß dem ersten bevorzugten Ausführungsbeispiel zwölf verschiedene Komparatoren 61612 vorzusehen sind. Beispielsweise verknüpft der erste Komparator 61, der eine Komparatorbitbreite B4 aufweist, die der Datenelementbitbreite B1 entspricht, das erste Schlüsselelementvektorelement V2-1 mit dem ersten Blockelement V1-1 des jeweiligen Blockes V1 und stellt in Abhängigkeit dieses Vergleichs das erste Ausgangssignal o1 bereit. Für die übrigen elf Komparatoren 62- 612 gilt Analoges. Somit werden von den zwölf Komparatoren 61612 zwölf Ausgangssignale o1–o12 bereitgestellt. Nachdem in jedem Zyklus zwölf Blockelemente V1-1–V1-12 mit zwölf Schlüsselelementvektorelementen V2-1–V2-12 verglichen werden, wird das Adressenvergleichen unabhängig von der Schlüsselbitbreite blockweise durchgeführt.
  • 5 zeigt eine schematische Tabelle zur logischen Verknüpfung der Ausgangssignale o durch die logische Verknüpfungseinheit 8 gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung. Die logische Verknüpfungseinheit 8 verknüpft in Abhängigkeit der Schlüsselzuordnungskennung ID (ID ∊ [1, 4]) die zwölf Ausgangssignale o1–o12 logisch miteinander. Mittels der logischen Verknüpfung der zwölf Ausgangssignale o1–o12 entscheidet die logische Verknüpfungseinheit 8 auf einen Ausgang O, über den die Steuereinrichtung 4 das empfangene Datenpaket P weiterzuleiten hat.
  • Abhängig von der Schlüsselzuordnungskennung ID gibt es ID mögliche Ausgänge O. Ist beispielsweise die Schlüsselzuordnungskennung ID = 2, so gibt es sechs mögliche Ausgänge o1–o6, da in dem zweiten Unterdatenspeicher 22 (ID = 2) genau sechs Speicherblöcke gespeichert sind. Ist also beispielsweise die Schlüsselzuordnungskennung ID = 2 und ergibt die Verknüpfung des neunten Ausgangssignals und des zehnten Ausgangssignals Eins (o9 & o10 = 1), so ist das Ausgangssignal Ausgang 05 auf Eins zu setzen und das Datenpaket P über den mit dem Ausgang 05 korrespondierenden Ausgangsport durch die Ausgangseinrichtung 10 weiterzuleiten.
  • 6 zeigt ein schematisches Blockschaltbild eines zweiten bevorzugten Ausführungsbeispiels des erfindungsgemäßen Verfahrens zur Weiterleitung von Datenpaketen P.
  • Das erfindungsgemäße Verfahren zur Weiterleitung von Datenpaketen P in einem Netzwerk weist folgende Verfahrensschritte auf:
    • Verfahrensschritt a: Speichern sämtlicher Zieladressen des Netzwerkes als codierte Adressen abhängig von ihrer jeweiligen Schlüsselbitbreite jeweils in genau einem von T Unterdatenspeichern eines Datenspeichers, wobei jeder der T Unterdatenspeicher in Blöcke von D Datenelementen identischer Datenelementbitbreite unterteilt wird, wobei D das kleinste gemeinsame Vielfache von T ist;
    • Verfahrensschritt b: Empfangen eines Datenpakets;
    • Verfahrensschritt c: Extrahieren einer Zieladresse aus dem empfangenen Datenpaket;
    • Verfahrensschritt d: Codieren der Zieladresse des empfangenen Datenpakets zu einem codierten Schlüssel;
    • Verfahrensschritt e: jeweils blockweises Vergleichen des codierten Schlüssels des empfangenen Datenpakets abhängig von seiner Schlüsselbitbreite mit den gespeicherten, codierten Adressen des entsprechenden Unterdatenspeichers;
    • Verfahrensschritt f: Weiterleiten des Datenpakets über einen Ausgang an die Zieladresse, deren zugehörige codierte Adresse mit dem codierten Schlüssel des empfangenen Datenpakets übereinstimmt.
  • Obwohl die vorliegende Erfindung vorstehend anhand der bevorzugten Ausführungsbeispiele beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Art und Weise modifizierbar.

Claims (26)

  1. Schaltung (1) zur Weiterleitung von Datenpaketen (P), welche jeweils eine Zieladresse aufweisen, in einem Netzwerk, mit: – einem Datenspeicher (2) zum Speichern sämtlicher durch ein bestimmtes Kodierverfahren codierter Adressen (a) des Netzwerkes in Abhängigkeit ihrer jeweiligen Schlüsselbitbreite (B2) in genau einem von T Unterdatenspeichern (2t) des Datenspeichers (2), wobei jeweils der t-te Unterdatenspeicher (2t), mit t∊[1, ...,T], in Blöcke (V1) von jeweils D Datenelementen (3) identischer Datenelementbitbreite (B1) unterteilt ist, wobei D das kleinste gemeinsame Vielfache von t∊[1, ..., T] ist; und mit – einer Steuereinrichtung (4), welche Datenpakete (P) empfängt, die in dem jeweiligen empfangenen Datenpaket (P) enthaltene Zieladresse mittels des bestimmten Kodierverfahrens zu einem Schlüssel (k') codiert und den codierten Schlüssel (k') abhängig von seiner Schlüsselbitbreite (B2) jeweils blockweise mit den gespeicherten, codierten Adressen (a) des entsprechenden Unterdatenspeichers (2t) vergleicht, um das jeweilige Datenpaket (P) über einen Ausgang (O) an die Zieladresse weiterzuleiten, deren zugehörige codierte Adresse (a) mit dem codierten Schlüssel (k') des empfangenen Datenpakets (P) übereinstimmt.
  2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass jeweils der t-te Unterdatenspeicher (2t) mit t∊[1, ..., T] in S Speicherblöcke (2tr) unterteilt ist und jeweils der Speicherblock (2tr) des entsprechenden t-ten Unterdatenspeichers (2t) durch t Datenelemente (3) ausgebildet ist, wobei sämtliche Zieladressen des Netzwerkes als codierte Adressen (a) abhängig von ihrer Schlüsselbitbreite (B2) jeweils in ge nau einem Speicherblock (2tr) des entsprechenden Unterdatenspeichers (2t) gespeichert sind.
  3. Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass alle T Unterdatenspeicher (2t) eine identische Unterdatenspeicherbitbreite (B3) aufweisen.
  4. Schaltung nach Anspruch 2, dadurch gekennzeichnet, dass die Anzahl S der Speicherblöcke (2tr) des jeweiligen t-ten Unterdatenspeichers (2t) der Quotient aus der Anzahl D der Datenelemente (3) des Unterdatenspeichers (2t) und t ist.
  5. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Schaltung (1) als bestimmten Kodieralgorithmus einen verlustlosen Komprimieralgorithmus einsetzt.
  6. Schaltung nach Anspruch 5, dadurch gekennzeichnet, dass die Schaltung (1) als verlustlosen Komprimieralgorithmus einen Huffman-Algorithmus, einen arithmetischen Algorithmus oder einen Lempel-Ziv-Algorithmus verwendet.
  7. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Steuereinrichtung (4) mittels eines aufgerundeten Quotienten aus der Schlüsselbitbreite (B2) des codierten Schlüssels (k') des empfangenen Datenpakets (2) und der Datenelementbitbreite (B1) eine Schlüsselzuordnungskennung (ID) generiert, welche angibt, in welchem Unterdatenspeicher (2t) die zu dem codierten Schlüssel (k') des empfangenen Datenpakets (2) korrespondierende codierte Adresse (a) der Zieladresse gespeichert ist.
  8. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Steuereinrichtung (4) einen Speicherblockzeigergenerator (5) aufweist, welcher abhängig von der Schlüsselzuordnungskennung (ID) einen Speicherblockzeiger (Z) für jeden Auslesezyklus generiert, der jeweils auf den nächsten auszulesenden Block (V1) des entsprechenden Unterdatenspeichers (2t) zeigt.
  9. Schaltung nach Anspruch 8, dadurch gekennzeichnet, dass der Speicherblockzeigergenerator (5) den Speicherblockzeiger (Z) für den aktuellen Auslesezyklus aus einer Summe des Speicherblockzeigers (Z) des vorhergehenden Auslesezyklus und der Schlüsselzuordnungskennung (ID) generiert, so dass der Datenspeicher (2) die auf dem Speicherblockzeiger (Z) folgenden D Datenelemente (3) in Form des Blockes (V1) von D Datenelementen (3) bereitstellt.
  10. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Steuereinrichtung (4) eine Verteilungseinrichtung (7) aufweist, welche abhängig von der Schlüsselzuordnungskennung (ID) den codierten Schlüssel (k') des empfangenen Datenpakets (P) auf eine Anzahl verschiedener Schlüsselelemente (k1–k4) verteilt, wobei eine Schlüsselelementbitbreite (B5) der Datenelementbitbreite (B1) entspricht und die Anzahl der verschiedenen Schlüsselelemente (k1–k4) der Schlüsselzuordnungskennung (ID) entspricht, und die Anzahl der verschiedenen Schlüsselelemente (k1–k4) derart vervielfältigt, so dass ein Schlüsselelementvektor (V2) von D Schlüsselelementen (k1–k4) entsteht.
  11. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Steuereinrichtung (4) eine Komparatoreinrichtung (6) aufweist, welche D Komparatoren (6d) beinhaltet, wobei jeder der D Komparatoren (6d) eine Komparatorbitbreite (B4) aufweist, die der Datenelementbitbreite (B1) entspricht.
  12. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die D Komparatoren (6d) den Schlüsselelementvektor (V2) der D Schlüsselelemente (k1–k4) jeweils mit einem Block (V1) von D Datenelementen (3) vergleichen und abhängig von dem Vergleich einen Ausgangssignalvektor (V3) von D Ausgangssignalen (o) bereitstellen, wobei die D Komparatoren (6d) ein Ausgangssignal (o) bei einem positiven Vergleich auf Eins und bei einem negativen Vergleich auf Null setzen.
  13. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Steuereinrichtung (4) eine logische Verknüpfungseinheit (8) aufweist, welche die D Ausgangssignale (o) abhängig von der Schlüsselzuordnungskennung (ID) logisch verknüpft und mittels der logischen Verknüpfung auf den Ausgang (O) entscheidet, über den die Steuereinrichtung (4) das empfangene Datenpaket (P) weiterleitet.
  14. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Schaltung (1) Teil eines IP-Routers ist.
  15. Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Datenspeicher (2) ein RAM-Speicher ist.
  16. Verfahren zur Weiterleitung von Datenpaketen (P) in einem Netzwerk mit folgenden Verfahrensschritten: a) Speichern sämtlicher Zieladressen des Netzwerkes als mittels eines bestimmten Kodierverfahrens codierte Adressen (a) abhängig von ihrer jeweiligen Schlüsselbitbreite (B2) jeweils in genau einem von T Unterdatenspeichern (2t) eines Datenspeichers (2), wobei jeweils der t-te Unterdatenspeicher (2t), mit t ∊ [1, ..., T] in Blöcke (V1) von D Datenelementen (3) identischer Datenelementbitbreite (B1) unterteilt wird, wobei D das kleinste gemeinsame Vielfache von t∊[1, ..., T] ist; b) Empfangen eines Datenpakets (P); c) Extrahieren einer Zieladresse aus dem empfangenen Datenpaket (P); d) Codieren der Zieladresse des empfangenen Datenpakets (P) zu einem codierten Schlüssel (k') mittels des bestimmten Kodierverfahrens; e) jeweils blockweises Vergleichen des codierten Schlüssels (k') des empfangenen Datenpakets (P) abhängig von seiner Schlüsselbitbreite (B2) mit den gespeicherten, codierten Adressen (a) des entsprechenden Unterdatenspeichers (2t) und; f) Weiterleiten des Datenpakets (P) über einen Ausgang (O) an die Zieladresse, deren zugehörige codierte Adresse (a) mit dem codierten Schlüssel (k') des empfangenen Datenpakets (P) übereinstimmt.
  17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass jeweils der t-te Unterdatenspeicher (2t) mit t∊[1, ..., T] in S Speicherblöcke (2tr) unterteilt wird und jeweils der Speicherblock (2tr) des entsprechenden t-ten Unterdatenspeichers (2t) durch t Datenelemente (3) ausgebildet wird, wobei sämtliche Zieladressen des Netzwerkes als codierte Adressen (a) abhängig von ihrer Schlüsselbitbreite (B2) jeweils in genau einem Speicherblock (2tr) des entsprechenden Unterdatenspeichers (2t) gespeichert werden.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass alle T Unterdatenspeicher (2t) derart ausgebildet werden, dass sie eine identische Unterdatenspeicherbitbreite (B3) aufweisen.
  19. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass als bestimmter Kodieralgorithmus ein verlustloser Komprimieralgorithmus eingesetzt wird.
  20. Verfahren nach 19, dadurch gekennzeichnet, dass als verlustloser Komprimieralgorithmus ein Huffman-Algorithmus, ein arithmetischer Algorithmus oder ein Lempel-Zif-Algorithmus verwendet wird.
  21. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass eine Schlüsselzuordnungskennung (ID) aus einem aufgerundeten Quotienten aus der Schlüsselbitbreite (B2) des codierten Schlüssels (k') des empfangenen Datenpakets (P) und der Datenelementbitbreite (B1) generiert wird, wobei die Schlüsselzuordnungskennung (ID) angibt, in welchem Unterdatenspeicher (2t) die zu dem codierten Schlüssel (k') des empfangenen Datenpakets (P) korrespondierende codierte Adresse (a) der Zieladresse gespeichert ist.
  22. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass ein Speicherblockzeiger (Z) in Abhängigkeit der Schlüsselzuordnungskennung (ID) für jeden Auslesezyklus generiert wird, wobei der Speicherblockzeiger (Z) auf den nächsten auszulesenden Block (V1) von D Datenelementen (3) des entsprechenden Unterdatenspeichers (2t) zeigt.
  23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, dass der Speicherblockzeiger (Z) für den aktuellen Auslesezyklus aus einer Summe des Speicherblockzeigers (Z) des vorhergehenden Auslesezyklus und der Schlüsselzuordnungskennung (ID) generiert wird, so dass mittels des Speicherblockzeigers (Z) die nächsten auszulesenden D Datenelemente (3) in Form des Blockes (V1) von D Datenelementen (3) bereitgestellt werden.
  24. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass der codierte Schlüssel (k') des empfangenen Datenpakets (P) abhängig von der Schlüsselzuordnungskennung (ID) auf eine Anzahl verschiedener Schlüsselelemente (k1–k4) verteilt wird, wobei eine Schlüsselelementbitbreite (B5) der Schlüsselelemente (k1–k4) der Datenelementbitbreite (B1) entspricht und die Anzahl der verschiedenen Schlüsselelemente (k1–k4) der Schlüsselzuordnungskennung (ID) entspricht, und die Anzahl der verschiedenen Schlüsselelemente (k1–k4) derart vervielfältigt wird, so dass ein Schlüsselelementvektor (V2) von D Schlüsselelementen (k1–k4) ausgebildet wird.
  25. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass der Schlüsselelementvektor (V2) der D Schlüsselelemente (k1–k4) mit jeweils einem Block (V1) von D Datenelementen (3) verglichen wird und abhängig von dem Vergleich ein Ausgangssignalvektor (V3) von Ausgangssignalen (o) bereitgestellt wird, wobei ein Ausgangssignal (o) bei einem positiven Vergleich auf Eins und bei einem negativen Vergleich auf Null gesetzt wird.
  26. Verfahren nach Anspruch 25, dadurch gekennzeichnet, dass die D Ausgangsignale (o) abhängig von der Schlüsselzuordnungskennung (ID) logisch verknüpft werden und mittels der logischen Verknüpfung entschieden wird, über welchen Ausgang (O) das empfangene Datenpaket (P) weitergeleitet wird.
DE102004052417A 2004-10-28 2004-10-28 Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk Active DE102004052417B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004052417A DE102004052417B4 (de) 2004-10-28 2004-10-28 Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk
US11/259,957 US7457294B2 (en) 2004-10-28 2005-10-27 Circuit and a method for forwarding data packets in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004052417A DE102004052417B4 (de) 2004-10-28 2004-10-28 Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk

Publications (2)

Publication Number Publication Date
DE102004052417A1 DE102004052417A1 (de) 2006-05-04
DE102004052417B4 true DE102004052417B4 (de) 2010-09-02

Family

ID=36201710

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004052417A Active DE102004052417B4 (de) 2004-10-28 2004-10-28 Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk

Country Status (2)

Country Link
US (1) US7457294B2 (de)
DE (1) DE102004052417B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602007004616D1 (de) * 2006-07-03 2010-03-18 Dow Corning Chemische härtung von all-in-one-warmkantenabstandhalter und -dichtung
CN104378288B (zh) * 2014-11-19 2017-11-21 清华大学 基于路由交换范式的构件组装方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915097A (en) * 1996-08-14 1999-06-22 Winbond Electronics Corporation Method and apparatus for data storage and search in an address table of an ethernet switch
GB2374694A (en) * 2001-02-26 2002-10-23 Advanced Risc Mach Ltd Storing instruction set information
EP1394999A1 (de) * 2002-08-07 2004-03-03 Infineon Technologies AG Verfahren zur Leitweglenkung von Datenpaketen und Leitweglenkungsvorrichtung
US20040103349A1 (en) * 2002-11-22 2004-05-27 Lewis Nardini Programmable extended compression mask for dynamic trace

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2834162A1 (fr) * 2001-12-20 2003-06-27 Koninkl Philips Electronics Nv Systeme de communication de donnees selon un principe de commutation par paquets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915097A (en) * 1996-08-14 1999-06-22 Winbond Electronics Corporation Method and apparatus for data storage and search in an address table of an ethernet switch
GB2374694A (en) * 2001-02-26 2002-10-23 Advanced Risc Mach Ltd Storing instruction set information
EP1394999A1 (de) * 2002-08-07 2004-03-03 Infineon Technologies AG Verfahren zur Leitweglenkung von Datenpaketen und Leitweglenkungsvorrichtung
US20040103349A1 (en) * 2002-11-22 2004-05-27 Lewis Nardini Programmable extended compression mask for dynamic trace

Also Published As

Publication number Publication date
DE102004052417A1 (de) 2006-05-04
US7457294B2 (en) 2008-11-25
US20060104277A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
DE60316696T2 (de) Verfahren zum Routen von Datenpaketen und Routing-Vorrichtung
DE69022705T2 (de) System zur Kodierung/Dekodierung von digitalen Signalen zur Übertragung und/oder Speicherung.
DE2139731C2 (de) Anordnung zur Code-Umsetzung
DE2614916C2 (de) Konverter zur Codeumwandlung
DE69224782T2 (de) Erhöhung der Leistungsfähigkeit beim Rücksetzten von Wörterbüchern für Datenkompressionsanwendungen
DE2801988A1 (de) Arithmetische codierung von symbolfolgen
DE3300263A1 (de) Schaltungsanordnung zur zuteilung des zugriffs zu einer auf anforderungsbasis gemeinsam benutzten sammelleitung
DE69413512T2 (de) Vorrichtung zur Dekodierung von Kodes mit veränderlicher Länge
DE4339753A1 (de) Vorrichtung zum Komprimieren und Dekomprimieren von Bilddaten
DE69433620T2 (de) Datenkomprimierungsverfahren
EP2269347A2 (de) Verfahren und filteranordnung zum filtern von über einen seriellen datenbus eines kommunikationsnetzwerks in einem teilnehmer des netzwerks eingehenden nachrichten
DE4121444A1 (de) System und verfahren zur fehlerdetektion und zur reduzierung von simultanem schaltrauschen
DE60316428T2 (de) Verfahren, Kodierer und Kommunikationsvorrichtung zur Kodierung von parallel verketteten Daten
DE69327021T2 (de) Dekodierschaltung für einen Kode variabler Länge
DE19821004C2 (de) Sequenzgenerator
DE69935655T2 (de) Verfahren und vorrichtung zum zerlegungskomprimieren
DE19629868A1 (de) Verfahren zur Übertragung binärer Daten und Schnittstellenbausteine zur Durchführung des Verfahrens
DE2900586A1 (de) Anordnung zum decodieren von codewoertern variabler laenge
DE102004052417B4 (de) Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk
DE69910965T2 (de) Verfahren und gerät zum schutz gegen fehler
DE60001585T2 (de) Datenverarbeitungseinrichtung und -verfahren
DE3881225T2 (de) Verfahren und Vorrichtung zur Kodierung von Bilddaten.
DE19645057C2 (de) Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung
EP0427884B1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
EP1248430B1 (de) Verfahren und Generierungsmodul zur Ermittlung von Filtermasken zur Relevanzprüfung von Kennzeichnern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R081 Change of applicant/patentee

Owner name: LANTIQ DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20110325

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20110325

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012741000

R081 Change of applicant/patentee

Owner name: INTEL CORP., SANTA CLARA, US

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R081 Change of applicant/patentee

Owner name: INTEL CORP., SANTA CLARA, US

Free format text: FORMER OWNER: LANTIQ BETEILIGUNGS-GMBH & CO. KG, 85579 NEUBIBERG, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012741000

Ipc: H04L0045740000