DE69826680T2 - Hochintegrierte mehrschichtige Vermittlungsstellenelementarchitektur - Google Patents

Hochintegrierte mehrschichtige Vermittlungsstellenelementarchitektur Download PDF

Info

Publication number
DE69826680T2
DE69826680T2 DE69826680T DE69826680T DE69826680T2 DE 69826680 T2 DE69826680 T2 DE 69826680T2 DE 69826680 T DE69826680 T DE 69826680T DE 69826680 T DE69826680 T DE 69826680T DE 69826680 T2 DE69826680 T2 DE 69826680T2
Authority
DE
Germany
Prior art keywords
interface
packet
cpu
network
forwarding
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
DE69826680T
Other languages
English (en)
Other versions
DE69826680D1 (de
Inventor
Shimon Muller
Ariel Hendel
Howard Frazier
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
Publication of DE69826680D1 publication Critical patent/DE69826680D1/de
Application granted granted Critical
Publication of DE69826680T2 publication Critical patent/DE69826680T2/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/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • 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
    • 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/3027Output queuing
    • 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

  • BEREICH DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein den Bereich Computervernetzungsgeräte. Die Erfindung betrifft insbesondere eine Architektur für einen hochintegrierten Netzelementbaustein.
  • HINTERGRUND DER ERFINDUNG
  • Eine zunehmende Zahl von Benutzern benötigt aufgrund von Multimedia-Anwendungen höhere Bandbreiten auf existierenden Netzen beispielsweise zum Zugreifen auf das Internet und das World Wide Web. Daher müssen zukünftige Netzwerke eine sehr hohe Bandbreite sowie eine große Zahl von Benutzern unterstützen können. Ferner müssen solche Netze in der Lage sein, mehrere Verkehrstypen wie z.B. Daten, Sprache und Video zu unterstützen, die typischerweise verschiedene Bandbreiten benötigen.
  • Statistische Studien weisen darauf hin, dass die Netzwerkdomäne, d.h. eine Gruppe von miteinander verbundenen lokalen Datennetzen (LANs), sowie die Anzahl der mit jedem LAN verbundenen individuellen Endstationen in der Zukunft immer schneller wachsen werden. Daher wird höhere Netzwerkbandbreite und eine effizientere Nutzung von Betriebsmitteln benötigt, um diesen Anforderungen gerecht zu werden.
  • Der Aufbau von Netzwerken mit Layer-2-Elementen wie z.B. Bridges ergibt eine schnelle Paketweiterleitung zwischen LANs; es gibt jedoch keinerlei Flexibilität im Hinblick auf Verkehrsisolierung, redundante Topologien und End-to-End-Strategien für Warteschlangenbildung und Zugriffskontrolle. Die letzteren Attribute können zwar mit Layer-3-Elementen wie Routern erzielt werden, aber es wird Paketweiterleitungsgeschwindigkeit zugunsten höherer Intelligenz und besserer Entscheidungsfähigkeiten geopfert, die von Routern bereitgestellt werden.
  • Es ist daher wünschenswert, einen kostengünstigen Netzgerätebaustein hoher Leistung bereitzustellen, der blockierungsfreies Multi-Layer-Switching mit Leitungsgeschwindigkeit auf N Ports ausführen kann. Es wäre im Allgemeinen vorteilhaft, einen Netzgerätebaustein bereitzustellen, der seine Leistung linear an Fortschritte in der Siliciumtechnik anpasst. Es ist somit wünschenswert, Gemeinschaftsressourcen gemeinsam zu nutzen, gemeinsame Verarbeitungsvorgänge zu zentralisieren und die Auslastung von Hardware-Ressourcen zu maximieren. Es ist insbesondere wünschenswert, ein dynamisches Paketspeichermanagementschema zu nutzen, um die gemeinsame Nutzung eines Gemeinschaftspaketspeichers zwischen allen Ein-/Ausgangsports für Paketpufferung zu erleichtern. Es ist ebenfalls wünschenswert, die Paketkopfverarbeitung zu zentralisieren und einen effizienten Zugriff auf eine zentralisierte Datenbank für Weiterleitungsentscheidungen auf Multi-Protokoll-Layer-Basis bereitzustellen. Es wäre ferner von Vorteil, eine Zentraleinheits- (CPU) Schnittstelle bereitzustellen, die Weiterleitungsentscheidungen einer Vermittlungsstellenstruktur für von der CPU stammende Pakete in einem ersten Paketweiterleitungsmodus anfordert und den Abgleich von Vermittlungsstellenstruktur-Headern umgeht, indem das Paket direkt zu einem oder mehreren vorgegebenen Ports in einem zweiten Paketweiterleitungsmodus übertragen wird.
  • Aus der US-A-5615340 ist eine Vorrichtung zum Verbinden einer Mehrzahl von Knoten mit einem Netzwerk bekannt, das eine Mehrzahl von mit den Knoten gekoppelten Arbeitsports, einen mit dem Netzwerk gekoppelten Anschlussport, eine Adresstabelle zum Speichern von mit den Arbeitsports assoziierten Adressen, einen Eingangspaket-Controller und einen Abgangspaket-Controller umfasst. Der Eingangspaket-Controller empfängt ein eingehendes Informationspaket vom Netzwerk über den Anschlussport und ermittelt, ob eine in dem eingehenden Paket enthaltene Zieladresse mit einer der in der Adresstabelle gespeicherten Adressen übereinstimmt. Wird eine Zieladressübereinstimmung gefunden, dann wird daraus geschlossen, dass das eingehende Paket für einen der Arbeitsports bestimmt ist. Demzufolge wird das eingehende Paket zu den Arbeitsports gesendet. Wird keine Zieladressübereinstimmung gefunden, dann verhindert der Eingangspaket-Controller, dass das Paket zu den Arbeitsports gesendet wird, und eliminiert somit unnötigen Signalverkehr zu den Ports. Ebenso empfängt der Abgangspaket-Controller ein abgehendes Informationspaket von einem der Arbeitsports und ermittelt, ob eine in dem Paket enthaltene abgehende Adresse mit einer der Adressen in der Adresstabelle übereinstimmt. Wird eine Abgangsadressübereinstimmung gefunden, dann ist bekannt, dass das Paket für einen der Arbeitsports bestimmt ist. Infolgedessen wird das abgehende Paket nicht zum Netzwerk, sondern stattdessen zurück zu den Arbeitsports gesendet. Wird jedoch keine abgehende Adresse gefunden, dann wird das abgehende Paket über den Anschlussport zum Netzwerk gesendet. Indem die Vorrichtung nur nichtlokale Pakete zum Netzwerk sendet, versucht sie, Netzwerkverkehr zu reduzieren.
  • Die EP-A-0725351 offenbart ein Mittel zum Erzielen von beschleunigten Nachrichtenübertragungen in einem Multiknoten-Datenverarbeitungssystem, das durch ein Kommunkationsnetz verbunden ist. Ein erster Knoten des Multiknotensystems beinhaltet eine Vorrichtung zum Übertragen einer Informationstransferanforderung zu einem zweiten Knoten, wobei die Anforderung Identifikationsdaten enthält, die der zweite Knoten zum Zugreifen auf die gewählten Informationen verwenden kann. Der zweite Knoten beinhaltet einen Speicher zum Speichern der angeforderten Informationen und eine Nachrichtenausgangssteuerstruktur. Ein Prozessor spricht auf empfangene Identifikationsdaten vom ersten Knoten an, um auf gewählte Informationen zuzugreifen, die von den Daten definiert werden. Der Prozessor spricht ferner auf die Informationstransferanforderung an, indem er die vom ersten Knoten empfangenen Identifikationsdaten direkt in eine Meldungsausgangssteuerstruktur einfügt. Der Prozessor leitet dann einen Ausgangsbetrieb ein, indem er die Identifikationsdaten in der Meldungsausgangssteuerdatenstruktur verwendet, um auf die identifizierten Informationen zuzugreifen und die Informationen zum ersten Knoten zu übermitteln Es wird daher kein Prozessor-Interrupt benötigt, damit die angeforderten Informationen übertragen werden können, da Zeiger auf diese Informationen bereits in der Meldungsausgangssteuerstruktur vorhanden sind, wobei der Ausgabemechanismus im zweiten Knoten diese Ausgangssteuerstruktur dafür verwendet, auf die angeforderten Informationen zuzugreifen und sie zu übertragen. Das System befasst sich mit Meldungstransfer und wäre für die Handhabung von Pakettransfers ungeeignet.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es werden im Kontext einer Architektur für einen hochintegrierten Netzelementbaustein ein Verfahren und eine Vorrichtung für die Weiterleitung und Filterung von Paketen beschrieben.
  • Gemäß einem ersten Aspekt der Erfindung umfasst ein Netzgerätebaustein für eine Vermittlungsstelle Folgendes: eine Netzwerkschnittstelle mit einer Mehrzahl von Ports zum Senden und Empfangen von Paketen über ein Netzwerk; einen Paketpufferspeicher, der mit jedem Port der Netzwerkschnittstelle gekoppelt ist und als elastischer Puffer für eine Adaption zwischen eingehenden und abgehenden Bandbreitenanforderungen dient; eine Vermittlungsstellenstruktur, die mit der Netzwerkschnittstelle gekoppelt ist, um eine Weiterleitungsentscheidung in Bezug auf ein empfangenes Paket zu fällen, wobei die Weiterleitungsentscheidung eine Liste von Ports beinhaltet, auf denen das empfangene Paket weitergeleitet werden soll; und eine Zentraleinheits- (CPU) Schnittstelle, die mit der Vermittlungsstellenstruktur gekoppelt ist, wobei die CPU-Schnittstelle zum Empfangen von Befehlen, die von einer externen CPU an die Vermittlungsstellenstruktur ausgegeben wurden, sowie zum Empfangen von Paketen von dieser CPU konfiguriert ist, die durch die Netzwerkschnittstelle weitergeleitet werden sollen.
  • Der Baustein beinhaltet vorzugsweise eine Kaskadenschnittstelle zum Koppeln des Netzwerkgerätebausteins mit einem oder mehreren anderen Netzwerkgerätebausteinen zum Bilden einer größeren Vermittlungseinrichtung.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung umfasst ein Vermittlungsstellenelement Folgendes: eine Vermittlungsstellenstruktur, die zum Erzeugen von Weiterleitungsentscheidungen für empfangene Pakete konfiguriert ist; eine Mehrzahl von Schnittstellen zum Empfangen und Senden von Paketen, wobei die Mehrzahl von Schnittstellen mit der Vermittlungsstellenstruktur zum Anfordern und Empfangen der Weiterleitungsentscheidungen gekoppelt ist, wobei die Mehrzahl von Schnittstellen eine Netzwerkschnittstelle aufweist, die eine Mehrzahl von externen Ports für die Kommunikation mit Geräten auf einem Netzwerk bereitstellt; eine Kaskadenschnittstelle, die wenigstens zwei interne Links für eine Verbindung mit einem oder mehreren anderen Vermittlungsstellenelementen in einer Full-Mesh-Topologie bereitstellt; eine Zentraleinheits- (CPU) Schnittstelle zum Übertragen von Paketen und Befehlen zwischen der Vermittlungsstellenstruktur und einer externen CPU, wobei die CPU-Schnittstelle zum Empfangen von Befehlen, die von der externen CPU an die Vermittlungsstellenstruktur ausgegeben wurden, und zum Empfangen von Paketen von der CPU konfiguriert ist, die durch die Netzwerkschnittstelle weitergeleitet werden sollen; und einen Gemeinschaftsspeichermanager, der mit der Mehrzahl von Schnittstellen gekoppelt ist, um Puffer in einem Gemeinschaftspufferspeicher für die Mehrzahl von Schnittstellen dynamisch zuzuweisen und ihre Zuweisung aufzuheben und den Status von Puffern in dem Gemeinschaftspufferspeicher zu verfolgen.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung umfasst ein Verfahren zum Weiterleiten eines Pakets auf ein Netzwerk von Einrichtungen/Geräten die folgenden Schritte: Erzeugen eines Paketes zum Senden auf das Netzwerk von Einrichtungen/Geräten durch eine Zentraleinheit einer Vermittlungsstelle; Empfangen des Paketes auf einer CPU-Schnittstelle des Vermittlungsstellenelementes durch ein Vermittlungsstellenelement der Vermittlungsstelle; wobei die CPU-Schnittstelle zum Ausgeben von Befehlen an die Vermittlungsstellenstruktur als Reaktion auf die CPU der Vermittlungsstelle und zum Weiterleiten von Paketen konfiguriert ist, die von der CPU der Vermittlungsstelle empfangen wurden; und wobei dann, wenn das Paket mit einem ersten Weiterleitungsmodus assoziiert ist, die CPU-Schnittstelle eine Weiterleitungsentscheidung für das Paket von einer Vermittlungsstellenstruktur des Vermittlungsstellenelementes anfordert, wobei die CPU-Schnittstelle die Weiterleitungsentscheidung von der Vermittlungsstellenstruktur empfängt; Weiterleiten des Paketes zu den ein oder mehreren Ports des durch die Weiterleitungsentscheidung angezeigten Vermittlungsstellenelementes durch die CPU-Schnittstelle, wobei die ein oder mehreren Ports das Paket zu dem Netzwerk von Einrichtungen/Geräten sendet/senden.
  • Vorteilhafterweise beinhaltet das Paket Steuerinformationen, wobei das Verfahren ferner die folgenden Schritte umfasst: Ermitteln, auf der Basis der Steuerinformationen, durch die CPU-Schnittstelle, dass das Paket mit einem zweiten Weiterleitungsmodus assoziiert ist; und Weiterleiten des Pakets durch die CPU-Schnittstelle zu einem oder mehreren Ports des durch die Steuerinformationen angezeigten Vermittlungsstellenelementes.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung umfasst ein Netzwerkgerätebaustein für eine Vermittlungsstelle Folgendes: eine Mehrzahl von Ports zum Empfangen und Senden von Paketen über ein Netzwerksegment; einen Gemeinschaftsspeichermanager, der mit jedem aus der Mehrzahl von Ports gekoppelt ist, wobei der Gemeinschaftsspeichermanager zum dynamischen Zuweisen von Puffern von einem Gemeinschaftsspeicher für eine vorübergehende Speicherung von eingehenden Paketen konfiguriert ist, wobei der Gemeinschaftsspeichermanager ferner zum Freigeben von Puffern konfiguriert ist, die mit einem bestimmten Paket assoziiert sind, wenn alle Ports, zu denen das Paket weitergeleitet wurde, das Senden des Paketes abgeschlossen haben; eine Vermittlungsstellenstruktur, die mit jedem aus der Mehrzahl von Ports gekoppelt ist, um eine zentralisierte Schnittstelle zu einer Weiterleitungs- und Filterungsdatenbank bereitzustellen, die mit der Vermittlungsstellenstruktur assoziiert ist; eine Kaskadenschnittstelle, die wenigstens zwei interne Ports zum Verbinden des Netzwerkgerätebausteins mit einem oder mehreren weiteren Netzwerkgerätebausteinen zur Bildung einer größeren Netzwerkeinrichtung bereitstellt; und eine Zentraleinheitsschnittstelle, die mit der Vermittlungsstellenstruktur gekoppelt ist, wobei die CPU-Schnittstelle (a) zum Ausgeben von Befehlen zu der Vermittlungsstellenstruktur als Reaktion auf eine externe CPU auf der Basis von Weiterleitungsentscheidungen, die von der Vermittlungsstellenstruktur in einem ersten Weiterleitungsmodus gegeben wurden, und (b) zum Weiterleiten von Paketen mit assoziierten Steuerinformationen, die von der externen CPU empfangen wurden, zu einem oder mehreren aus der Mehrzahl von Ports gemäß Anzeige in den Steuerinformationen in einem zweiten Weiterleitungsmodus konfiguriert ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird beispielhaft und nicht einschränkend in den Figuren der Begleitzeichnungen beschrieben, worin gleiche Bezugsziffern sich auf ähnliche Elemente beziehen. Dabei zeigt:
  • 1 eine Vermittlungsstelle gemäß einer Ausgestaltung der vorliegenden Erfindung;
  • 2 ein vereinfachtes Blockdiagramm eines beispielhaften Vermittlungsstellenelementes, das in der Vermittlungsstelle von 1 verwendet werden kann;
  • 3 ein ausführlicheres Blockdiagramm des Vermittlungsstellenelementes von 2.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es wird eine hochintegrierte Multilayer-Vermittlungsstellenelementarchitektur beschrieben. In der nachfolgenden Beschreibung sind zur Erläuterung zahlreiche spezifische Einzelheiten dargelegt, um ein tiefgreifendes Verständnis der vorliegenden Erfindung zu vermitteln. Es wird der Fachperson jedoch klar sein, dass die vorliegende Erfindung auch ohne einiger diese spezifischen Einzelheiten ausgeführt werden kann. In anderen Fällen sind hinlänglich bekannte Strukturen und Bauelemente/Einrichtungen in Blockdiagrammform dargestellt.
  • Die vorliegende Erfindung beinhaltet verschiedene Schritte, die nachfolgend beschrieben werden. Die Schritte der vorliegenden Erfindung werden zwar vorzugsweise mittels der nachfolgend beschriebenen Hardware-Komponenten ausgeführt, aber alternativ können die Schritte auch in maschinenausführbaren Befehlen ausgestaltet sein, die verwendet werden können, um einen mit den Befehlen programmierten Universal- oder Spezialprozessor zum Durchführen der Schritte zu veranlassen. Ferner werden Ausgestaltungen der vorliegenden Erfindung mit Bezug auf eine schnelle Ethernet-Vermittlungsstelle beschrieben. Es ist jedoch klar, dass das/die hierin beschriebene Verfahren und Vorrichtung auch auf andere Typen von Netzwerkgeräten wie Bridges, Routers, Brouters und andere Netzwerkgeräte/-einrichtungen anwendbar sind.
  • EIN BEISPIELHAFTES NETZWERKELEMENT
  • 1 gibt einen Überblick über eine Ausgestaltung eines Netzwerkelementes, das gemäß den Lehren der vorliegenden Erfindung arbeitet. Das Netzwerkelement dient zum Verbinden einer Reihe von Knoten und Endstationen auf eine Reihe verschiedener Arten und Weisen. Insbesondere bestünde eine Anwendung des verteilten Multilayer-Netzwerkelementes (MLDNE) darin, Pakete gemäß vordefinierten Routing-Protokollen über eine homogene Data-Link-Layer wie z.B. gemäß dem IEEE 802.3 Standard zu leiten, der auch als Ethernet bekannt ist. Es können auch andere Routing-Protokolle verwendet werden.
  • Die verteilte MLDNE-Struktur kann so konfiguriert werden, dass Meldungsverkehr gemäß einer Reihe bekannter oder zukünftiger Routing-Algorithmen konfiguriert werden kann. In einer bevorzugten Ausgestaltung ist das MLDNE so konfiguriert, dass es Meldungsverkehr mit dem Internet-Protokollsatz handhabt, spezifischer mit dem Transmission Control Protocol (TCP) und dem Internet Protocol (IP) über den Ethernet LAN-Standard und die MAC- (Medium Access Control) Data-Link-Layer. Das TCP wird hier auch als Layer-4-Protokoll bezeichnet, während das IP wiederholt Layer-3-Protokoll genannt wird.
  • In einer Ausgestaltung des MLDNE ist ein Netzwerkelement so konfiguriert, dass Paket-Routing-Funktionen auf verteilte Weise implementiert werden, d.h. verschiedene Teile einer Funktion werden von verschiedenen Subsystemen im MLDNE durchgeführt, während das Endergebnis der Funktionen für die externen Knoten und Endstationen transparent bleibt. Aus der nachfolgenden Erörterung und dem Diagramm in 1 wird deutlich werden, dass das MLDNE eine skalierbare Architektur hat, so dass der Designer auf vorhersehbare Weise die Zahl der externen Verbindungen durch Hinzufügen zusätzlicher Subsysteme erhöhen kann, damit die Flexibilität beim Definieren des MLDNE als alleinstehender Router erhöht werden kann.
  • Wie in 1 in Blockdiagrammform illustriert, enthält das MLDNE 101 eine Reihe von Subsystemen 110, die mit einer Reihe von internen Verbindungen 141 zu einer größeren Vermittlungsstelle völlig vermascht und miteinander verbunden sind. Wenigstens eine interne Verbindung koppelt beliebige zwei Subsysteme miteinander. Jedes Subsystem 110 beinhaltet ein Vermittlungsstellenelement 100, das mit einer Weiterleitungs- und Filterungsdatenbank 140 gekoppelt ist, die ebenfalls als Weiterleitungsdatenbank bezeichnet wird. Die Weiterleitungs- und Filterungsdatenbank kann einen Weiterleitungsspeicher 113 und einen zugehörigen Speicher 114 beinhalten. Der Weiterleitungsspeicher (oder die Datenbank) 113 speichert eine Adresstabelle, die zum Abgleichen mit den Headern von empfangenen Paketen verwendet wird. Der zugehörige Speicher (oder die Datenbank) speichert Daten in Verbindung mit jedem Eintrag in dem Weiterleitungsspeicher, der zum Identifizieren von Weiterleitungsattributen zum Weiterleiten der Pakete durch das MLDNE verwendet wird. Eine Reihe von externen Ports (nicht dargestellt) mit Ein- und Ausgabefähigkeit dienen als Schnittstellen zu den externen Verbindungen 117. In einer Ausgestaltung unterstützt jedes Subsystem mehrere Gigabit-Ethernet-Ports, Fast-Ethernet-Ports und Ethernet-Ports. Interne Ports (nicht dargestellt), ebenfalls mit Ein- und Ausgabefähigkeit in jedem Subsystem, koppeln die internen Verbindungen 141. Mit Hilfe der internen Verbindungen kann das MLDNE mehrere Vermittlungsstellenelemente zu einer Multigigabit-Vermittlungsstelle zusammenschalten.
  • Das MLDNE 101 beinhaltet ferner ein Zentralverarbeitungssystem (CPS) 160, das mit dem individuellen Subsystem 110 durch einen Kommunikationsbus 151 wie z.B. den PCI (Peripheral Components Interconnect) gekoppelt ist. Das CPS 160 beinhaltet eine Zentraleinheit (CPU) 161, die mit einem zentralen Speicher 163 gekoppelt ist. Der zentrale Speicher 163 beinhaltet eine Kopie der Einträge, die in den einzelnen Weiterleitungsspeichern 113 der verschiedenen Subsysteme enthalten sind. Das CPS hat eine direkte Steuer- und Kommunikationsschnittstelle mit jedem Subsystem 110 und stellt ein gewisses Maß an zentralisierter Kommunikation und Steuerung zwischen Vermittlungsstellenelementen bereit.
  • EIN BEISPIELHAFTES VERMITTLUNGSSTELLENELEMENT
  • 2 ist ein vereinfachtes Blockdiagramm, das eine beispielhafte Architektur des Vermittlungsstellenelementes von 1 illustriert. Das dargestellte Vermittlungsstellenelement 100 beinhaltet eine Zentraleinheits- (CPU) Schnittstelle 215, einen Vermittlungsstellenstrukturblock 210, eine Netzwerkschnittstelle 205, eine Kaskadenschnittstelle 225 und einen Gemeinschaftsspeichermanager 220.
  • Ethernet-Pakete können das Netzwerkvermittlungsstellenelement 100 durch eine beliebige der drei Schnittstellen 205, 215 oder 225 betreten oder verlassen. Kurz ausgedrückt, die Netzwerkschnittstelle 205 arbeitet gemäß einem entsprechenden Ethernet-Protokoll zum Empfangen von Ethernet-Paketen von einem Netzwerk (nicht dargestellt) und zum Übertragen von Ethernet-Paketen auf das Netzwerk über einen oder mehrere externe Ports (nicht dargestellt). Eine optionale Kaskadenschnittstelle 225 kann ein oder mehrere interne Verbindungen (nicht dargestellt) zum Zusammenschalten von Vermittlungsstellenelementen zu größeren Vermittlungsstellen beinhalten. So kann beispielsweise jedes Vermittlungsstellenelement 100 mit anderen Vermittlungsstellenelementen in einer Full-Mesh-Topologie zusammengeschaltet werden, um wie oben beschrieben eine Multilayer-Vermittlungsstelle zu bilden. Alternativ kann eine Vermittlungsstelle ein einzelnes Vermittlungsstellenelement 100 mit oder ohne die Kaskadenschnittstelle 225 umfassen.
  • Die CPU 161 kann Befehle oder Pakete über die CPU-Schnittstelle 215 zum Netzwerkvermittlungsstellenelement 100 übertragen. Auf diese Weise können ein oder mehrere auf der CPU 161 laufende Software-Prozesse Einträge in einer externen Weiterleitungs- und Filterungsdatenbank 140 verwalten, wie z.B. Hinzufügen neuer Einträge und Invalidieren unerwünschter Einträge. In alternativen Ausgestaltungen kann die CPU 161 jedoch mit Direktzugriff zur Weiterleitungs- und Filterungsdatenbank 140 ausgestattet werden. In jedem Fall ähnelt der CPU-Port der CPU-Schmittstelle 215, für die Zwecke der Paketweiterleitung, einem generischen Eingangsport in das Vermittlungsstellenelement 100 und kann so behandelt werden, als handle es sich einfach um einen weiteren externen Netzwerkschnittstellenport. Da jedoch der Zugriff auf den CPU-Port über einen Bus wie z.B. einen PCI- (Peripheral Components Interconnect) Bus erfolgt, benötigt der CPU-Port keine MAC- (Media Access Control) Funktionalität.
  • Zurück zur Netzwerkschnittstelle 205, die beiden Hauptaufgaben der Eingangspaketverarbeitung und der Ausgangspaketverarbeitung werden nachfolgend kurz beschrieben. Die Eingangspaketverarbeitung kann von einem oder mehreren Eingangsports der Netzwerkschnittstelle 205 durchgeführt werden. Die Eingangspaketverarbeitung beinhaltet Folgendes: (1) Empfangen und Verifizieren von eingehenden Ethernet-Paketen, (2) ggf. Modifizieren von Paket-Headern, (3) Anfordern von Pufferzeigern vom Gemeinschaftsspeichermanager 220 zum Speichern von eingehenden Paketen, (4) Anfordern von Weiterleitungsentscheidungen vom Vermittlungsstellenstrukturblock 210, (5) Übertragen der Eingangspaketdaten zu dem Gemeinschaftsspeichermanager 220 zum vorübergehenden Speichern in einem externen Gemeinschaftsspeicher 230, und (5) nach dem Empfang einer Weiterleitungsentscheidung, Weiterleiten des/der Pufferzeiger(s) zu dem/den in der Weiterleitungsentscheidung angegebenen Ausgangsport(s). Die Ausgangspaketverarbeitung kann von einem oder mehreren Ausgangsports der Netzwerkschnittstelle 205 durchgeführt werden. Die Ausgangsverarbeitung beinhaltet die Anforderung von Paketdaten vom Gemeinschaftsspeichermanager 220, die Übertragung von Paketen auf das Netzwerk und das Anfordern der Zuweisungsaufhebung von Puffern nach dem Übertragen von Paketen.
  • Die Netzwerkschnittstelle 205, die CPU-Schnittstelle 215 und die Kaskadenschnittstelle 225 sind mit dem Gemeinschaftsspeichermanager 220 und dem Vermittlungsstellenstrukturblock 210 gekoppelt. Kritische Funktionen wie Paketweiterleitung und Paketpufferung sind vorzugsweise wie in 2 gezeigt zentralisiert. Der Gemeinschaftsspeichermanager 220 bietet eine effiziente zentralisierte Schnittstelle zum externen Gemeinschaftsspeicher 230 zum Puffern von eingehenden Paketen. Der Vermittlungsstellenstrukturblock 210 beinhaltet eine Suchmaschine sowie Lernlogik zum Durchsuchen und Verwalten der Weiterleitungs- und Filterungsdatenbank 140 mit Hilfe der CPU 161.
  • Der zentralisierte Vermittlungsstellenstrukturblock 210 beinhaltet eine Suchmaschine, die Zugang zur Weiterleitungs- und Filterungsdatenbank 140 für die Schnittstellen 205, 215 und 225 bereitstellt. Paket-Header-Abgleich, Lernen auf Layer-2-Basis, Layer-2- und Layer-3-Paketweiterleitung, Filterung und Alterung sind Beispiele für Funktionen, die der Vermittlungsstellenstrukturblock 210 ausführen kann. Jeder Eingangsport ist mit dem Vermittlungsstellenstrukturblock 210 zum Empfangen von Weiterleitungsentscheidungen für empfangene Pakete gekoppelt. Die Weiterleitungsentscheidung gibt den/die Abgangsport(s) (z.B. den externen Netzwerkport oder den internen Kaskadenport) an, auf dem/denen das entsprechende Paket übertragen werden soll. Zusätzliche Informationen können ebenfalls in der Weiterleitungsentscheidung enthalten sein, um Hardware-Routing wie z.B. eine neue MAC-Zieladresse (DA) für den MAC-DA-Austausch zu unterstützen. Ferner kann auch eine Prioritätsanzeige in der Weiterleitungsentscheidung enthalten sein, um eine Einordnung von Paketverkehr in eine Prioritätsrangfolge durch das Vermittlungsstellenelement 100 zu erleichtern.
  • In der derzeitigen Ausgestaltung werden Ethernet-Pakete vom Gemeinschaftsspeichermanager 220 zentral gepuffert und verwaltet. Der Gemeinschaftsspeichermanager 220 dient als Schnittstelle zu jedem Eingangsport und Ausgangsport und führt jeweils dynamische Zuweisung und Zuweisungsaufhebung von Speicherkapazität für sie durch. Während der Eingangspaketverarbeitung werden ein oder mehrere Puffer im externen Gemeinschaftsspeicher 230 zugewiesen und ein eingehendes Paket wird vom Gemeinschaftsspeichermanager 220 beispielsweise als Reaktion auf von der Netzwerkschnittstelle 205 empfangene Befehle gespeichert. Danach ruft der Gemeinschaftsspeichermanager 220 während der Ausgangspaketverarbeitung das Paket aus dem externen Gemeinschaftsspeicher 230 ab und hebt die Zuweisung von Puffern auf, die nicht mehr gebraucht werden. Um zu gewährleisten, dass Puffer erst dann freigegeben werden, wenn alle Ausgangsports die Übertragung der darin gespeicherten Daten abgeschlossen haben, verfolgt der Gemeinschaftsspeichermanager 220 vorzugsweise auch die Eigentümerschaft der Puffer.
  • Nachdem nunmehr die Architektur des Vermittlungsstellenelementes 100 auf allgemeiner Ebene beschrieben wurde, folgt eine ausführlichere Beschreibung der individuellen Komponenten mit Bezug auf 3.
  • NETZWERK- UND KASKADENSCHNITTSTELLEN
  • Das Vermittlungsstellenelement der vorliegenden Erfindung ermöglicht Routing und Weiterleitung von Ethernet-, Fast-Ethernet- und Gigabit-Ethernet-Paketen mit Leitungsgeschwindigkeit zwischen den drei Schnittstellen 215, 205 und 225. Gemäß der vorliegenden Ausgestaltung beinhaltet jeder Port der Netzwerkschnittstelle 205 und der Kaskadenschnittstelle einen Eingangspaketprozess (IPP), einen Ausgangspaketprozess (OPP) und einen Media Access Controller (MAC).
  • Die IPPs sind in Kommunikation mit der Vermittlungsstellenstruktur 210, dem Gemeinschaftsspeichermanager 220 und den OPPs gekoppelt. Die IPPs fordern Weiterleitungsentscheidungen von der Vermittlungsstellenstruktur 210 für empfangene Pakete an und speichern die Paketdaten vorübergehend im Gemeinschaftsspeicher 230, bis eine Weiterleitungsentscheidung zurückgegeben wird. Nach dem Empfang einer Weiterleitungsentscheidung leiten die IPPs das entsprechende Paket ggf. zu den entsprechenden OPPs weiter.
  • Gemäß einer Ausgestaltung werden empfangene Paket-Header von den IPPs wie im US-Patent Nr. 6128 666 (äquivalent mit EP 98931582.5 ) mit dem Titel „Mechanism for Packet Field Replacement in a Multi-Layered Switched Network Element", das am 30. Juni 1997 unter der Attorney-Docket-Nr. 082225.P2376 eingereicht wurde, offenbart modifiziert, das hiermit durch Bezugnahme eingeschlossen ist.
  • Die OPPs sind in Kommunikation mit dem Gemeinschaftsspeichermanager 220 gekoppelt. Wenn ein Paket zur Übertragung bereit ist, dann rufen die OPPs die Paketdaten vom Gemeinschaftsspeicher 230 über den Gemeinschaftsspeichermanager 220 ab und übertragen die Paketdaten auf das angeschlossene Netz.
  • Gemäß einer Ausgestaltung ist die dynamische Ausgangswarteschlangenbildung in den OPPs wie im US-Patent Nr. 6044418 (äquivalent mit EP 98931656.7 ) mit dem Titel „Method and Apparatus for Dynamic Queue Sizing", das am 30. Juni 1997 unter der Attorney-Docket-Nr. 082225.P2377 eingereicht wurde, offenbart, das hiermit durch Bezugnahme eingeschlossen ist.
  • Gemäß einer weiteren Ausgestaltung sind Paket-Routing und Paketfeldaustausch wie im US-Patent Nr. 6014380 (äquivalent mit EP 98931574.1 ) mit dem Titel „Mechanism for Packet Field Replacement in a Distributed Multi-Layer Network Element", das am 30. Juni 1997 unter der Attorney-Docket-Nr. 082225.P2583 eingereicht wurde, offenbart, das hiermit durch Bezugnahme eingeschlossen ist.
  • VERMITTLUNGSSTELLENSTRUKTUR
  • Die Vermittlungsstellenstruktur 210 bietet zentralisierten Zugang zur Weiterleitungs- und Filterungsdatenbank 140 für die Eingangsports. Stark Pipelinestrukturierte Logik innerhalb der Vermittlungsstellenstruktur 210 ermöglicht den Empfang und die Verarbeitung von Paket-Headern von mehreren Eingangsports gleichzeitig. Zentralisierung und Pipelining reduzieren vorteilhafterweise Overhead für die Hardware-Implementation. So erlaubt es beispielsweise eine N-Stufen-Paket-Header-Verarbeitungspipeline, dass N Paket-Header von verschiedenen Eingangsports in einem einzelnen Block verarbeitet werden, anstatt N individuelle Paket-Header-Verarbeitungseinheiten bereitstellen zu müssen.
  • Gemäß einer Ausgestaltung wird die Vermittlungsstellenstruktur 210 wie im US-Patent Nr. 5938736 (äquivalent mit EP 98932909.9 ) mit dem Titel „Search Engine Architecture for a High Performance Multi-Layer Switch Element" offenbart, das am 30.
  • Juni 1997 unter der Attorney-Docket-Nr. 082225.P2361 eingereicht wurde, und wie im US-Patent Nr. 5909686 (äquivalent mit EP 98935487.3 ) mit dem Titel „Hardware-Assisted Central Processing Unit Access to a Forwarding Database" offenbart implementiert, das am 30. Juni 1997 unter der Attorney-Docket-Nr. 082225.P2559 eingereicht wurde, deren Inhalte hiermit durch Bezugnahme eingeschlossen sind.
  • CPU-SCHNITTSTELLE
  • Die CPU-Schnittstelle 215 der vorliegenden Erfindung beinhaltet einen einzelnen CPU-Port mit einer Busschnittstelle (BIF) 340, die mit einem Host-Transmit-Prozess (HTP) 350 und einem Host-Receive-Prozess (HRP) 360 gekoppelt ist. Die BIF 340 implementiert ein Busschnittstellenprotokoll zum Übertragen von Daten zwischen der CPU 161 und dem Vermittlungsstellenelement 100. In dieser Hinsicht hat sie ähnliche Verantwortlichkeiten wie die MACs in den Netzwerkschnittstellenports. In einer Ausgestaltung beinhaltet die BIF 340 einen PCI-Protokollblock zum Unterstützen von PCI-DMAs (Direct Memory Accesses) zu und von dem CPU-Speicher.
  • Architektonisch ist der CPU-Port so aufgebaut, dass er die Netzwerkschnittstellenports und Kaskadenschnittstellenports reflektiert. Die BIF 340 entspricht funktionell einem MAC-Netzwerkschnittstellenport. So sind beispielsweise sowohl die BIF 340 als auch die MACs dafür verantwortlich, ein bestimmtes Protokoll (z.B. jeweils PCI und Ethernet) für die Kommunikation über ein physikalisches Medium mit Bauelementen außerhalb des Vermittlungsstellenelementes 100 zu handhaben. Ebenso entspricht der HTP 350 einem IPP eines Netzwerkschnittstellenports. Sowohl der HTP 350 als auch das IPP sind für die Pufferung von eingehenden Paketen, die Anforderung von Weiterleitungsentscheidungen von der Vermittlungsstellenstruktur 210 und die Übertragung von eingehenden Paketen zu (einem) geeigneten Ausgangsports) verantwortlich. Schließlich entspricht der HRP 360 einem OPP eines Netzwerkschnittstellenports. Sowohl der HRP 360 als auch das OPP sind für das Abrufen abgehender Pakete vom Gemeinschaftsspeicher 230, für das Übertragen von abgehenden Paketen und die Avisierung des Gemeinschaftsspeichermanagers 220 verantwortlich, wenn Paketpufferzeiger freigegeben werden können. Diese neuartige CPU-Schnittstellenarchitektur lässt es zu, dass der CPU-Port von den anderen Vermittlungsstellenelementkomponenten so behandelt wird, als handle es sich einfach um einen anderen Netzwerkschnittstellenport.
  • Ein weiteres Merkmal der CPU-Schnittstelle 215 ist die Verfügbarkeit von zwei Weiterleitungsbetriebsarten für von der CPU stammende Pakete. In einer Ausgestaltung ist die CPU-Schnittstelle 215 so konfiguriert, dass sie in einer von zwei Weiterleitungsbetriebsarten mit Bezug auf ein bestimmtes Paket auf der Basis der von der CPU bereitgestellten Paketsteuerinformationen arbeitet. In der ersten Betriebsart, dem Vermittlungsstellenmodus, fordert die CPU-Schnittstelle 215 Weiterleitungsentscheidungen von der Vermittlungsstellenstruktur 210 an, und in der zweiten Betriebsart, dem gerichteten Modus, wird der Vermittlungsstellenstruktur-Header-Abgleich umgangen, so dass das Paket direkt zu einem oder mehreren vorgegebenen Ports übertragen werden kann.
  • Da die Vermittlungsstellenstruktur 210 und der Gemeinschaftsspeichermanager 220 mit der CPU-Schnittstelle 215 im Allgemeinen so interagieren, als handle es sich um eine andere Netzwerkschnittstelle, ist der Vermittlungsstellenmodus für die von der CPU stammenden Pakete parallel zu der Paketweiterleitung, die an der Netzwerkschnittstelle 205 und der Kaskadenschnittstelle 225 stattfindet. Man wird verstehen, dass das innovative Design und die Behandlung der CPU-Schnittstelle 215 eine effiziente Implementation des neuartigen Vermittlungsstellenmodus für von der CPU stammende Pakete ergeben.
  • Nun mit Bezug auf den gerichteten Modus, die CPU-Schnittstelle 215 leitet von der CPU stammende Pakete auf der Basis von Steuerinformationen weiter, die die von der CPU stammenden Pakete begleiten. Steuerinformationen können Informationen über das Paket beinhalten, um die Paketverarbeitung durch das Vermittlungsstellenelement 100 zu erleichtern. So kann beispielsweise in einer Ausgestaltung ein Gerichteter-Modus-Flag in den Steuerinformationen gesetzt werden, um anzuzeigen, dass das Paket zu einem oder mehreren vorgegebenen Ausgangsports anstatt mit Bezug auf eine Weiterleitungsentscheidung von der Vermittlungsstellenstruktur 210 übertragen werden soll. In diesem Fall werden der typische Paket-Header-Abgleich und die Weiterleitungsdatenbanksuche umgangen, und das Paket wird zu dem/den vorgegebenen Ausgangsport(s) übertragen. Es ist klar, dass auch andere Flags und Steuerinformationen in die Steuerinformationen eingebaut werden können.
  • GEMEINSCHAFTSSPEICHERMANAGER
  • Gemäß der vorliegenden Ausgestaltung hat der Gemeinschaftsspeichermanager 220 eine gepufferte Architektur, die einen gemeinsamen Paketspeicherpool und ein dynamisches Pufferzuweisungsschema nutzt. Frühere Eingangsportpufferungs- und Ausgangspufferungs-Paketpufferungsschemata haben typischerweise einen statischen Speicherteil in Verbindung mit jedem Port, der zu einer ineffizienten Speicherzuweisung und Pufferung führt, die sich nicht auf die tatsächliche Verkehrsmenge durch einen bestimmten Port bezieht. Im Gegensatz dazu ist das von der vorliegenden Erfindung ermöglichte Speichermanagement so ausgelegt, dass eine effiziente Zuweisung von Pro-Port-Pufferung erzielt wird, die zur Verkehrsmenge durch einen bestimmten Port proportional ist.
  • Der Gemeinschaftsspeichermanager 220 stellt eine effiziente zentralisierte Schnittstelle zum Gemeinschaftsspeicher 230 zum Puffern von eingehenden Paketen bereit. Der Gemeinschaftsspeicher 230 ist ein Pool von Puffern, die für eine vorübergehende Speicherung von Paketdaten auf ihrem Weg von einer eingehenden Schnittstelle (z.B. IPP 310-314 oder HTP 350) zu einer oder mehreren abgehenden Schnittstellen (z.B. OPP 315-319 oder HTP 360) verwendet werden. Im Wesentlichen dient der Gemeinschaftsspeicher als Elastizitätspuffer zum Anpassen von Eingangs- und Abgangsbandbreitenanforderungen.
  • Gemäß der vorliegenden Ausgestaltung beinhaltet der Gemeinschaftsspeichermanager 220 einen Puffermanager 325. Der Puffermanager 325 erzeugt ein Maß an Indirektion, das von den Ein- und Ausgangsports durch Einreihen von Paketzeigern anstatt der Paketdaten selbst in eine Warteschlange genutzt wird. Somit passt die von der vorliegenden Erfindung bereitgestellte Pufferung nicht in die früheren Pufferungskategorien wie Eingangspaketpufferung oder Ausgangspaketpufferung. Stattdessen lässt sich die hierin beschriebene Pufferung am besten als Gemeinschaftsspeicherpufferung mit Ausgangswarteschlangenbildung beschreiben. Da Zeiger an den Ports in eine Warteschlange eingereiht werden, wird das Switching gemäß der vorliegenden Erfindung vorteilhafterweise auf die Übertragung eines Paketzeigers zwischen einem Eingangsport zu einer spezifischen Warteschlange von einem oder mehreren Ausgangsports reduziert.
  • Jeder Puffer im Gemeinschaftsspeicher 230 kann sich zu verschiedenen Zeitpunkten im Besitz von einem oder mehreren verschiedenen Ports befinden. So können sich beispielsweise Kopien eines Multicast-Paket-Pufferzeigers in mehreren Ausgangsport-Warteschlangen befinden. In der veranschaulichten Ausgestaltung beinhaltet der Gemeinschaftsspeichermanager 220 auch einen Zeiger-Arbeitsspeicher (PRAM) 320, der mit dem Puffermanager 325 gekoppelt ist. Der Zeiger-RAM 320 ist eine chipinterne Zeigertabelle, die Gebrauchszahlen für Seiten (Puffer) des Gemeinschaftsspeichers 230 speichert. Auf diese Weise kennt der Puffermanager 325 die Zahl der Pufferbesitzer zu einem bestimmten Zeitpunkt. Dies erlaubt es dem Puffermanager 325, eine dynamische Zuweisungsaufhebung von Puffern nach der Freigabe durch den letzten Ausgangsport durchzuführen.
  • Der Pufferspeicher-Controller 330 stellt eine zentralisierte Schnittstelle zu den Ein- und Ausgangsports jeweils zum Speichern und Abrufen von Paketdaten zu/von dem Gemeinschaftsspeicher 230 bereit. Gemäß einer Ausgestaltung wird der Pufferspeicher-Controller 330 wie im US-Patent Nr. 6119196 (äquivalent mit EP 98931494.3 ) mit dem Titel „Method and Apparatus for Arbitrating Access to a Shared Memory by Network Ports Operating at Different Data Rates" offenbart, das am 30. Juni 1997 unter der Attorney-Docket-Nr. 082225.P2501 eingereicht wurde, und wie im US-Patent Nr. 6052738 (äquivalent mit EP 98934172.2 ) unter dem Titel „Method and Apparatus in a Packet Routing Switch for Controlling Access at Different Data Rates to a Shared Memory" offenbart implementiert, das am 30. Juni 1997 unter der Attorney-Docket-Nr. 082225.P2367 eingereicht wurde, deren Inhalte hiermit durch Bezugnahme eingeschlossen sind.
  • Somit wurde eine gepufferte Architektur beschrieben, die eine vorübergehende Speicherung von empfangenen Paketen in einem gemeinsamen Paketspeicherpool bereitstellt und eine effiziente Zuweisung von Pro-Port-Pufferung ermöglicht, die für die Verkehrsmenge durch einen bestimmten Port proportional ist.

Claims (6)

  1. Netzgerätebaustein für eine Vermittlungsstelle, der Folgendes umfasst: eine Netzwerkschnittstelle (205) mit einer Mehrzahl von Ports zum Senden und Empfangen von Paketen über ein Netzwerk; einen Paketpufferspeicher (230), der mit jedem Port der Netzwerkschnittstelle gekoppelt ist und als elastischer Puffer für eine Adaption zwischen eingehenden und abgehenden Bandbreitenanforderungen dient; eine Vermittlungsstellenstruktur (210), die mit der Netzwerkschnittstelle 10 gekoppelt ist, um eine Weiterleitungsentscheidung in Bezug auf ein empfangenes Paket zu fällen, wobei die Weiterleitungsentscheidung eine Liste von Ports beinhaltet, auf denen das empfangene Paket weitergeleitet werden soll; und eine Zentraleinheits- (CPU) Schnittstelle (215), die mit der Vermittlungsstellenstruktur gekoppelt ist, wobei die CPU-Schnittstelle (215) zum Empfangen von Befehlen, die von einer externen CPU (161) an die Vermittlungsstellenstruktur (210) ausgegeben wurden, sowie zum Empfangen von Paketen von dieser CPU konfiguriert ist, die durch die Netzwerkschnittstelle (205) weitergeleitet werden sollen.
  2. Netzwerkgerätebaustein nach Anspruch 1, ferner umfassend eine Kaskadenschnittstelle (225) zum Koppeln des Netzwerkgerätebausteins mit einem oder mehreren anderen Netzwerkgerätebausteinen zum Bilden einer größeren Vermittlungseinrichtung.
  3. Vermittlungsstellenelement, das Folgendes umfasst: eine Vermittlungsstellenstruktur (210), die zum Erzeugen von Weiterleitungsentscheidungen für empfangene Pakete konfiguriert ist; eine Mehrzahl von Schnittstellen zum Empfangen und Senden von Paketen, wobei die Mehrzahl von Schnittstellen mit der Vermittlungsstellenstruktur (210) zum Anfordern und Empfangen der Weiterleitungsentscheidungen gekoppelt ist, wobei die Mehrzahl von Schnittstellen eine Netzwerkschnittstelle (205) aufweist, die eine Mehrzahl von externen Ports für die Kommunikation mit Geräten auf einem Netzwerk bereitstellt; eine Kaskadenschnittstelle (225), die wenigstens zwei interne Links für eine Verbindung mit einem oder mehreren anderen Vermittlungsstellenelementen in einer Full-Mesh-Topologie bereitstellt; eine Zentraleinheits- (CPU) Schnittstelle (215) zum Übertragen von Paketen und wobei die CPU-Schnittstelle (215) zum Empfangen von Befehlen, die von der externen CPU (161) an die Vermittlungsstellenstruktur (210) ausgegeben wurden, und zum Empfangen von Paketen von der CPU (161) konfiguriert ist, die durch die Netzwerkschnittstelle weitergeleitet werden sollen; und einen Gemeinschaftsspeichermanager (220), der mit der Mehrzahl von Schnittstellen gekoppelt ist, um Puffer in einem Gemeinschaftspufferspeicher (230) für die Mehrzahl von Schnittstellen dynamisch zuzuweisen und ihre Zuweisung aufzuheben und den Status von Puffern in dem Gemeinschaftspufferspeicher (230) zu verfolgen.
  4. Verfahren zum Weiterleiten eines Pakets auf ein Netzwerk von Einrichtungen/Geräten, wobei das Verfahren die folgenden Schritte umfasst: Erzeugen eines Paketes zum Senden auf das Netzwerk von Einrichtungen/Geräten durch eine Zentraleinheit (161) einer Vermittlungsstelle; Empfangen des Paketes auf einer CPU-Schnittstelle (215) des Vermittlungsstellenelementes durch ein Vermittlungsstellenelement der Vermittlungsstelle; wobei die CPU-Schnittstelle zum Ausgeben von Befehlen an die Vermittlungsstellenstruktur als Reaktion auf die CPU der Vermittlungsstelle und zum Weiterleiten von Paketen konfiguriert ist, die von der CPU der Vermittlungsstelle empfangen wurden; und wobei dann, wenn das Paket mit einem ersten Weiterleitungsmodus assoziiert ist, die CPU-Schnittstelle eine Weiterleitungsentscheidung für das Paket von einer Vermittlungsstellenstruktur des Vermittlungsstellenelementes anfordert, wobei die CPU-Schnittstelle die Weiterleitungsentscheidung von der Vermittlungsstellenstruktur empfängt; Weiterleiten des Paketes zu den ein oder mehreren Ports des durch die Schnittstelle, wobei die ein oder mehreren Ports das Paket zu dem Netzwerk von Einrichtungen/Geräten sendet/senden.
  5. Verfahren nach Anspruch 4, wobei das Paket Steuerinformationen beinhaltet, wobei das Verfahren ferner die folgenden Schritte umfasst: Ermitteln, auf der Basis der Steuerinformationen, durch die CPU-Schnittstelle, dass das Paket mit einem zweiten Weiterleitungsmodus assoziiert ist; und Weiterleiten des Paketes durch die CPU-Schnittstelle zu einem oder mehreren Ports des durch die Steuerinformationen angezeigten Vermittlungsschaltelementes.
  6. Netzwerkgerätebaustein für eine Vermittlungsstelle, der Folgendes umfasst: eine Mehrzahl von Ports zum Empfangen und Senden von Paketen über ein Netzwerksegment; einen Gemeinschaftsspeichermanager (220), der mit jedem aus der Mehrzahl von Ports gekoppelt ist, wobei der Gemeinschaftsspeichermanager zum dynamischen Zuweisen von Puffern von einem Gemeinschaftsspeicher (230) für eine vorübergehende Speicherung von eingehenden Paketen konfiguriert ist, wobei der Gemeinschaftsspeichermanager ferner zum Freigeben von Puffern konfiguriert ist, die mit einem bestimmten Paket assoziiert sind, wenn alle Ports, zu denen das Paket weitergeleitet wurde, das Senden des Paketes abgeschlossen haben; eine Vermittlungsstellenstruktur (210), die mit jedem aus der Mehrzahl von Ports gekoppelt ist, um eine zentralisierte Schnittstelle zu einer Weiterleitungs- und Filterungsdatenbank (140) bereitzustellen, die mit der Vermittlungsstellenstruktur assoziiert ist; eine Kaskadenschnittstelle (225), die wenigstens zwei interne Ports zum Verbinden des Netzwerkgerätebausteins mit einem oder mehreren weiteren und eine Zentraleinheits- (CPU) Schnittstelle (215), die mit der Vermittlungsstellenstruktur gekoppelt ist, wobei die CPU-Schnittstelle (a) zum Ausgeben von Befehlen zu der Vermittlungsstellenstruktur als Reaktion auf eine externe CPU (161) auf der Basis von Weiterleitungsentscheidungen, die von der Vermittlungsstellenstruktur in einem ersten Weiterleitungsmodus gegeben wurden, und (b) zum Weiterleiten von Paketen mit assoziierten Steuerinformationen, die von der externen CPU empfangen wurden, zu einem oder mehreren aus der Mehrzahl von Ports gemäß Anzeige in den Steuerinformationen in einem zweiten Weiterleitungsmodus konfiguriert ist.
DE69826680T 1997-06-30 1998-06-24 Hochintegrierte mehrschichtige Vermittlungsstellenelementarchitektur Expired - Lifetime DE69826680T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/884,704 US6246680B1 (en) 1997-06-30 1997-06-30 Highly integrated multi-layer switch element architecture
US884704 1997-06-30
PCT/US1998/013199 WO1999000936A1 (en) 1997-06-30 1998-06-24 A highly integrated multi-layer switch element architecture

Publications (2)

Publication Number Publication Date
DE69826680D1 DE69826680D1 (de) 2004-11-04
DE69826680T2 true DE69826680T2 (de) 2005-10-06

Family

ID=25385191

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69826680T Expired - Lifetime DE69826680T2 (de) 1997-06-30 1998-06-24 Hochintegrierte mehrschichtige Vermittlungsstellenelementarchitektur

Country Status (6)

Country Link
US (1) US6246680B1 (de)
EP (1) EP1002397B1 (de)
JP (1) JP4053093B2 (de)
AT (1) ATE278277T1 (de)
DE (1) DE69826680T2 (de)
WO (1) WO1999000936A1 (de)

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6876653B2 (en) 1998-07-08 2005-04-05 Broadcom Corporation Fast flexible filter processor based architecture for a network device
US6430188B1 (en) * 1998-07-08 2002-08-06 Broadcom Corporation Unified table for L2, L3, L4, switching and filtering
WO2000003256A1 (en) * 1998-07-08 2000-01-20 Broadcom Corporation Network switch utilizing packet based per head-of-line blocking prevention
US7065050B1 (en) * 1998-07-08 2006-06-20 Broadcom Corporation Apparatus and method for controlling data flow in a network switch
US6570875B1 (en) * 1998-10-13 2003-05-27 Intel Corporation Automatic filtering and creation of virtual LANs among a plurality of switch ports
US6510164B1 (en) * 1998-11-16 2003-01-21 Sun Microsystems, Inc. User-level dedicated interface for IP applications in a data packet switching and load balancing system
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
KR20000054938A (ko) * 1999-02-01 2000-09-05 서평원 이더넷 정합장치의 패킷 처리장치 및 방법
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
US6993027B1 (en) 1999-03-17 2006-01-31 Broadcom Corporation Method for sending a switch indicator to avoid out-of-ordering of frames in a network switch
US6996099B1 (en) * 1999-03-17 2006-02-07 Broadcom Corporation Network switch having a programmable counter
US6707818B1 (en) * 1999-03-17 2004-03-16 Broadcom Corporation Network switch memory interface configuration
US7643481B2 (en) * 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
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
US6553027B1 (en) * 1999-05-21 2003-04-22 Advanced Micro Devices, Inc. Apparatus and method for cascading multiple network switch devices
US7031305B1 (en) * 1999-05-24 2006-04-18 Advanced Micro Devices, Inc. Apparatus and method for programmable memory access slot assignment
AU5737300A (en) * 1999-06-30 2001-01-31 Broadcom Corporation Network switch enhancements
US7315552B2 (en) 1999-06-30 2008-01-01 Broadcom Corporation Frame forwarding in a switch fabric
US6859454B1 (en) 1999-06-30 2005-02-22 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double data rate switching
US7295552B1 (en) * 1999-06-30 2007-11-13 Broadcom Corporation Cluster switching architecture
US6697359B1 (en) * 1999-07-02 2004-02-24 Ancor Communications, Inc. High performance switch fabric element and switch systems
US6934906B1 (en) 1999-07-08 2005-08-23 At&T Corp. Methods and apparatus for integrating external applications into an MPEG-4 scene
WO2001008360A1 (en) * 1999-07-21 2001-02-01 Broadcom Corporation Unified table for l2, l3, l4, switching and filtering
ATE372630T1 (de) * 1999-08-20 2007-09-15 Broadcom Corp Architektur zur gruppenbasierten vermittlung
WO2001019040A1 (en) 1999-09-03 2001-03-15 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
US6741591B1 (en) * 1999-11-03 2004-05-25 Cisco Technology, Inc. Search engine interface system and method
US7539134B1 (en) 1999-11-16 2009-05-26 Broadcom Corporation High speed flow control methodology
AU1580301A (en) 1999-11-16 2001-05-30 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double datarate switching
AU1754801A (en) 1999-11-18 2001-05-30 Broadcom Corporation Table lookup mechanism for address resolution in a packet network switch
AU2066201A (en) 1999-12-07 2001-06-18 Broadcom Corporation Mirroring in a stacked network switch configuration
US6826182B1 (en) * 1999-12-10 2004-11-30 Nortel Networks Limited And-or multi-cast message routing method for high performance fault-tolerant message replication
US6760341B1 (en) * 2000-02-24 2004-07-06 Advanced Micro Devices, Inc. Segmention of buffer memories for shared frame data storage among multiple network switch modules
US7009973B2 (en) 2000-02-28 2006-03-07 Broadcom Corporation Switch using a segmented ring
US6678678B2 (en) 2000-03-09 2004-01-13 Braodcom Corporation Method and apparatus for high speed table search
DE10016236C2 (de) * 2000-03-31 2003-12-24 Infineon Technologies Ag Modular aufgebauter Server
US6654811B1 (en) * 2000-04-13 2003-11-25 Nokia Inc. Backpressure arrangement in client-server environment
US7103053B2 (en) * 2000-05-03 2006-09-05 Broadcom Corporation Gigabit switch on chip architecture
DE60120684T2 (de) * 2000-05-03 2007-06-14 Broadcom Corp., Irvine Architektur für eingebaute Gigabitvermittlung
US6826561B2 (en) 2000-05-22 2004-11-30 Broadcom Corporation Method and apparatus for performing a binary search on an expanded tree
US7020139B2 (en) 2000-06-09 2006-03-28 Broadcom Corporation Trunking and mirroring across stacked gigabit switches
US6535510B2 (en) 2000-06-19 2003-03-18 Broadcom Corporation Switch fabric with path redundancy
US7126947B2 (en) 2000-06-23 2006-10-24 Broadcom Corporation Switch having external address resolution interface
US6999455B2 (en) 2000-07-25 2006-02-14 Broadcom Corporation Hardware assist for address learning
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
US7082267B1 (en) 2000-08-25 2006-07-25 R& Dm Foundation Shared multi-channel parallel optical interface
US7099590B2 (en) 2000-08-25 2006-08-29 R&Dm Foundation Filtering technique for free space interconnects
US7227862B2 (en) 2000-09-20 2007-06-05 Broadcom Corporation Network switch having port blocking capability
US7020166B2 (en) 2000-10-03 2006-03-28 Broadcom Corporation Switch transferring data using data encapsulation and decapsulation
US6988177B2 (en) 2000-10-03 2006-01-17 Broadcom Corporation Switch memory management using a linked list structure
US6851000B2 (en) 2000-10-03 2005-02-01 Broadcom Corporation Switch having flow control management
US7120155B2 (en) 2000-10-03 2006-10-10 Broadcom Corporation Switch having virtual shared memory
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
US7424012B2 (en) 2000-11-14 2008-09-09 Broadcom Corporation Linked network switch configuration
US7035286B2 (en) 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
US7035255B2 (en) 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
US6850542B2 (en) 2000-11-14 2005-02-01 Broadcom Corporation Linked network switch configuration
US20020085497A1 (en) * 2000-12-28 2002-07-04 Phillips Robert C. Non-volatile data storage to cell-based switch fabric interface
US6452700B1 (en) 2001-01-11 2002-09-17 R&Dm Foundation Computer backplane employing free space optical interconnect
US6990101B1 (en) * 2001-03-23 2006-01-24 Advanced Micro Devices, Inc. System and method for performing layer 3 switching in a network device
US6728213B1 (en) * 2001-03-23 2004-04-27 Advanced Micro Devices, Inc. Selective admission control in a network device
EP1253790B1 (de) * 2001-04-24 2007-03-07 Siemens Aktiengesellschaft Vermittlungseinrichtung und zentrale Vermittlungssteuerung mit internem Breitbandbus
US6853812B2 (en) 2001-05-09 2005-02-08 Robert Mays, Jr. Polarized-holographic filtering providing improved extinction ratio
JP3897994B2 (ja) * 2001-05-31 2007-03-28 富士通株式会社 スイッチ装置およびデータ転送システム
US20020191254A1 (en) * 2001-06-19 2002-12-19 Robert Mays Network routing employing free-space optical broadcasting
US20020191598A1 (en) * 2001-06-19 2002-12-19 Robert Mays Network switch employing free-space optical switching technique
US7355970B2 (en) 2001-10-05 2008-04-08 Broadcom Corporation Method and apparatus for enabling access on a network switch
US7426572B1 (en) * 2001-10-31 2008-09-16 Juniper Networks, Inc. Network router using embedded and external memory based on packet destination
US6928588B2 (en) * 2001-12-31 2005-08-09 Broadcom Corporation System and method of improving memory yield in frame buffer memory using failing memory location
US6934787B2 (en) 2002-02-22 2005-08-23 Broadcom Corporation Adaptable switch architecture that is independent of media types
US7161948B2 (en) 2002-03-15 2007-01-09 Broadcom Corporation High speed protocol for interconnecting modular network devices
US6816918B2 (en) 2002-04-10 2004-11-09 Broadcom Corporation Flexible apparatus for setting configurations using an EEPROM
US6738833B2 (en) 2002-04-10 2004-05-18 Broadcom Corporation Network device having a flexible EEPROM for setting configuration settings
US7636320B1 (en) * 2002-06-28 2009-12-22 At&T Intellectual Property I, L.P. System and method for creating an asynchronous transfer mode port mirror
US7200148B1 (en) * 2002-06-28 2007-04-03 Bellsouth Intellectual Property Corp. System and method for analyzing asynchronous transfer mode communications
US7391739B1 (en) 2002-06-28 2008-06-24 At&T Delaware Intellectual Property, Inc. System and method for creating a frame relay port mirror
US6895481B1 (en) 2002-07-03 2005-05-17 Cisco Technology, Inc. System and method for decrementing a reference count in a multicast environment
US7152107B2 (en) * 2002-08-07 2006-12-19 Hewlett-Packard Development Company, L.P. Information sharing device
US8064471B2 (en) * 2002-09-06 2011-11-22 Lantiq Deutschland Gmbh Configurable fast ethernet and gigabit ethernet data port
US7260095B1 (en) * 2002-12-17 2007-08-21 Raza Microelectronics, Inc. Technique for deallocation of memory in a multicasting environment
US20050018693A1 (en) * 2003-06-27 2005-01-27 Broadcom Corporation Fast filtering processor for a highly integrated network device
EP1507368A1 (de) * 2003-08-13 2005-02-16 Alcatel Hochgeschwindigkeits Pipelinearchitektur mit hoher Aktualisierungrate der zugeordneten Speicher
US7339900B2 (en) * 2003-09-26 2008-03-04 Sun Microsystem, Inc. Method and apparatus for preventing spanning tree loops during traffic overload conditions
US20070268901A1 (en) * 2003-12-17 2007-11-22 Paolo Narvaez Technique For Deallocation of Memory In A Multicasting Environment
US7554997B1 (en) * 2004-11-17 2009-06-30 Adtran, Inc. Integrated router switch-based port-mirroring mechanism for monitoring LAN-to-WAN and WAN-to-LAN traffic
US8320240B2 (en) 2004-11-30 2012-11-27 Broadcom Corporation Rate limiting and minimum and maximum shaping in a network device
US20060187948A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Layer two and layer three virtual private network support in a network device
US20060187832A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Filter based range check in a network device
US20060187923A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Dynamic filter processor key generation based on packet type
US7983291B2 (en) 2005-02-18 2011-07-19 Broadcom Corporation Flexible packet modification engine for a network device
US8228932B2 (en) * 2005-02-18 2012-07-24 Broadcom Corporation Layout architecture for expandable network device
US20060187924A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Ingress handling of data in a network device
US20060187965A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Creating an IP checksum in a pipeline architecture with packet modification
US20060187936A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Table searching techniques in a network device
US20060203824A1 (en) * 2005-02-18 2006-09-14 Song-Huo Yu Passing values through a memory management unit of a network device
US7415035B1 (en) 2005-04-04 2008-08-19 Sun Microsystems, Inc. Device driver access method into a virtualized network interface
US7987306B2 (en) * 2005-04-04 2011-07-26 Oracle America, Inc. Hiding system latencies in a throughput networking system
US7865624B1 (en) 2005-04-04 2011-01-04 Oracle America, Inc. Lookup mechanism based on link layer semantics
US7779164B2 (en) * 2005-04-04 2010-08-17 Oracle America, Inc. Asymmetrical data processing partition
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
US7529245B1 (en) 2005-04-04 2009-05-05 Sun Microsystems, Inc. Reorder mechanism for use in a relaxed order input/output system
US7443878B2 (en) * 2005-04-04 2008-10-28 Sun Microsystems, Inc. System for scaling by parallelizing network workload
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
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
US7353360B1 (en) 2005-04-05 2008-04-01 Sun Microsystems, Inc. Method for maximizing page locality
US7664127B1 (en) 2005-04-05 2010-02-16 Sun Microsystems, Inc. Method for resolving mutex contention in a network system
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
US8762595B1 (en) 2005-04-05 2014-06-24 Oracle America, Inc. Method for sharing interfaces among multiple domain environments with enhanced hooks for exclusiveness
US7643495B2 (en) * 2005-04-18 2010-01-05 Cisco Technology, Inc. PCI express switch with encryption and queues for performance enhancement
JP4770279B2 (ja) * 2005-06-10 2011-09-14 日本電気株式会社 帯域制御装置、帯域制御方法、帯域制御プログラム及び帯域制御システム
US7869411B2 (en) * 2005-11-21 2011-01-11 Broadcom Corporation Compact packet operation device and method
CA2562634A1 (en) * 2005-11-28 2007-05-28 Tundra Semiconductor Corporation Method and switch for broadcasting packets
US20070147404A1 (en) * 2005-12-27 2007-06-28 Lucent Technologies, Inc. Method and apparatus for policing connections using a leaky bucket algorithm with token bucket queuing
US7908412B2 (en) * 2006-05-10 2011-03-15 Microsoft Corporation Buffer passing mechanisms
US8527674B2 (en) * 2007-03-08 2013-09-03 Lantiq Deutschland Gmbh Data packet switching
JP4516999B2 (ja) * 2008-03-28 2010-08-04 富士通株式会社 データ通信制御装置、データ通信制御方法およびそのためのプログラム
US8842523B2 (en) 2012-09-27 2014-09-23 International Business Machines Corporation Fencing off switch domains
US9282036B2 (en) 2013-02-20 2016-03-08 International Business Machines Corporation Directed route load/store packets for distributed switch initialization
US9276760B2 (en) 2013-03-15 2016-03-01 International Business Machines Corporation Directed route load/store packets for distributed switch initialization
US9118582B1 (en) 2014-12-10 2015-08-25 Iboss, Inc. Network traffic management using port number redirection
US9954771B1 (en) * 2015-01-30 2018-04-24 Marvell Israel (M.I.S.L) Ltd. Packet distribution with prefetch in a parallel processing network device
US10374872B2 (en) 2016-05-24 2019-08-06 Apstra, Inc. Configuring system resources for different reference architectures
US10601723B2 (en) * 2018-04-12 2020-03-24 Advanced Micro Devices, Inc. Bandwidth matched scheduler
US11294678B2 (en) 2018-05-29 2022-04-05 Advanced Micro Devices, Inc. Scheduler queue assignment
US11334384B2 (en) 2019-12-10 2022-05-17 Advanced Micro Devices, Inc. Scheduler queue assignment burst mode
US11948000B2 (en) 2020-10-27 2024-04-02 Advanced Micro Devices, Inc. Gang scheduling for low-latency task synchronization

Family Cites Families (146)

* 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
US5524212A (en) * 1992-04-27 1996-06-04 University Of Washington Multiprocessor system with write generate method for updating cache
US5343471A (en) 1992-05-11 1994-08-30 Hughes Aircraft Company Address filter for a transparent bridge interconnecting local area networks
US5432907A (en) 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
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
US5305311A (en) 1992-05-20 1994-04-19 Xerox Corporation Copy network providing multicast capabilities in a broadband ISDN fast packet switch suitable for use in a local area network
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
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
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US5422838A (en) 1993-10-25 1995-06-06 At&T Corp. Content-addressable memory with programmable field masking
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
US5493564A (en) 1994-03-25 1996-02-20 Sprint International Communications Corp. Method and apparatus for global routing of electronic messages
US5459717A (en) 1994-03-25 1995-10-17 Sprint International Communications Corporation Method and apparatus for routing messagers in an electronic messaging system
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
US5553070A (en) 1994-09-13 1996-09-03 Riley; Robert E. Data link module for time division multiplexing control systems
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
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
US5563878A (en) 1995-01-05 1996-10-08 International Business Machines Corporation Transaction message routing in digital communication networks
US5630059A (en) 1995-02-06 1997-05-13 International Business Machines Corporation Expedited message transfer in a multi-nodal data processing system
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
US5566067A (en) 1995-03-23 1996-10-15 The President And Fellows Of Harvard College Eyelid vigilance detector system
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
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
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
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
US5751971A (en) 1995-07-12 1998-05-12 Cabletron Systems, Inc. Internet protocol (IP) work group routing
US5651002A (en) 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
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
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
US5742604A (en) 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US5740171A (en) 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US5764636A (en) 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
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
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
US5831980A (en) * 1996-09-13 1998-11-03 Lsi Logic Corporation Shared memory fabric architecture for very high speed ATM switches
US5835491A (en) * 1996-11-21 1998-11-10 Xerox Corporation Method for supporting multicast capabilities in switching networks with a reservation ring
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
DE69826680D1 (de) 2004-11-04
WO1999000936A1 (en) 1999-01-07
ATE278277T1 (de) 2004-10-15
EP1002397A4 (de) 2000-06-14
JP2002510450A (ja) 2002-04-02
EP1002397B1 (de) 2004-09-29
JP4053093B2 (ja) 2008-02-27
EP1002397A1 (de) 2000-05-24
US6246680B1 (en) 2001-06-12

Similar Documents

Publication Publication Date Title
DE69826680T2 (de) Hochintegrierte mehrschichtige Vermittlungsstellenelementarchitektur
DE69834122T2 (de) Verbindingsunterstützung in einer hochleistungsnetzwerkvorrichtung
DE69837272T2 (de) Mechanismus zum ersetzen eines paketfelds in einem mehrschicht-vermittlungsnetzelement
DE69836684T2 (de) Unterstützung von vollständigen bäumen in hochleistungsnetzwerkgeräten
DE602005006070T2 (de) Interner Lastausgleich in einem Datenschalter mit verteiltem Netzwerkprozess
DE69917555T2 (de) Vermittlungseinrichtung mit mehrstufiger Warteschlangeschema
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE69937598T2 (de) Auf Identifikationsmarken basierendes Paketvermittlungssystem
DE69434330T2 (de) Übertragungsvorrichtgung und verfahren
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE60309947T2 (de) Hochgeschwindigkeitsprotokoll für die Verbindung von modularen Netzwerkelementen
DE60201682T2 (de) Anordnung zur erzeugung mehrerer virtueller warteschlangenpaare aus einer komprimierten warteschlange auf der basis gemeinsamer attribute
DE60120790T2 (de) Methode und gerät zum durchsuchen von tabellen in hoher geschwindigkeit
DE69628631T2 (de) Dateneingangs/-ausgangsvorrichtung durch Referenzierung zwischen zentralen Verarbeitungseinheiten und Ein-/Ausgabevorrichtungen
DE60034500T2 (de) Datenübermittlungssystem mit verteilter Mehrfachsendung
DE60221030T2 (de) Verfahren, einrichtung und rechnerprogramm für die entkapselung und verkapselung von paketen mit mehreren kopffeldern
DE602005003142T2 (de) Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung
DE102015102871A1 (de) Technologien für verteilten Leitweglenkungstabellennachschlag
DE19929516B4 (de) Hochgeschwindigkeits-Netzwerkschalter
DE60214386T2 (de) Busprotokoll
EP0447841A2 (de) Verfahren zum Einrichten von virtuellen Verbindungen in nach einem asynchronen Transfermodus arbeitenden Vermittlungseinrichtungen
DE60112011T2 (de) Verfahren und Vorrichtung zum Filtern von Paketen basierend auf Datenströme unter Verwendung von Addressentabellen
DE60215416T2 (de) Zeigerbasierte binäre Suchmaschine und dafür geeignetes Verfahren
DE69534171T2 (de) Verfahren und Vorrichtung für verbesserten Durchfluss in einem Vielfachknoten-Kommunikationssystem mit einem gemeinsamen Betriebsmittel
DE60014178T2 (de) Vorrichtung und verfahren zur speicherteilung in einer konfiguration mit einzelring-datenbusverbindung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition