DE102004052417B4 - Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk - Google Patents
Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
– 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 tung1 zur Weiterleitung von Datenpaketen P in einem Netzwerk. Die erfindungsgemäße Schaltung1 weist eine Steuereinrichtung4 und einen Datenspeicher2 auf. - Die Steuereinrichtung
4 weist vorzugsweise eine Empfangs-/Komprimiereinheit9 , einen Speicherblockzeigergenerator5 , eine Komparatoreinrichtung6 , eine Verteilungseinrichtung7 , eine logische Verknüpfungseinheit8 und eine Ausgangseinrichtung10 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 Datenspeicher2 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 den1 bis5 ist T gleich vier ohne Einschränkung der Allgemeinheit gewählt. Die Unterteilung des Datenspeichers2 in die vier Unterdatenspeicher21 ,22 ,23 ,24 ist beispielhaft in2 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 in2 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-/Komprimiereinheit9 der Steuereinrichtung4 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 Unterdatenspeicher21 ,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 Steuereinrichtung4 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 Steuereinrichtung4 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 Datenspeicher2 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 in4 beschrieben. - Die Verteilungseinrichtung
7 der Steuereinrichtung4 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 Verteilungseinrichtung7 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 in3 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 Komparatoreinrichtung6 wird detailliert und beispielhaft mit Bezug auf4 beschrieben. - Die logische Verknüpfungseinheit
8 der Steuereinrichtung4 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üpfungseinheit8 auf denjenigen Ausgang O, über den die Steuereinrichtung4 das empfangene Datenpaket P weiterzuleiten hat. Dazu überträgt die logische Verknüpfungseinheit8 das Signal Ausgang O an die Ausgangseinrichtung10 , 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 Datenspeicher2 ein RAM-Speicher. -
2 zeigt ein schematisches Blockschaltbild des Datenspeichers2 gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung. Der Datenspeicher2 ist hier in vier Unterdatenspeicher21 ,22 ,23 ,24 unterteilt (T = 4). Jeder Block V1 eines jeden Unterdatenspeichers21 ,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 Unterdatenspeicher21 ,22 ,23 ,24 dargestellt. - Das bedeutet für den ersten Unterdatenspeicher
21 , dass die Anzahl S der Speicherblöcke2 gleich zwölf ist (S = 12:1 = 12). Demnach weist der erste Unterdatenspeicher21 zwölf Speicherblöcke211 ,212 auf, wobei aus Gründen der Übersichtlichkeit in2 nur die beiden ersten Speicherblöcke211 ,212 des ersten Unterdatenspeichers21 gekennzeichnet sind. In dem ersten Unterdatenspeicher21 werden solche codierten Adressen a gespeichert, deren Schlüsselbitbreite B2 gleich der Datenelementbitbreite B1 ist, da ein Speicherblock211 ,212 des ersten Unterdatenspeichers21 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 Unterdatenspeichers22 und t (hier: t = 2). Demnach ist die Anzahl S der Speicherblöcke 22r für den zweiten Unterdatenspeicher22 gleich sechs. Aus Gründen der Übersichtlichkeit sind auch bei dem zweiten Unterdatenspeicher22 in2 nur die beiden ersten Speicherblöcke221 und222 gekennzeichnet. Demnach wird ein Speicherblock221 ,222 durch genau zwei Datenelemente 3 ausgebildet. Somit werden in dem zweiten Unterdatenspeicher22 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 Unterdatenspeichers23 und t (t = 3). Somit ist die Anzahl S der Speicherblöcke 23r für den dritten Unterdatenspeicher23 gleich vier. Aus Gründen der Übersichtlichkeit sind auch hier in2 nur die beiden ersten Speicherblöcke231 ,232 des dritten Unterdatenspeichers23 gekennzeichnet. Ein Speicherblock231 ,232 des dritten Unterdatenspeichers23 wird durch genau drei Datenelemente 3 ausgebildet. Demnach werden in dem dritten Unterdatenspeicher23 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 Unterdatenspeichers24 und t (hier: t = 4). Somit ist die Anzahl S der Speicherblöcke 24r des vierten Unterdatenspeichers24 gleich drei. Aus Gründen der Übersichtlichkeit sind in2 für den vierten Unterdatenspeicher24 nur die beiden ersten Speicherblöcke241 ,242 gekennzeichnet. Ein Speicherblock241 ,242 des vierten Unterdatenspeichers24 wird genau durch vier Datenelemente (t = 4) ausgebildet. Demnach werden in dem vierten Unterdatenspeicher24 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 Datenspeicher2 in vier Unterdatenspeicher21 ,22 ,23 ,24 unterteilt. Demnach ist die Anzahl T der Unterdatenspeicher21 ,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 Steuereinrichtung4 durchgeführt. In Abhängigkeit der Schlüsselzuordnungskennung ID verteilt die Verteilungseinrichtung7 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 Komparatoreinrichtung6 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 Komparatoreinrichtung6 gemäß dem ersten bevorzugten Ausführungsbeispiel zwölf verschiedene Komparatoren61 –612 vorzusehen sind. Beispielsweise verknüpft der erste Komparator61 , 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 Komparatoren62 -612 gilt Analoges. Somit werden von den zwölf Komparatoren61 –612 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üpfungseinheit8 gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung. Die logische Verknüpfungseinheit8 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üpfungseinheit8 auf einen Ausgang O, über den die Steuereinrichtung4 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 Ausgangseinrichtung10 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)
- 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. - 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.
- Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass alle T Unterdatenspeicher (2t) eine identische Unterdatenspeicherbitbreite (B3) aufweisen.
- 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.
- Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Schaltung (
1 ) als bestimmten Kodieralgorithmus einen verlustlosen Komprimieralgorithmus einsetzt. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
- 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. - Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Schaltung (
1 ) Teil eines IP-Routers ist. - Schaltung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Datenspeicher (
2 ) ein RAM-Speicher ist. - 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. - 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.
- Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass alle T Unterdatenspeicher (2t) derart ausgebildet werden, dass sie eine identische Unterdatenspeicherbitbreite (B3) aufweisen.
- Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass als bestimmter Kodieralgorithmus ein verlustloser Komprimieralgorithmus eingesetzt wird.
- Verfahren nach 19, dadurch gekennzeichnet, dass als verlustloser Komprimieralgorithmus ein Huffman-Algorithmus, ein arithmetischer Algorithmus oder ein Lempel-Zif-Algorithmus verwendet wird.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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)
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 |
-
2004
- 2004-10-28 DE DE102004052417A patent/DE102004052417B4/de active Active
-
2005
- 2005-10-27 US US11/259,957 patent/US7457294B2/en active Active
Patent Citations (4)
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 |