DE60031712T2 - Tabellen-nachschlage-mechanismus zur adressauflösung in einer paket-netzwerkvermittlung - Google Patents

Tabellen-nachschlage-mechanismus zur adressauflösung in einer paket-netzwerkvermittlung Download PDF

Info

Publication number
DE60031712T2
DE60031712T2 DE60031712T DE60031712T DE60031712T2 DE 60031712 T2 DE60031712 T2 DE 60031712T2 DE 60031712 T DE60031712 T DE 60031712T DE 60031712 T DE60031712 T DE 60031712T DE 60031712 T2 DE60031712 T2 DE 60031712T2
Authority
DE
Germany
Prior art keywords
section
index
bucket
address
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60031712T
Other languages
English (en)
Other versions
DE60031712D1 (de
Inventor
Govind Fremont MALALUR
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Broadcom Corp
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of DE60031712D1 publication Critical patent/DE60031712D1/de
Publication of DE60031712T2 publication Critical patent/DE60031712T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections

Description

  • VERWANDTE ANMELDUNGEN:
  • Die vorliegende Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung (U.S. Provisional Patent Application) Nr. 60/166,225 vom 18. November 1999, veröffentlicht als Internationale Anmeldung WO 01/37495 am 25. Mai 2001.
  • HINTERGRUND DER ERFINDUNG
  • GEBIET DER ERFINDUNG:
  • sDie vorliegende Erfindung ist auf ein Verfahren und eine Vorrichtung für einen Tabellennachschlageindex gerichtet, der schnellen und effizienten Zugriff auf eine Tabelle, z.B. eine Adresstabelle, bereitstellt. Insbesondere dient der Tabellennachschlageindex für die Übertragung von Datenpaketen in einer Netzwerkvermittlung.
  • BESCHREIBUNG DES STANDS DER TECHNIK:
  • In der Welt der Datenübertragung ist es notwendig, Daten so schnell wie möglich zu übertragen, um nahezu unverzögerten Zugriff auf Informationen zu haben.
  • Tabellennachschlagen wird häufig verwendet, um Informationen zu indizieren, damit schnell auf häufig benötigte Daten zugegriffen werden kann. Bei der Netzwerkvermittlung ist es beispielsweise zwingend, dass, wenn Daten in einem Port empfangen werden, der geeignete Port für die Ausgabe identifiziert wird, um Daten zu übertragen. Daher wird Tabellennachschlagen verwendet, um Informationen bezüglich ankommender Daten zu speichern, die die ankommenden Daten auf einen geeigneten Port für die Ausgabe leiten.
  • Auf dem Gebiet des Tabellennachschlagens werden mehrere Verfahren verwendet, um auf Informationen zuzugreifen. Ein Verfahren ist ein linearer Index.
  • 1B zeigt eine 64K Tabelle 100, die linear indiziert wird. Der Index 105 für eine 64K Tabelle muss 16 Bit lang sein (216 = 64K), um auf Einträge in der Tabelle linear zuzugreifen. Da der Index linear auf Einträge in der Tabelle zugreift, liegt eine Eins-zu-Eins-Entsprechung zwischen jedem Index und jedem Tabelleneintrag vor (d.h. jeder Index hat einen entsprechenden Tabelleneintrag).
  • 1C ist eine Darstellung eines linearen Indexes in einer 64K Tabelle. Die Indices I(1), I(2), I(3) ... werden jeweils linear in die 64K Tabelle indiziert, so dass eine Eins-zu-Eins-Entsprechung zwischen jedem Index und jedem Tabelleneintrag entsteht. Wenn die Indices I(1), I(2), I(3) ... jeweils 16 Bit lang sind, kann in 16 Taktzyklen unter Verwendung standardmäßigen binären Durchsuchens ein Eintrag gefunden werden. Wenn jedoch durch Einfügen eines Eintrags oder Löschen eines Eintrags eine neue Adresse gelernt werden muss, dauert es lange, die Adresse aus der Tabelle zu löschen oder in sie einzufügen, weil der Index nach jedem Einfügen und jedem Löschen sortiert werden muss. Im ungünstigsten Fall muss jeder der 16 Bit Adress-Indices bewegt und sortiert werden, was zeitaufwendig ist. Dieses Sortieren verschlechtert die Leistung der Vermittlung in hohem Maße. Wenn die neue Adresse in die Tabelle eingefügt wird, müssen Adressen auf und/oder ab bewegt werden, um Platz für die neue Adresse zu schaffen. Daher verschlechtert sich die Leistung der Vermittlung mit dem Anwachsen der Tabellengröße.
  • Andere Verfahren verwenden Zeiger, Hash-Funktionen oder Baum-Funktionen, um das Problem zu beheben. Die meisten dieser Verfahren haben, wenn sie implementiert sind, eine „schlechte" Leistung im ungünstigsten Fall – insbesondere für Einfüg- und Lösch-Operationen. Wie oben angemerkt, verschlechtert sich die Leistung mit dem Anwachsen der Tabellengröße. Einige der Hauptgründe für die schlechten Ergebnisse sind, dass die Tabellengröße die Leistung unmittelbar beeinflusst und die Verfahren spezielle Speicher- und Datenstrukturen benötigen.
  • Die US-Patentschrift US-A-5 852 607 betrifft eine Netzwerkvermittlung eines Datenkommunikationsnetzes, die Informationen, z.B. Datenpakete, zwischen Einheiten des Netzes überträgt. Eine Netzeinheit kann aus einer beliebigen Vorrichtung bestehen, die Datenpakete über derartige Medien überträgt oder empfängt. Das Netz ist physikalisch durch lokale Netze oder „LANs" segmentiert, die die verschiedenen Netzwerkeinheiten mit der Vermittlung verbinden. Bei Netzen, die VLANs aufweisen, umfassen die kompletten Quell- und Zielinformationen, die zu übertragen sind, die Quelladresse, die Y-Bit-Zieladresse und ebenso einen V-Bit VLAN Kennzeichner. Der VLAN Kennzeichner kann in dem Paket enthalten sein oder durch den Port bestimmt werden, durch den das Paket in die Vermittlung eintritt. Der VLAN Kennzeichner ist eine wesentliche Information für das korrekte Leiten eines Pakets durch die Vermittlung an die beabsichtigte(n) Einheit(en).
  • Die europäische Patentanmeldung EP-A-0 594 196 ist gerichtet auf ein Verfahren zum Durchführen von Adressnachschlagen für eine N-Bit Eingangsadresse in einem Paketdatenkommunikationssystem unter Verwendung einer Hash-Funktion zum Erzeugen einer N-Bit Eingangs-Hash-Adresse, Indizieren in eine Hash-Tabelle, um einen Hash-Bucket unter Verwendung eines Indexteils der Hash-Adresse auszuwählen, wobei der Hash-Bucket einen Zeiger und einen Größenwert aufweist, Indizieren in eine Translationstabelle, um einen Binärbaum von Aufzeichnungen an einer von dem Zeiger identifizierten Stelle auszuwählen, wobei der ausgewählte Binärbaum eine Größe aufweist, die von dem Größenwert spezifiziert ist, Durchsuchen der Aufzeichnung des ausgewählten Binärbaums, um eine gespeicherte Hash-Adresse aus jeder Aufzeichnung zu erhalten, einschließlich Vergleichen der gespeicherten Hash-Adressen aus jeder Aufzeichnung mit einem verbleibenden Teil der Eingangs-Hash-Adresse, und wenn eine Übereinstimmung gefunden wird, Abrufen einer gespeicherten neuen Adresse aus den Aufzeichnungen.
  • Die US-Patentschrift US-A-5 860 136 beschreibt ein System zum Routen einer Nachricht zwischen einer Quelle und einem Ziel, das ein Nachrichtenformat verwendet, das von der Stelle des Nachrichtenziels strukturunabhängig ist. Das System gemäß diesem Patent umfasst eine erste Signaltransceivervorrichtung mit nur einem ersten festgelegten eindeutigen Identifizierungscode wo immer die Transceivervorrichtung sich befinden mag, eine zweite Signaltransceivervorrichtung zur Kommunikation mit der ersten Transceivervorrichtung, die einen zweiten festgelegten eindeutigen Identifizierungscode aufweist, und Routingknoten zum Koppeln eines von der ersten Transceivervorrichtung übertragenen Signals mit der zweiten Transceivervorrichtung an einer unbekannten physikalischen Stelle.
  • ZUSAMMENFASSUNG DER ERFINDUNG:
  • Die vorliegende Erfindung ist, wie in Verfahrensanspruch 1 und Vorrichtungsansprüchen 7 und 13 beansprucht, so ausgelegt, dass sie die Mängel des Standes der Technik behebt und die Geschwindigkeit der Datenübertragung erhöht.
  • Bei einer Ausführungsform ist die vorliegende Erfindung ein Verfahren zum Durchführen von Tabellennachschlagen. Das Verfahren umfasst die Schritte des Empfangens von Daten durch eine Eingangsquelle; Parsen der Daten in einen Indexabschnitt und einen entsprechenden Bucketabschnitt; Indizieren des Indexabschnitts auf den entsprechenden Bucketabschnitt; und Zugreifen auf Tabelleninformationen, die in einer Nachschlagetabelle gespeichert sind, unter Verwendung des Bucketabschnitts.
  • Bei einer anderen Ausführungsform ist die vorliegende Erfindung eine Tabellen-Nachschlage-Indiziervorrichtung. Die Tabellen-Nachschlage-Indiziervorrichtung weist einen Empfänger auf, der ankommende Daten empfängt; einen Datenparser, der die Daten in einen Indexabschnitt und einen entsprechenden Bucketabschnitt parst; einen Indizierer der den Indexabschnitt auf den Bucketabschnitt indiziert; und eine Nachschlagevorrichtung, die auf eine Nachschlagetabelle unter Verwendung des entsprechenden Bucketabschnitts zugreift.
  • Bei einer weiteren Ausführungsform ist die vorliegende Erfindung eine Netzwerkvermittlung mit mehreren Ports, die verwendet werden, um Daten zu empfangen und zu exportieren. Alle der mehreren Ports sind durch ein Kommunikationsmedium miteinander verbunden. Mehrere Address Resolution Logic (ARL) Vorrichtungen sind mit einem der mehreren Ports verbunden, so dass jeder der mehreren Ports eine entsprechende ARL Vorrichtung hat. Jede der mehreren ARL Vorrichtungen besteht aus einem Parser, der Daten in einen Indexabschnitt und einen entsprechenden Bucketabschnitt parst; einem Indizierer, der den Indexabschnitt auf einen entsprechenden Bucketabschnitt indiziert; und einer Nachschlagevorrichtung, die auf Tabelleneinträge in einer Nachschlagetabelle unter Verwendung des Bucketabschnitts zugreift.
  • KURZE BESCHREIBUGN DER ZEICHNUNGEN:
  • Die Aufgaben und Merkmale der Erfindung werden unter Bezug auf die nachfolgende Beschreibung und die beigefügten Zeichnungen leichter verstanden. Es zeigt:
  • 1A eine Darstellung einer Netzwerkvermittlung mit Nachschlagetabellen (L Tabellen) und Address Resolution Logic (ARL).
  • 1B eine Darstellung eines 16-Bit Indexes und einer 64K Tabelle nach dem Stand der Technik.
  • 1C eine Darstellung eines linearen Indexes in einer 64K Tabelle nach dem Stand der Technik.
  • 2A eine Darstellung eines 48-Bit Schlüssels, der in einen Indexabschnitt und einen Bucketabschnitt geparst wird, um einen bestimmten Eintrag in einer 64K Tabelle auszuwählen.
  • 2B eine Darstellung des Indizierens einer 64K Tabelle unter Verwendung eines Indexabschnitts und eines Bucketabschnitts für mehrere Indices.
  • 3 eine Darstellung eines 48-Bit Schlüssels, der eine Bucketgröße von 32 aufweist und in eine 64K Tabelle indiziert wird.
  • 4A eine Darstellung der Verfahrensschritte einer Ausführungsform der vorliegenden Erfindung.
  • 4B eine Darstellung der Verfahrensschritte einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 5 eine Darstellung einer Netzwerkvermittlung, die eine Adresse empfängt und einen Indexabschnitt und einen Bucketabschnitt verwendet, um einen bestimmten Eintrag in einer Tabelle zu identifizieren, um den geeigneten Ausgabeport für Datenübertragung zu bestimmen.
  • 6 eine Darstellung einer Netzwerkvermittlung gemäß der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN:
  • sDie vorliegende Erfindung ist gerichtet auf ein Verfahren und eine Vorrichtung, die Tabellennachschlagen durchführen, wobei ankommende Daten in einen Indexabschnitt und einen Bucketabschnitt geparst und der Indexabschnitt und der Bucketabschnitt zum Nachschlagen verwendet werden.
  • 1A zeigt eine Netzwerkvermittlung 50 mit 5 Ports 52, 54, 56, 58 und 60. Jeder der 5 Ports weist entsprechende Schalttabellen 62, 64, 66, 68 und 70 auf. Jede der Schalttabellen 62, 64, 66, 68 und 70 enthält Address Resolution Logic (ARL) und Nachschlagetabellen (L Tabellen). Alle der 5 Ports sind untereinander durch eine Kommunikationsleitung 72 verbunden.
  • Wenn Daten von einem der Ports 52, 54, 56, 58 oder 60 empfangen werden, werden die Daten von der entsprechenden ARL indiziert. Gleichzeitig werden die Daten an alle Ports gesendet, um zu ermitteln, zu welchem Port die Daten zur Ausgabe gesendet werden sollen. Wenn der Ausgabeport ermittelt ist, speichert die ARL die Ausgabeportdaten unter Verwendung des Indexes in der L Tabelle. Auf diese Weise wird der Ausgabeport für eine bestimmte Datenart „gelernt".
  • Sobald der Ausgabeport für eine bestimmte Datenart „gelernt" ist, indiziert die ARL die Daten, wenn ein Port Daten empfängt, und „schlägt" den geeigneten Ausgabeport in der Nachschlagetabelle, L Tabelle, „nach". Die Daten werden dann an den geeigneten Port zur Ausgabe gesendet, und der Schritt des Sendens der Daten an jeden Port entfällt, wodurch der Vermittlungsvorgang beschleunigt wird.
  • Es sei beispielsweise angenommen, dass Anfangsdaten von dem Port 52 empfangen werden und durch den Port 60 auszugeben sind. Zunächst werden die Daten an alle Ports gesendet um den geeigneten Ausgabeport zu ermitteln. Wenn der geeignete Ausgabeport ermittelt ist, werden die Anfangsdaten an die Schalttabelle 62 gesendet, damit sie von der ARL indiziert werden, und die Ausgabeportdaten werden unter Verwendung des von der ARL erzeugten Indexes in der Nachschlagetabelle, L Tabelle, gespeichert. Im vorliegenden Fall enthält die L Tabelle Ausgabeportdaten, die alle Daten mit einem bestimmten Index so leiten, dass sie an den Port 60 gesendet werden.
  • Wenn der Port 52 Folgedaten empfängt, indiziert die Schalttabelle 62 die Daten und „schlägt" den Index in der Nachschlagetabelle, L Tabelle, nach. Wenn die Folgedaten denselben Index haben wie die Anfangsdaten und er in der Nachschlagetabelle gefunden wird, zeigt die Nachschlagetabelle, dass die Folgedaten zur Ausgabe an den Port 60 gesendet werden sollten, und die Folgedaten werden automatisch an den Port 60 zur Ausgabe gesendet.
  • Wenn die Folgedaten indiziert sind und der Index nicht in der Nachschlagetabelle gefunden wird, werden die Folgedaten an alle Ports gesendet, um den geeigneten Ausgabeport zu ermitteln. Die Folgedaten werden dann indiziert und die Ausgabeportinformationen werden durch die Schalttabelle 62 in einer Nachschlagetabelle gespeichert. Die Folgedaten werden nun „gelernt", und wenn das nächste Mal ankommende Daten mit demselben Index ankommen wie die zur Folgedaten, werden die ankommenden Daten unverzüglich an den geeigneten Port zur Ausgabe gesendet, da die Daten bzw. der Index nun „gelernt" sind.
  • 2A zeigt eine Datenstruktur 200, die aus 48 Bits aufgebaut ist, die als Daten zum Empfang durch die Ports 52, 54, 56, 58 und 60 verwendet werden. Diese 48-Bit Datenstruktur 200, die gewöhnlich als Schlüssel bezeichnet wird, ist typischerweise eine Adressart, die in mehrere Gruppen geparst ist. Im vorliegenden Fall ist die in 2A gezeigte Datenstruktur in 3 Segmente geparst, das Segment M, das Indexsegment I und das Bucketindex N. Das Bucketindex N wird als Bucket bezeichnet, das Indexsegment I als Index, und das Segment M sind die verbleibenden Bit des Schlüssels.
  • Für eine Schlüsselgröße von 48 und eine Tabellengröße von 64K werden 16 Bits zum Indizieren verwendet. Der 48-Bit Schlüssel ist in 3 Segmente geparst, das Segment M, das Indexsegment I und das Bucketindex N.
  • 2B ist eine Darstellung eines Indexsegments I(1), das linear auf ein Bucketindex N(1) indiziert wird, eines Indexsegments I(2), das linear auf ein Bucketindex N(2) indiziert wird, und eines Indexsegments I(3), das linear auf ein Bucketindex N(3) indiziert wird ... Jedes Indexsegment I wählt ein Bucketindex N aus, und die Kombination des Indexsegments I und des Bucketindexs N wählt einen Eintrag in der Tabelle aus. Jedes Bucketindex N kann so programmiert werden, dass es eine bestimmte Größe hat. Da die Größe des Indexsegments I von der Größe des Bucketindexs N abhängt, ändert sich die Größe des Indexsegments I dementsprechend.
  • 3 zeigt einen 48-Bit Schlüssel mit einer Bucketgröße von 32 (d.h. das Bucketindex N ist 5 Bit lang und 25 = 32) für eine 64K Tabelle. Da 16 Bits (64K = 216) benötigt werden, um die 64K Tabelle zu indizieren, und die Bucketgröße 32 (5 Bit lang) ist, ist das Indexsegment I 11 Bit lang (16 Bit – 5 Bit = 11 Bit) und das Segment M ist 32 Bit lang (48 Bit – 16 Bit = 32 Bit).
  • Das Indexsegment I wird Index genannt und wird linear auf einen Bucket indiziert, der als Bucketindex N bezeichnet wird. Die Kombination des Indexes und des Buckets wählt direkt einen Eintrag in der Tabelle aus. Daher dauert es, sobald der Index ausgewählt ist, maximal fünf Taktzyklen, um den Bucket zu durchsuchen, und nur 5 Bits müssen für eine Einfüg- oder Löschoperation binär sortiert werden. Somit hängt eine Einfüg- oder Löschfunktion von der Bucketgröße ab, die so programmiert werden kann, dass sie für eine bestimmte Anforderung passend ist.
  • Es wird angemerkt, dass es in einigen Fällen wichtig ist, für das Indexsegment I Bits aus einem Schlüssel auszuwählen, die für alle ankommenden Schlüssel wiederkehrende Indexsegmente I aufweisen. Dies ermöglicht Bucketgrößen von 2 oder größer, was für Hochgeschwindigkeitsvermittlung erwünschter ist.
  • Bei einigen Anwendungen verwenden Chiphersteller eine Herstelleridentifikationsnummer als Teil des Schlüssels. Es kann daher nützlich sein, Bits in dem Schlüssel, die für die Herstelleridentifikationsnummer verwendet werden, als Teil des Indexsegments I zu verwenden. Ein weiteres nützliches Verfahren zum Indizieren des Indexsegments I ist, einen XOR (exklusives Oder) Index zu verwenden, wobei mit den verbleibenden Bits des Schlüssels eine XOR Operation für den Index durchgeführt wird.
  • 4A ist eine Darstellung der Schritte, die nötig sind, um eine Nachschlagetabelle gemäß der vorliegenden Erfindung zu indizieren. In Schritt 410 werden Daten als Eingabe empfangen. Die Daten werden dann in Schritt 420 in einen Indexabschnitt und einen entsprechenden Bucketabschnitt geparst. In Schritt 430 wird der Indexabschnitt auf den Bucketabschnitt indiziert. In Schritt 440 wird unter Verwendung des Bucketabschnitts auf die in einer Nachschlagetabelle gespeicherten Tabelleninformationen zugegriffen.
  • 4B zeigt Schritte, die denen von 4A sehr ähnlich sind. In Schritt 450 werden Daten in einem Port empfangen. Die Daten werden dann in Schritt 460 in einen Indexabschnitt und einen entsprechenden Bucketabschnitt geparst. In Schritt 470 wird der Indexabschnitt auf den Bucketabschnitt indiziert. Der Hauptunterschied zwischen den in 4A und den in 4B gezeigten Schritten ist der folgende abschließende Schritt. In Schritt 480 wird unter Verwendung des Bucketabschnitts auf die in einer Nachschlagetabelle gespeicherten Tabelleninformationen zugegriffen. Wenn jedoch in der Nachschlagetabelle keine Tabelleninformationen für den Bucketabschnitt gespeichert sind, speichert die vorliegende Erfindung Tabelleninformationen entsprechend dem Bucketabschnitt in der Nachschlagetabelle, wie in Schritt 490 gezeigt ist.
  • Bei einer Ausführungsform der Erfindung wird eine MAC Adresse in einem Port einer Netzwerkvermittlung mit mehreren Ports empfangen. Die MAC Adresse wird in einen Indexabschnitt und einen Bucketabschnitt geparst. Der Indexabschnitt wird auf einen Bucketabschnitt indiziert, und der Bucketabschnitt wird verwendet, um auf einen Tabelleneintrag in einer Nachschlagetabelle zuzugreifen, um zu ermitteln, an welchen Port die MAC Adresse und die assoziierten Daten zur Ausgabe gesendet werden sollen.
  • Wenn es für den entsprechenden Bucketabschnitt einen Eintrag gibt, werden die MAC Adresse und die assoziierten Daten an den geeigneten Port zur Ausgabe gesendet. Falls es keinen Tabelleneintrag gibt, muss der Ausgabeport „gelernt" werden. Dies geschieht durch Senden der MAC Adresse an alle Ports in der Vermittlung. Der geeignete Ausgabeport sendet eine Nachricht zurück, dass er der geeignete Ausgabeport ist, und diese Information wird in der Nachschlagetabelle mit dem entsprechenden Bucket gespeichert. Daher können alle folgenden MAC Adressen, die denselben Index und Bucket haben, auf den Tabelleneintrag in der Nachschlagetabelle zugreifen, um den geeigneten Ausgabeport zu ermitteln, ohne die MAC Adresse an alle Ports in der Vermittlung zu senden.
  • 5 ist eine Darstellung einer Vermittlung 500. Um Daten sehr schnell und effizient zu übertragen, lernt die Vermittlung 500, an welchen Ausgabeport jede ankommende MAC Adresse 505 zu übertragen ist, und speichert diese Information in der Tabelle 510. Wenn die Vermittlung 500 eine neue MAC Adresse 505 empfängt, wird die MAC Adresse in der Tabelle 510 nachgeschlagen und an den geeigneten Ziel-Ausgabeport 540 oder 545 vermittelt.
  • Eine Adresse 505 wird durch einen Eingabeport 515 von der Vermittlung 500 empfangen. Der Eingabeport 515 überträgt die Adresse 505 an den Parser 520. Der Parser 520 segmentiert die Adresse 505 in drei Teile, das Segment 525, das mit M bezeichnet ist, das Segment 530, das mit I bezeichnet ist, und das Segment 535, das mit N bezeichnet ist. Das Segment I wird linear auf einen Bucket 535 indiziert, und der Bucket 535 indiziert direkt einen Eintrag in der Tabelle 510. Tatsächlich schlägt der Bucket 535 in der Tabelle 510 nach, um zu ermitteln, welcher der Ausgabeports 540 oder 545 zu verwenden ist, um die ankommenden Daten zu übertragen. Der Index I wählt nur einen Bucket aus.
  • 6 ist eine Darstellung einer Netzwerkvermittlung 600 mit einem Port 605, einem Port 610 und einem Port 615. Alle dieser Ports sind durch eine Kommunikationsleitung 620 untereinander verbunden.
  • Der Port 605 weist eine entsprechende Address Resolution Logic (ARL) Vorrichtung 625 und eine entsprechende Nachschlagetabelle 630 auf. Die ARL 625 besteht aus einem Parser 635, einem Indizierer 640 und einer Nachschlagevorrichtung 645.
  • Der Port 610 weist eine entsprechende Address Resolution Logic (ARL) Vorrichtung 650 und eine entsprechende Nachschlagetabelle 655 auf. Die ARL 650 besteht aus einem Parser 660, einem Indizierer 665 und einer Nachschlagevorrichtung 670.
  • Der Port 615 weist eine entsprechende Address Resolution Logic (ARL) Vorrichtung 675 und eine entsprechende Nachschlagetabelle 680 auf. Die ARL 675 besteht aus einem Parser 685, einem Indizierer 690 und einer Nachschlagevorrichtung 695.
  • Wenn der Port 605 eine an den Port 610 zu sendende MAC Adresse empfängt, ist die Operation der Vermittlung wie folgt. Eine MAC Adresse wird in dem Port 605 der Netzwerkvermittlung 600 mit mehreren Ports 605, 610 und 615 empfangen. Die MAC Adresse wird zur Verarbeitung an die ARL 625 gesendet. Der Parser 635 parst die MAC Adresse in einen Indexabschnitt und einen Bucketabschnitt. Der Indizierer 640 indiziert den Indexabschnitt auf einen Bucket in der Nachschlagevorrichtung 645. Der Bucketabschnitt in der Nachschlagevorrichtung 645 wird verwendet, um auf einen Tabelleneintrag in der Nachschlagetabelle 630 zuzugreifen, um zu ermitteln, an welchen Port die MAC Adresse und die assoziierten Daten zur Ausgabe gesendet werden sollen. Wenn es für den entsprechenden Bucketabschnitt einen Eintrag gibt, werden die MAC Adresse und die assoziierten Daten an den geeigneten Ausgabeport gesendet. In diesem Fall leitet der Nachschlagetabellen-Eintrag die MAC Adresse und die assoziierten Daten an den Ausgabeport 610. Wenn jedoch kein Tabelleneintrag vorhanden ist, muss der Ausgabeport „gelernt" werden. Dies geschieht durch Senden der MAC Adresse an alle Ports, die Ports 605, 610 und 615, in der Vermittlung 600. Der geeignete Ausgabeport sendet eine Nachricht zurück, dass er der geeignete Ausgabeport ist, und diese Information wird in der Nachschlagetabelle 630 mit dem entsprechenden Bucket gespeichert. In diesem Fall sendet der Port 610 dem Port 605 ein Signal, das angibt, dass der Port 610 der geeignete Ausgabeport ist, und diese Information wird in der Nachschlagetabelle 630 gespeichert. Daher können folgende MAC Adressen, die denselben Index und Bucket haben, auf den Tabelleneintrag in der Nachschlagetabelle zugreifen, um den geeigneten Ausgabeport zu ermitteln, ohne die MAC Adresse an alle Ports in der Vermittlung zu senden.
  • Ein Vorteil der vorliegenden Erfindung ist, dass Einfüg- und Lösch-Operationen nicht länger von der Tabellengröße abhängig sind. Wie oben erläutert, ist Adressnachschlagen im Stand der Technik von der Tabellengröße abhängig. Wenn daher die Tabellengröße 64K beträgt, ist der Index 16 Bit lang. Somit umfasst eine Einfüg- oder Lösch-Operation das Sortieren und Bewegen von 16-Bit Indices.
  • Die vorliegende Erfindung hat jedoch für eine 64K Tabelle mit einer Bucketgröße von 32 (5 Bit) nur einen 11-Bit Index (16 Bit – 5 Bit = 11 Bit). Daher sind, sobald ein Bucket von einem Index ausgewählt ist, Einfüg- oder Lösch-Operationen von der Bucketgröße abhängig und umfassen, in diesem Fall, das Sortieren und Bewegen von 5-Bit Bucket-Indices, was viel effizienter ist, als das Sortieren und Bewegen von 16-Bit Indices.
  • Obwohl die Erfindung auf der Grundlage der oben erläuterten Ausführungsformen beschrieben worden ist, ist es für den Fachmann offensichtlich, dass bestimmte Modifikationen, Variationen und alternative Konstruktionen vorgenommen werden können, ohne vom Umfang der Erfindung abzuweichen. Anstelle der Verwendung eines linearen Indexes ist beispielsweise unter gewissen Umständen ein XOR Index angebracht. Ebenso können die Bucket- und Indexgrößen so programmiert werden, dass sie sich verschiedenen Umständen anpassen und auf bestimmte Anforderungen zugeschnitten sind.

Claims (13)

  1. Verfahren zum Durchführen von Tabellennachschlagen in einer Netzwerkvorrichtung (50), mit den folgenden Schritten: Empfangen (410, 450) eines Datenpakets (505) durch einen Eingangsport (52, 515, 605) der Netzwerkvorrichtung (50); Parsen (420, 460) des Datenpakets (505) in einen Indexabschnitt (I, 535) und einen entsprechenden Bucketabschnitt (N, 535); Indizieren (430, 470) des Indexabschnitts (I, 535) auf den entsprechenden Bucketabschnitt (N, 535); Zugreifen auf Adresstabelleninformationen, die in einer Adressnachschlagetabelle (510, 630, 655) gespeichert sind, unter Verwendung des Bucketabschnitts (N, 535); dadurch gekennzeichnet, dass das Verfahren des Weiteren den folgenden Schritt umfasst: Speichern (440, 480) von Informationen über das Datenpaket (505) in der Adressnachschlagetabelle (510, 630, 655) als Adresstabelleninformationen, wenn keine Adresstabelleninformationen verfügbar sind, wobei der Bucketabschnitt (N, 535) verwendet wird, um auf Adresstabelleninformationen zuzugreifen.
  2. Verfahren nach Anspruch 1, wobei der Schritt des Indizierens (430, 470) des Indexabschnitts (I, 535) auf den Bucketabschnitt (N, 535) der Schritt des linearen Indizierens des Indexabschnitts (I, 535) auf den Bucketabschnitt (N, 535) ist.
  3. Verfahren nach Anspruch 1, wobei der Schritt des Indizierens (430, 470) des Indexabschnitts (I, 535) auf den Bucketabschnitt (N, 535) ist der Schritt des XOR-Indizierens des Indexabschnitts (I, 535) auf den Bucketabschnitt (N, 535) ist.
  4. Verfahren nach Anspruch 1, das des Weiteren den Schritt des Sortierens des Bucketabschnitts (N, 535) umfasst.
  5. Verfahren nach Anspruch 1, das des Weiteren den Schritt des binären Sortierens des Bucketabschnitts (N, 535) umfasst.
  6. Verfahren nach Anspruch 1, wobei der Schritt des Parsens (420, 460) des Datenpakets (505) in einen Indexabschnitt (I, 535) und einen entsprechenden Bucketabschnitt (N, 535) des Weiteren den Schritt des Parsens des Indexabschnitts (I, 535) so umfasst, dass der Indexabschnitt (I, 535) wiederkehrt, wenn andere Daten in den Indexabschnitt (I, 535) und den entsprechenden Bucketabschnitt (N, 535) geparst werden.
  7. Adresstabellen-Nachschlage-Indiziervorrichtung (645) mit: einem Empfangsabschnitt eines Ports (52, 515, 605) einer Netzwerkvorrichtung (50), der so ausgelegt ist, dass er ein ankommendes Datenpaket (505) empfängt; einem Datenparser (520, 635, 660, 665, 685), der so ausgelegt ist, dass er das Datenpaket (505) in einen Indexabschnitt (I, 535) und einen entsprechenden Bucketabschnitt (N, 535) parst; einen Indizierer (640, 665, 690), der so ausgelegt ist, dass er den Indexabschnitt (I, 535) auf den Bucketabschnitt (N, 535) indiziert; einer Adressnachschlagevorrichtung (645), die so ausgelegt ist, dass sie auf eine Adressnachschlagetabelle (510, 630, 655) unter Verwendung des Bucketabschnitts (N, 535) zugreift; gekennzeichnet durch einen Speichermechanismus, der so ausgelegt ist, dass er Informationen über das Datenpaket (505) in der Adressnachschlagetabelle (510, 630, 655) als Adresstabelleninformationen speichert, wenn keine Adresstabelleninformationen verfügbar sind, wobei der Bucketabschnitt (N, 535) verwendet wird, um auf Adresstabelleninformationen zuzugreifen.
  8. Vorrichtung nach Anspruch 8, wobei der Indizierer (640, 665, 690) so ausgelegt ist, dass er den Indexabschnitt (I, 535) linear auf den Bucketabschnitt (N, 535) indiziert.
  9. Vorrichtung nach Anspruch 8, wobei der Indizierer (640, 665, 690) so ausgelegt ist, dass er den Indexabschnitt (I, 535) auf den Bucketabschnitt (N, 535) XOR-indiziert.
  10. Vorrichtung nach Anspruch 8, die des Weiteren einen Sortierer aufweist, der so ausgelegt ist, dass er den Bucketabschnitt (N, 535) sortiert.
  11. Vorrichtung nach Anspruch 10, wobei der Sortierer so ausgelegt, ist, dass er den Bucketabschnitt (N, 535) binär sortiert.
  12. Vorrichtung nach Anspruch 7, wobei der Datenparser (520, 635, 660, 665, 685) so ausgelegt ist, dass er die Indexabschnitte (I, 535) so in Gruppen parst, dass jeder Indexabschnitt (I, 535) in einer Gruppe derselbe ist wie die anderen Indexabschnitte (I, 535) in dieser Gruppe.
  13. Netzwerkvermittlung (500, 600) mit: mehreren Ports (52, 54, 56, 58, 60, 540, 545, 605, 610, 615), die verwendet werden, um Daten (505) zu empfangen und zu exportieren, wobei alle der mehreren Ports durch ein Kommunikationsmedium miteinander verbunden sind; mehreren Address Resolution Logic (ARL) Vorrichtungen (625, 650, 675), wobei jede der mehreren ARL Vorrichtungen (625, 650, 675) mit einem der mehreren Ports verbunden ist, wobei jeder der mehreren Ports eine entsprechende ARL Vorrichtung (625, 650, 675) hat, wobei jede der mehreren ARL Vorrichtungen (625, 650, 675) aufweist: einen Parser (520, 635, 660, 665, 685), der so ausgelegt ist, dass er Daten in einen Indexabschnitt (I, 535) und einen entsprechenden Bucketabschnitt (N, 535) parst; einen Indizierer (640, 665, 690), der so ausgelegt ist, dass er den Indexabschnitt (I, 535) auf einen entsprechenden Bucketabschnitt (N, 535) indiziert; eine Nachschlagevorrichtung (645, 670, 695), die so ausgelegt ist, dass sie auf Tabelleneinträge in einer Nachschlagetabelle (510, 630, 655) unter Verwendung des Bucketabschnitts (N, 535) zugreift; gekennzeichnet durch einen Speichermechanismus, der so ausgelegt ist, dass er Informationen über das Datenpaket (505) in der Adressnachschlagetabelle (510, 630, 655) als Adresstabelleninformationen speichert, wenn keine Adresstabelleninformationen verfügbar sind, wobei der Bucketabschnitt (N, 535) verwendet wird, um auf Adresstabelleninformationen zuzugreifen.
DE60031712T 1999-11-18 2000-11-17 Tabellen-nachschlage-mechanismus zur adressauflösung in einer paket-netzwerkvermittlung Expired - Lifetime DE60031712T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16622599P 1999-11-18 1999-11-18
US166225P 1999-11-18
PCT/US2000/030144 WO2001037495A1 (en) 1999-11-18 2000-11-17 Table lookup mechanism for address resolution in a packet network switch

Publications (2)

Publication Number Publication Date
DE60031712D1 DE60031712D1 (de) 2006-12-14
DE60031712T2 true DE60031712T2 (de) 2007-09-06

Family

ID=22602349

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031712T Expired - Lifetime DE60031712T2 (de) 1999-11-18 2000-11-17 Tabellen-nachschlage-mechanismus zur adressauflösung in einer paket-netzwerkvermittlung

Country Status (6)

Country Link
US (2) US7593953B1 (de)
EP (1) EP1232612B1 (de)
AT (1) ATE344562T1 (de)
AU (1) AU1754801A (de)
DE (1) DE60031712T2 (de)
WO (1) WO2001037495A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130306B1 (en) * 2000-10-25 2006-10-31 Pasi Into Loukas Pulse group soliton transmission
SE521907C2 (sv) * 2002-01-21 2003-12-16 Rockstorm Technologies Ab Metod och system för snabb IP-vägvalssökning för att fastställa vart ett IP-datagram med en given destinationsadress ska vidarebefordras
TWI324471B (en) * 2006-06-01 2010-05-01 Via Tech Inc Mac address management method
EP2482209A1 (de) 2006-10-05 2012-08-01 Splunk Inc. Zeitreihensuchmaschine
CN101556610B (zh) * 2009-05-04 2011-12-21 中兴通讯股份有限公司 网络处理器使用的建表和查表方法
US8792494B2 (en) 2012-09-14 2014-07-29 International Business Machines Corporation Facilitating insertion of device MAC addresses into a forwarding database
US10353957B2 (en) 2013-04-30 2019-07-16 Splunk Inc. Processing of performance data and raw log data from an information technology environment
US10225136B2 (en) 2013-04-30 2019-03-05 Splunk Inc. Processing of log data and performance data obtained via an application programming interface (API)
US10019496B2 (en) 2013-04-30 2018-07-10 Splunk Inc. Processing of performance data and log data from an information technology environment by using diverse data stores
US10318541B2 (en) 2013-04-30 2019-06-11 Splunk Inc. Correlating log data with performance measurements having a specified relationship to a threshold value
US10997191B2 (en) 2013-04-30 2021-05-04 Splunk Inc. Query-triggered processing of performance data and log data from an information technology environment
US10614132B2 (en) 2013-04-30 2020-04-07 Splunk Inc. GUI-triggered processing of performance data and log data from an information technology environment
US10346357B2 (en) 2013-04-30 2019-07-09 Splunk Inc. Processing of performance data and structure data from an information technology environment

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837447A (en) * 1986-05-06 1989-06-06 Research Triangle Institute, Inc. Rasterization system for converting polygonal pattern data into a bit-map
US4899334A (en) 1987-10-19 1990-02-06 Oki Electric Industry Co., Ltd. Self-routing multistage switching network for fast packet switching system
US5423015A (en) 1988-10-20 1995-06-06 Chung; David S. F. Memory structure and method for shuffling a stack of data utilizing buffer memory locations
US5860136A (en) * 1989-06-16 1999-01-12 Fenner; Peter R. Method and apparatus for use of associated memory with large key spaces
US5253248A (en) 1990-07-03 1993-10-12 At&T Bell Laboratories Congestion control for connectionless traffic in data networks via alternate routing
GB9023867D0 (en) 1990-11-02 1990-12-12 Mv Ltd Improvements relating to a fault tolerant storage system
JPH04189023A (ja) 1990-11-22 1992-07-07 Victor Co Of Japan Ltd パルス同期化回路
JPH04214290A (ja) 1990-12-12 1992-08-05 Mitsubishi Electric Corp 半導体記憶装置
JPH05183828A (ja) 1991-12-27 1993-07-23 Sony Corp 電子機器
DE69319757T2 (de) 1992-01-10 1999-04-15 Digital Equipment Corp Verfahren zur Verbindung einer Leitungskarte mit einer Adressenerkennungseinheit
US5390173A (en) 1992-10-22 1995-02-14 Digital Equipment Corporation Packet format in hub for packet data communications system
EP0594196B1 (de) * 1992-10-22 1999-03-31 Cabletron Systems, Inc. Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5696899A (en) 1992-11-18 1997-12-09 Canon Kabushiki Kaisha Method and apparatus for adaptively determining the format of data packets carried on a local area network
US5473607A (en) 1993-08-09 1995-12-05 Grand Junction Networks, Inc. Packet filtering for data networks
US5499295A (en) 1993-08-31 1996-03-12 Ericsson Inc. Method and apparatus for feature authorization and software copy protection in RF communications devices
US5440734A (en) * 1993-09-14 1995-08-08 International Business Machines Corporation System for MSD radix sort bin storage management
US5887187A (en) 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
US5802287A (en) 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
US5579301A (en) 1994-02-28 1996-11-26 Micom Communications Corp. System for, and method of, managing voice congestion in a network environment
US5459717A (en) 1994-03-25 1995-10-17 Sprint International Communications Corporation Method and apparatus for routing messagers in an electronic messaging system
US5555398A (en) 1994-04-15 1996-09-10 Intel Corporation Write back cache coherency module for systems with a write through cache supporting bus
US5506624A (en) * 1994-07-28 1996-04-09 Silicon Graphics, Inc. Rotating sample of video images
FR2725573B1 (fr) 1994-10-11 1996-11-15 Thomson Csf Procede et dispositif pour le controle de congestion des echanges sporadiques de paquets de donnees dans un reseau de transmission numerique
EP0719065A1 (de) 1994-12-20 1996-06-26 International Business Machines Corporation Mehrzweck-Paketvermittlungsknoten für ein Datenübertragungsnetz
US5790539A (en) 1995-01-26 1998-08-04 Chao; Hung-Hsiang Jonathan ASIC chip for implementing a scaleable multicast ATM switch
US5644784A (en) 1995-03-03 1997-07-01 Intel Corporation Linear list based DMA control structure
US5664116A (en) 1995-07-07 1997-09-02 Sun Microsystems, Inc. Buffering of data for transmission in a computer communication system interface
US5684800A (en) 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US5781549A (en) 1996-02-23 1998-07-14 Allied Telesyn International Corp. Method and apparatus for switching data packets in a data network
US5940596A (en) 1996-03-25 1999-08-17 I-Cube, Inc. Clustered address caching system for a network switch
US5828653A (en) 1996-04-26 1998-10-27 Cascade Communications Corp. Quality of service priority subclasses
US5748631A (en) 1996-05-09 1998-05-05 Maker Communications, Inc. Asynchronous transfer mode cell processing system with multiple cell source multiplexing
US5787084A (en) 1996-06-05 1998-07-28 Compaq Computer Corporation Multicast data communications switching system and associated method
US5802052A (en) 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
US5898687A (en) 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
US5745889A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for parsing information of databases records using word-location pairs and metaword-location pairs
US5724033A (en) * 1996-08-09 1998-03-03 Digital Equipment Corporation Method for encoding delta values
GB9618132D0 (en) 1996-08-30 1996-10-09 Sgs Thomson Microelectronics Improvements in or relating to an ATM switch
US5845081A (en) 1996-09-03 1998-12-01 Sun Microsystems, Inc. Using objects to discover network information about a remote network having a different network protocol
US5831980A (en) 1996-09-13 1998-11-03 Lsi Logic Corporation Shared memory fabric architecture for very high speed ATM switches
US5864535A (en) 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
US5842038A (en) 1996-10-10 1998-11-24 Unisys Corporation Optimized input/output memory access request system and method
JP3123447B2 (ja) 1996-11-13 2001-01-09 日本電気株式会社 Atm交換機のスイッチ制御回路
JP3638742B2 (ja) 1996-11-29 2005-04-13 アンリツ株式会社 ルータ
EP0849917B1 (de) 1996-12-20 2005-07-20 International Business Machines Corporation Vermittlungssystem
US6233246B1 (en) 1996-12-30 2001-05-15 Compaq Computer Corporation Network switch with statistics read accesses
DE19703833A1 (de) 1997-02-01 1998-08-06 Philips Patentverwaltung Koppeleinrichtung
US6452933B1 (en) 1997-02-07 2002-09-17 Lucent Technologies Inc. Fair queuing system with adaptive bandwidth redistribution
US6061351A (en) 1997-02-14 2000-05-09 Advanced Micro Devices, Inc. Multicopy queue structure with searchable cache area
US6175902B1 (en) 1997-12-18 2001-01-16 Advanced Micro Devices, Inc. Method and apparatus for maintaining a time order by physical ordering in a memory
US5852607A (en) 1997-02-26 1998-12-22 Cisco Technology, Inc. Addressing mechanism for multiple look-up tables
US5892922A (en) 1997-02-28 1999-04-06 3Com Corporation Virtual local area network memory access system
US6011795A (en) 1997-03-20 2000-01-04 Washington University Method and apparatus for fast hierarchical address lookup using controlled expansion of prefixes
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US6094435A (en) 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
US6119196A (en) 1997-06-30 2000-09-12 Sun Microsystems, Inc. System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US6246680B1 (en) 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture
US6115378A (en) 1997-06-30 2000-09-05 Sun Microsystems, Inc. Multi-layer distributed network element
US6014380A (en) 1997-06-30 2000-01-11 Sun Microsystems, Inc. Mechanism for packet field replacement in a multi-layer distributed network element
US5920566A (en) 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element
US5909686A (en) 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US6021132A (en) 1997-06-30 2000-02-01 Sun Microsystems, Inc. Shared memory management in a switched network element
US6016310A (en) 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US5918074A (en) 1997-07-25 1999-06-29 Neonet Llc System architecture for and method of dual path data processing and management of packets and/or cells and the like
US6067547A (en) * 1997-08-12 2000-05-23 Microsoft Corporation Hash table expansion and contraction for use with internal searching
US6266706B1 (en) 1997-09-15 2001-07-24 Effnet Group Ab Fast routing lookup system using complete prefix tree, bit vector, and pointers in a routing table for determining where to route IP datagrams
US6041053A (en) 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
JP2959539B2 (ja) 1997-10-01 1999-10-06 日本電気株式会社 バッファ制御方法および装置
US6185185B1 (en) 1997-11-21 2001-02-06 International Business Machines Corporation Methods, systems and computer program products for suppressing multiple destination traffic in a computer network
JP3709689B2 (ja) 1997-12-26 2005-10-26 日産自動車株式会社 車両用空調装置
US5999596A (en) * 1998-03-06 1999-12-07 Walker Asset Management Limited Method and system for controlling authorization of credit card transactions
US6046979A (en) * 1998-05-04 2000-04-04 Cabletron Systems, Inc. Method and apparatus for controlling the flow of variable-length packets through a multiport switch
GB2337905B (en) 1998-05-28 2003-02-12 3Com Technologies Ltd Buffer management in network devices
US6515963B1 (en) * 1999-01-27 2003-02-04 Cisco Technology, Inc. Per-flow dynamic buffer management
US6789116B1 (en) * 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US6690667B1 (en) * 1999-11-30 2004-02-10 Intel Corporation Switch with adaptive address lookup hashing scheme
JP2002067435A (ja) * 2000-08-31 2002-03-05 Alps Electric Co Ltd プリンタ
US7991520B2 (en) 2006-04-25 2011-08-02 Mitsubishi Electric Corporation Control apparatus for electric car

Also Published As

Publication number Publication date
AU1754801A (en) 2001-05-30
ATE344562T1 (de) 2006-11-15
EP1232612B1 (de) 2006-11-02
US8086571B2 (en) 2011-12-27
US20100014516A1 (en) 2010-01-21
DE60031712D1 (de) 2006-12-14
EP1232612A1 (de) 2002-08-21
WO2001037495A9 (en) 2002-05-16
US7593953B1 (en) 2009-09-22
WO2001037495A1 (en) 2001-05-25

Similar Documents

Publication Publication Date Title
DE69934644T2 (de) Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken
DE60214670T2 (de) Verfahren und vorrichtung zur leitweglenkungstabellenverwaltung
DE69927109T2 (de) Speicher zur Informationssuche durch Präfixanalyse für Knoten von Hochgeschwindigkeitsnetzen
DE60307241T2 (de) Vlan tabellenverwaltungssystem in hardwarebasierten paketvermittlungsstellen für speichereffizientes auslesen und einschreiben
DE69823483T2 (de) Mehrfachkopiewarteschlangestruktur mit einem suchbaren cachespeicherbereich
DE60031712T2 (de) Tabellen-nachschlage-mechanismus zur adressauflösung in einer paket-netzwerkvermittlung
DE69434330T2 (de) Übertragungsvorrichtgung und verfahren
DE69433812T2 (de) Etikettbehandlung in paketnetzen
DE60026676T2 (de) Paketklassifizierungsautomat
DE69819303T2 (de) Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren
DE69823337T2 (de) Vorrichtung und verfahren zur rückgewinnung von puffern
DE2346525C3 (de) Virtuelle Speichereinrichtung
DE10297269B4 (de) Kennzeichnung von Paketen mit einem Nachschlageschlüssel zur leichteren Verwendung eines gemeinsamen Paketweiterleitungs-Cache
US5027350A (en) Method and apparatus for providing a local area network bridge
DE69834122T2 (de) Verbindingsunterstützung in einer hochleistungsnetzwerkvorrichtung
DE60222575T2 (de) Verfahren zur Generierung eines DFA-Automaten, wobei Übergänge zwecks Speichereinsparung in Klassen gruppiert werden
DE69334011T2 (de) Kombinierter Endgerätsadapter für SMDS- und Rahmen-Relais-Hochgeschwindigkeitsdatendienste
DE4432061C1 (de) Paketübertragungssystem
DE10028563B4 (de) Kommunikationssteuerungseinheit
DE102004004320B4 (de) System und Verfahren für den Zugriff auf und die Übertragung von verschiedenen Datenrahmen in einem digitalen Übertragungsnetz
DE60032674T2 (de) Verfahren zum Suchen von Adressen
DE60215416T2 (de) Zeigerbasierte binäre Suchmaschine und dafür geeignetes Verfahren
DE60215723T2 (de) Netzwerküberwachungssystem, Datenmengenzählverfahren und Computerprogramm zur Verwendung im System
DE69826191T2 (de) Ortsabhängiges Verfahren und System für Nachrichtenspeicherungsverarbeitung
DE60114299T2 (de) Verfahren und Vorrichtung zum Übersetzen von IP Telekommunikationsnetzwerkadressen mit einem gesteuerten undichten Speicher

Legal Events

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

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