DE69825596T2 - System und verfahren für ein vielschicht-netzelement - Google Patents

System und verfahren für ein vielschicht-netzelement Download PDF

Info

Publication number
DE69825596T2
DE69825596T2 DE69825596T DE69825596T DE69825596T2 DE 69825596 T2 DE69825596 T2 DE 69825596T2 DE 69825596 T DE69825596 T DE 69825596T DE 69825596 T DE69825596 T DE 69825596T DE 69825596 T2 DE69825596 T2 DE 69825596T2
Authority
DE
Germany
Prior art keywords
forwarding
information
layer
address
memory
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
DE69825596T
Other languages
English (en)
Other versions
DE69825596D1 (de
Inventor
Ariel Hendel
A. Leo HEJZA
Shree Murthy
Louise Yeung
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE69825596D1 publication Critical patent/DE69825596D1/de
Publication of DE69825596T2 publication Critical patent/DE69825596T2/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
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • 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/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Description

  • Die vorliegende Erfindung betrifft im Allgemeinen die Paket-Weiterleitung innerhalb eines Netzes und insbesondere ein System und ein Verfahren zum Weiterleiten von Paketen unter Verwendung von Mehrschicht-Information.
  • Eine Kommunikation zwischen Computern ist ein wichtiger Aspekt des tagtäglichen Lebens sowohl im privaten Bereich als auch im Geschäftsbereich geworden. Netze stellen ein Medium für diese Kommunikation und ferner für eine Kommunikation zwischen verschiedenen Typen von Elementen, die mit dem Netz verbunden sind, wie Servern, Personalcomputern, Arbeitsstationen, Speicher-Speicherungssystemen, oder irgendeiner anderen Komponente, die Daten von dem Netz empfangen oder an dieses senden kann, bereit. Die Elemente kommunizieren miteinander unter Verwendung von definierten Protokollen, die die geordnete Übertragung und den geordneten Empfang von Information definieren. Im Allgemeinen betrachten die Elemente das Netz als eine Wolke, an der sie angebracht sind, und zum größten Teil müssen sie die Einzelheiten der Netzarchitektur, wie beispielsweise, wie das Netz arbeitet oder wie es implementiert ist, nicht kennen. Idealerweise sollte irgendeine Netzarchitektur einen breiten Bereich von Anwendungen unterstützen und einen breiten Bereich von zugrundeliegenden Technologien erlauben. Die Netzarchitektur sollte für sehr große Netze gut arbeiten, für kleine Netze effizient sein, und sich auf ändernde Netzbedingungen anpassen.
  • Netze können im Allgemeinen auf Grundlage ihrer Größe unterschieden werden. Am unteren Ende beschreibt ein lokales Netz (Local Area Network; LAN) ein Netz, welches Charakteristiken aufweist, einschließlich der an dem gemeinsamen Medium angebrachten mehreren Systeme, einer hohen Gesamtbandbreite, einer niedrigen Verzögerung, niedrigen Fehlerraten, einer Aussende-(Broadcast)-Fähigkeit, einer begrenzten Geographie, und einer begrenzten Anzahl von Stationen, und unterstehen im Allgemeinen nicht Post-, Telegraphie- und Telefon-Vorschriften. Am oberen Ende beschreibt ein Unternehmens-Netz (Enterprise-Netz) Verbindungen von Großgebiets-Netzen (Wide Area Networks) und LANs, die unterschiedliche Geschäftseinheiten innerhalb einer geographisch diversifizierten Geschäftsorganisation verbinden.
  • Um eine Kommunikation innerhalb von größeren Netzen zu ermöglichen sind die Netze typischerweise in Unternetze aufgeteilt, die jeweils eine gewisse gemeinsame Charakteristik, wie zum Beispiel den geographischen Ort oder einen funktionalen Zweck, teilen. Die Aufteilung dient zwei Hauptzwecken: das gesamte Netz in handhabbare Teile und für Benutzer einer logischen (oder physikalischen) Gruppe des Netzes aufzubrechen. Netzadressierungsschemata können eine derartige Aufteilung berücksichtigen und somit kann eine Adresse Information darüber enthalten, wie das Netz aufgeteilt ist und wo die Adresse in die Netzhierarchie hinein passt.
  • Für Beschreibungs- und Implementierungs-Zwecke kann ein Netz so beschrieben werden, dass es mehrere Schichten mit daran angebrachten Endeinrichtungen aufweist, die miteinander unter Verwendung von Peer-zu-Peer-Protokollen kommunizieren. Das altbekannte Offensystem-Zwischenverbindungs-(Open Systems Interconnection; OSI)-Referenzmodell stellt eine verallgemeinerte Vorgehensweise zur Betrachtung eines Netzes unter Verwendung von sieben Schichten bereit und ist eine zweckdienliche Referenz zum Abbilden der Funktionalität von anderen Modellen und tatsächlichen Implementierungen. Die Unterschiede zwischen den Schichten in jedem gegebenen Modell ist klar, aber die Implementierung von irgendeinem gegebenen Modell oder eine Abbildung von Schichten zwischen unterschiedlichen Modellen ist dies nicht. Zum Beispiel definiert der Standard, der von dem Institute of Electrical and Electronic Engineers (IEEE) in deren 802 Protokollen verkündet wird, Standards für LANs und deren Definitionen überlappend mit den unteren zwei Schichten des OSI Modells.
  • In jedem derartigen Modell kommuniziert eine gegebene Schicht entweder mit der gleichen Schicht einer Peer-Endstation über das Netz oder mit der gleichen Schicht eines Netzelements innerhalb des Netzes selbst. Eine Schicht implementiert einen Satz von Funktionen, die sich gewöhnlicherweise logisch auf den Betrieb der Schicht darüber beziehen und den Betrieb dieser Schicht erlauben.
  • Die relevanten Schichten zum Beschreiben dieser Erfindung umfassen OSI Schichten 1 bis 4. Die Schicht 1 (Layer 1), die physikalische Schicht, stellt Funktionen bereit, um über eine physikalische Strecke nicht strukturierte Bitmuster zu senden und zu empfangen: Die physikalische Schicht betrifft selbst derartige Aspekte wie die Größe und die Form von Verbindern, die Umwandlung von Bits in elektrische Signale, und eine Bit-Pegel-Synchronisation. Mehr als ein Typ von physikalischer Schicht kann innerhalb eines Netzes existieren. Zwei gemeinsame Typen der Schicht 1 lassen sich innerhalb des IEEE Standard 802.3 und FDDI (Faserverteilte Datenschnittstelle; Fiber Distributed Data Interface) finden.
  • Die Schicht 2 (Layer 2), die Datenverbindungsschicht, stellt eine Unterstützung für eine Rahmenbildung, Fehlererfassung, einen Zugriff auf die Transportmedien, und eine Adressierung zwischen Endstationen, die auf oder unter der Schicht 2 untereinander verbunden sind, bereit. Die Datenverbindungsschicht wird typischerweise so konstruiert, dass sie Pakete von Information über einen einzelnen Sprung (hop), d. h. von einer Endstation zu einer anderen innerhalb des gleichen Unternetzes, oder LAN, befördert.
  • Die Schicht 3 (Layer 3), die Netzschicht, stellt eine Unterstützung für derartige Funktionen wie eine Ende-zu-Ende-Adressierung, Netztopologieinformation, Weglenkung und Paket-Fragmentierung bereit. Diese Schicht kann konfiguriert werden, um Pakete entlang der besten „Route" von deren Quelle zu deren abschließender Zielstelle zu senden. Ein zusätzliches Merkmal dieser Schicht ist die Möglichkeit Information über einen Netzstau an die Quelle oder Zielstelle weiter zu leiten, wenn Bedingungen dies rechtfertigen.
  • Die Schicht 4 (Layer 4), die Transportschicht, stellt Anwendungsprogramme wie ein elektronisches Postprogramm (Electronic Mail Programm) mit einer „Portadresse", die die Anwendung verwenden kann, um mit der Datenverbindungsschicht gekoppelt zu werden, bereit. Ein grundlegender Unterschied zwischen der Transportschicht und den unteren Schichten ist, dass eine Anwendung auf einer Quellen-Endstation eine Konversation mit einer ähnlichen Anwendung auf einer Ziel-Endstation irgendwo in dem Netz ausführen kann; wohingegen die unteren Schichten Konversationen mit Endstationen fortführen, die ihre unmittelbaren Nachbarn in dem Netz sind. Schicht 4 Protokolle unterstützen auch zuverlässige verbindungs-orientierte Dienste, wobei ein beispielhaftes Schicht 4 Protokoll, welches derartige Dienste bereitstellt, das Transport-Steuerprotokoll (Transport Control Protocol; TCP) ist.
  • Unterschiedliche Baublöcke existieren zum Implementieren von Netzen, die auf diesen Schichten arbeiten. Endstationen sind die Endpunkte eines Netzes und können als Quellen, Zielstellen und Netzelemente oder als irgendein anderer Zwischenpunkt zum Weiterleiten von Daten, die von einer Quelle empfangen werden, an eine Zielstelle arbeiten.
  • Auf der einfachsten Ebene sind Repeater, die Weiterleitungsstellen der physikalischen Schicht sind, die einfach Bits an die Schicht 1 weiterleiten.
  • Brücken (Bridges) stellen die nächste Ebene über Repeatern dar und sind Datenverbindungsschicht-Einheiten, die Pakete innerhalb eines einzelnen LAN unter Verwendung von Nachschlagtabellen weiterleiten. Sie modifizieren die Pakete nicht, sondern leiten Pakete lediglich auf Grundlage einer Zielstelle weiter. Die meisten Brücken sind lernende Brücken. Wenn in diesen Brücken die Brücke vorher eine Quelle gelernt hat, weiß sie auch, an welchen Port das Paket weiterzuleiten ist. Wenn die Brücke ein Paket von der Zielstelle noch nicht weitergeleitet hat, dann kennt die Brücke (Bridge) den Portort der Zielstelle nicht und leitet die Pakete an alle nicht abgeblockten Ausgangsports, ausschließlich des Ankunftsports, weiter. Außer der Sammlung einer Kenntnis darüber, an welche Ports Quellen Pakete senden, hat die Brücke keinerlei Kenntnis über die Netztopologie. Viele LANs können nur unter Verwendung von Brücken implementiert werden.
  • Router (Weglenker) sind Netzschicht-Einheiten, die Pakete zwischen LANs weiterleiten können. Sie weisen das Potential auf, den besten Pfad zu verwenden, der zwischen Quellen und Zielstellen existiert und zwar auf Grundlage von Information, die mit anderen Routern ausgetauscht wird, die den Routern erlaubt eine Kenntnis über die Topologie des Netzes zu haben. Faktoren, die zu dem „besten" Pfad beitragen, könnten die Kosten, die Geschwindigkeit, den Verkehr und die Bandbreite sowie andere umfassen.
  • Brouter sind Router, die auch als Brücken ausgeführt werden können. Für diejenigen Schicht 3 Protokolle, die der Brouter kennt, verwendet er dessen Software, um zu bestimmen, wie das Paket weiterzuleiten ist. Für sämtliche anderen Pakete wirkt der Brouter als eine Brücke.
  • Vermittlungsstellen bzw. Schalter sind verallgemeinerte Netzelemente zum Weiterleiten von Paketen, wobei der Aufbau der Vermittlungsstelle und, ob er Schicht 2 oder Schicht 3 implementiert, nicht relevant ist.
  • Typischerweise leiten Brücken Pakete in einem flachen Netz ohne irgendeine Zusammenarbeit durch die Endstationen weiter, weil das LAN keine topologische Hierarchie enthält. Wenn ein LAN zum Beispiel dafür konstruiert ist, um eine Schicht 3 Funktionalität zu unterstützen, dann werden Router verwendet, um Pakete innerhalb des LAN untereinander zu verbinden und weiterzuleiten.
  • Brücken können hierarchische Routing-Adressen (Weglenkungs-Adressen) nicht verwenden, weil sie ihre Weiterleitungsentscheidungen auf Medienzugriffs-Steuer-(Media Access Control; MAC) Adressen stützen, die keine topologische Signifikanz enthalten. Typische MAC Adressen werden einer Einrichtung zu ihrer Zeit der Herstellung zugewiesen. Die Anzahl von Stationen, die durch Brücken untereinander verbunden werden können, ist begrenzt, weil Verkehrsisolations-, Bandbreiten-, Fehlererfassungs- und Verwaltungs-Aspekte zu schwierig oder aufwendig werden, wenn die Anzahl von Endstationen zunimmt.
  • Lernende Brücken führen eine Selbstkonfiguration aus, wobei ihnen erlaubt wird „Plug and Play" Einheiten zu sein, die für einen Aufbau im Grunde genommen keine Interaktion mit dem Menschen erfordern. Router erfordern jedoch eine intensive Konfiguration und können sogar Konfigurationsaktivitäten an den Endknoten erfordern. Wenn zum Beispiel ein Netz das Übertragungssteuerprotokoll/Internetprotokoll (Transmission Control Protocol/Internet Protocol; TCP/IP) verwendet, muss jeder Endknoten manuell seine Adresse und Unternetzmaske von einem Betreiber empfangen, und eine derartige Information muss dem Router eingegeben werden.
  • Wenn die Größe und Komplexität eines Netzes zunimmt erfordert das Netz im Allgemeinen mehr Funktionalität an den höheren Schichten. Zum Beispiel kann ein relatives kleines LAN durch Verwendung von Schicht 1 Elementen, wie Repeatern oder Brücken implementiert werden, während ein sehr großes Netz bis zu und einschließlich von Schicht 3 Elemente, wie Router, verwendet.
  • Ein einzelnes LAN ist typischerweise unzureichend, um die Anforderungen einer Organisation zu erfüllen, und zwar wegen der inhärenten Beschränkungen: (1) über die Anzahl von Endstationen, die an einem physikalischen Schichtsegment angebracht werden können; (2) der Segmentgröße der physikalischen Schicht; und (3) der Verkehrsmenge, die begrenzt ist, weil die Bandbreite des Segments unter sämtlichen verbundenen Endstationen gemeinsam verwendet werden muss. Um diese Randbedingungen zu beseitigen werden andere Netzbaublöcke benötigt.
  • Wie kurz voranstehend beschrieben, wenn die Anzahl von Endstationen in einem Netz zunimmt, kann das Netz in Unternetze aufgeteilt werden. Eine typische Adresse in einem aufgeteilten Netz umfasst zwei Teile: einen ersten Teil, der das Unternetz anzeigt; und einen zweiten Teil, der eine Adresse innerhalb des Unternetzes anzeigt. Diese Typen von Adressen führen topologische Information, weil der erste Teil der Adresse graphische oder logische Abschnitte des Netzes definiert und der zweite Teil eine Endstation innerhalb des Unternetz-Abschnitts definiert. Eine Weglenkung (ein Routing) mit einer hierarchischen Adressierung beinhaltet zwei Schritte: erste Pakete werden an das Unternetz der Zielstelle geleitet; und zweite Pakete werden an die Zielstelle innerhalb des Unternetzes weitergeleitet.
  • Eine Endstation empfängt eine einzigartige Datenverbindungsadresse – die MAC Adresse – zur Zeit der Herstellung, wobei der Endstation erlaubt wird, sich an irgendeinem LAN innerhalb eines überbrückten Netzes anzubringen, ohne sich um duplizierte Adressen zu kümmern. Datenverbindungsadressen können deshalb irgendeine topologische Information nicht führen. Brücken, im Gegensatz zu Routern, leiten Pakete auf Grundlage von Datenverbindungsadressen weiter und können somit hierarchische Adresse nicht interpretieren.
  • Das gegenwärtige Internet wird gerade gezwungen zunehmende Anzahlen von Benutzer und zunehmende Anforderungen von Multimedia-Anwendungen zu behandeln. Zukünftige Netze werden benötigt werden, um eine noch höhere Bandbreite, größere Anzahlen von Benutzern und Verkehrsklassifikations-Anforderungen durch das Netz zu unterstützen. Statistische Studien zeigen, dass die Netzdomäne, sowie die Anzahl von Arbeitsstationen, die mit dem Netz verbunden sind, bei einer schnelleren Rate in der Zukunft anwachsen werden. Es besteht auch der Trend mehrere Verkehrstypen mit veränderten Charakteristiken auf der gleichen physikalischen Strecke zu unterstützen. Dies erfordert mehr Netzbandbreite und eine effiziente Verwendung von Ressourcen. Um die Bandbreitenanforderung zu erfüllen ist die Geschwindigkeit auf den Netzen auf dem Aufwärtstrend, wobei Gigabit-Geschwindigkeiten erreicht werden.
  • Netzentwickler verwenden häufig eine bestimmte Kombination der ISO Schicht 2 und Schicht 3 wegen des Erfolgs des Internets und der zunehmenden Anzahl von Produkten und Netzen, die das Internet verwenden. Insbesondere kombinieren in einem typischen Internet-bezogenen Netz Entwickler eine Implementierung in Übereinstimmung mit dem IEEE 802 Standard (der mit der ISO Schicht 1 und Schicht 2 überlappt) mit der Internetprotokoll (IP) Netzschicht. Diese Kombination wird auch innerhalb von Unternehmensnetzen, wie Intranetzen, populär.
  • Eine Unterstützung dieser Kombination durch Ausbauen von Netzen aus Schicht 2 Netzelementen stellt eine schnelle Paketweiterleitung bereit, hat aber eine geringe Flexibilität im Hinblick auf eine Verkehrsisolation, redundante Topologien, und Ende-zu-Ende-Strategien für eine Warteschlangensteuerung und Verwaltung (Zugriffssteuerung). Ein Aufbau von derartigen Netzen aus Schicht 3 Elementen alleine beeinträchtigt das Betriebsverhalten und ist von dem hierarchischen Standpunkt her wegen dem Zusatz, der dazu gehört den Schicht 3 Header (Anfangsblock) durchzusehen und das Paket zu modifizieren, wenn erforderlich, unpraktisch. Ferner erzwingt die Verwendung nur von Schicht 3 Elementen ein Adressierungsmodell mit einer Endstation pro Unternetz und keine Schicht 2 Verbindbarkeit (Connectivity) zwischen den Endstationen.
  • Netze, die aus einer Kombination von Schicht 2 und Schicht 3 Elementen aufgebaut sind, werden heute verwendet, weisen aber Unzulänglichkeiten des Betriebsverhaltens und der Flexibilität auf. Mit einer Erhöhung einer Variation in der Verkehrsverteilung (die Rolle des „Servers" hat sich mit Browser-gestützten Anwendungen multipliziert) ist insbesondere die Notwendigkeit zum Durchqueren von Routern mit hoher Geschwindigkeit essentiell.
  • Die Wahl zwischen Brücken und Routern führt typischerweise zu signifikanten Kompromissen (in der Funktionalität, wenn Brücken verwendet werden und in der Geschwindigkeit, wenn Router verwendet werden). Ferner sind die Dienstcharakteristiken, wie die Priorität, innerhalb eines Netzes im Allgemeinen nicht mehr homogen, und zwar unabhängig davon, ob Verkehrsmuster Router beinhalten. In diesen Netzen existieren unterschiedliche Verkehrstypen und erfordern unterschiedliche Dienstcharakteristiken, wie die Bandbreite, Verzögerung und etc..
  • Um die Verkehrsanforderungen von Anwendungen zu erfüllen sollten die überbrückenden Einrichtungen bei Leitungsgeschwindigkeiten arbeiten, d. h. sie arbeiten bei oder schneller als die Geschwindigkeit, mit der Pakete an der Einrichtung ankommen, aber sie müssen auch in der Lage sein Pakete über Domänen, Unternetze weiterzuleiten. Obwohl gegenwärtige Entwickler von hybriden Brücken/Routern in der Lage sind richtige Netzzustellungsfunktionen zu erzielen, sind sie nicht in der Lage die heutigen Anforderungen an eine zunehmende Geschwindigkeit zu erfüllen.
  • Was benötigt wird ist eine Vermittlungsstelle oder ein Netzelement, die sowohl Schicht 2 als auch Schicht 3 Pakete schnell und effizient sowohl innerhalb eines Unternetzes als auch über Unternetze und an andere Netze weiterleitet. Ferner wird ein Netzelement benötigt, welches Schicht 3 Pakete bei einer Drahtgeschwindigkeit, d. h. so schnell wie Pakete in das Netzelement eintreten, weiterleiten kann. Zusätzlich wird ein Netzelement benötigt, welches erlaubt, dass eine Schicht 2 Weiterleitung innerhalb eines Unternetzes die zusätzlichen Merkmale aufweist, die in der Schicht 3 Weglenkung (Routing) verfügbar sind, und eine bestimmte Dienstqualität für Anwendungen innerhalb des Unternetzes, wie eine Priorität und eine Bandbreiten-Reservierung bereitstellt.
  • Die US-A-5459717 offenbart die Weglenkung (Routing) einer Nachricht, die von einem Nachrichtenweiterleitungssystem empfangen wird, indem ein Suchschlüssel unter Verwendung von Adressencodes, die von einer in der Nachricht spezifizierten Benutzeradresse analysiert werden, formatiert wird. Jeder der Adressencodes entspricht einem anderen Grad einer Spezifizierung für die Benutzeradresse. Wenn keine Routing-Information aus einer Datenbank unter Verwendung des Suchschlüssels erhalten werden kann, dann wird der Suchschlüssel sukzessive von Adressencodes in der Reihenfolge der Spezifizierung abgestreift, bis die Information zurückgewonnen werden kann oder ein Grundgrad einer Spezifizierung erreicht wird.
  • Die US-A-5477537 offenbart ein Verfahren zum Zugreifen auf Adressenmerkmale, wenn Datenpakete gelesen werden, indem Merkmale des Betriebsverhaltens der Kommunikationsverbindung in Tabellen in der Form von Adressen abgelegt werden, die sukzessive gelesen werden müssen. Ein großes Adressengebiet, von dem ein Untersatz von Adressen verwendet wird, wird auf ein komprimiertes Adressengebiet der gleichen Größe wie der Untersatz der verwendeten Adressen komprimiert, um so die Adressen zu miniaturisieren.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ermöglicht, dass die obigen Probleme im Wesentlichen beseitigt werden, indem ein System und ein Verfahren für ein Mehrschicht-Netzelement zum Weiterleiten von empfangenen Paketen an einen oder mehrere geeignete Ausgangsports bereitgestellt wird.
  • Eine Ausführungsform der vorliegenden Erfindung umfasst ein Verfahren zum Weiterleiten eines Pakets, welches von einem Eingangsport eintritt, an einen oder mehrere geeignete Ausgangsports auf Grundlage von einzelnen Durchsuchungsvorgängen eines Assoziativspeichers für jede Schicht. Der Assoziativspeicher enthält eine bestimmte Dienstqualitäts-Information, die auf irgendeine Schicht angewendet werden kann.
  • Ein Paket wird auf einem Eingangsport empfangen und von dem Paket wird ein erster Suchschlüssel auf Grundlage des Headers (Anfangsblock) des Pakets erzeugt. Ein Assoziativspeicher-Nachschlag wird für den ersten Suchschlüssel ausgeführt, was zu zwei potentiellen Weiterleitungsentscheidungen für das Paket führt. Wenn der erste Suchschlüssel mit einem Eintrag zu einer Zieladresse übereinstimmt, die in dem ersten Suchschlüssel gefunden wird, d. h. ein übereinstimmender Eintrag wird in dem Assoziativspeicher gefunden, dann ist der potentielle Ausgangsport oder sind die potentiellen Ausgangsports diejenigen, die zu der Zieladresse gehören, wie in dem Assoziativspeicher gefunden. Wenn die Zieladresse nicht mit irgendeinem Eintrag in dem Assoziativspeicher übereinstimmt, dann sind sämtliche Ports mit Ausnahme des ankommenden Ports Kandidaten für den potentiellen Ausgangsport oder die potentiellen Ausgangsports.
  • Das Paket wird auch nach der Klasse kategorisiert, um zu der Erzeugung eines zweiten Suchschlüssels beizutragen. Pakete einer bestimmten Klasse teilen gemeinsame Charakteristiken, wie beispielsweise welche Abschnitte des Headers verwendet werden, um den zweiten Suchschlüssel zu erzeugen. Eine Klasse definiert auch bestimmte voreingestellte (Default) Weiterleitungsinformation für Pakete innerhalb der Klasse. Die Default-Information kann eine bestimmte Dienstqualitäts-Information enthalten.
  • Ein Assoziativspeicher-Nachschlag wird unter Verwendung des zweiten Suchschlüssels ausgeführt. Die Ergebnisse von dieser zweiten Suche, der ersten Suche, und der Defaultinformation werden kombiniert, um zu bestimmen, welcher potentielle Ausgangsport oder welche potentiellen Ausgangsports, wie durch die drei Suchvorgänge hervorgebracht, der am besten geeignete für dieses Paket ist. Das Paket wird dann an den geeigneten Ausgangsport oder die geeigneten Ausgangsports weitergeleitet.
  • In einigen Fällen ergibt der zweite Suchschlüssel keine Übereinstimmung in dem Assoziativspeicher. In diesen Fällen wird die voreingestellte Information (Default-Information) mit den Ergebnissen der ersten Suche kombiniert. Ferner können die Ergebnisse der ersten Suche irgendeine andere Weiterleitungsinformation außer Kraft setzen; und die Ergebnisse der zweiten Suche können erzwingen, dass die Ergebnisse der ersten Suche verwendet werden, um das Paket weiterzuleiten.
  • In einer Ausführungsform implementiert die Erfindung die Weiterleitung von Schicht 2 und Schicht 3 Paketen. In dieser Ausführungsform umfasst der erste Suchschlüssel Information über die Schicht 2 Zielstellen-Adressen und der zweite Suchschlüssel und die voreingestellte Information umfassen Information über die Schicht 3 und möglicherweise die Schicht 4.
  • Eine derartige Implementierung erlaubt in einer Ausführungsform, dass eine bestimmte Dienstqualität (Quality of Service) auf die Schicht 2 Weiterleitung in der folgenden Weise angewendet wird. Wenn ein Paket das Netzelement als ein Schicht 2 Paket betritt, wird der erste Suchschlüssel dazu führen, dass die Schicht 2 Weiterleitungsinformation von dem Assoziativspeicher ausgegeben wird. Die Klasse des Pakets wird bestimmt und das Paket wird mit einer voreingestellten Klasseninformation versehen, die eine bestimmte Dienstqualitäts-Information umfassen kann. Der zweite Suchschlüssel kann jedoch nicht irgendwelche Ergebnisse von dem Assoziativspeicher hervorbringen, weil ein Eintrag in dem Speicher durch die Zentralverarbeitungseinheit noch nicht erzeugt worden ist. In diesem Fall wird eine Zusammenfassungslogik das Schicht 2 Weiterleitungsergebnis verwenden, aber auch die Dienstqualitäts-Information von der voreingestellten Weiterleitungsinformation verwenden. Ein derartiges Merkmal erlaubt, dass das Netzelement konfiguriert wird, um innerhalb eines Unternetzes eine Dienstqualität für den Schicht 2 Verkehr bereitzustellen.
  • Noch andere Ausführungsformen der vorliegenden Erfindung ergeben sich Durchschnittsfachleuten in dem technischen Gebiet näher aus der folgenden ausführlichen Beschreibung, in der nur die Ausführungsformen der Erfindung durch eine Illustration der bevorzugten Vorgehensweisen, die für die Ausführung der Erfindung in Erwägung gezogen werden, gezeigt und beschrieben sind. Es wird erkannt werden, dass die Erfindung in anderen und unterschiedlichen Ausführungsformen umgesetzt werden kann und mehrere von ihren Einzelheiten in verschiedenen offensichtlichen Aspekten modifiziert werden können, und zwar alle ohne Abweichen von dem Grundgedanken und dem Umfang der vorliegenden Erfindung. Demzufolge sollen die Zeichnungen und die ausführliche Beschreibung als der Art nach illustrativ und nicht als beschränkend angesehen werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen zeigen:
  • 1 ein System, welches ein Mehrschicht-Netzelement in Übereinstimmung mit der Erfindung beinhaltet;
  • 2 das Mehrschicht-Netzelement der 1;
  • 3 das Schaltelement des Mehrschicht-Netzelements mit näheren Einzelheiten;
  • 4 die Weiterleitungslogik des Schaltelements mit näheren Einzelheiten;
  • 5 die Klassenlogik der 4 mit näheren Einzellheiten;
  • 6 den Prozess, der bei der Bestimmung verwendet wird, welche Information den Pfad eines Pakets durch das Mehrschicht-Netzelement vorgibt; und
  • 7 die Informationsabhängigkeit bei der Bestimmung, wie ein Paket aus dem Netzelement heraus weiterzuleiten ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt ein System, welches ein Mehrschicht-Netzelement in Übereinstimmung mit der vorliegenden Erfindung beinhaltet. Das System umfasst das Mehrschicht-Netzelement, verschiedene Netze, Endstationen, Router und Brücken. Mit Hilfe eines Beispiels und wie in einem breiten Sinne verkörpert und hier beschrieben umfasst ein System 10, welches ein Mehrschicht-Netzelement 12 in Übereinstimmung mit der vorliegenden Erfindung beinhaltet, Netze 14 und 16, Endstationen 18, einen Router 24, eine Brücke 26 und lokale Netze (Local Area Networks; LAN) 28.
  • Die Brücke 26 verbindet einige der LANs 28 und Endstationen 18 mit dem Netz 14 und untereinander. Die Brücke 26 kann eine herkömmliche lernende Brücke sein. Die Brücke 26 verfolgt die Adressen der Endstationen 18, die ein Paket senden, welches auf einem der Ports 30 an der Brücke 26 aufscheint. Die Endstationen 18 können irgendeine Einrichtung sein, die in der Lage ist Pakete mit Information zu senden oder zu empfangen. Typischerweise sind die Endstationen 18 Personalcomputer, Arbeitsstationen, Drucker, Server und/oder irgendeine Einrichtung, die mit einem Netz verbunden werden kann.
  • Die Brücke 26 weiß zu Anfang nicht, auf welchem ihrer Ports Paketzielstellen angeordnet sind, und muss ein ankommendes Paket an alle Ports fluten lassen, um in einer geeigneten Weise das Paket weiterzuleiten. Sobald die Brücke 26 ein Paket empfängt, welches für eine Adresse bestimmt ist, die sie bereits erkennt, weiß die Brücke 26, auf welchem Port die Zielstelle ist, so dass sie das Paket nicht an alle abgehenden Ports fluten lassen muss. Schließlich hat die Brücke 26 genug Adressen gelernt, um den Betrag der Flutung, die auf den Ports benötigt wird, vollständig zu beseitigen. Jedes mal, wenn eine Endstation 18 Ports auf der Brücke 26 ändert, muss die Brücke 26 natürlich den Port der Endstation 18 neu lernen.
  • Die Brücke 26 modifiziert das Paket typischerweise nicht, enthält keine Information über die Topologie des Netzes 14, und untersucht wenige Teile des Paket-Headers. Die Brücke 26 arbeitet schnell, weil sie an dem Paket keine Modifikationen vornimmt und sich nur um das Lernen von Quellen und das Weiterleiten an Zielstellen kümmert. Typischerweise verwenden Brücken 26 Nachschlag-Tabellen, um nach Quellen und Zielstellen zu suchen.
  • Der Router 24 verbindet das Netz 14 mit den Netzen 16. Nur ein Router 24 ist beispielhaft dargestellt, aber es können viele Router vorhanden sein, die andere Netze oder Endstationen 18 verbinden. Der Router 24 stellt die Kommunikation bereit, die zwischen dem Netz 14 und Netz 16 erforderlich ist und kann ein herkömmlicher Router sein. Derartige Router umfassen eine Schicht 3 Funktionalität zum Weiterleiten von Paketen an eine geeignete Zielstelle, einschließlich einer Routenberechnung, einer Paketfragmentierung und einer Stausteuerung. Router von diesem Typ sind zum Beispiel in Interconnections: Bridges and Routers von Radia Perlmann herausgegeben von Addison-Wesley, beschrieben. Der Router 24 muss eine Kenntnis über die Topologie des Netzes haben, um die beste Route für Pakete zu bestimmen. Die Kenntnis des Routers 24 des Netzes wird durch eine topologische Information erworben, die zwischen mehreren derartigen Routern 24, die mit dem Netz 14 verbunden sind, übergeben wird.
  • Software, die auf dem Router 24 läuft, analysiert (durchleuchtet) ein ankommendes Paket, um verschiedene Charakteristiken über das Paket zu bestimmen, einschließlich des Typs des Protokolls, welches verwendet wird, und der Quelle und der Zielstelle (Zielstellen). Andere Bestimmungen auf Grundlage einer Untersuchung des Pakets können erforderlich sein, wie beispielsweise die Priorität und die Dienstqualitäts-(QoS)-Faktoren, wie eine Priorität und eine Bandbreiten-Reservierung. Der Router 24 verwendet dann die extrahierte Information und berechnet die nächste Zielstelle für das Paket auf Grundlage der Topologie und Routeninformation, die in dem Speicher des Routers 24 gespeichert ist. Der Router 24 wendet auch QoS (Dienstqualität) Regeln und Aktionen an.
  • Der Prozess des Routers 24 zum Berechnen der nächsten Zielstelle kann viele Zugriffe auf den Speicher und eine Berechnung der Route aus dieser Information erfordern. Ferner wird das Paket typischerweise empfangen und gespeichert, während irgendeine Verarbeitung stattfindet. Nachdem der Router 24 bestimmt hat, welche Aktionen für das Paket erforderlich sind, werden irgendwelche Modifikationen an dem Paket, sowie es in dem Speicher gespeichert ist, oder auf dem Weg heraus von dem Router 24 durchgeführt. Die Router 24 werden typischerweise benötigt, um die Schicht 2 Quelle und die Zielstelle des Pakets zu ersetzen, irgendwelche Prüfsummen des Pakets zu aktualisieren, und irgendwelche Aspekte, die sich auf die Paket-Lebensdauer beziehen, zu behandeln.
  • Um die Funktionen auszuführen, die der herkömmliche Router 24 ausführt, untersucht die Software Speicherstellen, führt Modifikationen an dem Paket durch, und berechnet neue Werte für neue Felder. Derartige Aktionen stellen eine erhöhte Funktionalität über eine einfache Paketweiterleitung wie diejenige, die man in den Brücken 26 findet, wie eine Bestimmung der besten Route für das Paket, die Bereitstellung von QoS Merkmalen, bereit; jedoch brauchen derartige Vorgänge in herkömmlichen Routern 24 wertvolle Zeit.
  • Das Netz 14 stellt Kommunikationspfade für sämtliche Elemente, die damit verbunden sind, bereit. In dem Beispiel der 1 umfassen die Elemente des Mehrschicht-Netzelements 12, den Router 24 und die Brücke 26. Irgendeine Anzahl von Elementen könnte mit einem Netz 14 in einer Vielzahl von Vorgehensweisen verbunden werden. 1 zeigt nur eine mögliche Kombination. Die Elemente, die mit dem Netz 14 verbunden sind, erfordern nicht, dass das Netz 14 von irgendeiner bestimmten Größe oder Konfiguration ist. Für die Endstationen 18 und die Brücke 26 wird eine ausführliche topologische Kenntnis des Netzes 14 nicht benötigt.
  • Das Mehrschicht-Netzelement 12 in Übereinstimmung mit der vorliegenden Erfindung verbindet verschiedene Elemente mit dem Netz 14 und untereinander. Wie mit Hilfe eines Beispiel illustriert verbindet das Mehrschicht-Netzelement 12 ein LAN 28, die Endstation 18 und das Netz 14. Das Mehrschicht-Netzelement 12 kombiniert die Funktionen sowohl einer Brücke als auch eines Routers. Wenn es als ein Router funktioniert enthält das Mehrschicht-Netzelement 12 topologische Information über das Netz 14, um ein Paket an dessen Zielstelle intelligent zu lenken, während eine zugehörige Schicht 3 Funktionalität, die typischerweise in einem Router 24 angetroffen wird, bereitgestellt wird. Wenn es als eine Brücke funktioniert lernt das Mehrschicht-Netzelement 12 Quellen/Port-Kombinationen zur Weiterleitung von Schicht 2 Paketen. Das Mehrschicht-Netzelement 12 unterscheidet sich von herkömmlichen Brücken/Router-Kombinationen dadurch, dass eine bestimmte Schicht 3 Verarbeitung so schnell wie eine Schicht 2 Vermittlung, die in der Brücke 26 angetroffen wird, arbeitet.
  • 2 zeigt das Mehrschicht-Netzelement 12 der 1 mit näheren Einzelheiten. Das Mehrschicht-Netzelement 12 in Übereinstimmung mit einer Ausführungsform der Erfindung umfasst einen Prozessor 32, einen Prozessorspeicher 34, ein Schalt- bzw. Vermittlungselement 36, eine Vielzahl von Netzelement-Ports 38, einen Weiterleitungsspeicher 40, einen zugehörigen Speicher 42 und einen Paketpufferspeicher 44. Die Endstationen 18, das LAN 28 und das Netz 14 sind mit dem Mehrschicht-Netzelement 12 unter Verwendung einer Vielzahl von Netzelement-Ports 38 verbunden. Andere Mehrschicht-Netzelemente 12 können ebenfalls mit dem Mehrschicht-Netzelement 12 verbunden werden.
  • Das Vermittlungselement 36 ist auch mit dem Prozessor 32, dem Weiterleitungsspeicher 40, dem zugehörigen Speicher 42 und dem Paketpufferspeicher 44 verbunden. Der Prozessor 32 ist auch mit dem Speicher 34 verbunden. Der Weiterleitungsspeicher 40 und der zugehörige Speicher 42 sind miteinander und außerdem mit dem Vermittlungselement 36 verbunden.
  • Das Vermittlungselement 36 führt die meisten Paket-Weiterleitungsfunktionen unter Verwendung sowohl der Schicht 2 als auch der Schicht 3 Information, und möglicherweise auch mit einer bestimmten Schicht 4 Information, die in dem Weiterleitungsspeicher 40 und dem zugehörigen Speicher 42 gespeichert ist, aus, ohne sich auf den Prozessor 32 stützen zu müssen, um Routen zu berechnen und geeignete Aktionen bei jedem Paket zu bestimmen.
  • Der Prozessor 32 führt Aufgaben aus, für deren Behandlung das Vermittlungselement 36 nicht ausgerüstet ist. Wenn zum Beispiel neue Schicht 3 Routen berechnet werden müssen, verwendet der Prozessor 32 den Prozessorspeicher 34, der eine detaillierte Information über die Topologie von irgendwelchen Netzen enthält, die von dem Mehrschicht-Netzelement 12 erreichbar sind. Der Prozessor 32 führt seine Berechnungen vorwiegend unter Verwendung von Software-Programmiereinheiten in Verbindung mit Zugriffen auf den Speicher 34 aus. Das Vermittlungselement 36 trifft seine Entscheidungen vorwiegend in Hardware, wobei der Weiterleitungsspeicher 40 und der zugehörige Speicher 42 verwendet wird. Der Weiterleitungsspeicher 40 und der zugehörige Speicher 42 enthalten nur einen Abschnitt der Information, die in dem Speicher 34 enthalten ist, und sind konfiguriert für einen schnellen Zugriff und eine schnelle Auslesung.
  • 3 zeigt eine ausführliche Ansicht des Vermittlungselements 36 und dessen Verbindungen mit dem Prozessor 12, der Vielzahl von Netzelement-Ports 38a-n, dem Weiterleitungsspeicher 40, dem Assoziativspeicher 42 und dem Paketpuffer-Speicher 44. Das Vermittlungselement 36 umfasst Eingangsports 50a-n, eine Weiterleitungslogik 52, einen Paketspeicher-Manager 54 und Ausgangsports 56a-n. Jeder Eingangsport 50i und Ausgangsport i entspricht einem Netzelement-Port 38i. Jeder der Eingangsports 50 ist auch sowohl mit der Weiterleitungslogik 52 als auch mit dem Paketspeicher-Manager 54 verbunden.
  • Für irgendein gegebenes i empfängt ein Eingangsport 50i Pakete von seinem jeweiligen Mehrschicht-Netzelement-Port 38i und testet die Pakete auf Richtigkeit. Wenn das Paket schlecht geformt ist, wird es gelöscht. Pakete, die dieses anfängliche Durchleuchten durchlaufen, werden vorübergehend durch den Eingangsport 50i gepuffert. Sobald der Eingangsport 50i wenigstens die ersten 64 Bytes des empfangenen Pakets gepuffert hat, übergibt der Eingangsport 50i den Header an die Weiterleitungslogik 52.
  • Die Weiterleitungslogik 52 ist mit dem Prozessor 32, dem Weiterleitungsspeicher 40 und dem Assoziativspeicher 42 verbunden. Die Weiterleitungslogik 52 fuhrt mehrere Funktionen aus. Anfänglich analysiert sie das Paket, um zu bestimmen, ob das Paket verkapselt ist, beispielsweise durch das Unternetz-Zugriffsprotokoll (Subnetwork Access Protocol; SNAP), oder ob das Paket mit einer Kennung versehen ist, zum Beispiel mit einem Identifizierer für ein virtuelles LAN (VLAN). Wenn das Paket von einem diesen zwei Typen ist, verwendet die Weiterleitungslogik 52 eine Versatzinformation (Offset-Information), um eine Headerinformation einer geeigneten Schicht, die für eine weitere Verarbeitung benötigt wird, zu lokalisieren.
  • Die Weiterleitungslogik 52 durchsucht auch den Weiterleitungsspeicher 40 nach Übereinstimmungen auf der Schicht 2 und/oder der Schicht 3. Die Suche kann auch irgendeine Information auf der Schicht 4 umfassen. In der bevorzugten Ausführungsform ist der Weiterleitungsspeicher 40 ein über den Inhalt-adressierbarer Speicher (Content Adressable Memory; CAM), der Information sowohl über die Schicht 2 als auch die Schicht 3 Vermittlung speichert, und kann irgendeine Schicht 4 Information enthalten. Wenn eine Übereinstimmung festgestellt wird dienen Daten, die in dem Assoziativspeicher 42 gespeichert sind und auf die von dem übereinstimmenden Eintrag in dem Weiterleitungsspeicher 40 verwiesen wird, zum Definieren der Aktionen, die das Vermittlungselement 36 durchführen muss, um das Paket an die geeignete Zielstelle (Zielstellen) weiterzuleiten.
  • In einer anderen Ausführungsform könnte der Weiterleitungsspeicher 40 unter Verwendung eines Speichers mit wahlfreiem Zugriff und sequentieller Adressierung implementiert werden. In dieser Ausführungsform würde für den bestimmten Schlüssel eine Hashing-Funktion vorher ausgeführt werden. Der sich ergebende gehashte (verwürfelte) Wert würde eine Adresse in den Speicher 42 hinein, in Assoziation mit dem vorher verwürfeltem Schlüssel, sein.
  • In noch einer anderen Ausführungsform könnte der Weiterleitungsspeicher 40 und der zugehörige Speicher 42 in einem einzelnen Speicher mit wahlfreiem Zugriff enthalten sein. Bei einer Implementierung von diesem einzelnen Speicher mit wahlfreiem Zugriff könnte auf die Einträge sequentiell zugegriffen werden, wobei ein Hash-Frontend benötigt wird. Eine andere Implementierung von diesem einzelnen Speicher mit wahlfreiem Zugriff könnte ein CAM sein.
  • Der Paketspeicher-Manager 54 ist mit einem Paketpuffer-Speicher 44, dem Eingangsport 50i und dem Ausgangsport 56i verbunden. Wie voranstehend angegeben entspricht jeder Ausgangsport 56i einem der Vielzahl von Mehrschicht-Netzelement-Ports 38i. Während sie als getrennte Einheiten dargestellt sind, sind der Eingangsport 50i und der Ausgangsport 56i, die einem bestimmten Mehrschicht-Netzelementport 38i entsprechen, eng gekoppelt, da Information durch die Netzelement-Ports 38 in beiden Weisen fließen.
  • Nachdem die Weiterleitungslogik 52 bestimmt hat, was mit dem Paket zu tun ist, übergibt sie diese Information an den Eingangsport 50i. Wenn der Eingangsport 50i das Paket nicht filtert, dann fordert er einen Zeiger auf freie Speicherstellen in dem Paketpuffer-Speicher 44 von dem Paketspeicher-Manager 54 an. Der Paketspeicher-Manager 54 antwortet durch Bereitstellen von Ortsadressen von freiem Speicherplatz in dem Paketpuffer-Speicher 44. Der Eingangsport 50i fordert dann einen Schreibzugriff von dem Paketspeicher-Manager 54 an und sendet den Zeiger und die Daten an den Paketspeicher-Manager 54.
  • In einigen Fällen muss der Eingangsport 50i an den Paketen, wie von der Weiterleitungslogik 52 befohlen, Modifikationen durchführen. Der Eingangsport 50i führt diese Modifikationen aus, bevor das Paket in dem Paketpufferspeicher 44 gespeichert wird. Wenn von dem Eingangsport 50i angefordert platziert der Paketspeicher-Manager 54 das Paket in die geeignete Adressenstelle, die von dem Eingangsport 50i spezifiziert wird. Der Eingangsport 50i übergibt dann Information darüber, wo das Paket gespeichert ist, an die geeigneten Ausgangsports 56, wie aus der Information bestimmt, die an dem Eingangsport 50i von der Weiterleitungslogik 52 empfangen wird.
  • In einer bevorzugten Ausführungsform können die geeigneten Ausgangsports keine Ausgangsports oder einen oder mehrere Ausgangsports einschließen. Der Ausgangsport 56i fordert Pakete von dem Paketmanager 54 an und empfängt diese und überträgt das Paket an dessen zugehörigen Netzelementport 38i, wenn die Bedingungen für eine Übertragung erfüllt sind. In den meisten Fällen muss der Ausgangsport 56i seine MAC Adresse als die Quellenadresse auf abgehenden Paketen platzieren. Wenn diese Situation durch die Ergebnisse der Weiterleitungslogik 52, wie an den Eingangsport 50i übergeben, vorgegeben wird, platziert der Eingangsport 50i eine derartige Anzeige in dem Paketpufferspeicher 44. Der Ausgangsport 56i erfasst diese Anzeige und ersetzt die Adresse, wenn das Paket den Ausgangsport 56i verlässt. Somit sind nur geringfügige Modifikationen an den Paketen auf der Ausgangsseite des Vermittlungselements 36 erforderlich.
  • Wenn der Weiterleitungsspeicher 40, gemäß der obigen Ausführungsform, übereinstimmende Einträge für eine Schicht 2 Vermittlung oder eine Schicht 3 Lenkung enthält, wird das Mehrschicht-Netzelement 12 bei einer Drahtgeschwindigkeit arbeiten. Eine Drahtgeschwindigkeit wird durch die Geschwindigkeit bei der maximalen Paketrate bestimmt, bei der eine gegebene Schicht 1 und Schicht 2 Kombination Pakete transportieren können. Wenn ein Element, welches mit einem Netz verbunden ist, Pakete so schnell, wie sie in das Element eintreten, oder schneller verarbeiten kann, dann arbeitet das Element bei der Drahtgeschwindigkeit.
  • In einer bevorzugten Ausführungsform verarbeitet das Netzelement 12 Pakete für ein Szenarium des schlechtesten Falls eines stetigen Stroms von 64-Byte Paketen, die alle gleichzeitig an den Eingangsports 50 eintreten. Wenn die Schicht 3 Information in dem Weiterleitungsspeicher 40 nicht enthalten ist, dann wird das Paket unter Verwendung der Schicht 2 Information weitergeleitet und dann in Übereinstimmung mit einer herkömmlichen Schicht 3 Verarbeitung durch Software in dem Prozessor 32 verarbeitet.
  • Im Gegensatz zu einer herkömmlichen Schicht 3 Verarbeitung kann der Prozessor 32 den Weiterleitungsspeicher 40 durch Anordnen von neuen Schicht 3 Einträgen, sowie sie gelernt und erzeugt werden, aktualisieren. Irgendwelche Pakete, die mit den neuen Einträgen übereinstimmen, werden bei der Drahtgeschwindigkeit weitergeleitet, d. h. Weiterleitungsentscheidungen werden für ein Paket getroffen, bevor das nächste Paket ankommt.
  • Während die Diskussion dieser Erfindung unter Verwendung der Schicht 2 und einer Kombination von Schichten 3 und 4 beschrieben wird, würde ein Durchschnittsfachmann in dem technischen Gebiet erkennen, dass ein Suchen auf und ein Erzeugen von Einträgen in dem Weiterleitungsspeicher 40 für irgendeinen Abschnitt eines Pakets oder des Header oder irgendeine Kombination davon leicht aus der Beschreibung folgt. Somit ist die Erfindung nicht auf irgendeine spezifische Implementierung von Schichten in Übereinstimmung mit dem ISO Standard beschränkt.
  • 4 zeigt die Weiterleitungslogik 52 mit näheren Einzelheiten. Die Weiterleitungslogik 52 umfasst die Klassenlogik 60, und die Schicht 2 (L2) Logik 62, die Schicht 3 (L3) Logik 64 und die Zusammenfassungslogik 66. Der Eingangsport 50i verbindet die Klassenlogik 60, die L2 Logik 62, die L3 Logik 64 und die Zusammenfassungslogik 66. Zur Vereinfachung ist nur ein Eingangsport 50i gezeigt, obwohl alle Eingangsports 50 in einer ähnlichen Weise verbunden sind. Vorzugsweise wird die Weiterleitungslogik 52 nicht für jeden Eingangsport 50i dupliziert. Anstelle davon stehen sämtliche Eingangsports 50 zum Zugriff auf die Weiterleitungslogik 52 im Wettbewerb.
  • Die L2 Logik 62 ist mit dem Weiterleitungsspeicher 40 verbunden und ist zur Erzeugung eines Schlüssels zum Vergleich mit den Einträgen, die in den Weiterleitungsspeicher 40 für Schicht 2 Weiterleitungs-Entscheidungen gespeichert sind, verantwortlich. In Abhängigkeit von der Konfiguration des Weiterleitungsspeichers 40 kann der Schlüssel auf alle oder einige der Einträge des Weiterleitungsspeichers 40 angewendet werden.
  • Während eines Betriebs empfängt der Eingangsport 50i ein Paket von dem Mehrschicht-Netzelementport 38i und sendet den Header plus den Identifizierer des Eingangsports 50i an die Weiterleitungslogik 52. Die Weiterleitungslogik 52 durchsucht zunächst den Weiterleitungsspeicher 40, um zu bestimmen, ob der Weiterleitungsspeicher 40 einen Eintrag für die Schicht 2 Quelle, die das Paket sendet, enthält. Ein übereinstimmender Eintrag wird existieren, wenn das Mehrschicht-Netzelement 12 ein Paket von der gleichen Schicht 2 Quelle vorher empfangen hat und gelernt hat, mit welchem Port es verbunden ist. Wenn kein übereinstimmender Eintrag existiert führt die Weiterleitungslogik 52 eine Lernfunktion aus, indem ein Eintrag in dem Weiterleitungsspeicher 40 mit der Quellenadresse platziert wird. Die Weiterleitungslogik 52 signalisiert dem Prozessor 32, dass sie eine neue Quellenadresse gelernt hat. In einigen Fällen wird die Schicht 2 Quelle in dem Weiterleitungsspeicher 40 existieren, wird aber mit einem anderen Eingangsport 50i als dem Eingangsport 50i des ankommenden Pakets in Verbindung gebracht werden. In diesem Fall wird kein übereinstimmender Eintrag in dem Weiterleitungsspeicher 40 existieren, weil eine Übereinstimmung sowohl von der Schicht 2 Quelle als auch dem Eingangsport 50i abhängt.
  • Die Weiterleitungslogik 52 durchsucht den Weiterleitungsspeicher 40 auch nach einem Eintrag, der den Port der Zieladresse anzeigt. Wenn keine Übereinstimmung gefunden wird, dann weist die Weiterleitungslogik 52 den Eingangsport 50i an, die Pakete an sämtliche aktiven Ausgangsports 56 zu fluten.
  • Für die Schicht 2 Information, die voranstehend in der bevorzugten Ausführungsform beschrieben wurde, enthält der Weiterleitungsspeicher 40 die Werte der MAC Adressen der Quellen und einen Zeiger auf einen entsprechenden Eintrag im zugehörigen Speicher 42. Der Weiterleitungsspeicher 40 kann auch eine zusätzliche Schicht 2 Information, wie einen VLAN Identifizierer, enthalten, wenn Pakete mit Kennungen verwendet werden. Der zugehörige Speicher 42 enthält mehr Information über seinen entsprechenden Eintrag in dem Weiterleitungsspeicher 40. Die Schicht 2 Information in dem Weiterleitungsspeicher 40 ist vorzugsweise auf die geringste Menge von Information beschränkt, die erforderlich ist, um eine Schicht 2 Suche durchzuführen. In einer Schicht 2 Suche ist diese Information vorzugsweise lediglich die MAC Adresse und der Eingangsport 50i, aber der CAM kann auch irgendeine Information enthalten, die sich auf eine Adressierung mit Kennungen (tagged addressing) bezieht.
  • In einer bevorzugten Ausführungsform erlaubt der Weiterleitungsspeicher 40 Mehrfach-Übereinstimmungen für eine Schicht 2 Suche. Der Prozessor 32 stellt sicher, dass die Reihenfolge der Einträge derart ist, dass dann, wenn eine Adressen/Port-Kombination in dem Weiterleitungsspeicher existiert, dieser Eintrag gewählt wird. Wenn die bestimmte Quellen/Port-Kombination nicht gefunden wird, dann kann eine Übereinstimmung einschließlich der VLAN Information auftreten, so dass irgendeine Schicht 2 Zielstellensuche mit wenigstens einem bekannten VLAN oder einem unbekannten VLAN Eintrag übereinstimmen wird, wobei jeder davon die Ausgangsports 56 zum Fluten in seinem jeweiligen Eintrag definiert.
  • Die L3 Logik 64 ist mit dem Weiterleitungsspeicher 40 verbunden und ist zum Erzeugen eines Schlüssels zum Vergleich mit den Einträgen, die in dem Weiterleitungsspeicher 40 für Schicht 3 Weiterleitungsentscheidungen gespeichert sind, verantwortlich. Wie mit dem L2 Suchschlüssel kann der L3 Schlüssel auf alle oder einige der Einträge des Weiterleitungsspeichers 40 angewendet werden.
  • Um den Schlüssel zu erzeugen verwendet die L3 Logik 64 Information von dem Eingangsport 50i einschließlich des Paket-Headers und eines Identifizierers des Eingangsports 50i, und Information von der Klassenlogik 60. Die Zusammenfassungslogik 66 ist mit der Klassenlogik 60, dem zugehörigen Speicher 42, dem Paketspeicher-Manager 54 und dem Prozessor 32 verbunden. Die Zusammenfassungslogik 66 verwendet Information von der Klassenlogik 60 und Information, die von dem zugehörigen Speicher 42 ausgegeben wird, um den Eingangsport 50i anzuweisen, was zu tun ist, um das Paket in geeigneter Weise an dessen geeignete Zielstelle (an dessen geeignete Zielstellen) weiterzuleiten. In einigen Fällen gibt es keine geeignete Zielstelle und das Paket wird gelöscht. In anderen Fällen wird die Zusammenfassungslogik 66 dem Prozessor 32 signalisieren, dass er irgendeine Aufgabe im Ansprechen auf das empfange Pakete ausführen muss.
  • Die Schicht 3 Umschaltung (Vermittlung) ist, während sie komplexer ist, ähnlich zu der Schicht 2 Umschaltung. Die Weiterleitungslogik 52 durchsucht den Weiterleitungsspeicher 40 nach einem übereinstimmenden Eintrag mit einem Schicht 3 Suchschlüssel, der von der L3 Logik 64 erzeugt wird. Wenn eine Übereinstimmung existiert, wird die Information in dem zugehörigen Speicher 42 von der Zusammenfassungslogik 66 verwendet, um den Eingangsport 50i anzuweisen, was mit dem Paket zu tun ist. Wenn die Suche keine Übereinstimmung bereitstellt leitet das Vermittlungselement 36 das Paket als eine Brücke weiter und kann das gesamte Paket oder Abschnitte davon an den Prozessor 32 für eine weitere Verarbeitung übergeben. Die L3 Logik 64 erzeugt den Suchschlüssel unter Verwendung von Information von dem Paket-Header, dem Eingangsport 50i und der Klassenlogik 60.
  • Die Klassenlogik 60 untersucht Information in dem Paket-Header, um irgendeine Verkapselungsinformation zu bestimmen und um eine Klasse für die Schicht 3 Information zu bestimmen und ist mit näheren Einzellheiten in 5 dargestellt. Die Klassenlogik 60 umfasst die Verkapselungslogik 68 und die Klassenaktionslogik 70. Jeder Eingangsport 50i ist sowohl mit der Verkapselungslogik 68 als auch mit der Klassenaktionslogik 70 verbunden. Die Klassenaktionslogik 70 ist mit der Verkapselungslogik 68, der L3 Logik 64 und der Zusammenfassungslogik 66 verbunden.
  • Die Verkapselungslogik 68 ist zum Untersuchen des Paket-Headers und zum Bestimmen von irgendwelchen Versätzen (Offsets) in dem Header für die Schicht 3 und Schicht 4 Information, wenn erforderlich, verantwortlich. Die Verkapselungslogik 68 umfasst Klassenfilter 72, um irgendwelche Versätze in das Paket hinein, um Stellen von relevanter Information zu identifizieren, zu bestimmen. In einer bevorzugten Ausführungsform erkennt ein Filter 72 eine Implementierung in Übereinstimmung mit dem IEEE 802.3 Standard Ethernet Header, und ein anderes Filter 72 erkennt eine Implementierung in Übereinstimmung mit dem IEEE Standard 802.1q Tagged Ethernet Header, und noch ein anderes erkennt eine LCC SNAP Verkapselung. Andere Verkapselungen würden Durchschnittsfachleuten in dem technischen Gebiet leicht ersichtlich werden und könnten mit zusätzlichen Verkapselungsfiltern 72 implementiert werden. Die Verkapselungslogik 68 übergibt Verkapselungs-Versätze an die Klassenaktionslogik 70, sodass die Klassenaktionslogik 70 weiß, von wo in dem Paket die geeignete Feldinformation zu ziehen ist.
  • Die Klassenaktionslogik 70 bestimmt, zu welcher Klasse ein Paket gehört. Eine Klasse wird sowohl von der L2 als auch der L3 Logik verwendet, um bei der Suche unterstützend zu wirken und zu der Funktionalität des Mehrschicht-Netzelements 12 beizutragen. Die L2 Logik 62 wendet eine einzelne Klasse auf sämtliche Schicht 2 Suchvorgänge an. Die Schicht 3 andererseits weist eine Vielzahl von programmierbaren Klassen auf.
  • Die Klassen helfen zur Definition eines Klassen-Typs und für jede Klasse, welche Bytes von dem Paket-Header, die beim Erzeugen des Schicht 3 Suchschlüssels von der L3 Logik 64 verwendet werden sollten, dessen Priorität, und eines voreingestellten Klassenergebnisses, welches definiert, was passieren sollte, wenn keine Schicht 3 Übereinstimmung in dem Weiterleitungsspeicher 40 auftritt.
  • In einer bevorzugten Ausführungsform gibt es vier mögliche Ergebnisse, wenn keine Übereinstimmung auftritt. Zunächst kann der Header an den Prozessor 32 gesendet werden. Dies wird in Erwägung gezogen, wenn die Möglichkeit zum Identifizieren eines Schicht 3 Flusses existiert. Zweitens könnte das gesamte Paket an dem Prozessor 32 kopiert werden. Dies wird in Erwägung gezogen, wenn anfänglich eine unicast Route gesetzt wird oder, um einen Firewall Schutz durch anfängliches Untersuchen von bestimmten Routen oder Flüssen bereitzustellen oder wenn es nicht bekannt ist, wo in dem Paket die benötigte Information existieren kann, um Suchschlüssel zu erzeugen. Als drittes werden Schicht 2 Ergebnisse zur Weiterleitung verwendet. Als viertes wird das Paket gelöscht. Eine andere Aktion kann in Abhängigkeit von der Konfiguration des Netzes oder bei dem bestimmten Protokoll, welches gerade verwendet wird, möglich sein, so wie dies Durchschnittsfachleuten in dem technischen Gebiet leicht ersichtlich sein würde.
  • Einige der Kriterien, die die Klassen berücksichtigen können, können sein, ob die Klasse Adressen-abhängig, oder Adressen-unabhängig angesehen wird. Eine Hinzufügung eines Klassenidentifizierers erlaubt dem Vermittlungselement 36 auf sich verändernde Netzsituationen zu reagieren und vereinfacht stark die Organisation und Speicherung von Information in dem Weiterleitungsspeicher 40.
  • Repräsentative Beispiele von Adressen-unabhängigen Klassen, die von der Klassenlogik 60 identifiziert werden könnten, umfassen: Address Resolution Protocol (Adressen Auflösungs-Protokoll; ARP); Internet Group Management Protocol (Internet Gruppen-Management Protokoll; IGMP; Reverse ARP (RARP); Group Address Registration Protocol (Gruppen Adressen-Registrierungsprotokoll; GARP); Protocol Independent Protocol (Protokoll-unabhängiges Protokoll; PIM); und Reservation Protocol (Reservierungs-Protokoll; RSVP). Repräsentative Beispiele von Adressen-abhängigen Klassen umfassen: TCP Fluss; nicht-fragmentierter UDP Fluss; fragmentierter UDP Fluss; Hardware-routbares IP; und IP Version 6. Natürlich könnten andere Protokolle in ähnlicher Weise erkannt werden.
  • Die Klassenlogik 60 erzeugt ein eindeutiges Klassenergebnis für jedes ankommende Paket. Für ein nicht erkanntes Protokoll wird die Klassenlogik 60 noch ein Klassenergebnis erzeugen, aber dieses Klassenergebnis zeigt ein nicht erkanntes Protokoll an und welche Aktionen für ein Paket dieses Klassentyps stattfinden sollten.
  • Im Allgemeinen sind Schicht 3 Flüsse Adressen-abhängig und werden Information über lediglich eine einfache Klasse des Verkehrs hinaus enthalten. In denjenigen Fällen, wo zusätzlich Information durch den Prozessor 32 in dem Weiterleitungsspeicher 40 abgelegt worden ist, kann mehr als ein Eintrag für eine bestimmte Klasse in dem Weiterleitungsspeicher 40 vorhanden sein. Der Prozessor 32 stellt sicher, dass von den Einträgen, die übereinstimmen, derjenige verwendet wird, der der geeignetste ist. Unterschiedliche Klassen können unterschiedliche Kriterien dafür, was die geeignetste Übereinstimmung ist, in Abhängigkeit von dem Typ von Paketen, die innerhalb einer bestimmten Klasse verkörpert sind, aufweisen. Die Flexibilität, die ermöglicht wird, indem mehrere übereinstimmende Einträge in dem Weiterleitungsspeicher 40 vorhanden sind, wird weiter dadurch verbessert, dass sichergestellt wird, dass die beste Übereinstimmung für einen bestimmten Fluss bereitgestellt wird und wegen dieses Merkmals werden unterschiedliche Aktionen für Pakete innerhalb des gleichen Typs von Klasse möglich sein.
  • In der bevorzugten Ausführungsform ordnet der Prozessor 32 die Schicht 3 Einträge um, wenn er irgendeine neue Schicht 3 so platziert, dass die beste Übereinstimmung für ein bestimmtes Suchkriterium am frühesten in dem Speicher auftritt. Durchschnittsfachleute in dem technischen Gebiet werden viele unterschiedliche Implementierungen erkennen, um das gleiche Ergebnis zu erzielen. In einer bevorzugten Ausführungsform stellt der Prozessor 32 sicher, dass der Eintrag mit dem längsten potentiell übereinstimmenden Schlüssel innerhalb einer bestimmten Klasse die oberste oder früheste Stelle in dem Speicher ist. Jedoch kann der Prozessor 32 einen Eintrag auch über dem längsten übereinstimmenden Eintrag anordnen, sodass für ein bestimmtes Verkehrsmuster die wichtigste Übereinstimmung eine sein kann, die mit vielen Schlüsseln übereinstimmt. Zum Beispiel wird ein Eintrag, der für eine bestimmte Klasse, auf Grundlage eines Anwendungsports wie „http" und keiner anderen Information einen Übereinstimmung aufweist, Vorrang gegenüber Einträgen haben, die mit mehr als lediglich der Schicht 4 Anwendung übereinstimmen könnten. Ein anderes Beispiel könnte darin bestehen eine Übereinstimmung mit einer bestimmten Quelle innerhalb eines Klassen-Typs zu erzwingen. Dies könnte auftreten, wenn der Betreiber unter Umständen wünscht Pakete, die von einem bestimmten Server kommen, mit einer hohen Priorität, unabhängig von der Zielstelle oder Schicht 4 Anwendung, zu versehen.
  • In einer bevorzugten Ausführungsform weist die Zusammenfassungslogik 66 den Eingangsport 50i an, eine der folgenden Aktionen für ein Paket durchzuführen: das Paket zu filtern; das Paket auf der Schicht 2 weiterzuleiten; das Paket als ein Schicht 3 Fluss weiterzuleiten; das Paket als eine Schicht 3 Route zu verarbeiten; und das Paket als eine Multicast-Route weiterzuleiten. Pakete, für die die Zusammenfassungslogik 66 den Eingangsport 50i zur Filterung anweist, sind diejenigen, die bestimmte Header-Information einschließen, von der bestimmt wird, dass sie nicht unterstützt wird. Beispiele von Klassen, deren Pakete auf der Schicht 2 weitergeleitet werden könnten, würden einen fragmentierten UDP Fluss und eine Klasse, die anzeigt, dass die Header-Information unbekannt ist, einschließen. Ein fragmentiertes UDP arbeitet unter Verwendung von Schicht 2 Information, weil nach dem ersten Paket die fragmentierten Pakete nicht alle eine relevante Information von der Schicht 4 Header-Information einschließen, UDP Ports zum Beispiel. Eine Schicht 2 Weiterleitung würde für Adressen-unabhängige Klassen in Abhängigkeit von der bestimmten Klasse optional sein.
  • Die Zusammenfassungslogik 66 weist den Eingangsport 50i an eine Schicht 3 Fluss-Information für TCP oder nicht-fragmentierte UDP Flüsse zu verwenden. Flüsse sind diejenigen Pakete, die innerhalb des Unternetzes weitergeleitet werden, an dem das Mehrschicht-Netzelement 12 angebracht ist, und sie benötigen keine Header-Modifikation bei der Weiterleitung. Routen sind andererseits Pakete, die von Quellen außerhalb des Unternetzes kommen und für Adressen über das Unternetz hinaus bestimmt sind, sodass die Header-Information vor der Weiterleitung durch das Mehrschicht-Netzelement 12 modifiziert werden muss. In einer bevorzugten Ausführungsform kommen Befehle zum Weiterleiten des Pakets als eine Schicht 3 Route von der Zusammenfassungslogik 66, wenn die Klasse anzeigt, dass das Paket von einem Klassen-Hardware-Routbaren IP ist. Mit anderen Worten, die Zielstelle des ankommenden Pakets wird von der Klassenlogik 60 des Mehrschicht-Netzelements 12 erkannt und das Mehrschicht-Netzelement 12 muss dann das Paket an die nächste Sprung-Zielstelle, die durch Routing-Protokolle bestimmt wird, weiterleiten. Durchschnittsfachleute in dem technischen Gebiet können leicht aus der Erfindung andere Situationen erkennen, bei denen ein derartiger Typ von Ergebnis gewünscht sein würde.
  • Ein Merkmal der Erfindung ist die Fähigkeit Flüsse zu überbrücken, das heißt den Weiterleitungsspeicher zu verwenden, um Schicht 2 Pakete unter Verwendung einer Schicht 3 Funktionalität durch das Netzelement 12 schnell weiterzuleiten. Bestimmte Flüsse sind besonders geeignet für diesen Typ von Aktivität und umfassen statische Flüsse, selbst-erfassende Flüsse und Flüsse, die durch Reservierungsprotokolle wie RSVP aufgebaut werden. Statische Flüsse sind diejenigen, die von dem Betreiber des Netzelements 12 vorher aufgebaut werden, und definieren eine Schicht 3 Funktionalität für einen gewählten Schicht 2 Netzverkehr und sind nicht einer Alterung ausgesetzt. Selbst-erfassende Flüsse sind eine Funktion des Typs der Anwendung.
  • Zu Anfang werden diese Flüsse mit keiner Schicht 3 Funktionalität überbrückt, weil kein Schicht 3 Eintrag übereinstimmt. Der Paket-Header wird an den Prozessor 32 für eine Untersuchung gesendet. Der Prozessor 32 analysiert das Paket und bestimmt auf Grundlage von programmierten Heuristiken, ob und wie ein Schicht 3 Eintrag in dem Weiterleitungsspeicher 42 für den Pakettyp zu erzeugen ist. Zum Beispiel könnte ein „ping" Paket einen Schicht 3 Fluss-Eintrag nicht gewähren, weil es bestenfalls ein transientes Paket ist.
  • Protokolle wie RSVP arbeiten, um bestimmte Dienstmerkmale des Netzes zu reservieren und zu signalisieren, dass eine Anzahl von Paketen diesen gleichen Pfad nehmen werden. In diesem Fall dient es der Anwendung unter Verwendung des Reservierungsprotokolls, um eine Weiterleitung auf der Schicht 2 vorzunehmen, aber eine Schicht 3 oder eine höhere Funktionalität wie eine Priorität hinzuzufügen, um die erforderliche Dienstklasse durch das Mehrschicht-Netzelement 12 sicherzustellen.
  • 6 zeigt bevorzugte Ergebnisse, die durch die Zusammenfassungslogik 66 unter Verwendung von Information von der Klassenlogik 60 und dem zugehörigen Speicher 42 erzeugt werden. Drei Ergebnisse werden gegenwärtig bevorzugt: (1) Verbindung der Schicht 2 Weiterleitungsergebnisse; (2) Verwendung der Schicht 3 Weiterleitungsergebnisse; und (3) Verwendung der Schicht 3 Ergebnisse, während die Schicht 2 Topologie verwendet wird. In einigen Fällen kann eine identifizierte Klasse vorhanden sein, aber kein übereinstimmender Eintrag in dem Weiterleitungsspeicher 40, und in diesem Fall werden die voreingestellten (Default) Aktionen für die Klasse verwendet. Es sein darauf hingewiesen, dass die Verwendung der voreingestellten Ergebnisse der Schicht 3 als ein Untersatz einer Verwendung von Schicht 3 Weiterleitungsergebnissen angesehen werden kann.
  • Voreingestellte Ergebnisse können für Pakete eines Klassen-Typs eingestellt werden, um einen Schutz bereitzustellen, wie derjenige, der von einer Firewall-Technologie bereitgestellt wird. In einer Firewall-Anwendung würde das Mehrschicht-Netzelement 12 programmiert werden, um irgendein Paket einer definierten Klasse an den Prozessor 32 für eine nachfolgende Verarbeitung zu richten.
  • Wenn die Klassenlogik 60, unter Bezugnahme auf 6, bestimmt, dass es sich bei dem Paket um eine nicht erkannte Klasse handelt (Schritt 112), dann wird an dem Paket unter Verwendung der Schicht 2 Ergebnisse (Schritt 114) gearbeitet. Wenn die Klasse des Pakets erkannt wird (Schritt 112) und der zugehörige Speicher 42 oder die Klassenlogik 60 anzeigt, dass ein Schicht 2 Ergebnis erzwungen werden sollte (Schritt 116), dann werden die Schicht 2 Ergebnisse verwendet (Schritt 118), und zwar unabhängig von irgendeiner anderen Information.
  • Wenn keine Schicht 2 Ergebnisse als Folge der Schicht 2 Suche erzwungen werden (Schritt 116) und eine Übereinstimmung des Schicht 3 Schlüssels vorhanden ist (Schritt 120), dann wird die Schicht 3 Information überprüft, um zu bestimmen, ob die Schicht 3 Information eine Schicht 2 Port-Entscheidung erzwingt (Schritt 122). Wenn die Schicht 3 Information ein Schicht 2 Weiterleitungsergebnis erzwingt, dann wird der Ausgangsport durch die Ergebnisse der Schicht 2 Suche bestimmt, jedoch werden irgendwelche andere Informationen, die in Ergebnissen der Schicht 3 Suche gefunden werden, angewendet (Schritt 124), wie QoS Faktoren. Wenn die Schicht 3 Ergebnisse nicht eine Erzwingung eines Schicht 2 Weiterleitungsergebnisses erfordern, dann werden die Schicht 3 Ergebnisse an den Eingangsport 50i übergeben (Schritt 126). Wenn keine Schicht 3 Übereinstimmung im Schritt 120 vorhanden ist, dann werden die voreingestellten Aktionen für die Klasse, die durch die Klassenlogik 66 erzeugt wird, an den Eingangsport 50i übergeben (Schritt 128). Es wird auch in Erwägung gezogen, dass ein Paket an den Prozessor 32 gesendet wird, ohne durch den Eingangsport 50i an irgendeinen Ausgangsport 56 weitergeleitet zu werden, wenn eine voreingestellte Aktion der L3 Klasse verwendet wird.
  • Wenn die Klasse erkannt wird und die Schicht 3 Suche mit einem Eintrag übereinstimmt, dann leiten somit die Aktionen, die durch die Schicht 3 Suche definiert werden, die Befehle an den Eingangsport 50i, obwohl dies bedeuten könnte, dass die Schicht 2 Ausgangsport-Ergebnisse verwendet werden. Wenn nicht, wird das Paket unter Verwendung von Schicht 2 Ergebnissen behandelt und das Paket oder der Header des Pakets könnte an den Prozessor 32 für eine nachfolgende Verarbeitung der Schicht 3 Information, wenn gewünscht, gesendet werden.
  • Wenn die Information, die von dem zugehörigen Speicher 42 für eine Schicht 3 Übereinstimmung herauskommt, ein Erzwingen eines Schicht 2 Ergebnisses anzeigt, dann wird eine Paketweiterleitung unter Verwendung der Schicht 2 Ergebnisse durchgeführt, aber irgendeine Information, die sich auf die Dienstqualität bezieht, kann noch auf einer Schicht 2 Weiterleitungsentscheidung implementiert werden. In dieser Weise kann das Mehrschicht-Netzelement 12 eine zusätzliche Funktionalität oberhalb und über normalen Schicht 2 Brücken hinzufügen, indem erlaubt wird, dass Dienstqualitäts-Faktoren auf eine Schicht 2 Überbrückung oder ein Routing (eine Weglenkung) innerhalb des gleichen Unternetzes oder VLANs angewendet wird.
  • Demzufolge bietet der Eingangsport 50i an der Weiterleitungslogik 52 den Header des empfangenen Pakets und dessen Port-Bezeichnung an. Der Ausgang der Weiterleitungslogik 52 ist eine Funktion der Header-Information und des Ankunftsports und zeigt an, ob der Eingangsport 50i dass Paket in dem Paketpufferspeicher 44 in Zusammenwirkung mit dem Paketspeicher-Manager 54 speichern sollte; ob irgendwelche Prioritäten mit dem Paket auf einem bestimmten Ausgangsport 56i assoziiert werden sollten; und ob der Eingangsport 50i an dem Paket irgendwelche Modifikationen durchführen sollte, wie eine Header-Ersetzung, bevor das Paket an den Paketpufferspeicher 44 übergeben wird. Somit muss ein Ausgangsport 56i nicht irgendwelche Modifikationen an dem Header ausführen, außer dass dessen MAC Adresse eingesetzt wird und eine neue Paket-Prüfsumme berechnet wird, wenn zum Beispiel Unicast- oder Multicast-Pakete geroutet werden.
  • Die Schicht 2 und Schicht 3 Information in dem Weiterleitungsspeicher 40 ist unabhängig voneinander, wie auf Suchvorgänge angewendet, obwohl eine gewisse Information, die in einem Schicht 2 Eintrag enthalten ist, in einem Schicht 3 Eintrag dupliziert werden könnte. Zusätzlich kann auch ein Schicht 3 Eintrag eine gewisse Schicht 4 Information enthalten, wie die UDP oder TCP Ports. Durchschnittsfachleute in dem technischen Gebiet werden leicht andere Merkmale erkennen, die durch Einbau von anderer Information von anderen Header-Schichten oder dem Paketkörper hinzugefügt werden könnten und derartige werden so betrachtet, dass sie innerhalb des Umfangs der Erfindung sind. Nachdem sowohl die Schicht 2 als auch die Schicht 3 Suche beendet ist bestimmt die Zusammenfassungslogik 66, welche Aktionen der Eingangsport 50i an dem Paket durchführen sollte.
  • Irgendein Schicht 2 Lernvorgang der Quellenadressen oder Änderungen, die als Folge einer Topologie-Änderung auftreten könnten, werden an den Prozessor 32 als Teil der Schicht 2 Quellen-Suche kommuniziert. Wie voranstehend angegeben kann die Schicht 2 Information Kennungs-Information (Tagged Information) wie diejenige, die zum Unterstützen von Information eines virtuellen LANs (VLANs) verwendet wird, einschließen. Wenn und falls verwendet hilft die VLAN Information eine Schicht 2 Überflutung an nur denjenigen Ports, die zu einem bestimmten VLAN oder einer spezifischen Kennung gehören, zu beschränken.
  • Jeder Eintrag in dem zugehörigen Speicher 42 kann eine Information enthalten, die sich auf die folgenden Ergebnisse bezieht. Der Eintrag umfasst eine Anzeige der Ausgangsports 56 für das Paket, einschließlich davon, ob das gesamte Paket oder Abschnitte davon an den Prozessor 32 gesendet werden sollten. Der Eintrag erlaubt, dass mehr als ein Port 56i spezifiziert wird, wenn dies erforderlich ist, um zum Beispiel eine Multicast-Adressierung zum Beispiel zu unterstützen. Der Eintrag umfasst auch eine Priorität für das Paket, die in die Anzahl von Ausgangs-Warteschlangen abgebildet wird, die auf einem Ausgangsport 56 vorhanden sein können. Der Eintrag umfasst auch einen Anzeiger dafür, welche Ausgangsports 56 eine Beste Anstrengung (Best Effort) beim Übertragen des Pakets verwenden sollten. Eine Beste Anstrengung (Best Effort) impliziert, dass für die Übertragung des Pakets oder die QoS keine Garantie bereitgestellt wird. Durchschnittsfachleute in dem technischen Gebiet werden leicht erkennen, dass die Erfindung genauso gut auch auf andere QoS gültig ist.
  • Der Eintrag kann auch anzeigen, ob eine neue Kennung an einem abgehenden Paket angebracht werden soll, zum Beispiel ob ein Routing (eine Weglenkung) zwischen VLANs eine abgehende Kennung erfordert, die sich von der ankommenden Kennung unterscheidet, und was diese Kennung sein sollte, wenn erforderlich.
  • Der Eintrag enthält auch Information bezüglich der Quellen- und Zielstellen-Alterung. Eine Quellenalterungs-Information zeigt an, ob die Quelle aktiv ist oder nicht. In einer bevorzugten Implementierung wird diese Information durch die Weiterleitungslogik 52 jedes mal aktualisiert, wenn die Schicht 2 Quellenadresse als übereinstimmend gefunden wird. Die Information wird in Übereinstimmung mit einer Adressen-Alterung des IEEE Standards 802.1d Typs implementiert. Eine Zielstellung-Alterung in dem Netzelement 12 zeigt an, welche Schicht 2 und Schicht 3 Einträge aktiv sind. Die Information für einen Eintrag wird jedes mal aktualisiert, wenn ein Eintrag als übereinstimmend gefunden wird, entweder durch eine Schicht 2 Zielstellen-Suche oder einen Schicht 3 Übereinstimmungs-Zyklus für den Eintrag.
  • Der Eintrag sieht auch Vorkehrungen vor, ob Schicht 2 Ergebnisse für eine Weiterleitung durch den Eingangsport 50i verwendet werden sollten. Wie voranstehend erwähnt kann die Schicht 2 Information für einen Schicht 3 Eintrag erzwungen werden, aber zusätzlich zu der Schicht 2 Weiterleitungsinformation kann eine Schicht 3 Funktionalität zu der Schicht 2 Weiterleitung hinzugefügt werden.
  • Der Eintrag kann auch einen statischen Eintrag definieren. Ein statischer Eintrag ist einem Schicht 2 Lernvorgang nicht ausgesetzt und wird niemals gealtert.
  • Einträge für die Schicht 3 können zusätzliche Information umfassen. Der Eintrag kann anzeigen, dass nur die ersten 64 Bytes des Pakets an den Prozessor 32 für eine nachfolgende Verarbeitung gesendet werden sollten. Der Eintrag kann anzeigen, ob das Paket ein Teil einer Multicast-Routing ist. Wenn dem so ist, dann sollte der Ausgangsport 50i die Header-Prüfsumme dekrementieren, so dass das Paket an die angezeigten Ausgangsports 56 weiterleiten, und anzeigen, dass der Ausgangsport 56i die Schicht 2 Quellenadresse des Pakets mit der MAC Adresse des Ausgangsports 56i ersetzen muss. Andere Typen von Header-Modifikationen werden Durchschnittsfachleuten in dem technischen Gebiet leicht ersichtlich sein, um ein geeignetes Routing zu implementieren.
  • Der Eintrag in dem zugehörigen Speicher 42 kann auch die Zielstellen-Adresse des nächsten Sprungs enthalten, die verwendet werden soll, um die ankommende Zielstelle bei einem Unicast-Routing zu ersetzen. In einer Unicast-Route hätte das ankommende Paket seine Zielstellen-Adresse als das Mehrschicht-Netzelement 12 gehabt.
  • Die Zusammenfassungslogik 66 muss auf die Ergebnisse der Suchvorgänge des Weiterleitungsspeichers 40, die durch die L2 Logik 62 und die L3 Logik 64 durchgeführt werden, warten. In der bevorzugten Ausführungsform werden die Schicht 2 und Schicht 3 Information in dem gleichen Weiterleitungsspeicher 40 gespeichert, jedoch könnten sie in getrennten Speichern gespeichert werden. Wie voranstehend angegeben hat die bevorzugte Ausführungsform den Weiterleitungsspeicher 40 auf die Speicherung der Information begrenzt, die durch die L2 und L3 Logiken verwendet wird, die mit den Feldern des Schlüssels übereinstimmen, um die Größe des Weiterleitungsspeichers zu reduzieren. An sich speichert der zugehörige Speicher 42 zusätzliche Information über die Einträge. Jeder Eintrag in dem Weiterleitungsspeicher 40 verweist auf einen entsprechenden Eintrag in dem zugehörigen Speicher 42, dessen Inhalte der zugehörige Speicher 42 an der Zusammenfassungslogik 66 bereitstellt, um ihre Weiterleitungsentscheidungen zu treffen.
  • 7 zeigt die Schritte, die in der Weiterleitungslogik 52 auftreten. Während die 7 die bevorzugte Ausführungsform des Betriebs der Weiterleitungslogik 52 darstellt, werden Durchschnittsfachleute in dem technischen Gebiet sofort andere äquivalente Vorgehensweisen erkennen, um die gleiche Aufgabe zu erreichen. Eine Information wird an der Weiterleitungslogik 52 von dem Eingangsport 50 empfangen (Schritt 200). Auf einem Pfad bestimmt die L2 Logik 62 die erforderliche Information für eine Schicht 2 Suche und führt die Suche an dem Weiterleitungsspeicher 40 aus (Schritt 202). Die L2 Logik 62 und der Weiterleitungsspeicher 40 bestimmen im Schritt 204, ob ein übereinstimmender Eintrag für die Quelle des Pakets vorhanden war (Schritt 204). Wenn die Quellenadresse nicht in dem Weiterleitungsspeicher 40 ist, dann wird die Quellenadresse gelernt (Schritt 206). Um die Quellenadresse zu lernen stellen die L2 Logik 62 und der Weiterleitungsspeicher 40 sicher, dass ein Eintrag in dem Weiterleitungsspeicher platziert wird. Ein Signal wird an den Prozessor 32 gesendet, um die neue Information zu untersuchen.
  • Wenn die Quellenadresse bereits in dem Weiterleitungsspeicher 40 war und mit dem Eingangsport 50 der Ankunft übereinstimmte, dann versucht die L2 Logik 62 eine Übereinstimmung mit der Zielstellen-Adresse an dem Weiterleitungsspeicher 40 zu finden (Schritt 208). Wenn die Quellenadresse nicht in dem Weiterleitungsspeicher 40 war oder die Quellenadresse in dem Speicher war, aber an einem anderen Port, dann wird die Kombination der Quellenadresse und des Ports im Schritt 206 gelernt, bevor eine Zielstellen-Suche im Schritt 208 versucht wird.
  • In dem anderen Pfad von dem Schritt 200 bestimmt die Klassenlogik 60 die Klasse in dem Schritt 210. Nachdem die Klassenlogik 60 die Klasse bestimmt hat und diese an die L3 Logik 62 weitergegeben hat versucht die L3 Logik eine Übereinstimmung mit dem Weiterleitungsspeicher für den Schicht 3 Eintrag zu finden (Schritt 212).
  • Im Schritt 214 verwendet die Weiterleitungslogik 66 Information von der L2 Suche im Schritt 208, wenn dort eine war, kommt die Klassenlogik von dem Schritt 210, und die Schicht 3 Suche kommt vom Schritt 212, um geeignete Weiterleitungsentscheidungen auf Grundlage der Kriterien der 6 durchzuführen. Sobald die Zusammenfassungslogik 66 die geeignete Weiterleitungsentscheidung im Schritt 214 bestimmt hat, werden die Ergebnisse an den Ausgangsport 50i übergeben (Schritt 216).
  • 7 zeigt den Fluss, der zwei Pfade herunter fortschreitet. Weil die Schicht 2 und Schicht 3 Suchvorgänge unabhängig sind, kann alles außer die tatsächliche Speichersuche als Pipeline ausgeführt oder parallel erreicht werden. In einer bevorzugten Implementierung kann die Verarbeitung durch die Klassenlogik 60, die L2 Logik 62 und die L3 Logik 64 in einer parallelen oder als Pipeline ausgeführten Weise fortschreiten, außer wenn Abhängigkeiten eine derartige Aktion verhindern. Zum Beispiel fordert die L3 Logik 64, dass der Ausgang der Klassenlogik 60 den Suchschlüssel für die Schicht 3 Suche erzeugt und die Zusammenfassungslogik 66 fordert, dass die Schicht 2 und Schicht 3 Suchvorgänge beendet sind, um die Ergebnisse in Übereinstimmung mit 6 zusammenzufassen.
  • In einer anderen Ausführungsform kann die L2 Information und die L3 Information jedoch in getrennten Speichern sein. In diesem Fall können die L2 und L3 Suchen gleichzeitig auftreten.
  • Nachdem die Zusammenfassungslogik 66 die Aktionen für das Paket bestimmt, führt der Eingangsport 50i Schreibanfragen an dem Paketmanager 54 aus, wenn das Paket nicht gefiltert werden oder fallen gelassen werden soll. Das Paket muss nicht in seiner Gesamtheit empfangen werden, bevor der Eingangsport 50i Schreibanforderungen an den Paketmanager 54 durchführt. Der Eingangsport 50i übergibt an den Paketmanager 54 die Adresse, wo der ankommende Abschnitt des Pakets gespeichert werden soll, die Anzahl von Ausgangsports 56, an die das Paket ausgegeben werden wird, die Priorität des Pakets, und liefert dann die Zeiger (Pointer) an den geeigneten Ausgangsport (an die geeigneten Ausgangsports) 56. Der Ausgangsport 50i empfängt Zeiger auf freie Speicherstellen in dem Paketpufferspeicher 44, wo das Paket abgelegt werden kann. Vorzugsweise hat der Eingangsport 50i einen Zeiger von dem Paketpuffermanager 54 erhalten, bevor Schreibanfragen durchgeführt werden.
  • Der Ausgangsport 56i speichert die Zeiger in Ausgangs-Warteschlangen für Paketübertragungen. Wenn eine Warteschlange einen Zeiger für eine Übertragung anbietet, dann fordert der Ausgangsport 56i Inhalte, die an der Zeigeradresse gespeichert sind, von dem Paketmanager 54 an und überträgt die Inhalte von dem Mehrschicht-Netzelement 12 heraus auf dem entsprechenden Netzelement-Port 38. Der Paketmanager 54 verfolgt, ob alle Ausgangsports 56, die einen bestimmten Zeiger verwenden, die Inhalte, die zu diesem Zeiger gehören, übertragen haben und wenn dem so ist, wird der Speicherplatz für eine zukünftige Verwendung freigesetzt.
  • In den bevorzugten Ausführungsformen sind das Vermittlungselement 36 und alle Bestandteile davon in Hardware implementiert. Ferner sind in der bevorzugten Ausführungsform der Weiterleitungsspeicher 40 und der dazugehörige Speicher 42 in Hardware implementiert.
  • In einer alternativen bevorzugten Ausführungsform werden das Schaltelement 36 und alle Bestandteile davon in Hardware auf einer anwendungsspezifischen integrierten Schaltung (Application Spezific Integrated Circuit) implementiert. Genauso wird erwogen, dass eine integrierte Schaltung eine Hardware Implementierung des Schaltelements 36 und irgendeine Kombination oder einen Abschnitt davon des Prozessors 32, des Prozessorspeichers 34, des Weiterleitungsspeicher 40, des zugehörigen Speichers 42 und des Paketpuffer-Speichers 44 enthalten könnte.
  • Ein Mehrschicht-Netzelement ist beschrieben worden, welches die Merkmale einer schnellen Schicht 2 Brücken-Typ-Weiterleitung kombiniert und dies mit der hinzugefügten Funktionalität der Schicht 3 Weglenkung (Routing) und der QoS Unterstützung kombiniert, um eine Vorrichtung und ein Verfahren von deren Verwendung zu erzeugen, um vor dem Empfang des nächsten Pakets sowohl eine Schicht 2 und die meisten Schicht 3 Weiterleitungsentscheidungen auszuführen.
  • Die vorangehende Beschreibung der bevorzugten Ausführungsformen des Mehrschicht-Netzelements ist nur für Illustrations- und Beschreibungszwecke dargeboten worden. Es ist nicht beabsichtigt, dass sie erschöpfend ist oder dass die Erfindung auf die genaue offenbarte Ausbildung beschränkt wird, und Modifikationen und Variationen sind im Hinblick auf die obigen Lehren möglich oder können aus der Umsetzung der Erfindung, so wie sie offenbart ist, gewonnen werden. Die Ausführungsformen wurden gewählt und beschrieben, um die Prinzipien der Erfindung und ihre praktische Anwendung zu erläutern, um einem Durchschnittsfachmann in dem technischen Gebiet zu ermöglichen die Erfindung in verschiedenen Ausführungsformen und mit verschiedenen Modifikationen zu verwenden, so wie sie für die bestimmte in Erwägung gezogene Verwendung geeignet sind. Es ist beabsichtigt, dass der Umfang der Erfindung durch die hier angehängten Ansprüche und deren Äquivalente definiert ist.

Claims (23)

  1. Verfahren zum Treffen einer Weiterleitungsentscheidung für ein Paket, welches in ein Netzelement (12) eintritt, welches wenigstens einen Eingangsport (38; 50) und wenigstens einen Ausgangsport (38; 56) aufweist, wobei das Paket in das Netzelement (12) auf dem Eingangsport (38; 50) eintritt und das Netzelement auf geeigneten Ausgangsports (38; 56), wenn irgendwelche, verlässt, mit den folgenden Schritten: (1) Empfangen eines ersten Header-Abschnitts des Pakets; (2) Bestimmen eines ersten Suchschlüssels von dem ersten Header-Abschnitt; (3) Veranlassen eines Speichers (40, 42) eine erste Weiterleitungsinformation im Zusammenhang mit dem ersten Suchschlüssel auszugeben; (4) Empfangen eines zweiten Header-Abschnitts des Pakets; gekennzeichnet durch die folgenden Schritte: (5) Bestimmen eines Klasseninformation für das Paket auf Grundlage des zweiten Header-Abschnitts, wobei jede Klasseninformation eine Klasse, eine Schlüsselinformation des zweiten Headers, die anzeigt, welche Felder des zweiten Header-Abschnitts verwendet werden sollte, um einen zweiten Schlüssel zu erzeugen, und voreingestellte Weiterleitungsinformation für Pakete, die in die Klasse fallen, einschließt; (6) Erzeugen des zweiten Suchschlüssels aus dem zweiten Header-Abschnitt auf Grundlage der Schlüsselinformation des zweiten Headers; (7) Veranlassen des Speichers (40, 42) die zweite Weiterleitungsinformation, wenn irgendeine, im Zusammenhang mit dem zweiten Suchschlüssel auszugeben; (8) Bestimmen der geeigneten Ausgangsports (38; 56), wenn irgendwelche, auf Grundlage der ersten Weiterleitungsinformation, der zweiten Weiterleitungsinformation, und der voreingestellten Weiterleitungsinformation.
  2. Verfahren nach Anspruch 1, wobei: der Schritt (3) ein Bestimmen, als eine Funktion des ersten Ziels, einer ersten Adresse, deren entsprechende Inhalte in dem Speicher (40, 42) die erste Weiterleitungsinformation speichern, einschließt; und der Schritt (7) ein Bestimmen, als eine Funktion des Suchschlüssels, einer zweiten Adresse, deren entsprechende Inhalte in dem Speicher (40, 42) die zweite Weiterleitungsinformation speichern, einschließt.
  3. Verfahren nach Anspruch 2, wobei ein Bestimmen der ersten Adresse ein Durchsuchen eines Inhalts-adressierbaren Speichers (40, 42) mit der ersten Zieladresse, um die erste Adresse zu erzeugen, einschließt; und ein Bestimmen der Zweiten ein Durchsuchen eines Inhalts-adressierbaren Speichers (40, 42) mit dem Suchschlüssel, um die zweite Adresse zu erzeugen, einschließt.
  4. Verfahren nach Anspruch 2, ferner einschließend den Schritt zum Bereitstellen des Speichers (40, 42) als einen ersten Speicher zum Speichern von erster Weiterleitungsinformation und einen zweiten Speicher zum Speichern von zweiter Weiterleitungsinformation.
  5. Verfahren nach Anspruch 3, ferner einschließend den Schritt zum Bereitstellen des Inhalts-adressierbaren Speichers (40, 42) als einen ersten Inhalts-adressierbaren Speicher, der die erste Adresse speichert, und einen zweiten Inhalts-adressierbaren, der die zweite Adresse speichert.
  6. Verfahren nach Anspruch 2, wobei ein Bestimmen der ersten Adresse ein Verwenden einer Hashing-Funktion für das erste Ziel, um die erste Adresse zu erzeugen, einschließt; und ein Bestimmen der zweiten Adresse ein Verwenden einer Hashing-Funktion für den Suchschlüssel, um die zweite Adresse zu erzeugen, einschließt.
  7. Verfahren nach Anspruch 1, wobei der Schritt (8) unter Verwendung nur der ersten Weiterleitungsinformation ausgeführt wird, wenn die erste Weiterleitungsinformation dies so anzeigt.
  8. Verfahren nach Anspruch 1, wobei der Schritt (8) unter Verwendung nur der ersten Weiterleitungsinformation ausgeführt wird, wenn die zweite Weiterleitungsinformation dies so anzeigt.
  9. Verfahren nach Anspruch 1, wobei der Schritt (8) ausgeführt wird, wenn der zweite Suchschlüssel fehlschlägt zweite Weiterleitungsinformation, nur die erste Weiterleitungsinformation und voreingestellte Weiterleitungsinformation auszugeben.
  10. Verfahren nach Anspruch 9, wobei der Schritt (8) unter Verwendung nur der ersten Weiterleitungsinformation ausgeführt wird, wenn die voreingestellte Weiterleitungsinformation dies so anzeigt und der zweite Suchschlüssel fehlschlägt zweite Weiterleitungsinformation auszugeben.
  11. Verfahren nach Anspruch 1, wobei der Schritt (8) unter Verwendung nur der zweiten Weiterleitungsinformation ausgeführt wird.
  12. Verfahren nach Anspruch 1, wobei der Schritt (8) unter Verwendung einer Kombination der ersten Weiterleitungsinformation und der zweiten Weiterleitungsinformation ausgeführt wird.
  13. Verfahren nach Anspruch 9, wobei die zweite Weiterleitungsinformation eine Dienstqualitäts-Information einschließt.
  14. Verfahren nach Anspruch 13, wobei die Dienstqualitäts-Information eine Priorität für die Pakete einschließt.
  15. Vorrichtung zum Treffen einer Weiterleitungsentscheidung für ein Paket mit einem Header, wobei das Paket als Eingang zu einem Netzelement (12) bereitgestellt wird, welches wenigstens einen Eingangsport (38, 50) und wenigstens einen Ausgangsport (38; 56) aufweist, wobei das Paket in das Netzelement (12) auf einem Eingangsport (38; 50) eintritt und das Netzelement (12) auf einem oder mehreren geeigneten Ausgangsports (38; 56), wenn irgendwelche, verlässt, und gekennzeichnet durch: eine Klassenlogik (60), die konfiguriert ist, um eine Klasseninformation für das Paket auf Grundlage des Headers, einschließlich einer Klasse, einer Schlüsselinformation, die Abschnitte des Headers identifiziert, und voreingestellter Weiterleitungsinformation für Pakete, die in die Klasse fallen, auszugeben; eine Suchlogik, die konfiguriert ist, um auf Grundlage des Headers einen ersten Suchschlüssel, und auf Grundlage des Headers, der Klasse, und der Schlüsselinformation einen zweiten Suchschlüssel auszugeben; einen Speicher (40, 42), der konfguriert ist, um ein erstes Weiterleitungsergebnis im Ansprechen auf den ersten Suchschlüssel auszugeben und ein zweites Weiterleitungsergebnis, wenn irgendeines, im Ansprechen auf den zweiten Suchschlüssel auszugeben; eine Zusammenfassungslogik (66), die konfguriert ist, um Information über die geeigneten Ausgangsports (38; 56) im Ansprechen auf die voreingestellte Weiterleitungsinformation, das erste Weiterleitungsergebnis, und das zweite Weiterleitungsergebnis auszugeben; eine Weiterleitungslogik (52), die konfguriert ist, um das Paket von dem Eingangsport (38; 50) an die geeigneten Ausgangsports (38; 56), wenn irgendwelche, auf Grundlage der Information über die geeigneten Ausgangsports zu richten.
  16. Vorrichtung nach Anspruch 15, wobei der Speicher (40, 42) einschließt: eine Schnittstellenlogik, die konfguriert ist, um als eine Funktion des ersten Suchschlüssels, eine erste Adresse auszugeben, und die als eine Funktion des zweiten Suchschlüssels eine zweite Adresse ausgibt; und wobei der Speicher (40, 42) konfiguriert ist, um die ersten Weiterleitungsergebnisse im Ansprechen auf die erste Adresse auszugeben, und die zweiten Weiterleitungsergebnisse im Ansprechen auf die zweite Adresse auszugeben.
  17. Vorrichtung nach Anspruch 15, wobei der Speicher (40, 42) einschließt: einen Inhalts-adressierbaren Speicher, der konfiguriert ist, um eine erste Weiterleitungsinformationsadresse auszugeben, wenn auf ihn unter Verwendung des ersten Suchschlüssels zugegriffen wird, und eine zweite Weiterleitungsinformationsadresse, wenn auf ihn unter Verwendung des zweiten Suchschlüssels zugegriffen wird; und einen Weiterleitungsspeicher (40), der konfiguriert ist, um das erste Weiterleitungsergebnis auszugeben, wenn auf ihn unter Verwendung der ersten Weiterleitungsinformationsadresse zugegriffen wird, und die zweite Weiterleitungsadresse ausgibt, wenn auf ihn unter Verwendung der zweiten Weiterleitungsadresse zugegriffen wird.
  18. Vorrichtung nach Anspruch 17, wobei die Schnittstellenlogik ein Inhalts-adressierbarer Speicher (40, 42) ist.
  19. Vorrichtung nach Anspruch 18, wobei der Inhalts-adressierbare Speicher (40, 42) einschließt: einen ersten Inhalts-adressierbaren Speicher, der konfiguriert ist, um eine erste Weiterleitungsinformationsadresse auszugeben, wenn auf ihn unter Verwendung des ersten Suchschlüssels zugegriffen wird; und einen zweiten Inhalts-adressierbaren Speicher, der konfiguriert ist, um die zweite Weiterleitungsinformationsadresse auszugeben, wenn auf ihn unter Verwendung des zweiten Suchschlüssels zugegriffen wird.
  20. Vorrichtung nach Anspruch 17, wobei die voreingestellte Weiterleitungsinformation und das zweite Weiterleitungsergebnis eine Dienstqualitätsinformation enthält.
  21. Vorrichtung nach Anspruch 17, wobei die Zusammenfassungslogik (66) konfiguriert ist, um Information über geeignete Ausgangsports (38; 56) auszugeben, wenn der Speicher (40, 42) fehlschlägt das zweite Weiterleitungsergebnis auszugeben, unter Verwendung nur der voreingestellten Weiterleitungsinformation und des ersten Weiterleitungsergebnisses.
  22. Vorrichtung nach Anspruch 21, wobei die voreingestellte Weiterleitungsinformation eine Dienstqualitätsinformation enthält.
  23. Vorrichtung nach Anspruch 15, wobei die Klassenlogik (60) wenigstens ein Verkapselungsfilter (72) einschließt, welches Zeiger auf Stellen in dem Header auf Grundlage von Verkapselungsinformation für das Paket ausgibt.
DE69825596T 1997-06-30 1998-06-23 System und verfahren für ein vielschicht-netzelement Expired - Lifetime DE69825596T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US884244 1997-06-30
US08/884,244 US6088356A (en) 1997-06-30 1997-06-30 System and method for a multi-layer network element
PCT/US1998/013016 WO1999000948A1 (en) 1997-06-30 1998-06-23 A system and method for a multi-layer network elememt

Publications (2)

Publication Number Publication Date
DE69825596D1 DE69825596D1 (de) 2004-09-16
DE69825596T2 true DE69825596T2 (de) 2005-09-29

Family

ID=25384250

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69825596T Expired - Lifetime DE69825596T2 (de) 1997-06-30 1998-06-23 System und verfahren für ein vielschicht-netzelement

Country Status (5)

Country Link
US (1) US6088356A (de)
EP (1) EP1005743B1 (de)
JP (1) JP3842303B2 (de)
DE (1) DE69825596T2 (de)
WO (1) WO1999000948A1 (de)

Families Citing this family (207)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791947B2 (en) 1996-12-16 2004-09-14 Juniper Networks In-line packet processing
US6347089B1 (en) * 1997-07-02 2002-02-12 Advanced Communication Devices Corp. Simplified ethernet frame switching system architecture without local buffer requirement
US6512766B2 (en) * 1997-08-22 2003-01-28 Cisco Systems, Inc. Enhanced internet packet routing lookup
US6744728B1 (en) 1997-09-17 2004-06-01 Sony Corporation & Sony Electronics, Inc. Data pipeline timing optimization technique in a multi-port bridge for a local area network
US6301256B1 (en) 1997-09-17 2001-10-09 Sony Corporation Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
JPH1198143A (ja) * 1997-09-17 1999-04-09 Toshiba Corp Atm中継装置
US6308218B1 (en) * 1997-09-17 2001-10-23 Sony Corporation Address look-up mechanism in a multi-port bridge for a local area network
US6442168B1 (en) 1997-09-17 2002-08-27 Sony Corporation High speed bus structure in a multi-port bridge for a local area network
US6617879B1 (en) 1997-09-17 2003-09-09 Sony Corporation Transparently partitioned communication bus for multi-port bridge for a local area network
US6363067B1 (en) 1997-09-17 2002-03-26 Sony Corporation Staged partitioned communication bus for a multi-port bridge for a local area network
US6446173B1 (en) 1997-09-17 2002-09-03 Sony Corporation Memory controller in a multi-port bridge for a local area network
US6252879B1 (en) 1997-09-17 2001-06-26 Sony Corporation Single counter for controlling multiple finite state machines in a multi-port bridge for local area network
US6603775B1 (en) * 1998-04-09 2003-08-05 Aspect Communications Corporation Dynamic allocation of communication resources within a communication system
US6883063B2 (en) 1998-06-30 2005-04-19 Emc Corporation Method and apparatus for initializing logical objects in a data storage system
US6393540B1 (en) 1998-06-30 2002-05-21 Emc Corporation Moving a logical object from a set of source locations to a set of destination locations using a single command
US7383294B1 (en) 1998-06-30 2008-06-03 Emc Corporation System for determining the mapping of logical objects in a data storage system
US6542909B1 (en) * 1998-06-30 2003-04-01 Emc Corporation System for determining mapping of logical objects in a computer system
US6560229B1 (en) * 1998-07-08 2003-05-06 Broadcom Corporation Network switching architecture with multiple table synchronization, and forwarding of both IP and IPX packets
US6430188B1 (en) 1998-07-08 2002-08-06 Broadcom Corporation Unified table for L2, L3, L4, switching and filtering
US6757745B1 (en) * 1998-10-19 2004-06-29 Siemens Aktiengesellschaft Distributed operating system for controlling network element in a data or telecomunication network
US7382736B2 (en) 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US6611502B1 (en) 1999-01-15 2003-08-26 3Com Corportion Spanning tree with rapid propagation of topology changes
US6771610B1 (en) 1999-01-19 2004-08-03 3Com Corporation Spanning tree with protocol for bypassing port state transition timers
US6483804B1 (en) * 1999-03-01 2002-11-19 Sun Microsystems, Inc. Method and apparatus for dynamic packet batching with a high performance network interface
US6650640B1 (en) 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6453360B1 (en) 1999-03-01 2002-09-17 Sun Microsystems, Inc. High performance network interface
US6389468B1 (en) 1999-03-01 2002-05-14 Sun Microsystems, Inc. Method and apparatus for distributing network traffic processing on a multiprocessor computer
US6356951B1 (en) 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US6606301B1 (en) 1999-03-01 2003-08-12 Sun Microsystems, Inc. Method and apparatus for early random discard of packets
US6535490B1 (en) * 1999-03-04 2003-03-18 3Com Corporation High availability spanning tree with rapid reconfiguration with alternate port selection
US7120117B1 (en) 2000-08-29 2006-10-10 Broadcom Corporation Starvation free flow control in a shared memory switching device
US6788681B1 (en) 1999-03-16 2004-09-07 Nortel Networks Limited Virtual private networks and methods for their operation
US6937574B1 (en) 1999-03-16 2005-08-30 Nortel Networks Limited Virtual private networks and methods for their operation
AU3529500A (en) 1999-03-17 2000-10-04 Broadcom Corporation Network switch
US7643481B2 (en) 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
US6996099B1 (en) 1999-03-17 2006-02-07 Broadcom Corporation Network switch having a programmable counter
US7366171B2 (en) * 1999-03-17 2008-04-29 Broadcom Corporation Network switch
US6701432B1 (en) * 1999-04-01 2004-03-02 Netscreen Technologies, Inc. Firewall including local bus
US6768992B1 (en) * 1999-05-17 2004-07-27 Lynne G. Jolitz Term addressable memory of an accelerator system and method
WO2000072533A1 (en) 1999-05-21 2000-11-30 Broadcom Corporation Stacked network switch configuration
US7031302B1 (en) 1999-05-21 2006-04-18 Broadcom Corporation High-speed stats gathering in a network switch
JP3562995B2 (ja) * 1999-05-24 2004-09-08 沖電気工業株式会社 サービス品質管理装置
US6859454B1 (en) 1999-06-30 2005-02-22 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double data rate switching
US7315552B2 (en) 1999-06-30 2008-01-01 Broadcom Corporation Frame forwarding in a switch fabric
US7082133B1 (en) 1999-09-03 2006-07-25 Broadcom Corporation Apparatus and method for enabling voice over IP support for a network switch
US7131001B1 (en) 1999-10-29 2006-10-31 Broadcom Corporation Apparatus and method for secure filed upgradability with hard wired public key
US7143294B1 (en) 1999-10-29 2006-11-28 Broadcom Corporation Apparatus and method for secure field upgradability with unpredictable ciphertext
DE60005993T2 (de) 1999-11-16 2004-07-29 Broadcom Corp., Irvine Verfahren und netzwerkvermittlungsstelle mit datenserialisierung durch gefahrlose mehrstufige störungsfreie multiplexierung
US7539134B1 (en) 1999-11-16 2009-05-26 Broadcom Corporation High speed flow control methodology
US7593953B1 (en) 1999-11-18 2009-09-22 Broadcom Corporation Table lookup mechanism for address resolution
KR100450942B1 (ko) * 1999-11-22 2004-10-02 삼성전자주식회사 이더넷 스위치에서의 어드레스 서치 장치 및 방법
US6839349B2 (en) 1999-12-07 2005-01-04 Broadcom Corporation Mirroring in a stacked network switch configuration
US6661791B1 (en) * 1999-12-28 2003-12-09 Mosaid Technologies, Inc. Method and apparatus for generating forward overrides in a packet switch
US6717951B2 (en) * 1999-12-29 2004-04-06 Intel Corporation Method and apparatus for determining priority of network packets
US7103035B1 (en) * 2000-01-14 2006-09-05 Advanced Micro Devices, Inc. Arrangement for searching network addresses in a network switch using multiple tables based on subnet identifier
US7009973B2 (en) * 2000-02-28 2006-03-07 Broadcom Corporation Switch using a segmented ring
US6674769B1 (en) * 2000-03-07 2004-01-06 Advanced Micro Devices, Inc. Simultaneous searching of layer 3 policy filter and policy cache in a network switch port
US6678678B2 (en) 2000-03-09 2004-01-13 Braodcom Corporation Method and apparatus for high speed table search
US7103053B2 (en) 2000-05-03 2006-09-05 Broadcom Corporation Gigabit switch on chip architecture
US6826561B2 (en) 2000-05-22 2004-11-30 Broadcom Corporation Method and apparatus for performing a binary search on an expanded tree
DE60143600D1 (de) 2000-06-09 2011-01-20 Broadcom Corp Flexibler Protokoll-header für Netzwerk-switch
US6914905B1 (en) 2000-06-16 2005-07-05 Extreme Networks, Inc. Method and system for VLAN aggregation
EP1168727B1 (de) 2000-06-19 2006-05-03 Broadcom Corporation Speicherverwaltungseinheit für eine Vermittlungsstelle
JP3407717B2 (ja) * 2000-06-20 2003-05-19 日本電気株式会社 Lan通信路制御システム及び制御方法
US7126947B2 (en) 2000-06-23 2006-10-24 Broadcom Corporation Switch having external address resolution interface
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US6807176B1 (en) * 2000-07-13 2004-10-19 Advanced Micro Devices, Inc. Arrangement for switching data packets in a network switch based on subnet identifier
US6999455B2 (en) 2000-07-25 2006-02-14 Broadcom Corporation Hardware assist for address learning
US7924837B1 (en) * 2000-07-31 2011-04-12 Avaya Communication Israel Ltd. IP multicast in VLAN environment
US6954462B1 (en) * 2000-07-31 2005-10-11 Cisco Technology, Inc. Method and apparatus for determining a multilayer switching path
US8619793B2 (en) * 2000-08-21 2013-12-31 Rockstar Consortium Us Lp Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US7227862B2 (en) 2000-09-20 2007-06-05 Broadcom Corporation Network switch having port blocking capability
US6988177B2 (en) 2000-10-03 2006-01-17 Broadcom Corporation Switch memory management using a linked list structure
US7020166B2 (en) 2000-10-03 2006-03-28 Broadcom Corporation Switch transferring data using data encapsulation and decapsulation
US7120155B2 (en) 2000-10-03 2006-10-10 Broadcom Corporation Switch having virtual shared memory
US6851000B2 (en) 2000-10-03 2005-02-01 Broadcom Corporation Switch having flow control management
US7274705B2 (en) 2000-10-03 2007-09-25 Broadcom Corporation Method and apparatus for reducing clock speed and power consumption
US7420977B2 (en) 2000-10-03 2008-09-02 Broadcom Corporation Method and apparatus of inter-chip bus shared by message passing and memory access
US7000011B1 (en) * 2000-11-06 2006-02-14 Hewlett-Packard Development Company, Lp. Designing interconnect fabrics
US6850542B2 (en) 2000-11-14 2005-02-01 Broadcom Corporation Linked network switch configuration
US7424012B2 (en) 2000-11-14 2008-09-09 Broadcom Corporation Linked network switch configuration
US7035255B2 (en) 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
US7035286B2 (en) 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
US7236490B2 (en) 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7356030B2 (en) 2000-11-17 2008-04-08 Foundry Networks, Inc. Network switch cross point
US6735218B2 (en) * 2000-11-17 2004-05-11 Foundry Networks, Inc. Method and system for encoding wide striped cells
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US8185615B1 (en) 2000-11-28 2012-05-22 Verizon Business Global Llc Message, control and reporting interface for a distributed network access system
US7657628B1 (en) 2000-11-28 2010-02-02 Verizon Business Global Llc External processor for a distributed network access system
US8180870B1 (en) * 2000-11-28 2012-05-15 Verizon Business Global Llc Programmable access device for a distributed network access system
US7046680B1 (en) 2000-11-28 2006-05-16 Mci, Inc. Network access system including a programmable access device having distributed service control
US7002980B1 (en) * 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US6963569B1 (en) 2000-12-29 2005-11-08 Cisco Technology, Inc. Device for interworking asynchronous transfer mode cells
US6912592B2 (en) * 2001-01-05 2005-06-28 Extreme Networks, Inc. Method and system of aggregate multiple VLANs in a metropolitan area network
US7042843B2 (en) 2001-03-02 2006-05-09 Broadcom Corporation Algorithm for time based queuing in network traffic engineering
US7095716B1 (en) 2001-03-30 2006-08-22 Juniper Networks, Inc. Internet security device and method
US7093280B2 (en) * 2001-03-30 2006-08-15 Juniper Networks, Inc. Internet security system
US7203198B2 (en) * 2001-04-17 2007-04-10 Conexant, Inc. System and method for switching asynchronous transfer mode cells
US7206283B2 (en) * 2001-05-15 2007-04-17 Foundry Networks, Inc. High-performance network switch
JP3897994B2 (ja) * 2001-05-31 2007-03-28 富士通株式会社 スイッチ装置およびデータ転送システム
KR100377852B1 (ko) * 2001-06-15 2003-03-29 주식회사 미라콤아이앤씨 부하 균형 기능을 갖는 메시지 전송 시스템 및 그 방법
US7239636B2 (en) 2001-07-23 2007-07-03 Broadcom Corporation Multiple virtual channels for use in network devices
US7302700B2 (en) * 2001-09-28 2007-11-27 Juniper Networks, Inc. Method and apparatus for implementing a layer 3/layer 7 firewall in an L2 device
US6954460B2 (en) * 2001-10-05 2005-10-11 Ericsson Inc. Method and apparatus for compressing packet headers
US7355970B2 (en) 2001-10-05 2008-04-08 Broadcom Corporation Method and apparatus for enabling access on a network switch
US7813346B1 (en) * 2001-11-21 2010-10-12 Juniper Networks, Inc. Filter-based forwarding in a network
US7650634B2 (en) 2002-02-08 2010-01-19 Juniper Networks, Inc. Intelligent integrated network security device
US7734752B2 (en) 2002-02-08 2010-06-08 Juniper Networks, Inc. Intelligent integrated network security device for high-availability applications
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US6934787B2 (en) 2002-02-22 2005-08-23 Broadcom Corporation Adaptable switch architecture that is independent of media types
US7295555B2 (en) 2002-03-08 2007-11-13 Broadcom Corporation System and method for identifying upper layer protocol message boundaries
US7280541B2 (en) * 2002-03-15 2007-10-09 Broadcom Corporation Packet filtering based on conditional expression table
US7274698B2 (en) 2002-03-15 2007-09-25 Broadcom Corporation Multilevel parser for conditional flow detection in a network device
JP2005522809A (ja) 2002-04-11 2005-07-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 確率dc制御
FR2838898B1 (fr) * 2002-04-19 2004-06-18 Cit Alcatel Dispositif d'aiguillage a commutation et routage centralises
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US7649885B1 (en) * 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US6895481B1 (en) 2002-07-03 2005-05-17 Cisco Technology, Inc. System and method for decrementing a reference count in a multicast environment
US7325002B2 (en) * 2003-04-04 2008-01-29 Juniper Networks, Inc. Detection of network security breaches based on analysis of network record logs
US8040886B2 (en) * 2003-04-08 2011-10-18 Cisco Technology, Inc. Programmable packet classification system using an array of uniform content-addressable memories
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7260840B2 (en) * 2003-06-06 2007-08-21 Microsoft Corporation Multi-layer based method for implementing network firewalls
US7509673B2 (en) * 2003-06-06 2009-03-24 Microsoft Corporation Multi-layered firewall architecture
CN100550174C (zh) 2003-10-13 2009-10-14 皇家飞利浦电子股份有限公司 用于编码输入字的流的方法和用于存储已编码数据的设备
US7757033B1 (en) 2004-02-13 2010-07-13 Habanero Holdings, Inc. Data exchanges among SMP physical partitions and I/O interfaces enterprise servers
US7664110B1 (en) 2004-02-07 2010-02-16 Habanero Holdings, Inc. Input/output controller for coupling the processor-memory complex to the fabric in fabric-backplane interprise servers
US7685281B1 (en) 2004-02-13 2010-03-23 Habanero Holdings, Inc. Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers
US7860961B1 (en) 2004-02-13 2010-12-28 Habanero Holdings, Inc. Real time notice of new resources for provisioning and management of fabric-backplane enterprise servers
US7843906B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US7860097B1 (en) 2004-02-13 2010-12-28 Habanero Holdings, Inc. Fabric-backplane enterprise servers with VNICs and VLANs
US8868790B2 (en) 2004-02-13 2014-10-21 Oracle International Corporation Processor-memory module performance acceleration in fabric-backplane enterprise servers
US7953903B1 (en) 2004-02-13 2011-05-31 Habanero Holdings, Inc. Real time detection of changed resources for provisioning and management of fabric-backplane enterprise servers
US7843907B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway target for fabric-backplane enterprise servers
US7873693B1 (en) 2004-02-13 2011-01-18 Habanero Holdings, Inc. Multi-chassis fabric-backplane enterprise servers
US7633955B1 (en) 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US8145785B1 (en) 2004-02-13 2012-03-27 Habanero Holdings, Inc. Unused resource recognition in real time for provisioning and management of fabric-backplane enterprise servers
US7990994B1 (en) 2004-02-13 2011-08-02 Habanero Holdings, Inc. Storage gateway provisioning and configuring
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US8713295B2 (en) 2004-07-12 2014-04-29 Oracle International Corporation Fabric-backplane enterprise servers with pluggable I/O sub-system
DE102004036488A1 (de) * 2004-07-28 2006-03-23 Siemens Ag Verfahren, Vorrichtung und System zur adaptiven Optimierung von Transportprotokollen bei der Übertragung von Bildern
WO2006042155A2 (en) * 2004-10-08 2006-04-20 E-Klone, Inc. Floating vector scrambling methods and apparatus
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US8000324B2 (en) * 2004-11-30 2011-08-16 Broadcom Corporation Pipeline architecture of a network device
US7583588B2 (en) * 2004-11-30 2009-09-01 Broadcom Corporation System and method for maintaining a layer 2 modification buffer
US7948896B2 (en) * 2005-02-18 2011-05-24 Broadcom Corporation Weighted-fair-queuing relative bandwidth sharing
US7630306B2 (en) * 2005-02-18 2009-12-08 Broadcom Corporation Dynamic sharing of a transaction queue
US7254768B2 (en) * 2005-02-18 2007-08-07 Broadcom Corporation Memory command unit throttle and error recovery
US7522622B2 (en) * 2005-02-18 2009-04-21 Broadcom Corporation Dynamic color threshold in a queue
US7802148B2 (en) * 2005-02-23 2010-09-21 Broadcom Corporation Self-correcting memory system
US7865624B1 (en) 2005-04-04 2011-01-04 Oracle America, Inc. Lookup mechanism based on link layer semantics
US7987306B2 (en) * 2005-04-04 2011-07-26 Oracle America, Inc. Hiding system latencies in a throughput networking system
US7529245B1 (en) 2005-04-04 2009-05-05 Sun Microsystems, Inc. Reorder mechanism for use in a relaxed order input/output system
US7415034B2 (en) * 2005-04-04 2008-08-19 Sun Microsystems, Inc. Virtualized partitionable shared network interface
US7992144B1 (en) 2005-04-04 2011-08-02 Oracle America, Inc. Method and apparatus for separating and isolating control of processing entities in a network interface
US7415035B1 (en) 2005-04-04 2008-08-19 Sun Microsystems, Inc. Device driver access method into a virtualized network interface
US7443878B2 (en) * 2005-04-04 2008-10-28 Sun Microsystems, Inc. System for scaling by parallelizing network workload
US7779164B2 (en) * 2005-04-04 2010-08-17 Oracle America, Inc. Asymmetrical data processing partition
US7664127B1 (en) * 2005-04-05 2010-02-16 Sun Microsystems, Inc. Method for resolving mutex contention in a network system
US8762595B1 (en) 2005-04-05 2014-06-24 Oracle America, Inc. Method for sharing interfaces among multiple domain environments with enhanced hooks for exclusiveness
US7353360B1 (en) 2005-04-05 2008-04-01 Sun Microsystems, Inc. Method for maximizing page locality
US7889734B1 (en) 2005-04-05 2011-02-15 Oracle America, Inc. Method and apparatus for arbitrarily mapping functions to preassigned processing entities in a network system
US8510491B1 (en) 2005-04-05 2013-08-13 Oracle America, Inc. Method and apparatus for efficient interrupt event notification for a scalable input/output device
US7567567B2 (en) * 2005-04-05 2009-07-28 Sun Microsystems, Inc. Network system including packet classification for partitioned resources
US7843926B1 (en) 2005-04-05 2010-11-30 Oracle America, Inc. System for providing virtualization of network interfaces at various layers
US20060256733A1 (en) * 2005-05-12 2006-11-16 Yigal Bejerano Methods and devices for discovering the topology of large multi-subnet LANs
US20060274789A1 (en) * 2005-06-07 2006-12-07 Fong Pong Apparatus and methods for a high performance hardware network protocol processing engine
US7746862B1 (en) 2005-08-02 2010-06-29 Juniper Networks, Inc. Packet processing in a multiple processor system
US8054842B2 (en) * 2005-10-31 2011-11-08 Alcatel Lucent Apparatus for providing internet protocol television service and internet service
FI119166B (fi) * 2005-11-30 2008-08-15 Tellabs Oy Menetelmä ja laitteisto palvelunlaatuluokasta riippuvan reitityspäätöksen muodostamiseksi
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US7978614B2 (en) 2007-01-11 2011-07-12 Foundry Network, LLC Techniques for detecting non-receipt of fault detection protocol packets
US7953895B1 (en) 2007-03-07 2011-05-31 Juniper Networks, Inc. Application identification
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
US8190881B2 (en) 2007-10-15 2012-05-29 Foundry Networks Llc Scalable distributed web-based authentication
US8031627B2 (en) * 2008-07-10 2011-10-04 At&T Intellectual Property I, L.P. Methods and apparatus to deploy and monitor network layer functionalities
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8971335B2 (en) * 2009-07-02 2015-03-03 Exafer Ltd System and method for creating a transitive optimized flow path
US8325733B2 (en) * 2009-09-09 2012-12-04 Exafer Ltd Method and system for layer 2 manipulator and forwarder
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US8699484B2 (en) 2010-05-24 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to route packets in a network
US9491085B2 (en) 2010-05-24 2016-11-08 At&T Intellectual Property I, L.P. Methods and apparatus to route control packets based on address partitioning
US9634862B2 (en) 2011-03-25 2017-04-25 Interactic Holdings, Llc Parallel data switch
US20130339310A1 (en) * 2012-06-13 2013-12-19 Commvault Systems, Inc. Restore using a client side signature repository in a networked storage system
US9825884B2 (en) 2013-12-30 2017-11-21 Cavium, Inc. Protocol independent programmable switch (PIPS) software defined data center networks
US10616380B2 (en) 2014-06-19 2020-04-07 Cavium, Llc Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US9961167B2 (en) 2014-06-19 2018-05-01 Cavium, Inc. Method of modifying packets to a generic format for enabling programmable modifications and an apparatus thereof
US9473601B2 (en) 2014-06-19 2016-10-18 Cavium, Inc. Method of representing a generic format header using continuous bytes and an apparatus thereof
US9438703B2 (en) 2014-06-19 2016-09-06 Cavium, Inc. Method of forming a hash input from packet contents and an apparatus thereof
US9531848B2 (en) 2014-06-19 2016-12-27 Cavium, Inc. Method of using generic modification instructions to enable flexible modifications of packets and an apparatus thereof
US9531849B2 (en) 2014-06-19 2016-12-27 Cavium, Inc. Method of splitting a packet into individual layers for modification and intelligently stitching layers back together after modification and an apparatus thereof
US9628385B2 (en) * 2014-06-19 2017-04-18 Cavium, Inc. Method of identifying internal destinations of networks packets and an apparatus thereof
US9742694B2 (en) 2014-06-19 2017-08-22 Cavium, Inc. Method of dynamically renumbering ports and an apparatus thereof
US9497294B2 (en) 2014-06-19 2016-11-15 Cavium, Inc. Method of using a unique packet identifier to identify structure of a packet and an apparatus thereof
US10050833B2 (en) 2014-06-19 2018-08-14 Cavium, Inc. Method of reducing latency in a flexible parser and an apparatus thereof
US9516145B2 (en) 2014-06-19 2016-12-06 Cavium, Inc. Method of extracting data from packets and an apparatus thereof
US9635146B2 (en) 2014-06-19 2017-04-25 Cavium, Inc. Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof
US9819573B2 (en) 2014-09-11 2017-11-14 Microsoft Technology Licensing, Llc Method for scalable computer network partitioning
US9544225B2 (en) 2014-09-16 2017-01-10 Microsoft Technology Licensing, Llc Method for end point identification in computer networks
US9606781B2 (en) 2014-11-14 2017-03-28 Cavium, Inc. Parser engine programming tool for programmable network devices

Family Cites Families (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
GB8407102D0 (en) * 1984-03-19 1984-04-26 Int Computers Ltd Interconnection of communications networks
US4652874A (en) * 1984-12-24 1987-03-24 Motorola, Inc. Serial communication interface for a local network controller
US4641302A (en) * 1985-06-24 1987-02-03 Racal Data Communications Inc. High speed packet switching arrangement
JPS62243057A (ja) * 1986-04-16 1987-10-23 Hitachi Ltd フアイル転送管理方式
US4737953A (en) * 1986-08-04 1988-04-12 General Electric Company Local area network bridge
US4850042A (en) * 1987-04-14 1989-07-18 Westinghouse Electric Corp. Dual media local area network interfacing
US4807111A (en) * 1987-06-19 1989-02-21 International Business Machines Corporation Dynamic queueing method
US4811337A (en) * 1988-01-15 1989-03-07 Vitalink Communications Corporation Distributed load sharing
US4899333A (en) * 1988-03-31 1990-02-06 American Telephone And Telegraph Company At&T Bell Laboratories Architecture of the control of a high performance packet switching distribution network
US4922503A (en) * 1988-10-28 1990-05-01 Infotron Systems Corporation Local area network bridge
US4933938A (en) * 1989-03-22 1990-06-12 Hewlett-Packard Company Group address translation through a network bridge
US5220562A (en) * 1989-05-12 1993-06-15 Hitachi, Ltd. Bridge apparatus and a communication system between networks using the bridge apparatus
GB8915137D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Message routing
US5179557A (en) * 1989-07-04 1993-01-12 Kabushiki Kaisha Toshiba Data packet communication system in which data packet transmittal is prioritized with queues having respective assigned priorities and frequency weighted counting of queue wait time
US5163046A (en) * 1989-11-30 1992-11-10 At&T Bell Laboratories Dynamic window sizing in a data network
US5159685A (en) * 1989-12-06 1992-10-27 Racal Data Communications Inc. Expert system for communications network
US5210746A (en) * 1990-04-16 1993-05-11 Motorola, Inc. Communication system network having communication system fallback operation
US5301333A (en) * 1990-06-14 1994-04-05 Bell Communications Research, Inc. Tree structured variable priority arbitration implementing a round-robin scheduling policy
US5309437A (en) * 1990-06-29 1994-05-03 Digital Equipment Corporation Bridge-like internet protocol router
US5231633A (en) * 1990-07-11 1993-07-27 Codex Corporation Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets
US5150358A (en) * 1990-08-23 1992-09-22 At&T Bell Laboratories Serving constant bit rate traffic in a broadband data switch
US5481540A (en) * 1990-08-24 1996-01-02 At&T Corp. FDDI bridge frame learning and filtering apparatus and method
US5251205A (en) * 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
US5353412A (en) * 1990-10-03 1994-10-04 Thinking Machines Corporation Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
CA2065578C (en) * 1991-04-22 1999-02-23 David W. Carr Packet-based data compression method
US5321813A (en) 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US5500860A (en) * 1991-06-14 1996-03-19 Digital Equipment Corporation Router using multiple hop redirect messages to enable bridge like data forwarding
US5420862A (en) * 1991-06-14 1995-05-30 Digital Equipment Corporation Router using remote address resolution to enable bridge like data forwarding
US5392432A (en) * 1991-08-27 1995-02-21 At&T Corp. Method for automatic system resource reclamation for object-oriented systems with real-time constraints
US5623489A (en) * 1991-09-26 1997-04-22 Ipc Information Systems, Inc. Channel allocation system for distributed digital switching network
US5875464A (en) 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
CA2092134C (en) * 1992-03-24 1998-07-21 Anthony J. Mazzola Distributed routing network element
US5313454A (en) * 1992-04-01 1994-05-17 Stratacom, Inc. Congestion control for cell networks
US5343471A (en) * 1992-05-11 1994-08-30 Hughes Aircraft Company Address filter for a transparent bridge interconnecting local area networks
US5742760A (en) 1992-05-12 1998-04-21 Compaq Computer Corporation Network packet switch using shared memory for repeating and bridging packets at media rate
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
US5457681A (en) * 1992-06-05 1995-10-10 Washington University ATM-Ethernet portal/concentrator
JPH066362A (ja) * 1992-06-23 1994-01-14 Hitachi Ltd Lanにおけるホストシステムのメッセージ処理負荷分散方式
US5425028A (en) * 1992-07-16 1995-06-13 International Business Machines Corporation Protocol selection and address resolution for programs running in heterogeneous networks
US5291482A (en) * 1992-07-24 1994-03-01 At&T Bell Laboratories High bandwidth packet switch
US5490252A (en) * 1992-09-30 1996-02-06 Bay Networks Group, Inc. System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing
JP3104429B2 (ja) * 1992-10-08 2000-10-30 株式会社日立製作所 コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法
US5649109A (en) * 1992-10-22 1997-07-15 Digital Equipment Corporation Apparatus and method for maintaining forwarding information in a bridge or router using multiple free queues having associated free space sizes
US5404538A (en) * 1992-10-28 1995-04-04 International Business Machines Corporation Method and apparatus for multilevel bus arbitration
JPH07118717B2 (ja) * 1993-01-05 1995-12-18 日本電気株式会社 マルチプロトコル対応のパケット網構成方法
US5410722A (en) * 1993-01-21 1995-04-25 Conner Peripherals, Inc. Queue system for dynamically allocating and moving memory registers between a plurality of pseudo queues
US5459714A (en) * 1993-02-22 1995-10-17 Advanced Micro Devices, Inc. Enhanced port activity monitor for an integrated multiport repeater
US5365514A (en) * 1993-03-01 1994-11-15 International Business Machines Corporation Event driven interface for a system for monitoring and controlling a data communications network
US5485578A (en) * 1993-03-08 1996-01-16 Apple Computer, Inc. Topology discovery in a multiple-ring network
US5386413A (en) * 1993-03-19 1995-01-31 Bell Communications Research, Inc. Fast multilevel hierarchical routing table lookup using content addressable memory
JPH077524A (ja) * 1993-04-06 1995-01-10 Siemens Ag 通信加入者のアドレス識別子へのアクセス方法
US5402415A (en) * 1993-04-22 1995-03-28 Washington University Multicast virtual circuit switch using cell recycling
AU675302B2 (en) * 1993-05-20 1997-01-30 Nec Corporation Output-buffer switch for asynchronous transfer mode
US5426736A (en) * 1993-05-26 1995-06-20 Digital Equipment Corporation Method and apparatus for processing input/output commands in a storage system having a command queue
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
GB9312135D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Generation of checking data
US5394402A (en) * 1993-06-17 1995-02-28 Ascom Timeplex Trading Ag Hub for segmented virtual local area network with shared media access
JP2546505B2 (ja) * 1993-06-23 1996-10-23 日本電気株式会社 Cladにおけるアドレス学習装置
US5555405A (en) * 1993-07-06 1996-09-10 Digital Equipment Corporation Method and apparatus for free space management in a forwarding database having forwarding entry sets and multiple free space segment queues
US5515376A (en) * 1993-07-19 1996-05-07 Alantec, Inc. Communication apparatus and methods
US5473607A (en) * 1993-08-09 1995-12-05 Grand Junction Networks, Inc. Packet filtering for data networks
US5422838A (en) * 1993-10-25 1995-06-06 At&T Corp. Content-addressable memory with programmable field masking
US5574861A (en) * 1993-12-21 1996-11-12 Lorvig; Don Dynamic allocation of B-channels in ISDN
US5485455A (en) * 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
JP2713153B2 (ja) * 1994-03-09 1998-02-16 日本電気株式会社 ブリッジ装置
JPH07254906A (ja) * 1994-03-16 1995-10-03 Mitsubishi Electric Corp 優先処理機能を有するシフトレジスタ、それを用いたパケット通信用スイッチング装置及びそれを用いたatmネットワーク並びに優先処理を伴うパケット通信方式及び優先処理を伴うatm通信方式
JP3542159B2 (ja) 1994-03-17 2004-07-14 株式会社日立製作所 マルチプロセッサ構造のブリッジ
US5509123A (en) * 1994-03-22 1996-04-16 Cabletron Systems, Inc. Distributed autonomous object architectures for network layer routing
US5459717A (en) * 1994-03-25 1995-10-17 Sprint International Communications Corporation Method and apparatus for routing messagers in an electronic messaging system
US5493564A (en) * 1994-03-25 1996-02-20 Sprint International Communications Corp. Method and apparatus for global routing of electronic messages
EP0676878A1 (de) * 1994-04-07 1995-10-11 International Business Machines Corporation Effizientes Punkt zu Punkt und Punkt zu Mehrpunkt Weglenkungsverfahren für programmierbare Vermittlungsknoten in Hochgeschwindigkeits-Datenübertragungsnetzen
DE69428186T2 (de) * 1994-04-28 2002-03-28 Hewlett Packard Co Mehrfachsendeeinrichtung
EP0680173B1 (de) * 1994-04-28 2003-09-03 Hewlett-Packard Company, A Delaware Corporation Mehrfachsendeeinrichtung
EP0680178A1 (de) * 1994-04-28 1995-11-02 Hewlett-Packard Company Koppelfeldchip für Zellen
EP0681381A1 (de) * 1994-05-06 1995-11-08 International Business Machines Corporation Verfahren und Anordnung zur Modifizierung von Rahmenkontrollwörtern in Zwischenknoten von Hochgeschwindigkeitsnetzwerken
EP0684716B1 (de) * 1994-05-25 2002-02-27 International Business Machines Corporation Datenübertragungsnetz und Verfahren zum Betreiben des Netzes
US5461611A (en) * 1994-06-07 1995-10-24 International Business Machines Corporation Quality of service management for source routing multimedia packet networks
US5617421A (en) * 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US5583981A (en) * 1994-06-28 1996-12-10 Microsoft Corporation Method and system for changing the size of edit controls on a graphical user interface
EP0691769A1 (de) * 1994-07-07 1996-01-10 International Business Machines Corporation System zur Emulation geschalteter Sprachverbindungen in einem Paketvermittlungsnetz
US5615340A (en) * 1994-07-21 1997-03-25 Allied Telesyn Int'l Corp. Network interfacing apparatus and method using repeater and cascade interface with scrambling
US5751967A (en) 1994-07-25 1998-05-12 Bay Networks Group, Inc. Method and apparatus for automatically configuring a network device to support a virtual network
US5640605A (en) * 1994-08-26 1997-06-17 3Com Corporation Method and apparatus for synchronized transmission of data between a network adaptor and multiple transmission channels using a shared clocking frequency and multilevel data encoding
US5619500A (en) * 1994-09-01 1997-04-08 Digital Link Corporation ATM network interface
US5594727A (en) * 1994-09-19 1997-01-14 Summa Four, Inc. Telephone switch providing dynamic allocation of time division multiplex resources
US5490139A (en) * 1994-09-28 1996-02-06 International Business Machines Corporation Mobility enabling access point architecture for wireless attachment to source routing networks
US5675741A (en) * 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
US5784573A (en) 1994-11-04 1998-07-21 Texas Instruments Incorporated Multi-protocol local area network controller
US5837021A (en) 1994-12-09 1998-11-17 L'air Liquide, Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude Installation for the treatment of at least one fluid, by passage through two adjacent masses of material
US5619497A (en) * 1994-12-22 1997-04-08 Emc Corporation Method and apparatus for reordering frames
KR0132960B1 (ko) 1994-12-22 1998-04-21 양승택 망 노드 폭주상태 결정장치 및 방법
JP3014080B2 (ja) 1994-12-28 2000-02-28 三菱電機株式会社 交換機アダプタ及び汎用計算機
US5550816A (en) * 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US5566170A (en) * 1994-12-29 1996-10-15 Storage Technology Corporation Method and apparatus for accelerated packet forwarding
US5563878A (en) 1995-01-05 1996-10-08 International Business Machines Corporation Transaction message routing in digital communication networks
JP3099663B2 (ja) 1995-02-09 2000-10-16 株式会社デンソー 通信システム
US5706472A (en) 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
US5561666A (en) * 1995-03-06 1996-10-01 International Business Machines Corporation Apparatus and method for determining operational mode for a station entering a network
US5633865A (en) * 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks
US5724348A (en) 1995-04-05 1998-03-03 International Business Machines Corporation Efficient hardware/software interface for a data switch
US5561791A (en) * 1995-04-10 1996-10-01 Digital Equipment Corporation Method and apparatus for conditioning timed program independent of transport timing
JPH08288965A (ja) 1995-04-18 1996-11-01 Hitachi Ltd スイッチングシステム
US5608726A (en) * 1995-04-25 1997-03-04 Cabletron Systems, Inc. Network bridge with multicast forwarding table
US5802278A (en) 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
JP3515263B2 (ja) 1995-05-18 2004-04-05 株式会社東芝 ルータ装置、データ通信ネットワークシステム、ノード装置、データ転送方法及びネットワーク接続方法
JP2770782B2 (ja) 1995-05-31 1998-07-02 日本電気株式会社 Lan間接続装置
US5815737A (en) 1995-06-05 1998-09-29 Pmc-Sierra, Inc. Approach for identifying a subset of asynchronous transfer mode (ATM) VPI/VCI values in the complete VPI/VCI range
US5619661A (en) * 1995-06-05 1997-04-08 Vlsi Technology, Inc. Dynamic arbitration system and method
US5734865A (en) 1995-06-07 1998-03-31 Bull Hn Information Systems Inc. Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
US5636371A (en) * 1995-06-07 1997-06-03 Bull Hn Information Systems Inc. Virtual network mechanism to access well known port application programs running on a single host system
US5790808A (en) 1995-07-06 1998-08-04 3 Com Active topology maintenance in reconfiguring bridged local area networks with state transition with forgetting interval
US5651002A (en) * 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
US5751971A (en) 1995-07-12 1998-05-12 Cabletron Systems, Inc. Internet protocol (IP) work group routing
US5754540A (en) 1995-07-18 1998-05-19 Macronix International Co., Ltd. Expandable integrated circuit multiport repeater controller with multiple media independent interfaces and mixed media connections
US5691984A (en) * 1995-08-15 1997-11-25 Honeywell Inc. Compact, adaptable brouting switch
US5740175A (en) 1995-10-03 1998-04-14 National Semiconductor Corporation Forwarding database cache for integrated switch controller
US5633710A (en) * 1995-10-04 1997-05-27 Egs Inc. System for self-aligning vehicle headlamps
JPH09130421A (ja) 1995-11-02 1997-05-16 Furukawa Electric Co Ltd:The 仮想ネットワーク管理方法
US5784559A (en) 1995-11-06 1998-07-21 Sun Microsystems, Inc. Full duplex flow control for ethernet networks
US5757771A (en) 1995-11-14 1998-05-26 Yurie Systems, Inc. Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch
US5684800A (en) * 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US5754801A (en) 1995-11-20 1998-05-19 Advanced Micro Devices, Inc. Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent data transfers
JP2842522B2 (ja) 1995-12-06 1999-01-06 日本電気株式会社 Atmスイッチ及びその制御方法
US5689506A (en) * 1996-01-16 1997-11-18 Lucent Technologies Inc. Multicast routing in multistage networks
US5838681A (en) 1996-01-24 1998-11-17 Bonomi; Flavio Dynamic allocation of port bandwidth in high speed packet-switched digital switching systems
US5754774A (en) 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
US5740375A (en) 1996-02-15 1998-04-14 Bay Networks, Inc. Forwarding internetwork packets by replacing the destination address
US5724358A (en) 1996-02-23 1998-03-03 Zeitnet, Inc. High speed packet-switched digital switch and method
US5781549A (en) 1996-02-23 1998-07-14 Allied Telesyn International Corp. Method and apparatus for switching data packets in a data network
US5764634A (en) 1996-03-13 1998-06-09 International Business Machines Corporation Lan switch with zero latency
US5764636A (en) 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
US5740171A (en) 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US5742604A (en) 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US5812527A (en) 1996-04-01 1998-09-22 Motorola Inc. Simplified calculation of cell transmission rates in a cell based netwook
US5923654A (en) 1996-04-25 1999-07-13 Compaq Computer Corp. Network switch that includes a plurality of shared packet buffers
US5878043A (en) 1996-05-09 1999-03-02 Northern Telecom Limited ATM LAN emulation
US5748631A (en) 1996-05-09 1998-05-05 Maker Communications, Inc. Asynchronous transfer mode cell processing system with multiple cell source multiplexing
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
US5872783A (en) 1996-07-24 1999-02-16 Cisco Systems, Inc. Arrangement for rendering forwarding decisions for packets transferred among network switches
US5898687A (en) 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
US5748905A (en) 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
US5835491A (en) 1996-11-21 1998-11-10 Xerox Corporation Method for supporting multicast capabilities in switching networks with a reservation ring
US5878232A (en) 1996-12-27 1999-03-02 Compaq Computer Corporation Dynamic reconfiguration of network device's virtual LANs using the root identifiers and root ports determined by a spanning tree procedure
US5852607A (en) 1997-02-26 1998-12-22 Cisco Technology, Inc. Addressing mechanism for multiple look-up tables
US5859849A (en) 1997-05-06 1999-01-12 Motorola Inc. Modular switch element for shared memory switch fabric
US5856977A (en) 1997-05-15 1999-01-05 Yang; Muh-Rong Distribution network switch for very large gigabit switching architecture

Also Published As

Publication number Publication date
JP2002507362A (ja) 2002-03-05
WO1999000948A1 (en) 1999-01-07
US6088356A (en) 2000-07-11
EP1005743B1 (de) 2004-08-11
EP1005743A1 (de) 2000-06-07
JP3842303B2 (ja) 2006-11-08
EP1005743A4 (de) 2002-07-17
DE69825596D1 (de) 2004-09-16

Similar Documents

Publication Publication Date Title
DE69825596T2 (de) System und verfahren für ein vielschicht-netzelement
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE69737342T2 (de) Internet-NCP(Netzwerksteuerungspunkt) über ATM
DE69434330T2 (de) Übertragungsvorrichtgung und verfahren
DE69727930T2 (de) Zusammenfassung von verbindungen in vermittlungskommunikationsnetzen
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE69933417T2 (de) Vorrichtung und Verfahren zur routerfreien Schicht 3 Wegelenkung in einem Netz
DE60213509T2 (de) Verfahren und Vorrichtung zur Verbesserung der Verfügbarkeit von Wegeleitsystemen mit mehrwege-Kostengleichheit
DE60212916T2 (de) Verfahren und Vorrichtung zum Ermöglichen von Zugriffen in einer Vermittlungsstelle
DE60133352T2 (de) Gebundene Netzvermittlungskonfiguration
DE69834122T2 (de) Verbindingsunterstützung in einer hochleistungsnetzwerkvorrichtung
DE69816845T2 (de) Mehrere zusammenarbeitende gebiete innerhalb einer netz durchgangseinheit
DE69934644T2 (de) Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken
US6081522A (en) System and method for a multi-layer network element
DE60022602T2 (de) Verfahren, Vorrichtung und Computerprogramm um Topologiedaten eines Link State Routing Netzwerkes aktuell zu halten
DE69836684T2 (de) Unterstützung von vollständigen bäumen in hochleistungsnetzwerkgeräten
DE60309947T2 (de) Hochgeschwindigkeitsprotokoll für die Verbindung von modularen Netzwerkelementen
DE69912294T2 (de) Telekommunikationsnetzwerk mit veränderlichen adressenlernen, vermittlung und wegleitung
EP0872090B1 (de) Verfahren zum bilden von leitweginformation
DE69934192T2 (de) Verfahren und Einrichtung zur Netzverbindung mittels Brücken
DE60200466T2 (de) Ein adaptiver Pfad-Erkennungs-Prozess zum Routen von Datenpaketen in einem Mehrknotennetzwerk
DE69937185T2 (de) Verfahren und vorrichtung zum paketbeförderungsnachschlagen mit einer reduzierten anzahl von speicherzugriffen
DE60116401T2 (de) Netzwerkvermittlung mit der Möglichkeit Anschlüsse zu blockieren
DE102005053688B4 (de) Verfahren und Mechanismus zum Identifizieren eines nicht-verwalteten Schalters in einem Netz
DE602004005242T2 (de) Zentralisierte konfiguration von verwalteten objekten des link-scope-typs in netzwerken, die auf dem internet-protokoll (ip) basieren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition