DE60131380T2 - Segmentierung und wiederzusammensetzung von datenrahmen - Google Patents

Segmentierung und wiederzusammensetzung von datenrahmen Download PDF

Info

Publication number
DE60131380T2
DE60131380T2 DE60131380T DE60131380T DE60131380T2 DE 60131380 T2 DE60131380 T2 DE 60131380T2 DE 60131380 T DE60131380 T DE 60131380T DE 60131380 T DE60131380 T DE 60131380T DE 60131380 T2 DE60131380 T2 DE 60131380T2
Authority
DE
Germany
Prior art keywords
data
received
cell
ordered
output port
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
DE60131380T
Other languages
English (en)
Other versions
DE60131380D1 (de
Inventor
Robert M. Poway GROW
Fazil I. Escondido OSMAN
Vitek San Diego ZABA
Robert J. Tucson PEYSER
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE60131380D1 publication Critical patent/DE60131380D1/de
Application granted granted Critical
Publication of DE60131380T2 publication Critical patent/DE60131380T2/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/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1576Crossbar or matrix
    • 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/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/106ATM switching elements using space switching, e.g. crossbar or matrix
    • 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/3045Virtual queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/608ATM switches adapted to switch variable length packets, e.g. IP packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/568Load balancing, smoothing or shaping
    • 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/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Massaging Devices (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Steering Controls (AREA)
  • Television Signal Processing For Recording (AREA)
  • Investigation Of Foundation Soil And Reinforcement Of Foundation Soil By Compacting Or Drainage (AREA)
  • Auxiliary Devices For Music (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • ERFINDUNGSGEBIET
  • Hierin beschriebene Ausführungsformen richten sich auf Datennetzwerke. Insbesondere betreffen hierin beschriebene Ausführungsformen das Senden von Daten von mehreren Datenquellen zu mehreren Zielen.
  • VERWANDTE TECHNIK
  • Die höhere Geschwindigkeit und das größere Volumen von Direktzugriffsspeichern (Random Access Memories, RAM) zwischen Knoten in Datenkommunikationsnetzwerken haben die Geschwindigkeit, mit der lokale Gebietsnetzwerke (LAN) und breite Gebietsnetzwerke (WAN) Daten zwischen zwei gegebenen Stellen in einem Netzwerk senden, potenziell erhöht. Diese Netzwerke enthalten in der Regel Schalter oder Brücken, die einen oder mehrere Eingangsports zum Empfangen paketierter Daten von Quellen und einen oder mehrere Ausgangsports zum Senden von an den Eingangsports empfangenen Daten an physische Ziele in dem Netzwerk enthalten.
  • Datenschalter setzen in der Regel Schaltstrukturen ein, die die Eingangsports an die Ausgangsports koppeln. An den Eingangsports empfangene Datenrahmen werden in der Regel temporär in einem RAM an der Schaltstruktur gespeichert, bevor sie an den mit einem gewünschten Ziel verbundenen Ausgangsport gesendet werden. In einer Art von Schaltern mit großer Kapazität werden Datenrahmen in der Regel an Eingangsports empfangen, in kleinere Datenzellen segmentiert und dann an den Zielausgangsport gesendet. Hier verwaltet eine zentralisierte Vermittlungslogik die Segmentation, die Sendung und das Wiederzusammensetzen der Datenrahmen zur Sendung von den empfangenen Eingangsports zu den Zielausgangsports. Leider wird diese zentralisierte Vermittlungslogik zunehmend komplex, da die Größe (d. h. die Anzahl von Ports) der Schaltstruktur zunimmt. Außerdem verringert eine solche zentralisierte Vermittlungslogik in der Regel die Leistung der Schaltstruktur, wenn die Anzahl von Ports groß wird.
  • Datenschalter haben in der Regel Kreuzschienen zum Verbinden mehrerer Ports eingesetzt, wobei jeder Eingangsport mit jedem der Ausgangsports gekoppelt ist. Integrierte Schaltungsimplementationen solcher Kreuzschienenschaltungen sind in der Regel für eine Satzanzahl von Ports ausgerichtet. Aktuelle Kreuzschienenarchitekturen erfordern in der Regel eine geometrische Erhöhung der Anzahl integrierter Schaltungen, um die Anzahl von Eingangsports über die Größe eines einzigen Kreuzschienenchips hinaus zu erhöhen. Dementsprechend besteht ein Bedarf an einer Schaltstrukturarchitektur, die so bemessen werden kann, dass sie zusätzliche Anzahlen von Eingangs- und Ausgangsports aufnehmen kann, ohne die entsprechende geometrische Anzahl von integrierten Schaltungen, die zum Senden von Datenrahmen von den Eingangsports zu den Ausgangsports erforderlich sind, zu erhöhen.
  • In der Europäischen Patentanmeldung EP 0987918 wird ein Verfahren zum Erzeugen und Prüfen eines Prüffelds offenbart, das an Zellen oder Pakete in einem Datenkommunikationsnetzwerk angehängt werden soll, um zu bestätigen, dass der Zelleninhalt nicht verändert wurde, dass die Zellenlieferreihenfolge eingehalten wird, dass alle Zellen empfangen werden und keine wiederholte oder fälschlich eingefügte Zelle gefunden wird.
  • KURZE BESCHREIBUNG DER FIGUREN
  • 1 zeigt die Topologie eines Datenschalters, der eine Schaltstruktur gemäß einer Ausführungsform der vorliegenden Erfindung einsetzt;
  • 2 zeigt eine schematische Zeichnung, die eine Schaltstruktur gemäß einer Ausführungsform der in 1 gezeigten Schaltstruktur darstellt;
  • 3 zeigt die Komponenten eines einzigen Eingangsports und eines einzigen Ausgangsports, die durch Abschnitte einer Kreuzschiene gemäß einer Ausführungsform der Schaltstruktur aus 2 gekoppelt sind;
  • 4a und 4b zeigen die Kompositionen einer Datenzelle gemäß der Ausführungsform aus 3;
  • 5 zeigt eine Schaltstrukturtopologie, die eine Verbindung jedes Kreuzschienenabschnitts mit jedem Eingangsport und Ausgangsport der in 2 gezeigten Schaltstruktur zeigt;
  • 6 zeigt eine Ausführungsform eines Kreuzschienenabschnitts der Schaltstruktur aus 2, die Zellenpuffer zum Führen einer Schlange für jeden zugeordneten Ausgangsport verwendet;
  • 7 zeigt den Strom von Steuersignalen über Datenbusse, die Elemente einer Ausführungsform der in 1 gezeigten Schaltstruktur verwenden;
  • 8 zeigt eine Logik an den Eingangsports zum Einteilen der Sendung von den Datenzellen an Kreuzschienenabschnitte.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Erfindung richten sich auf ein System und ein Verfahren zum Senden von Datenrahmen zwischen einer Vielzahl von Eingangsports und einer Vielzahl von Ausgangsports. Die Eingangsports segmentieren Abschnitte der empfangenen Datenrahmen, um kleinere Datenzellen bereitzustellen, die einzeln über eine logische Kreuzschiene an einen mit einem Ziel der segmentierten Datenrahmen verbundenen Ausgangsport gesendet werden. Basierend auf Informationen, die in den Datenzellen enthalten sind, welche an dem Ausgangsport empfangen werden, bestimmt der Ausgangsport die Reihenfolgenposition der empfangenen Datenzellen in dem segmentierten Datenrahmen und setzt den Datenrahmen, der an dem Eingangsport segmentiert worden ist, wieder zusammen. Der Ausgangsport leitet den wiederzusammengesetzten Rahmen dann an das zugeordnete Ziel weiter.
  • 1 zeigt einen Datenschalter 7 zum Senden von Datenpaketen zwischen MAC-Vorrichtungen MAC0 bis MACn+2. Jede MAC-Vorrichtung ist mit einem Eingangsport 2 und einem Ausgangsport 4 verbunden. Jede MAC-Vorrichtung empfängt Datenpakete mit einem Ziel, welches mit einer der anderen MAC-Vorrichtungen verbunden ist. Die MAC-Vorrichtungen leiten Datenrahmen (basierend auf den empfangenen Datenpaketen) an einen entsprechenden Eingangsport weiter. Der Eingangsport 2 sendet die Datenrahmen dann über eine Kreuzschiene 6 an einen Ausgangsport 4, der der MAC-Vorrichtung entspricht, die mit dem Ziel des Datenrahmens verbunden ist.
  • Vor dem Empfang von Datenrahmen an den Eingangsports 2 werden die Datenrahmen zunächst an einer entsprechenden Nachschlagemaschine (LUE) 9 verarbeitet. Jeder an einer LUE 9 von einer Quell-MAC-Vorrichtung empfangene Datenrahmen enthält Zielinformationen, die einer oder mehrerer der anderen MAC-Vorrichtungen entsprechen. Die LUE 9 verbindet diese Zielinformationen mit einem Ausgangsport 4 und stellt Informationen, die den Ausgangsport 4 kennzeichnen, in einem Zwischendatenrahmen bereit, der an an den mit der LUE 9 gekoppelten Eingangsport 2 gesendet werden soll. Basierend auf den Informationen in dem Zwischendatenrahmen, die den Ausgangsport 4 kennzeichnen, kann der Eingangsport 2 dann die Sendung des Zwischendatenrahmens über die Kreuzschiene 6 an den Ausgangsport 4, der mit dem Ziel des an der LUE 9 empfangenen Datenrahmen verbunden ist, initiieren.
  • In der Ausführungsform von 2 empfängt jeder der Eingangsports Daten bei einer Geschwindigkeit S (z. B. 8.0 Gbps) und sendet Daten an die Kreuzschiene 6 mit einer Geschwindigkeit von zweimal S (z. B. 16.0 Gbps). Das Zwischenspeichern an der Kreuzschiene 6 unter Verwendung des Rahmens in Kombination mit der erhöhten Sendegeschwindigkeit zwischen den Eingangsports und der Kreuzschiene 6 ermöglicht, dass die Rahmen an die Ausgangsports 4 mit einer Geschwindigkeit weitergeleitet werden, die größer als die Mediengeschwindigkeit ist (d. h. die Datengeschwindigkeit, mit der Datenrahmen an den Eingangsports 2 empfangen werden).
  • 3 zeigt eine Ausführungsform des Eingangsports 2 und des Ausgangsports 4 in der Schaltstruktur aus 2. Eine entsprechende LUE 9 (1) bestimmt die Zielausgangsports 4 für jeden Datenrahmen, der an dem Eingangsport 2 empfangen wurde, und identifiziert den Ausgangsport 4 in dem Header des Datenrahmens, der an dem Eingangsport 4 empfangen wurde. Jeder Eingangsport 2 führt mindestens eine virtuelle Ausgangsschlange (VOQ) 14 in einem RAM-Zwischenspeicher für jeden Ausgangsport 4. Die Größe des RAM-Zwischenspeichers kann basierend auf der Eingangsmediengeschwindigkeit relativ zu der Aggregatdatengeschwindigkeit von einem Eingangsport 2 zu der Kreuzschiene 6 ausgewählt werden.
  • Ein Rahmenauswähler 16 wählt die über die Kreuzschiene 6 zu dem Ausgangsport 4 weiterzuleitenden Rahmen aus. Um das effiziente Weiterleiten der Rahmen zu gewährleisten, partitioniert der Rahmenauswähler 16 die Datennutzlast des empfangenen Datenrahmens und hängt jede Partitionierung an eine Headerinformation an, um eine Datenzelle 51, wie in 4a gezeigt, bereitzustellen. Die Eingangsports 2 kommunizieren mit Abschnitten 100 der Kreuzschiene 6, um Ausgangsstau an jedem Kreuzschienenabschnitt zu managen, wie in Bezug auf 5 und 6 gezeigt. Ein solcher Ausgangsstau kann auftreten, wenn eine Datenzelle aufgrund einer fehlenden Verfügbarkeit von Stellen in den Ausgangsschlangen 102 eines Kreuzschienenabschnitts 100 nicht an einen Ausgangsport 4 weitergeleitet werden kann.
  • 3 zeigt die Kreuzschiene 6 mit vier Kreuzschienenabschnitten. In anderen Ausführungsformen kann die Kreuzschiene 6 weniger oder mehr Abschnitte enthalten, wobei jeder Abschnitt so gekoppelt ist, dass er Daten von jedem der Eingangsports 2 empfingt, und Daten zu jedem der Ausgangsports 4 sendet, wie in 5 gezeigt. Gemäß einer Ausführungsform ist die zusammengefasste Datengeschwindigkeit auf den Strecken 1 zwischen einem Eingangsport 2 und einem Abschnitt der Kreuzschiene 6 doppelt so groß wie die Geschwindigkeit der Daten, die an dem Eingangsport 2 empfangen werden. Dieses Verbindungsnetz, das Daten von den Eingangsports 2 zu den Kreuzschienenabschnitten bei einer doppelt so hohen Geschwindigkeit sendet, wie die, mit der Daten an den Eingangsports empfangen werden, verringert den Ausgangsportstau und reduziert das Auftreten von Kopfzeilenblockierung.
  • Jeder Ausgangsport 4 enthält einen Ausgangs-RAM 19 und einen ASIC-Abschnitt. Der ASIC-Abschnitt enthält einen Rahmenzusammensetzer 18 und einen MAC-Schlangenbilder 20 zum Führen einer Rahmensendeschlange für jede MAC-Vorrichtung, die mit dem Ausgangsport 4 verbunden ist. Die Logik an dem Ausgang 4 zeigt die Verfügbarkeit von Pufferraum für den Empfang zusätzlicher Zellen von der Kreuzschiene 6 an. Die Datenzellen von der Kreuzschiene 6 werden in einer korrekten Sequenz in dem Ausgangs-RAM 19 platziert, um Rahmen neu zu konstruieren. Wenn Rahmen wieder zusammengesetzt und in dem Ausgangs-RAM 19 zwischengespeichert werden, kann der Ausgangs-MAC-Schlangenbilder 20 einen Rahmen in eine geeignete Schlange, die mit der Ziel-MAC-Vorrichtung verbunden ist, platzieren.
  • Gemäß dem IEEE-Standard 802.1 muss die Rahmenreihenfolge in einem Kontext, der mit einer spezifischen Netzwerkadresse verbunden ist, aufrechterhalten werden. Gemäß einer Ausführungsform wird ein Rahmen in einer MAC-Schlange 22 nicht hintereinandergereiht, bis alle Rahmen, die zunächst gesendet werden müssen (um die Rahmenreihenfolge aufrechtzuerhalten) hintereinandergereiht sind. Dies kann durch Ordnen der an dem Ausgangsport 4 empfangenen Datenzellen gemäß der Sequenznummer 56 in einem Feld der Datenzellen implementiert werden, wie in den unten erläuterten 4a und 4b dargestellt. Nach Empfang aller Datenzellen für den Rahmen, wie durch eine ununterbrochene Sequenz von Sequenznummern 56 für die empfangenen Sequenznummern 56 aller empfangenen Datenzellen angezeigt, wird ein Rahmen in einer MAC-Schlange 22 hintereinandergereiht, vorausgesetzt, dass keine Datenzellen einer früheren Sequenznummer 56 eines teilweise empfangenen Datenrahmens empfangen worden sind. Andere Verfahren zum Überwachen der Integrität der Datenrahmen können verwendet werden, wie Fachleuten bekannt ist.
  • 4a und 4b zeigen die Formate der Datenzellen, die von einem Datenrahmen, der an einem Eingangsport 2 empfangen wird, erstellt wurde. In der dargestellten Ausführungsform trägt eine Datenzellennutzlast 60 64 Byte Rahmenheaderinformationen zuzüglich der zugefügten LUE 9 und/oder der Ethernetrahmendaten. Die Größe der Datenzelle wird aus einer erwünschten Nutzlastgröße im Zellenheader und der Zellentrailergröße bestimmt. In den gezeigten Ausführungsformen wird dies in einer 79 Byte Zelle ausgeführt. Solche Datenzellen, die auf den Strecken getragen werden, enthalten auch einen "leeren" Trenner von 1 Byte, um eine Zellzeit von 80 Byte zu ergeben. Diese Ausführungsform stellt für Ethernetrahmen eine nicht blockierende Leitungsweiterleitungsgeschwindigkeit bereit, wenn die Datenstrecke 1 die doppelte Geschwindigkeit der Datenstrecke 7 aufweist und die Strecke 7 mindestens so schnell ist wie die zusammengefasste Datengeschwindigkeit der mit einem Vermittlungsstrukturport verbundenen MAC-Vorrichtungen. Der Eingangsport 2 erzeugt den Zellenheader mit ausreichenden Informationen zur Datenzusammensetzung an dem Zielausgangsport 4. Der Eingangsport 2 kann die Adresse des Zielausgangsports 4 verwenden, um den Rahmen entsprechend dem Zielausgangsport 4 in die korrekte VOQ 14 (3) zu platzieren, gemeinsam mit einer Prioritätsinformation, die in dem Rahmenheader enthalten ist.
  • Die Datenzelle 50 aus 4a mit einem Zielportfeld 52 zeigt ein Format einer Datenzelle 50, die von einem Eingangsport 2 zu einem Kreuzschienenabschnitt 100 gemäß einer Ausführungsform gesendet wird. Die physikalische Strecke, die diese Zelle sendet, zeigt inhärent den Quelleingangsport 2 an dem empfangenden Kreuzschienenabschnitt 100 an. Der empfangende Kreuzschienenabschnitt 100 verwendet die Zielportinformation 52, um die Zelle in eine korrekte Ausgangsschlange zu platzieren, wie unten mit Bezug auf 6 erörtert. Der empfangende Kreuzschienenabschnitt speichert Informationen, die den inhärenten Quellport identifizieren, wenn er die Zelle in dem Zwischenspeicher 102 speichert. Die Datenzelle 51 aus 4b mit einem Quellportfeld 54 anstelle eines Zielportfelds (welches aus der physikalischen Strecke, die die Datenzelle zu dem Kreuzschienenabschnitt 100 sendet, bestimmt wird) veranschaulicht ein Format einer Datenzelle 51, die von einem Kreuzschienenabschnitt 100 zu einem Ausgangsport 2 gesendet wird. Der empfangende Ausgangsport 4 verwendet die Quellportinformationen 54 und die Sequenznummer 56, um die Rahmen wieder zusammenzusetzen. Ein Fehlerprüffeld 62 wird von der Kreuzschiene 6 und dem Ausgangsport 4 verwendet, um Fehler in den Strecken in die und aus der Kreuzschiene 6 zu erfassen. Alle anderen Weiterleitungsdaten (z. B. VLAN und MAC-Adressen) können in dem Rahmenheader enthalten sein, der von der LUE 9 erzeugt wird, und auf Datenstrecke 7 zu dem Eingangsport gesendet wird.
  • In der veranschaulichten Ausführungsform führt jeder Eingangsport 2 eine Sequenznummer 56 für jeden Ausgangsport 4. Die Sequenznummerngröße ist vorzugsweise signifikant größer als die Gesamtanzahl von Zellen, die sich zu einer Zeit im Transit durch die Kreuzschiene 6 befinden. Dies ermöglicht die Verwendung eines sich bewegenden Fensters in dem Sequenznummernbereich für Fehlerdetektionsprotokolle. Die Sequenznummer 56 wird für jede nachfolgende Datenzelle, die für den verbundenen Ausgangsport 4 an die Struktur weitergeleitet wird, inkrementiert. Die Sequenznummer 56 zeigt daher eine Reihenfolgenposition der Datenzelle unter den Datenzellen an, die die partitionierte Datenrahmennutzlast bilden.
  • Wenn der Eingangsport das Weiterleiten eines Rahmens an einen Ausgangsport 4 beginnt (d. h. eine erste Anfangsdatenzelle des Rahmens sendet), schließt der Eingangsport gemäß einer Ausführungsform die Sendung des Rahmens ab (d. h. die Sendung aller Datenzellen mit einer Sequenznummer in dem Bereich von Sequenznummern, die den Datenrahmen definieren), auch wenn der Eingangsport 2 einen Rahmen höherer Priorität empfangt, der ein mit diesem Ausgangsport 4 verbundenes Ziel aufweist. Dies stellt sicher, dass die Sequenznummern in einem Rahmen durchgängig sind und dass alle Prioritätsschlangen zu dem Ausgangsport 4 dieselbe Sequenznummer verwenden können, die für die Sendung von Datenzellen von dem Eingangsport 2 zu dem Ausgangsport 4 verwendet werden. Dadurch wird auch das Neuzusammensetzen vereinfacht, indem die Anzahl von Rahmen und Zellen, die außerhalb der Reihenfolge ankommen können, reduziert wird.
  • Jeder Ausgangsport 4 sortiert weitergeleitete Datenzellen 51 basierend auf dem Feldquellenport 54 und der Sequenznummer 56 (4b). Die Sequenznummer 56 kann zum Bestimmen der Reihenfolgenposition der Datennutzlast einer weitergeleiteten Datenzelle 51 in der Datennutzlast des neu konstruierten Rahmens verwendet werden. Fachleuten bekannte Algorithmen können dann verwendet werden, um zu erkennen, ob die Rahmen vollständig sind, und um zu bestimmen, ob es unvollständige Rahmen gibt, die zuerst weitergeleitet werden müssen (die in eine MAC-Sendeschlange 22 platziert werden müssen (3)). Der Ausgangsport 4 kann ASIC-basierte Zusammensetzungspuffer verwenden, um den Empfang von Datenzellen in den Ausgangspuffer-RAM 19 mit der zusammengesetzten Geschwindigkeit der Kreuzschiene 6, durch die mit dem Ausgangsport 4 verbundenen Strecken zu unterstützen, oder in dem Rahmen 19 direkt wiederzusammenzusetzen. Jedes Verfahren profitiert von dem Verringern der Anzahl ausstehender Zellen.
  • Gemäß einer Ausführungsform können die VOQs 14 an den Eingangsports 2 und die MAC-Schlangen 22 an dem Ausgangsport 4 so angepasst werden, dass sie Prioritätsschemata unterstützen. Der Rahmenzusammensetzer 18 und der MAC-Schlangenbilder 20 an dem Ausgangsport 4 können beispielsweise Prioritätsschemata implementieren, um die Anforderungen des MAC-Protokolls und des IEEE-Standards 802.1 zu erfüllen.
  • Die Ausganglogik an den Ausgangports 4 kann jeden einer Reihe von Algorithmen implementieren, um die Priorität von Rahmen, die an eine bestimmte MAC-Vorrichtung gesendet werden sollen, zu bestimmen. Beispielsweise kann der Ausgangsport 4 eine MAC-Schlange 22 mit vier Prioritätspegeln implementieren, wobei jeder Rahmen in einer korrekten entsprechenden Reihe platziert werden kann, die mit einer der vier Prioritäten verbunden ist. Zu weiteren Schemata können Rundlauf, reine Priorität und gewichtete Zugriffsschemata gehören. Der Ausgangsport 4 kann ein Rahmenverwerfungsschema implementieren, um das Verhungern der MAC-Ausgang zu verhindern, welches aus schwerwiegenden Staubedingungen resultiert. Ein solches Verwerfungsschema kann zwischen zufälliger früher Verwerfung (RED) und gewichteter zufälliger früher Verwerfung (WRED) selektierbar sein. Gemäß einer Ausführungsform kann die Größe des Ausgangpuffers basierend auf der besonderen Datenrate physikalischer Strecken von der Kreuzschiene 6 und der Anzahl und Datenrate der mit den Eingangsports 2 und den Ausgangsports 4 verbundenen MAC-Vorrichtungen optimiert werden.
  • 5 zeigt eine Ausführungsform der Schaltstruktur enthaltend eine Satzzahl von Kreuzschienenabschnitten 100, die die Kreuzschiene 6 bilden. Eingangsports 2a2z haben eine Kommunikationsstrecke zu jedem der Kreuzschienenabschnitte 100. Analog hat jeder der Eingangsports 4a4z eine Kommunikationsstrecke zu jedem der Kreuzschienenabschnitte 100 der Kreuzschiene 6. In der dargestellten Ausführungsform sendet jede der Strecke, die einen Eingangsport 2 mit einem Kreuzschienenabschnitt koppelt oder einen Kreuzschienenabschnitt 100 mit einem Ausgangsport 4 koppelt, Daten bei einer Datengeschwindigkeit (z. B. 16,0 Gbps), die doppelt so hoch ist, wie die an dem Eingangsport 2 empfangenen Daten (z. B. 8,0 Gbps).
  • In der dargestellten Ausführungsform führt jeder der Abschnitte 100 der Kreuzschiene 6 eine Ausgangsschlange für jeden Ausgangsport 4. Diese Schlangen bilden die Strecken zu den Ausgangsports 4 eins zu eins ab. Jeder Eingangsport 2 sendet Datenzellen zu den Abschnitten 100 der Kreuzschiene unabhängig, um effizienten Betrieb und modulare Implementation zu ermöglichen. Der Verlust von einer Strecke, die einen Eingangsport 2 mit einem Kreuzschienenabschnitt 100 verbindet, verhindert beispielsweise nicht, dass der Kreuzschienenabschnitt 100 von einem anderen Eingangsport 2 verwendet wird. Analog verhindert der Verlust eines Kreuzschienenabschnitts 100 nicht, dass die Last in den Eingangsports 2 unter den verbleibenden Kreuzschienenabschnitten 100 verteilt wird. 6 zeigt die Ausgangsschlangen 102, welche in einem repräsentativen Kreuzschienenabschnitt 100 der Kreuzschiene 6, die in 5 gezeigt wird, geführt werden. Der Kreuzschienenabschnitt 100 führt Ausgangsschlangen 102a102z, wobei jede Ausgangsschlange 102 einem der Ausgangsports 4 entspricht.
  • Datenzellen werden von Eingangsports 2 zu den Kreuzschienenabschnitten 100 gesendet und von den Kreuzschienenabschnitten 100 zu den Ausgangsports 4 bei den eingestellten Zellintervallen. Bei jedem Zellintervall bestimmt jeder Eingangsport 2 unabhängig für jede Strecke zu einem Kreuzschienenabschnitt 100, welche VOQ 14, wenn überhaupt, bedient wird. Dementsprechend ist es für alle Eingangsports 2 möglich, eine Datenzelle gleichzeitig zu derselben Ausgangsschlange 102 in einem Kreuzschienenabschnitt 100 weiterzuleiten. Daher enthält jede Ausgangsschlange 102 in einem Kreuzschienenabschnitt 100 vorzugsweise die Kapazität für einen Eingangsport 2 für mindestens eine Zelle.
  • 6 zeigt den Kreuzschienenabschnitt 100, der Datenzellen von jedem der Eingangsports empfangt. In der Ausführungsform aus 6 kann jede der Ausgangsschlangen 102 bis zu einer eingestellten Anzahl von Datenzellen hintereinanderreihen. Die Anzahl von Zellenpuffern in jeder Ausgangsschlange 102 ist vorzugsweise größer als die Anzahl von Eingangsports 2. Andernfalls können die Ausgangsstrecken zu den Ausgangsports 4 nicht bei einer Maximalgeschwindigkeit angetrieben werden. Andererseits wird die Rahmenzusammensetzungslogik an dem Ausgangsport 4 zunehmend komplex, wenn die Anzahl von Zellenstellen in einer Ausgangsschlange 102 zunimmt. Daher ist die empfohlene Anzahl von Zellenstellen pro Ausgangsschlange 102 größer als die Anzahl von Eingangsports 2, aber geringer als das Doppelte der Anzahl der Eingangsports 2.
  • Eine auf einer der Eingangsstrecken von den Eingangsports 2 empfangenen Datenzellen kann in eine der Ausgangsschlagen 102 geschrieben werden. Die Logik an dem empfangenden Ende des Kreuzschienenabschnitts 100 kann ausreichend Verzögerung berücksichtigen, um den Header der eintreffenden Datenzellen zu untersuchen und zu bestimmen und die Ausgangsschlange 102 zu bestimmen, um die eingehenden Datenzellen hintereinanderzureihen. Datenzellen, die in den Ausgangsschlangen 102 warten, werden nachfolgend an die entsprechende Strecke, die dem entsprechenden Ausgangsport 4 fest zugewiesen ist, gesendet.
  • Wie oben erörtert, partitionieren die Eingangsports 2 die Datennutzlast der empfangenen Rahmen in Datenzellen, wie in dem in 4a gezeigten Format gezeigt. Die Ausgangsports 4 empfangen die Datenzellen, um den Rahmen an einem Rahmenzusammensetzer 18 wieder zusammenzusetzen (3). Datenzellen jedes bestimmten Rahmens können unter den verschiedenen Abschnitten 100 der Kreuzschiene 6 verteilt werden, bevor sie nachfolgend an die mit dem Ziel des Rahmens verbundenen Ausgangsport weitergeleitet werden. Da jeder Eingangsport unabhängig Datenzellen zu den Kreuzschienenabschnitten 100 weiterleitet, um seine Last unter den Kreuzschienenabschnitten 100 zu verteilen, ist es möglich, dass Lastmuster, die Reihenfolge der Ankunft von Datenzellen, die an dem Zielausgangsport 4 ankommen, ändern. Dies kann zum Beispiel in Situationen auftreten, wenn die momentane Last auf einem Kreuzschienenabschnitt 100 größer als die für andere Kreuzschienenabschnitte 100 ist.
  • Das Minimieren der Anzahl von Zellenpuffern in jeder Ausgangsschlange 102 in jedem Kreuzschienenabschnitt 100 reduziert die Komplexität des Rahmenzusammensetzers 18. Der Rahmenzusammensetzer 18 stellt vorzugsweise ausreichend Zellpuffer bereit, um die Datengeschwindigkeit von der Kreuzschiene 6 in den Ausgangspuffer-RAM 19 ohne Zellverlust aufrechtzuerhalten (z. B. wenn eine Rahmenverwerfung ausgeführt werden muss, wenn MAC-Vorrichtungen gestaut sind), wird bewirkt, dass der Ausgangspuffer-RAM 19 sich aufgrund der Weiterleitungsgeschwindigkeit von der Kreuzschiene nicht füllt. Wenn die Daten nur durch Schreiben von Seiten oder ähnlichen Informationsblöcken in den Ausgangspuffer-RAM 19 gefüllt werden können, kann die Zusammensetzungsimplementation den schlimmsten Fall berücksichtigen, nämlich, dass Datenzellen 51 bestimmter Rahmen außerhalb der Reihenfolge eintreffen.
  • Gemäß einer Ausführungsform können an jedem der Eingangsports 2 ankommende Rahmen Mehrfachrahmen sein, die unter allen oder einer Untergruppe der Ausgangsports 4 und der MAC-Schlangen 22 rundgesendet werden sollen. Hier sendet der empfangende Eingangsport 2 eine Kopie des Rahmens über die Kreuzschiene 6 zu jedem Ausgangsport 4. Jeder empfangende Ausgangsport 4 kann dann zusätzliche Kopien für Mehrfach-MAC-Schlangen 22, die mit dem empfangenden Ausgangsport 4 verbunden sind, machen.
  • Die Datenstrecken 7 in die Schaltstruktur und die Datenstrecken 5 aus der Schaltstruktur bedienen eine Sammlung von MAC-Adressen. Dies kann Potenzial für die Schaltstruktur aufweisen, Eigenschaften zu zeigen, die das Verhalten für individuelle MAC-Ports blockieren. Dies passiert, wenn eine der MAC-Vorrichtungen den gesamten Ausgangspuffer 19 seines Ausgangsports 4 verbrauchen kann. Dies könnte dazu führen, dass andere MAC-Vorrichtungen an den Ausgangsports 4 ihre Daten eingeschränkt haben. Dieses Problem kann vermieden werden, wenn das Puffer für eine bestimmte MAC-Schlange 22 garantiert wird. Dies kann durch Verwenden eines Rahmenverwerfungsprotokolls oder durch Reservieren von Pufferraum für jede MAC-Schlange 22 ausgeführt werden, wobei es sich um Techniken handelt, die Fachleuten bekannt sind.
  • Jeder Ausgangsport 4 zeigt seine Fähigkeit an, zusätzliche Datenzellen anzunehmen, indem er dies den Kreuzschienenabschnitten 100 signalisiert. Die Kreuzschienenabschnitte 100 senden Signale zu den Eingangsports 2, um die Fähigkeit des Kreuzschienenabschnitts 100 anzuzeigen, weitere Datenzellen anzunehmen. Jeder Kreuzschienenabschnitt 100 sendet einen Bitvektor zu jedem Eingangsport 2 bei jedem Zellenintervall, welcher die Fähigkeit des Kreuzschienenabschnitts 100 anzeigt, eine Datenzelle an jeder seiner Ausgangsschlangen 102 in dem folgenden Zellintervall zu empfangen. Die Ausgangsports 4 stellen ähnliche Signalgebung zu jedem der Kreuzschienenabschnitte 100 bereit. Dies stellt die Fähigkeit bereit, Stau an den Ausgangsports 4 durch Steuern der an den Eingangsports 2 gesendeten Daten zu verringern. In jedem Intervall sendet jeder Ausgangsport 4 ein Signal zu allen Kreuzschienenabschnitten 100, um seine Fähigkeit anzuzeigen, zusätzliche Datenzellen in dem folgenden Zellintervall anzunehmen. Der Ausgangsport 4 signalisiert nicht, dass er bereit ist, zusätzliche Datenzellen zu empfangen, wenn es unzureichende Zwischenspeicher gibt, und Datenzellen von jedem Kreuzschienenabschnitt 100 zu empfangen. 7 zeigt eine Ausführungsform zum Senden von Signalen von jedem der Ausgangsports 4 zu den Kreuzschienenabschnitte 100, die eine Verfügbarkeit zur Annahme von Datenzellen von den Kreuzschienenabschnitten unter Verwendung von Steuerbussen 73 anzeigen und die den Bitvektor von jedem der Kreuzschienenabschnitte zu jedem der Eingangsports 2 unter Verwendung von Steuerbussen 71 senden. In dieser Ausführungsform werden Steuersignale direkt an Datenbussen von jedem Ausgangsport 4 zu jedem Kreuzschienenabschnitt 100 gesendet und von jedem Kreuzschienenabschnitt 100 zu jedem Eingangsport 2.
  • In einer alternativen Ausführungsform senden die Kreuzschienenabschnitte 100 und die Ausgangsports 4 solche Steuersignale in dem vorwärts gerichteten Datenstrom durch die Datenstrecken 3 und 5 (2). Jeder der Ausgangsports 4 kann mit seinen entsprechenden Eingangsports 2 Steuerinformationen gekoppelt sein, die von der Kreuzschiene über die Datenstrecken 3 (äquivalent mit den Steuersignalen von Steuerbussen 71) empfangen werden oder Steuersignale an Ausgangsports 4 bereitstellen (äquivalent mit den Steuersignalen der Steuerbusse 73) zur Sendung zu der Kreuzschiene 100 über die Datenstrecken 1.
  • Jeder Eingangsport 2 kann jeden Bitvektor, der von einem Kreuzschienenabschnitt 100 empfangen wird, verwenden, um einen Zellentransfer auf der Datenstrecke zwischen dem Kreuzschienenabschnitt 100 und dem Eingangsport 2 in dem nächsten Zellenintervall einzuteilen. Wenn jeder Eingangsport 2 in der Lage ist, unabhängig Datenzellen zu bestimmen, die er an einem bestimmten Kreuzschienenabschnitt weiterleitet, ist es für alle Eingangsports 2 möglich, Traffic zu derselben Ausgangsschlange 102 (eines Kreuzschienenabschnittes 100 gleichzeitig weiterzuleiten). Daher signalisiert ein Kreuzschienenabschnitt 100 vorzugsweise nicht, dass er bereit ist, Daten an einer besonderen Ausgangsschlange 102 zu empfangen, es sei denn, er kann mindestens eine Zelle für diese Ausgangschlange 102 von jedem Eingangsport 2 (entsprechend einem bestimmten Ausgangsport 4) empfangen.
  • Wie oben erörtert, führt jeder Eingangsport 2 mindestens eine VOQ 14 für jeden Ausgangsport 4 für Datenrahmen mit einem mit dem Ausgangsport 4 verbundenen Ziel. Eine Ausführungsform des Eingangsports 2 führt mehrere (z. B. vier) VOQs 14 für jeden Ausgangsport 4, eine VOQ 14 für jede einzelne Priorität. Bei Empfang eines Einfachrahmens (auf der Datenstrecke 7) an einem Eingangsport 2 wird sein Header untersucht, um den Ausgangsport 4 des Ziels und die Priorität des Rahmens zu bestimmen. Er wird dann in der mit dem Ausgangsport 4 verbundenen entsprechenden VOQ 14 platziert. Rahmen in einer VOQ 14 können in einem FIFO oder einer anderen Einteilungsordnung bedient werden, wie Fachleuten bekannt ist. Ein Weiterleitungsvermittlungsprotokoll des Eingangsports 2 bestimmt die Reihenfolge, in der VOQ 14 bedient werden. Die Prozedur der dargestellten Ausführungsform stellt sicher, dass in die Kreuzschiene 6 eingehende Rahmen die Ordnungsanforderungen des IEEE-Standards 802.1 erfüllen. Bei Empfang eines Mehrfachrahmens an dem Eingangsport 2 wird sein Header untersucht, um die Zielausgangsports 4 zu bestimmen. Der Rahmen kann dann für jeden Zielausgangsport 4 in die VOQ 14 einer entsprechenden Priorität platziert werden.
  • Jeder Eingangsport 2 untersucht den Rahmenheader jedes empfangenen Datenrahmens, um zu bestimmen, ob der Rahmen gefiltert oder weitergeleitet werden soll. Wenn der Rahmen weitergeleitet werden soll, kann der Eingangsport 2 auch den Datenrahmen zur Sendung an mehrere Ausgangsports 4 kopieren (z. B. wenn ein Mehrfachrahmen in jeden Ausgang kopiert wird). Rahmen, die an einen Ausgangsport 4 weitergeleitet werden sollen, werden ineine VOQ 14 des Ausgangsports 4 platziert, die der Rahmenpriorität entspricht.
  • Die Verwendung der Netzverbindungseingangsports 2 zu den unabhängigen Kreuzschienenabschnitten 100 der Kreuzschiene 6 erzielt die erwünschte erhöhte Geschwindigkeit von S auf zweimal S (z. B. 8,0 Gbps zu 16,0 Gbps) durch volle Ausnutzung der Datenstrecken 1 von den Eingangsports 2 zu den Kreuzschienenabschnitten 100. Jede der Datenstrecken 1 (z. B. Datenstrecke 1z) von einem Eingangsport 2 kann eine Datenzelle von demselben Rahmen, jeweils von einem anderen Rahmen oder einer Kombination davon übertragen. Die Anwendung eines Prioritätsschemas kann daher jeweils für einen Rahmen ausgeführt werden, um einen Stau zu verhindern und die Komplexität der Rahmenzusammensetzer 18 zu verringern. Nach der Initialisierung kann dem Abschluss eines teilweise gesendeten Rahmens der Vorzug gegenüber dem Beginn eines neuen Rahmens gegeben werden. Die Sendung der Datenzellen für nachfolgende neue Datenrahmen kann für die VOQ 14 anderer Ausgangsports 4 in einer Rundlaufreihenfolge eingeteilt werden. Dies verhindert, dass ein teilweise gesendeter Rahmen einen für einen anderen Ausgangsport 4 bestimmten Rahmen blockiert. Der Rahmenauswähler 16 an dem Eingangsport 2 kann auf der Grundlage des Status des ersten Datenrahmens in der VOQ 14 (d. h. ob Datenzellen an die Kreuzschiene 6 gesendet wurden) eines bestimmten Ausgangsports 4 und der Bereitschaft des Kreuzschienenabschnitts 100 (d. h. von dem Bitvektor) bestimmen, ob eine Datenzelle in der VOQ 14 an einen Kreuzschienenabschnitt 100 weitergeleitet werden soll. Nach der Initialisierung der Übertragung eines Rahmens beginnt der Eingangsport 2 vorzugsweise nicht mit dem Weiterleiten von Datenzellen anderer Rahmen für den Zielausgangsport 4, bis alle Datenzellen des Rahmens in die Kreuzschiene 6 gesendet wurden oder gesendet werden. Der Verarbeitung eines einzigen Rahmens pro Ausgangport 4 vereinfacht den Prozess des Zusammensetzen an dem Ausgangport 4.
  • 8 zeigt ein Funktionsflussdiagramm, welches eine in dem Rahmenauswähler 16 einer Ausführungsform des Eingangsports 2 ausgeführte Logik zeigt. Die Auswahl kann aufeinanderfolgend für jeden Kreuzschienenabschnitt 100 ausgeführt werden und für jede Zellenzeit wiederholt werden. Bei Schritt 202 wartet der dem Rahmenauswähler 16 entsprechende Eingangsport 2 auf den Beginn einer neuen Zellenzeit für den ersten Kreuzschienenabschnitt (z. B. Kreuzschienenabschnitt 100a). In Schritt 204 empfingt der Auswählerrahmen 16 einen Bitvektor von dem aktuellen Kreuzschienenabschnitt 100, der die Fähigkeit des Kreuzschienenabschnitts 100 anzeigt, Datenzellen zur Sendung an einen bestimmten Ausgangsport 4 zu empfangen. Bei den Schritten 204 bis 216 teilt der Rahmenauswähler 16 die Sendung von Datenzellen auf jeder der Datenstrecken 1 ein, welche den Eingangsport 2 mit dem Kreuzschienenabschnitt 100 verbinden. Schritt 206 bestimmt, ob es teilweise gesendete Datenrahmen in einer der VOQ 14 gibt. Wenn es solche teilweise gesendeten Datenrahmen gibt, bestimmt Schritt 208, ob der Kreuzschienenabschnitt 100 eine Datenzelle von einem der teilweise gesendeten Datenrahmen empfangen kann. Das heißt, basierend auf den mit den Zielen der teilweise gesendeten Datenrahmen verbundenen Ausgangsports 4 bestimmt Schritt 208 basierend auf den Bitvektor des in Schritt 202 empfangenen Kreuzschienenabschnitts 100, ob der Kreuzschienenabschnitt 100 Datenzellen für diese Ziele empfangen kann. Wenn der Kreuzschienenabschnitt 100 eine Datenzelle von einem der teilweise gesendeten Datenrahmen empfangen kann, teilt Schritt 212 eine Datenzelle von einem teilweise gesendeten Datenrahmen mit dem höchsten Vorrang ein.
  • Wenn in den Schritten 206 und 208 bestimmt wird, dass es keine teilweise gesendeten Datenrahmen gibt, die zu dem Kreuzschienenabschnitt gesendet werden sollen, wählt Schritt 210 basierend auf dem in Schritt 204 empfangenen Bitvektor mit der höchsten Priorität und unter Einhaltung von Fairness innerhalb der Priorität eine VOQ 14 aus, die mit einem Ausgangsport 4 verbunden ist, der in der Lage ist, an den Kreuzschienenabschnitt zu senden. Schritt 214 teilt dann die erste Datenzelle des ersten Datenrahmens (d. h. die höchste Priorität) der VOQ 14 ein, die mit dem Ausgangsport 4 verbunden ist. Wenn in Schritt 214 keine Zelle eingeteilt werden kann, kann eine leere Zelle gesendet werden. Wenn der Rahmenauswähler 16 eine Sendung einer Datenzelle auf jeder der Datenstrecken 3, die mit einem Kreuzschienenabschnitt 100 gekoppelt sind, wie in Schritt 216 bestimmt, eingeteilt hat, wartet Schritt 202 auf einen neuen Zellentransferzyklus.
  • Wie oben ausgeführt können mehrere unterschiedliche Arten von Prioritätsalgorithmen entweder an den Eingangsports 2 oder den Ausgangsports 4 eingesetzt werden. Die Eingangsports 2 können Prioritätsschemata verwenden, um zu vermitteln, wie die Rahmen, die unterschiedliche Ziele haben und demselben Ausgangsport 4 zugewiesen sind, zur Sendung zu der Kreuzschiene 6 auf den Datenstrecken 3 eingeteilt werden sollen. Die Eingangsports 2 können auch Prioritätsschemata verwenden, um die Einteilung von Datenzellen am den VOQ 14 von Datenrahmen, die mit unterschiedlichen Ausgangsports 4 verbundene Ziele aufweisen. Zu den Prioritätsschemata an den Eingangsports 1 können Rundlauf, reine Priorität, gewichtete Priorität oder gewichteter Zugriff gehören. Die Ausgangsports 4 können bei der Auswahl, welche zusammengesetzten Rahmen aus den MAC-Schlangen an den MAC-Vorrichtungen weitergeleitet werden sollen, Prioritätsschemata verwenden. Ein Stau an einer einzelnen Ausgangs-MAC-Adresse kann ein Verhungern anderer MAC-Adressen des Ausgangsports 4 bewirken, wenn der Puffer nicht verfügbar ist, um Zellen von der Kreuzschiene 6 zu einer nicht gestauten MAC-Adresse weiterzuleiten. Dieser Zustand kann verhindert werden, indem ein oder mehrere mögliche Ausgangsportverwerfungsprotokolle, einschließlich früher Zufallsverwerfung (RED), gewichteter früher Zufallsverwerfung (WRED) und Tail-Drop, aktiviert werden.
  • Der Prioritätsalgorithmus kann für den Rahmenselektor 16 jedes der Eingangsports 2 und die MAC-Schlangen 20 jedes der Ausgangsports 4 gleichförmig sein. Die dargestellten Ausführungsformen ermöglichen jedoch, dass die Hardware unabhängig ein Prioritätsschema für jeden Eingangsport 2 und jeden Ausgangsport 4 festlegen, da jeder Eingangsport 2 und Ausgangsport 4 eine separate integrierte Schaltung sein kann. An einem Eingangsport 2 kann der Rahmenauswähler 16 Prioritäten für die Datenrahmen in jeder VOQ 14 anlegen. In den Ausgangsports 4 werden die Prioritätsschemata von dem MAC-Schlangenbilder 20 an jede der MAC-Schlangen 22 angelegt.
  • Die Architektur der in 5 gezeigten Schaltstruktur stellt zusätzliche Vorteile hinsichtlich Modularität und Skalierbarkeit bereit. Erstens kann jedes Paar aus Eingangsport 2 und Ausgangsport 4 (d. h. die an dieselbe MAC-Vorrichtung gekoppelten Eingangsports 2 und Ausgangsports 4) und die Kreuzschienenabschnitte 100 unabhängig betrieben werden, da jede dieser Komponenten in einem separaten integrierten Schaltungspaket gebildet sein kann. Die gesamte Schaltstruktur kann dann in einem Gehäuse eingeschlossen sein oder über einen Gehäusestapel verteilt werden. Zweitens kann die Topologie der Schaltstruktur so skaliert sein, dass mehrere Schaltgrößen implementiert werden. In anderen Ausführungsformen kann die Topologie auf einer einzigen Platte oder einer Implementation aus einer einzigen Platte nebst Tochterplatte angeordnet sein. Die Leistung der Schaltstruktur kann durch die Port/Verbindungsgeschwindigkeit bestimmt werden und die Topologie kann unter Verwendung einer unterschiedlichen Anzahl von Kreuzschienenabschnitten 100 und Ports, wie in den Beispielen der unten stehenden Tabelle 1 gezeigt, skaliert werden. TABELLE 1
    ANZAHL DER KREUZSCHIENENABSCHNITTE VERBINDUNGSGESCHWINDIGKEIT (GBPS) ANZAHL DER PORTPAARE BANDBREITE (GBPS) DURCHSATZ (GPBS)
    8 2 48 156 384
    1 26 416 104
    4 2 24 768 192
    1 13 208 52
    2 2 12 384 96
    1 6,5 104 26
    1 2 6 192 48
    1 3,25 52 13
    2 1 32 8
    1 1 8 4
  • Wenn die Kreuzschiene 6 auf geringere Größen skaliert ist, empfängt jeder Kreuzschienenabschnitt 100 zwei, vier oder acht Verbindungen von jedem Eingangsport. Jede dieser Verbindungen entspricht einer anderen Zellenphasenbeziehung. Flusssteuerungssignale können geführt werden, indem jeder dieser Kreuzschienenabschnitte 100 mehrere Flusssteuerungsvektoren sendet, um die Verfügbarkeit der Ausgangsschlangen 100 (6) genau zu berichten. Alternativ kann jeder Kreuzschienenabschnitt 100 zusätzliche Ausgangsschlangen 102 führen. Letzteres Verfahren kann implementiert werden, indem die zusätzlichen Ausgangsschlangen 102 beim Berichten der Verfügbarkeit ignoriert werden (z. B. nur die Fähigkeit zum Empfang von sechsundzwanzig Zellen berichtet wird, wenn eigentlich dreiundreißig Zellstellen frei sind).
  • Die Segmentierungs- und Zusammensetzungsfunktion steht zu der Strukturgröße in Beziehung. Die Höchstzahl von Ports und die Schwellwerte für die Signalgebung der Pufferverfügbarkeit bestimmen die Anforderungen an den Zusammensetzungspuffer und den Sequenznummernbereich.
  • Der Rahmenzusammensetzer 18 kann vereinfacht werden, indem der Eingangsportrahmenselektor 16 beschränkt werden kann, um Sendungen an die Kreuzschiene 100 eines Rahmens für einen Zielausgangsport 4 vor der Initialisierung der Sendung neu ankommender Rahmen höherer Priorität abzuschließen. Sie kann auch dadurch vereinfacht werden, dass die Anzahl von Puffern in einer Ausgangsschlange 102 eines Kreuzschienenabschnitts beschränkt wird.
  • Der Rahmenzusammensetzer 18 kann so implementiert sein, dass er den schlechtesten Fall der Lieferung von Zellen außerhalb der Reihenfolge berücksichtigt. Unter Verwendung der beschriebenen Ausführungsform kann dies in einem Bunt von Rahmen erfolgen, wenn alle Eingangsports 2 eine Zelle zu demselben Kreuzschienenabschnitt 100, der für denselben Ausgangsport 4 bestimmt ist, senden. In diesem Fall werden alle Zelle in derselben Ausgangsschlange 102 des Kreuzschienenabschnitts zwischengespeichert. Wenn alle außer dem letzten Eingangsport 2 seine Zellen in der Ausgangszelle 102 zwischenspeichern, wird ein Rahmen der Mindestgröße (d. h. in einer einzigen Zelle enthalten) übertragen, und wenn der letzte Eingangsport 2 seine Zelle in der Ausgangsschlange 102 zwischenspeichert, wird ein Rahmen der Höchstgröße übertragen, und die erste Zelle des Rahmens der Höchstgröße kann nicht geliefert werden, bis andere Zellen an den Ausgangsport 2 geliefert werden. Wenn der Rahmen der Höchstgröße dann an die anderen Abschnitte der Kreuzschiene verteilt werden und die anderen Eingangsport keine zusätzlichen Rahmen weiterleiten müssen, wird die zweite Zelle des Rahmens der Höchstgröße an der Vorderseite der Ausgangsschlange 102 des nächstens Kreuzschienenabschnitts 100 zwischengespeichert. Dies wird bei den anderen Kreuzschienenabschnitten wiederholt. Daher werden viele der nachfolgenden Zellen des Rahmens der Höchstgröße an dem Ausgangsport 2 vor der ersten Zelle des Rahmens ankommen. Außerdem kann die erste Zelle durch die Höchstanzahl der Zellen in der Ausgangsschlange 102 verzögert werden, wenn der Kreuzschienenabschnitt 100 Verfügbarkeit zur Annahme von Zellen von allen Eingangsports signalisiert.
  • In alternativen Ausführungsformen enthält die Schaltstruktur Zähler an den Eingangsports 2, Ausgangsports 4 und den Kreuzschienenabschnitten 100, um die gemeinsamen Verwaltungsprotokolle zu unterstützen. Steuerregister unterstützen das Berichten von Zählungen in speziell adressierten Zellen, die an bestimmte MAC-Adressen gesendet werden, die an ausgewählte Ausgangsports 4 gekoppelt sind. In anderen Ausführungsformen wirkt ein Mikroprozessor mit einer oder mehreren Komponenten der Schaltstruktur zusammen, um Zählinformationen direkt zu empfangen.
  • Während die obige Beschreibung sich auf bestimmte Ausführungsformen der vorliegenden Erfindung beziehen, versteht sich, dass viele Modifikationen daran vorgenommen werden können.
  • Die hier offenbarten Ausführungsformen werden daher in jeder Hinsicht als veranschaulichend und nicht einschränkend aufgefasst, wobei der Schutzumfang der Erfindung vielmehr durch die beigefügten Ansprüche angegeben wird, statt durch die vorstehende Beschreibung, und alle Änderungen, die in die Bedeutung und den Äquivalenzumfang der Ansprüche fallen, sollen daher davon umfasst werden.

Claims (17)

  1. Verfahren zum Senden von Datenrahmen an eine Vielzahl von Ausgangsports (4), wobei jeder der Datenrahmen ein mit einem der Ausgangsports (4) verbundenes Ziel aufweist, wobei das Verfahren Folgendes umfasst: an jedem der Vielzahl von Eingangsports (2) Partitionieren eines Teils jedes der Datenrahmen, um eine oder mehrere geordnete Datenzellen (50) mit Daten bereitzustellen, die einen Datensequenznummernzähler darstellen, der dem mit dem Ziel des Datenrahmens verbundenen Ausgangsport (4) entspricht, wobei die eine Sequenznummer (56) in jeder Datenzelle (50) darstellenden Daten eine Ordnungsposition der Datenzelle (50) unter den geordneten Datenzellen (50) des Datenrahmens anzeigen; und an jedem der Ausgangsports (4) Empfangen einer weitergeleiteten Datenzelle (51) für jede geordnete Datenzelle (50), die mit jedem Datenrahmen verbunden ist, der ein mit dem Ausgangsport (4) verbundenes Ziel aufweist, wobei jede weitergeleitete Datenzelle (51) einer geordneten Datenzelle (50) und einem mit der geordneten Datenzelle (50) verbundenen Datenrahmen entspricht, und Bestimmen einer Ordnungsposition der weitergeleiteten Datenzelle (51) unter den weitergeleiteten Datenzellen (51), die auf der Grundlage der Daten in der weitergeleiteten Datenzelle (51), die die Sequenznummer (56) darstellen, mit dem Datenrahmen verbunden sind.
  2. Verfahren nach Anspruch 1, wobei das Verfahren ferner an jedem Eingangsport (2) Folgendes umfasst: Führen eines Sequenznummernzählers entsprechend jedem Ausgangsport (4); Senden der geordneten Datenzellen (50) von Datenrahmen mit einem mit dem Ausgangsport (4) sequenziell verbundenen Ziel, jeweils eine geordnete Datenzelle (50) zu einer Zeit; und Inkrementieren der Sequenznummer (56) für jede nachfolgende geordnete Datenzelle (50), die von dem Eingangsport (2) zu dem Ausgangsport (4) gesendet wird.
  3. Verfahren nach Anspruch 2, wobei das Verfahren ferner Folgendes umfasst: an einer Kreuzschiene (6) Empfangen von geordneten Datenzellen (50), die von jedem der Eingangsports (2) gesendet wurden, und Hintereinanderreihen empfangener geordneter Datenzellen (50) von Datenrahmen mit einem mit jedem beliebigen der bestimmten Ausgangsports (4) verbundenen Ziel bis zu einer Höchstanzahl; und an jedem Eingangsport (2) Neustarten des Sequenznummernzählers für jeden Ausgangsport nach einer Sendung mindestens der Höchstanzahl geordneter Datenzellen (50) von Datenrahmen, die außerhalb der Reihenfolge ankommen können und ein mit dem Ausgangsport (4) verbundenes Ziel aufweisen.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren für mindestens einen Eingangsport (2) Folgendes umfasst: Empfangen eines ersten Datenrahmens mit einem mit einem bestimmten der Ausgangsports (4) verbundenen Ziel, wobei der erste Datenrahmen eine Priorität zur Sendung an den bestimmten Ausgangsport (4) aufweist; Senden geordneter Datenzellen (50) des ersten Datenrahmens an eine Kreuzschiene (6); während des Sendens der geordneten Datenzellen (50) des ersten Datenrahmens, Empfangen eines zweiten Datenrahmens mit einem mit dem bestimmten Ausgangsport (4) verbundenen Ziel und mit einer Priorität zum Senden an den bestimmten Ausgangsport (4), die größer als die Priorität zum Senden des ersten Datenrahmens an den bestimmten Ausgangsport (4) ist; und Abschließen der Sendung jeder geordneten Datenzelle (50) des ersten Datenrahmens an die Kreuzschiene (6) vor einer Sendung jeder geordneten Datenzelle (50) des zweiten Datenrahmens an die Kreuzschiene (6).
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei jede an den Ausgangsports (4) empfangene weitergeleitete Datenzelle (51) Quellinformationen (54) enthält, die den Eingangsport (2) kennzeichnen, der die mit der weitergeleiteten Datenzelle (51) verbundene geordnete Datenzelle (50) bereitstellt, wobei das Verfahren an dem Ausgangsport (4) ferner Folgendes umfasst: Verbinden jeder empfangenen weitergeleiteten Datenzelle (51) mit einem Eingangsport (2) auf der Basis der Quellinformationen (54) in der empfangenen weitergeleiteten Datenzelle (51); für jede mit einem Eingangsport (2) verbundene weitergeleitete Datenzelle (51) Bestimmen einer Ordnungsposition der empfangenen weitergeleiteten Datenzelle (51) unter den weitergeleiteten Datenzellen (51), die auf der Basis der Sequenzzahl (56) in der empfangenen weitergeleiteten Datenzelle (51) mit einem Datenrahmen verbunden sind.
  6. Datenschalter (7), umfassend: eine Vielzahl von Ausgangsports (4) zum Senden weitergeleiteter Datenrahmen an Ziele; eine Vielzahl von Eingangsports (2) zum Empfangen von Datenrahmen, wobei jeder empfangene Datenrahmen ein mit einem der Ausgangsports (4) verbundenes Ziel aufweist, jeder der Vielzahl von Eingangsports (2) eine Logik zum Partitionieren eines Teils jedes empfangenen Datenrahmens zum Bereitstellen einer oder mehrerer geordneter Datenzellen (50) mit Daten enthält, die einen Sequenznummernzähler darstellen, der dem mit dem Ziel des empfangenen Datenrahmens verbundenen Ausgangsport (4) entspricht, wobei die eine Sequenznummer (56) in jeder geordneten Datenzelle (50) darstellenden Daten eine Ordnungsposition der geordneten Datenzelle (50) unter den geordneten Datenzellen (50) des Datenrahmens anzeigen; wobei jeder der Ausgangsports (4) weitergeleitete Datenzellen (51) empfängt, jede weitergeleitete Datenzelle (51) einer geordneten Datenzelle (50) entspricht, die an einem der Eingangsports (2) erzeugt wird und Daten aufweist, die die Sequenznummer (56) der entsprechenden geordneten Datenzelle (50) anzeigen, und eine Logik zum Bestimmen einer Ordnungsposition der weitergeleiteten Datenzelle (51) unter den weitergeleiteten Datenzellen (51) eines weitergeleiteten Datenrahmens auf der Basis der Daten, die die Sequenznummer (56) in der weitergeleiteten Datenzelle (51) anzeigen, enthält.
  7. Datenschalter (7) nach Anspruch 6, wobei jeder Eingangsports (2) ferner Folgendes enthält: Logik zum Führen eines Sequenznummernzählers entsprechend jedem Ausgangsport (4); Logik zum Einteilen der Sendung der geordneten Datenzellen (50) empfangener Datenrahmen mit einem sequenziell mit dem Ausgangsport (4) verbundenen Ziel, jeweils eine Datenzelle (50) zu einer Zeit; und Logik zum Inkrementieren der Sequenznummer (56) für jede nachfolgende geordnete Datenzelle (50), die von dem Eingangsport (2) zu dem Ausgangsport (4) gesendet wird.
  8. Datenschalter (7) nach Anspruch 7, wobei jede der geordneten Datenzellen (50) eine Datennutzlast mit einem Teil einer Datennutzlast (60) eines entsprechenden empfangenen Datenrahmens enthält, und wobei der Datenschalter (7) ferner eine Kreuzschiene (6) zum Empfangen geordneter Datenzellen (50) von den Eingangsports (2) umfasst, und für jede empfangene geordnete Datenzelle (50) Senden einer weitergeleiteten Datenzelle (51) mit der Datennutzlast (60) der empfangenen geordneten Datenzelle (50) an einen Ausgangsport (4), der mit dem Ziel des empfangenen Datenrahmens verbunden ist, der der empfangenen geordneten Datenzelle (50) entspricht.
  9. Datenschalter (7) nach Anspruch 8, wobei die Kreuzschiene (6) in der Lage ist, bis zu einer Höchstanzahl empfangener geordneter Datenzellen (50) empfangener Datenrahmen mit einem mit jedem beliebigen der bestimmten Ausgangsports (4) verbundenen Ziel zwischenzuspeichern, und wobei jeder Eingangsport (2) ferner eine Logik zum Neustarten des Sequenznummernzählers für jeden Ausgangsport (4) nach dem Transfer der Höchstanzahl der geordneten Datenzellen (50) empfangener Datenrahmen, die außerhalb der Reihenfolge ankommen können, mit einem mit dem Ausgangsport (4) verbundenen Ziel, enthält.
  10. Datenschalter nach einem der Ansprüche 6 bis 9, wobei jeder Eingangsport (2) ferner Folgendes umfasst: Logik zum Einteilen der Sendung geordneter Datenzellen (50) eines ersten empfangenen Datenrahmens an einen bestimmten Ausgangsport (4), der mit dem Ziel des ersten empfangenen Datenrahmens verbunden ist, wobei der erste empfangene Datenrahmen eine Priorität zur Sendung an den bestimmten Ausgangsport (4) aufweist; und Logik zum Abschließen der Sendung jeder der geordneten Datenzellen (50) des ersten Datenrahmens an den Ausgangsport (4) vor einer Sendung einer beliebigen geordneten Datenzelle (50) eines zweiten empfangenen Datenrahmens an den Ausgangsport (4), wobei der zweite empfangene Datenrahmen ein mit dem Ausgangsport (4) verbundenes Ziel aufweist und der zweite empfangene Datenrahmen eine Priorität zur Sendung an den bestimmten Ausgangsport (4) aufweist, die größer ist als die Priorität zur Sendung des ersten Datenrahmens an den bestimmten Ausgangsport (4).
  11. Datenschalter nach einem der Ansprüche 6 bis 10, wobei jede der für außen bestimmten Datenzellen (51), die an den Eingangsports (4) empfangen wird, Quellinformationen (54) enthält, die den Eingangsport (2) kennzeichnen, der die verbundene Datenzelle (50) an die Kreuzschiene (6) sendet, und die Ausgangsports (4) ferner Folgendes enthalten: Logik zum Verbinden jeder empfangenen für außen bestimmten Datenzelle (51) mit einem Eingangsport (2) auf der Basis der Quellinformationen (54) in der empfangenen für außen bestimmten Datenzelle (51); und für jede empfangene für außen bestimmte Datenzelle (51), die mit einem Eingangsport (2) verbunden ist, Logik zum Bestimmen einer Ordnungsposition der empfangenen für außen bestimmten Datenzelle (51) unter den für außen bestimmten Datenzellen (51), die mit einem Datenrahmen verbunden sind, auf der Basis der Sequenznummer (56) in der empfangenen für außen bestimmten Datenzelle (51).
  12. Datenkommunikationsnetzwerk, welches eine Vielzahl von Hostcomputern zum Senden von Datenpaketen an eine Vielzahl von Netzwerkvorrichtungen enthält, wobei jedes der Datenpakete Daten aufweist, welche eine Zielnetzwerkadresse darstellen, wobei mit jeder der Netzwerkvorrichtungen eine Medienzugriffssteuerungs-(MAC)-Adresse verbunden ist, wobei das Netzwerk Folgendes umfasst: eine Vielzahl von Ausgangsports (4), wobei jeder der Ausgangsports (4) mit mindestens einer verbundenen der Netzwerkvorrichtungen gekoppelt ist, um gemäß der damit verbundenen MAC-Adresse MAC-Datenrahmen an die mindestens eine Netzwerkvorrichtung zu senden; eine Nachschlagmaschine (9) zum Empfangen der Datenpakete von den Hostcomputern, die an eine oder mehrere der Netzwerkvorrichtungen adressiert sind und Bilden von Zwischendatenrahmen auf der Basis der Datenpakete, wobei die Zwischendatenrahmen eine Datennutzlast und Informationen aufweisen, welche einen mit der einen oder den mehreren Netzwerkvorrichtungen verbundenen Ausgangsport (4) kennzeichnen; eine Vielzahl von Eingangsports (2) zum Empfangen von Zwischendatenrahmen von der Nachschlagmaschine (9), wobei jeder der empfangenen Datenrahmen ein mit einem der Ausgangsports (4) verbundenes Ziel aufweisen, wobei jeder der Vielzahl der Eingangsports (2) eine Logik zum Partitionieren der Datennutzlast jedes der empfangenen Zwischendatenrahmen zum Bereitstellen einer oder mehrerer geordneter Datenzellen (60) mit Daten, die einen Sequenznummernzähler darstellen, der dem mit dem Ziel der empfangenen Zwischendatenrahmen verbundenen Ausgangsport (4) entsprechen, wobei die eine Sequenznummer (56) in jeder geordneten Datenzelle (50) darstellenden Daten eine Ordnungsposition der geordneten Datenzelle (50) unter den geordneten Datenzellen (50) des Zwischendatenrahmens anzeigen; wobei jeder der Ausgangsports (4) ferner Mittel zum Weiterleiten von Datenzellen (51) umfasst, wobei jede weitergeleitete Datenzelle (51) einer geordneten Datenzelle (50) entspricht, die von einem der Eingangsports (2) ausgeht und Daten aufweist, die die Sequenznummer (56) der entsprechenden geordneten Datenzelle (50) anzeigt, und jeder der Ausgangsports (4) ferner eine Logik zum Bestimmen einer Ordnungsposition der weitergeleiteten Datenzelle (51) unter den weitergeleiteten Datenzellen (51) eines weitergeleiteten Datenrahmens basierend auf den Daten, die die Sequenznummer (56) in der weitergeleiteten Datenzelle (51) anzeigen, umfasst.
  13. Datenkommunikationsnetzwerk nach Anspruch 12, wobei jeder Eingangsport (2) ferner Folgendes umfasst: Logik zum Führen eines Sequenznummernzählers entsprechend jedem Ausgangsport (4); Logik zum Einteilen der Sendung der geordneten Datenzellen (50) empfangener Zwischendatenrahmen mit einem mit dem Ausgangsport (4) sequenziell verbundenen Ziel, jeweils eine Datenzelle (50) zu einer Zeit; und Logik zum Inkrementieren der Sequenznummer (56) für jede nachfolgende geordnete Datenzelle (50), die von dem Eingangsport (2) zu dem Ausgangsport (4) gesendet wird.
  14. Datenkommunikationsnetzwerk nach Anspruch 13, wobei jede der geordneten Datenzellen (50) eine Datennutzlast (60) mit einem Teil der Datennutzlast eines entsprechenden empfangenen Zwischendatenrahmens aufweist, und wobei das Netzwerk ferner eine Kreuzschiene (6) zum Empfangen geordneter Datenzellen (50) von den Eingangsports (2) umfasst, und für jede empfangene geordnete Datenzelle (50) Senden einer weitergeleiteten Datenzelle (51) mit der Datennutzlast (60) der empfangenen geordneten Datenzelle (50) an einen mit dem Ziel des Zwischendatenrahmens verbundenen Ausgangsport (4), der der empfangenen geordneten Datenzelle (50) entspricht.
  15. Datenkommunikationsnetzwerk nach Anspruch 14, wobei die Kreuzschiene (6) in der Lage ist, bis zu einer Höchstanzahl empfangener geordneter Datenzellen (50) der empfangenen Zwischendatenrahmen mit einem mit jedem beliebigen bestimmten Ausgangsport (4) verbundenen Ziel hintereinanderzureihen, und wobei jeder Eingangsport (2) ferner eine Logik zum Neustarten des Sequenznummernzählers für jeden Ausgangsport (4) nach dem Transfer mindestens der Höchstanzahl geordneter Datenzellen (50) empfangener Datenrahmen, die außerhalb der Reihenfolge ankommen können, mit einem mit dem Ausgangsport (4) verbundenen Ziel enthält.
  16. Datenkommunikationsnetzwerk nach einem der Ansprüche 12 bis 15, wobei jeder Eingangsport (2) ferner Folgendes umfasst: Logik zum Einteilen der Sendung geordneter Datenzellen (50) für einen ersten empfangenen Zwischendatenrahmen an einen bestimmten Ausgangsport (4), der mit dem Ziel des ersten empfangenen Zwischendatenrahmens verbunden ist, wobei der erste empfangene Zwischendatenrahmen eine Priorität zur Sendung an den bestimmten Ausgangsport (4) aufweist; und Logik zum Abschließen der Sendung jeder der geordneten Datenzellen (50) des ersten empfangenen Zwischendatenrahmens an den Ausgangsport (4) vor einer Sendung jeder geordneten Datenzelle (50) eines zweiten empfangenen Zwischendatenrahmens an den Ausgangsport (4), wobei der zweite empfangene Zwischendatenrahmen ein mit dem Ausgangsport (4) verbundenes Ziel aufweist und der zweite empfangene Zwischendatenrahmen eine Priorität zur Sendung an den bestimmten Ausgangsport (4) aufweist, die höher als die Priorität zur Sendung des ersten empfangenen Zwischendatenrahmens an den bestimmten Ausgangsport (4) aufweist.
  17. Datenkommunikationsnetzwerk nach einem der Ansprüche 12 bis 16, wobei jeder weitergeleitete, an einem Ausgangsport (4) empfangene Datenzelle (51) Quellinformationen (54) enthält, die den Eingangsport (2) kennzeichnen, der die geordnete Datenzelle (50) bereitstellt, welche mit der weitergeleiteten Datenzelle (51) verbunden ist, und wobei die Ausgangsports (4) ferner Folgendes enthalten: Logik zum Verbinden jeder empfangenen weitergeleiteten Datenzelle (51) mit einem Eingangsport (2) auf der Basis der Quellinformationen (54) in der empfangenen weitergeleiteten Datenzelle (51); und für jede empfangene weitergeleitete Datenzelle (51), die mit einem Eingangsport (2) verbunden ist, Logik zum Bestimmen einer Ordnungsposition der empfangenen weitergeleiteten Datenzelle (51) unter den weitergeleiteten Datenzellen (51), die mit einem Datenrahmen verbunden sind, auf der Basis der Sequenznummer (56) in der empfangenen weitergeleiteten Datenzelle (51).
DE60131380T 2000-03-31 2001-03-28 Segmentierung und wiederzusammensetzung von datenrahmen Expired - Lifetime DE60131380T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US539795 2000-03-31
US09/539,795 US7016365B1 (en) 2000-03-31 2000-03-31 Switching fabric including a plurality of crossbar sections
PCT/US2001/010123 WO2001076139A2 (en) 2000-03-31 2001-03-28 Segmentation and reassembly of data frames

Publications (2)

Publication Number Publication Date
DE60131380D1 DE60131380D1 (de) 2007-12-27
DE60131380T2 true DE60131380T2 (de) 2008-09-11

Family

ID=24152679

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60131380T Expired - Lifetime DE60131380T2 (de) 2000-03-31 2001-03-28 Segmentierung und wiederzusammensetzung von datenrahmen

Country Status (7)

Country Link
US (1) US7016365B1 (de)
EP (2) EP1269696A2 (de)
AT (1) ATE378754T1 (de)
AU (2) AU4781101A (de)
DE (1) DE60131380T2 (de)
TW (1) TW522682B (de)
WO (2) WO2001076141A2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6667967B1 (en) 1999-05-14 2003-12-23 Omninet Capital, Llc High-speed network of independently linked nodes
US6931003B2 (en) * 2000-02-09 2005-08-16 Bookline Flolmstead Llc Packet prioritization protocol for a large-scale, high speed computer network
US6629147B1 (en) 2000-03-31 2003-09-30 Intel Corporation Segmentation and reassembly of data frames
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
JP3646638B2 (ja) * 2000-09-06 2005-05-11 日本電気株式会社 パケット交換装置及びそれに用いるスイッチ制御方法
US6970454B1 (en) * 2001-08-09 2005-11-29 Pasternak Solutions Llc Sliced crossbar architecture with inter-slice communication
US8045565B1 (en) 2001-11-20 2011-10-25 Brookline Flolmstead Llc Method and apparatus for an environmentally hardened ethernet network system
US7406038B1 (en) * 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US7894343B2 (en) * 2003-06-19 2011-02-22 Polytechnic University Packet sequence maintenance with load balancing, and head-of-line blocking avoidance in a switch
US7792118B2 (en) * 2003-06-19 2010-09-07 Polytechnic University Switch module memory structure and per-destination queue flow control for use in a switch
US7724738B2 (en) * 2003-06-19 2010-05-25 Hung-Hsiang Jonathan Chao Packet-level multicasting
US7852829B2 (en) * 2003-06-19 2010-12-14 Polytechnic University Packet reassembly and deadlock avoidance for use in a packet switch
JP4316349B2 (ja) * 2003-10-27 2009-08-19 富士通株式会社 パケット転送経路制御装置および制御プログラム
US7408947B2 (en) * 2005-01-06 2008-08-05 Enigma Semiconductor Method and apparatus for scheduling packets and/or cells
US20080273546A1 (en) * 2007-05-03 2008-11-06 Xyratex Technology Limited Data switch and a method of switching
US7657693B2 (en) * 2007-09-28 2010-02-02 Intel Corporation Router to use three levels of arbitration for a crossbar channel
JP2009177256A (ja) * 2008-01-21 2009-08-06 Fujitsu Ltd パケットスイッチ装置およびパケットスイッチ方法
GB2464310B (en) 2008-10-10 2012-10-17 Micron Technology Inc Switching device
US8359421B2 (en) * 2009-08-06 2013-01-22 Qualcomm Incorporated Partitioning a crossbar interconnect in a multi-channel memory system
JP5691555B2 (ja) * 2011-01-25 2015-04-01 日本電気株式会社 相互結合網制御システム、相互結合網制御方法
CN102158402B (zh) * 2011-03-16 2013-10-02 华为技术有限公司 一种纵横式交换矩阵缓存信元的方法及装置
US10938715B2 (en) * 2019-06-11 2021-03-02 Mellanox Technologies Tlv Ltd. Throughput in a crossbar network element by modifying mappings between time slots and ports

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9011743D0 (en) 1990-05-25 1990-07-18 Plessey Telecomm Data element switch
GB2258366B (en) 1991-08-02 1995-03-29 Plessey Telecomm An ATM switching arrangement
US5408469A (en) * 1993-07-22 1995-04-18 Synoptics Communications, Inc. Routing device utilizing an ATM switch as a multi-channel backplane in a communication network
US6134218A (en) * 1994-04-28 2000-10-17 Pmc-Sierra (Maryland), Inc. Many dimensional congestion detection system and method
US6151301A (en) * 1995-05-11 2000-11-21 Pmc-Sierra, Inc. ATM architecture and switching element
US5550815A (en) * 1994-12-30 1996-08-27 Lucent Technologies Inc. Apparatus and method for reducing data losses in a growable packet switch
US5872769A (en) * 1995-07-19 1999-02-16 Fujitsu Network Communications, Inc. Linked list structures for multiple levels of control in an ATM switch
US5724352A (en) * 1995-08-31 1998-03-03 Lucent Technologies Inc. Terabit per second packet switch having assignable multiple packet loss probabilities
US6216167B1 (en) * 1997-10-31 2001-04-10 Nortel Networks Limited Efficient path based forwarding and multicast forwarding
US6072772A (en) * 1998-01-12 2000-06-06 Cabletron Systems, Inc. Method for providing bandwidth and delay guarantees in a crossbar switch with speedup
US6563837B2 (en) * 1998-02-10 2003-05-13 Enterasys Networks, Inc. Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size
US6044061A (en) 1998-03-10 2000-03-28 Cabletron Systems, Inc. Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
EP0987918B1 (de) * 1998-09-16 2010-11-03 International Business Machines Corporation Verfahren und Vorrichtung zur Erzeugung und Prüfung vom Datenprüffeld
US6920146B1 (en) * 1998-10-05 2005-07-19 Packet Engines Incorporated Switching device with multistage queuing scheme
US6661788B2 (en) * 1999-05-14 2003-12-09 Nortel Networks Limited Multicast scheduling for a network device
US6707815B1 (en) * 1999-07-02 2004-03-16 Cisco Technology, Inc. Minimum bandwidth guarantee for input-buffered packet switch
US6680933B1 (en) * 1999-09-23 2004-01-20 Nortel Networks Limited Telecommunications switches and methods for their operation
EP1243142A1 (de) * 1999-12-30 2002-09-25 Conexant Systems, Inc. Crossbarschalter integrierte schaltung mit parallelen kanälen für ein kommunikationsgerät
US6629147B1 (en) * 2000-03-31 2003-09-30 Intel Corporation Segmentation and reassembly of data frames

Also Published As

Publication number Publication date
WO2001076139A2 (en) 2001-10-11
ATE378754T1 (de) 2007-11-15
AU2001247881A1 (en) 2001-10-15
WO2001076141A2 (en) 2001-10-11
EP1269697A2 (de) 2003-01-02
AU4781101A (en) 2001-10-15
DE60131380D1 (de) 2007-12-27
WO2001076141A3 (en) 2002-07-04
WO2001076139A3 (en) 2002-05-10
TW522682B (en) 2003-03-01
US7016365B1 (en) 2006-03-21
EP1269697B1 (de) 2007-11-14
EP1269696A2 (de) 2003-01-02

Similar Documents

Publication Publication Date Title
DE60131380T2 (de) Segmentierung und wiederzusammensetzung von datenrahmen
DE60126934T2 (de) Vermittlungssystem
DE60113058T2 (de) Empfänger korrigiert
DE3904403C2 (de)
DE69819303T2 (de) Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren
DE69737361T2 (de) Schnelle vermittlungsvorrichtung
DE60119866T2 (de) Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
DE69823483T2 (de) Mehrfachkopiewarteschlangestruktur mit einem suchbaren cachespeicherbereich
DE69817328T2 (de) Warteschlangenstruktur und -verfahren zur prioritätszuteilung von rahmen in einem netzwerkkoppelfeld
DE69732274T2 (de) Flusssteuerungsprotokollsystem und verfahren
DE3787492T2 (de) Verteilte Sprach-Datenvermittlung in Mehrstufenverbindungsnetzen.
DE69908821T2 (de) Datenvermittlungsverfahren und -vorrichtung
US9215094B2 (en) Segmentation and reassembly of data frames
DE60021846T2 (de) Leitweglenkungsanordnung
DE69937598T2 (de) Auf Identifikationsmarken basierendes Paketvermittlungssystem
DE68926651T2 (de) Zeitmultiplexkoppelnetz
DE69832884T2 (de) Wegesucheinheit mit zuteilung von virtuellen kanälen
DE112006000282B4 (de) Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem
DE60030737T2 (de) Hochleistungs-Vermittlungselement und -Vermittlungssystem
DE60127366T2 (de) Verfahren und Struktur zur Unterstützung von Rahmen variabler Länge in einer Vermittlungsanlage mit gemeisamem Speicher
DE3685599T2 (de) Vermittlungssystem fuer datenuebertragung.
DE69028266T2 (de) Paketvermittlungsnetzwerk für unterschiedliche Typen von Paketen
DE69031438T2 (de) Kommunikationsprotokoll für statistische Datenmultiplexer in einer Weitbereichsnetzanordnung
DE19526962C2 (de) Flußsteuerungsmechanismus für eine Paket-geschaltete Computerverbindung
DE19757965A1 (de) Verteiltes Puffersystem für ATM-Schalter

Legal Events

Date Code Title Description
8364 No opposition during term of opposition