DE60031712T2 - Tabellen-nachschlage-mechanismus zur adressauflösung in einer paket-netzwerkvermittlung - Google Patents
Tabellen-nachschlage-mechanismus zur adressauflösung in einer paket-netzwerkvermittlung Download PDFInfo
- 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
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
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
- H04L49/309—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
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 Index105 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 Netzwerkvermittlung50 mit 5 Ports52 ,54 ,56 ,58 und60 . Jeder der 5 Ports weist entsprechende Schalttabellen62 ,64 ,66 ,68 und70 auf. Jede der Schalttabellen62 ,64 ,66 ,68 und70 enthält Address Resolution Logic (ARL) und Nachschlagetabellen (L Tabellen). Alle der 5 Ports sind untereinander durch eine Kommunikationsleitung72 verbunden. - Wenn Daten von einem der Ports
52 ,54 ,56 ,58 oder60 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 Port60 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 Schalttabelle62 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 Port60 gesendet werden. - Wenn der Port
52 Folgedaten empfängt, indiziert die Schalttabelle62 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 Port60 gesendet werden sollten, und die Folgedaten werden automatisch an den Port60 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 Datenstruktur200 , die aus 48 Bits aufgebaut ist, die als Daten zum Empfang durch die Ports52 ,54 ,56 ,58 und60 verwendet werden. Diese 48-Bit Datenstruktur200 , die gewöhnlich als Schlüssel bezeichnet wird, ist typischerweise eine Adressart, die in mehrere Gruppen geparst ist. Im vorliegenden Fall ist die in2A 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 Schritt410 werden Daten als Eingabe empfangen. Die Daten werden dann in Schritt420 in einen Indexabschnitt und einen entsprechenden Bucketabschnitt geparst. In Schritt430 wird der Indexabschnitt auf den Bucketabschnitt indiziert. In Schritt440 wird unter Verwendung des Bucketabschnitts auf die in einer Nachschlagetabelle gespeicherten Tabelleninformationen zugegriffen. -
4B zeigt Schritte, die denen von4A sehr ähnlich sind. In Schritt450 werden Daten in einem Port empfangen. Die Daten werden dann in Schritt460 in einen Indexabschnitt und einen entsprechenden Bucketabschnitt geparst. In Schritt470 wird der Indexabschnitt auf den Bucketabschnitt indiziert. Der Hauptunterschied zwischen den in4A und den in4B gezeigten Schritten ist der folgende abschließende Schritt. In Schritt480 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 Schritt490 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 Vermittlung500 . Um Daten sehr schnell und effizient zu übertragen, lernt die Vermittlung500 , an welchen Ausgabeport jede ankommende MAC Adresse505 zu übertragen ist, und speichert diese Information in der Tabelle510 . Wenn die Vermittlung500 eine neue MAC Adresse505 empfängt, wird die MAC Adresse in der Tabelle510 nachgeschlagen und an den geeigneten Ziel-Ausgabeport540 oder545 vermittelt. - Eine Adresse
505 wird durch einen Eingabeport515 von der Vermittlung500 empfangen. Der Eingabeport515 überträgt die Adresse505 an den Parser520 . Der Parser520 segmentiert die Adresse505 in drei Teile, das Segment525 , das mit M bezeichnet ist, das Segment530 , das mit I bezeichnet ist, und das Segment535 , das mit N bezeichnet ist. Das Segment I wird linear auf einen Bucket535 indiziert, und der Bucket535 indiziert direkt einen Eintrag in der Tabelle510 . Tatsächlich schlägt der Bucket535 in der Tabelle510 nach, um zu ermitteln, welcher der Ausgabeports540 oder545 zu verwenden ist, um die ankommenden Daten zu übertragen. Der Index I wählt nur einen Bucket aus. -
6 ist eine Darstellung einer Netzwerkvermittlung600 mit einem Port605 , einem Port610 und einem Port615 . Alle dieser Ports sind durch eine Kommunikationsleitung620 untereinander verbunden. - Der Port
605 weist eine entsprechende Address Resolution Logic (ARL) Vorrichtung625 und eine entsprechende Nachschlagetabelle630 auf. Die ARL625 besteht aus einem Parser635 , einem Indizierer640 und einer Nachschlagevorrichtung645 . - Der Port
610 weist eine entsprechende Address Resolution Logic (ARL) Vorrichtung650 und eine entsprechende Nachschlagetabelle655 auf. Die ARL650 besteht aus einem Parser660 , einem Indizierer665 und einer Nachschlagevorrichtung670 . - Der Port
615 weist eine entsprechende Address Resolution Logic (ARL) Vorrichtung675 und eine entsprechende Nachschlagetabelle680 auf. Die ARL675 besteht aus einem Parser685 , einem Indizierer690 und einer Nachschlagevorrichtung695 . - Wenn der Port
605 eine an den Port610 zu sendende MAC Adresse empfängt, ist die Operation der Vermittlung wie folgt. Eine MAC Adresse wird in dem Port605 der Netzwerkvermittlung600 mit mehreren Ports605 ,610 und615 empfangen. Die MAC Adresse wird zur Verarbeitung an die ARL625 gesendet. Der Parser635 parst die MAC Adresse in einen Indexabschnitt und einen Bucketabschnitt. Der Indizierer640 indiziert den Indexabschnitt auf einen Bucket in der Nachschlagevorrichtung645 . Der Bucketabschnitt in der Nachschlagevorrichtung645 wird verwendet, um auf einen Tabelleneintrag in der Nachschlagetabelle630 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 Ausgabeport610 . Wenn jedoch kein Tabelleneintrag vorhanden ist, muss der Ausgabeport „gelernt" werden. Dies geschieht durch Senden der MAC Adresse an alle Ports, die Ports605 ,610 und615 , in der Vermittlung600 . Der geeignete Ausgabeport sendet eine Nachricht zurück, dass er der geeignete Ausgabeport ist, und diese Information wird in der Nachschlagetabelle630 mit dem entsprechenden Bucket gespeichert. In diesem Fall sendet der Port610 dem Port605 ein Signal, das angibt, dass der Port610 der geeignete Ausgabeport ist, und diese Information wird in der Nachschlagetabelle630 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)
- 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. - 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. - 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. - Verfahren nach Anspruch 1, das des Weiteren den Schritt des Sortierens des Bucketabschnitts (N,
535 ) umfasst. - Verfahren nach Anspruch 1, das des Weiteren den Schritt des binären Sortierens des Bucketabschnitts (N,
535 ) umfasst. - 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. - 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. - 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. - 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. - Vorrichtung nach Anspruch 8, die des Weiteren einen Sortierer aufweist, der so ausgelegt ist, dass er den Bucketabschnitt (N,
535 ) sortiert. - Vorrichtung nach Anspruch 10, wobei der Sortierer so ausgelegt, ist, dass er den Bucketabschnitt (N,
535 ) binär sortiert. - 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. - 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.
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)
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 |
CN102831214B (zh) | 2006-10-05 | 2017-05-10 | 斯普兰克公司 | 时间序列搜索引擎 |
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 |
US10225136B2 (en) | 2013-04-30 | 2019-03-05 | Splunk Inc. | Processing of log data and performance data obtained via an application programming interface (API) |
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 |
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 |
US10614132B2 (en) | 2013-04-30 | 2020-04-07 | Splunk Inc. | GUI-triggered processing of performance data and log data from an information technology environment |
US10353957B2 (en) | 2013-04-30 | 2019-07-16 | Splunk Inc. | Processing of performance data and raw 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)
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 |
EP0439507B1 (de) | 1988-10-20 | 1996-04-24 | CHUNG, David Siu Fu | Speicherstruktur und verwendung |
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 |
EP0594196B1 (de) * | 1992-10-22 | 1999-03-31 | Cabletron Systems, Inc. | Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers |
US5390173A (en) | 1992-10-22 | 1995-02-14 | Digital Equipment Corporation | Packet format in hub for packet data communications system |
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 |
US5802287A (en) | 1993-10-20 | 1998-09-01 | Lsi Logic Corporation | Single chip universal protocol multi-function ATM network interface |
US5887187A (en) | 1993-10-20 | 1999-03-23 | Lsi Logic Corporation | Single chip network adapter apparatus |
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 |
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 |
US6061351A (en) | 1997-02-14 | 2000-05-09 | Advanced Micro Devices, Inc. | Multicopy queue structure with searchable cache area |
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 |
US6016310A (en) | 1997-06-30 | 2000-01-18 | Sun Microsystems, Inc. | Trunking support in a high performance network device |
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 |
US6088356A (en) | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US6021132A (en) | 1997-06-30 | 2000-02-01 | Sun Microsystems, Inc. | Shared memory management in a switched 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 |
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 |
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 | プリンタ |
JP4189023B2 (ja) | 2006-04-25 | 2008-12-03 | 三菱電機株式会社 | 電気車の制御装置 |
-
2000
- 2000-11-17 US US09/714,273 patent/US7593953B1/en not_active Expired - Fee Related
- 2000-11-17 AU AU17548/01A patent/AU1754801A/en not_active Abandoned
- 2000-11-17 WO PCT/US2000/030144 patent/WO2001037495A1/en active IP Right Grant
- 2000-11-17 AT AT00980263T patent/ATE344562T1/de not_active IP Right Cessation
- 2000-11-17 DE DE60031712T patent/DE60031712T2/de not_active Expired - Lifetime
- 2000-11-17 EP EP00980263A patent/EP1232612B1/de not_active Expired - Lifetime
-
2009
- 2009-08-05 US US12/536,095 patent/US8086571B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2001037495A9 (en) | 2002-05-16 |
US8086571B2 (en) | 2011-12-27 |
DE60031712D1 (de) | 2006-12-14 |
US20100014516A1 (en) | 2010-01-21 |
US7593953B1 (en) | 2009-09-22 |
EP1232612A1 (de) | 2002-08-21 |
AU1754801A (en) | 2001-05-30 |
EP1232612B1 (de) | 2006-11-02 |
WO2001037495A1 (en) | 2001-05-25 |
ATE344562T1 (de) | 2006-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69319757T2 (de) | Verfahren zur Verbindung einer Leitungskarte mit einer Adressenerkennungseinheit | |
DE68925557T2 (de) | Verfahren zum Zugriff von Daten in einer Tabelle und seine Anwendung zum Lenken von Daten zwischen entfernten Stationen | |
DE69934644T2 (de) | Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken | |
DE60214670T2 (de) | Verfahren und vorrichtung zur leitweglenkungstabellenverwaltung | |
DE69331672T2 (de) | Adressenerkennungsvorrichtung | |
DE69330675T2 (de) | Verbesserte Paketstruktur für Netzschicht | |
DE69927109T2 (de) | Speicher zur Informationssuche durch Präfixanalyse für Knoten von Hochgeschwindigkeitsnetzen | |
DE69419534T2 (de) | Multi-Protokoll Paketvermittlungsnetz | |
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 | |
DE69321145T2 (de) | Verfahren und vorrichtung zur herausarbeitung der vermittlungsinformation aus dem kopfteil eines protokolls | |
DE69433812T2 (de) | Etikettbehandlung in paketnetzen | |
DE69330904T2 (de) | Paketnetz-Schnittstelle | |
DE60026676T2 (de) | Paketklassifizierungsautomat | |
DE69127198T2 (de) | Nachrichtenlenkung in einem Nezt, das aus über Brücken verbundenen Lokalnetzsegmenten besteht | |
DE69819303T2 (de) | Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren | |
DE60222622T2 (de) | Verfahren und Vorrichtung zur Paketkopfteilverarbeitung | |
DE69324204T2 (de) | Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers | |
DE69829645T2 (de) | Verfahren zur Änderung von dynamischen Entscheidungsbäume | |
DE3785832T2 (de) | Netzwerkanpassungseinrichtung zur verbindung eines lokalen netzes mit einem hauptnetz. | |
DE2346525C3 (de) | Virtuelle Speichereinrichtung | |
DE10297269B4 (de) | Kennzeichnung von Paketen mit einem Nachschlageschlüssel zur leichteren Verwendung eines gemeinsamen Paketweiterleitungs-Cache | |
DE69028743T2 (de) | Verfahren zur Leitweglenkung von Rahmen in Kommunikationsnetzen |
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 |