-
GEBIET DER ERFINDUNG
-
Diese
Erfindung bezieht sich auf das Gebiet der Datenkommunikationsnetze
und ist genauer auf Switch-Architekturen für die paketbasierte Kommunikation,
wie z. B. Ethernet, gerichtet.
-
HINTERGRUND DER ERFINDUNG
-
In
den letzten Jahren ist der Einsatz lokaler Netze (LANs) aus Personal-Computern
und Arbeitsplatzrechnern in Geschäfts- und Bildungsunternehmen
weitverbreitet geworden. Diese modernen Netze haben signifikante
Produktivitätsgewinne
geschaffen, nicht nur dadurch, dass sie Einzelpersonen mit der Fähigkeit
versehen haben, elektronisch miteinander zu kommunizieren, sondern
außerdem
dadurch, dass die den gemeinsamen Zugriff auf Datenbanken und Dokumente
ermöglicht
haben, die in einem zentralen Server und in vernetzten Client-Arbeitsplatzrechnern
gespeichert sind. Bei der sich immer verbessernden Leistung moderner Kommunikations-
und Netzelemente verwenden nun sowohl große als auch kleine Unternehmen
Netze zwischen ihren Personal-Computern und Arbeitsplatzrechnern.
Herkömmliche
LANs können
außerdem
durch Bridges oder Router in ein weiträumiges Netz (WAN) untereinander
verbunden sein. Typischerweise enthält jedes Netzsegment eine Anzahl
von Client-Arbeitsplatzrechnern und eine Bridge oder einen Router;
die Verbindung der Bridges und Router nach Art eines Rings oder
Baumes erlaubt die Kommunikation zwischen Clients, die sich in verschiedenen
Segmenten des WAN befinden. Ferner erweitert die Verfügbarkeit
des Internet-Zugriffs auf derartige vernetzte Computer den Desktop-Zugriff über lokale
proprietäre
Datenquellen hinaus auf weltweite öffentliche und sichere Datenquellen-Standorte.
-
Die
schnelle Verbesserung der Funktionalität und der Leistung moderner
Personal-Computer und Arbeitsplatzrechner hat wiederum einen Wunsch
nach einer Netzkommunikation mit höheren Datenraten erzeugt, da
die Quantität
der Daten, die durch einen Client-Arbeitsplatzrechner verarbeitet
werden kann, entsprechend zugenommen hat. Ähnlich kann die Kommunikation
mit hoher Bandbreite den Austausch von Datentypen, wie z. B. 3-D-Bildern,
Bewegtbildern, Tondateien und dergleichen, ermöglichen, von denen jeder durch
große
Datenblöcke
reprä sentiert
wird. Ein weiterer Trend geht von der Halbduplex-Kommunikation über das
Netz zur Vollduplex-Netzkommunikation, die gleichzeitiges Senden
und Empfangen von Daten erlaubt und folglich effektiv die Bandbreite
verdoppelt, während
sie den Bandbreitenverlust aufgrund von Kollisionen eliminiert.
-
Die
paketbasierte Datenkommunikation ist ein häufiger Zugang zur Datenkommunikation
in LANs und WANs, besonders bei Verbindungen mit hoher Datenrate über belegte
Netze. Im Gegensatz zu verbindungsorientierten Netzen, in denen
eine dedizierte Verbindung zwischen den Quell- und Zielknoten im
Netz aufgebaut wird, teilt die Paketvermittlung jede Nachricht (d.
h. jeden zu übertragenden
Datenblock) in kleine Pakete. Jedes Paket überträgt zusammen mit einer Kennung
seiner Stelle in der Folge der Pakete, die die Gesamtnachricht umfasst,
Kennungen der Quell- und Zielknoten seiner entsprechenden Nachricht.
Dies erlaubt die multiplexierte Übermittlung
von Paketen von mehreren Nachrichten zwischen verschiedenen Quell-
und Zielknoten über
das Netz. Die Kennungen in jeden Paket erlauben den Zielknoten,
jene Pakete zurückzubehalten, die
an sie adressiert sind, und die empfangenen Pakete erneut in die übertragene
Nachricht zu sequentialisieren. Im Ergebnis erlauben die paketvermittelten
Netze, dass mehrere Knoten zu einem gegebenen Zeitpunkt miteinander
kommunizieren, wobei jede Kommunikation einen Anteil der Gesamtnetzbandbreite
verwendet, ohne andere Kanäle
zu blockieren. Beispiele herkömmlicher
paketbasierter Netze enthalten Ethernet, Token-Ring und FDDI.
-
Traditionell
sind viele Ethernet-LANs so konstruiert worden, dass sie Repeater
oder Hubs verwenden, mit denen jeder Client-Arbeitsplatzrechner
verbunden ist; die Hubs schaffen die Flexibilität beim Hinzufügen und
Entfernen von Clients aus dem Netz, wobei sie außerdem die Verwendung verdrillter
Aderpaare für
die Netzkommunikation erlauben. Die meisten vorhandenen Hubs und
Repeater schaffen nur eine Halbduplex-Kommunikation, wobei sich
jedoch als solches irgendeine Menge von Konflikten zwischen den
Clients im gleichen Netz-"Segment" (d. h., die dem
gleichen Hub zugeordnet sind) ergeben kann.
-
Vor
kurzem sind LAN-Switches für
die Verwendung sowohl in Ethernet-Netzen als auch in FDDI- und Token-Ring-LANs
verfügbar
geworden. Ein LAN-Switch
besitzt mehrere Ports, von denen jeder mit einem Client-Arbeitsplatzrechner
(oder einem Netz-Hub, je nachdem) verbunden sein kann oder eine
Auf wärtsstrecke zu
einem weiteren Switch oder einem Server bereitstellen kann. Ein
LAN-Switch unterscheidet sich von einer Bridge oder einem Hub insofern,
als der Switch die gleichzeitige Vermittlung von Paketen zwischen
mehreren Paaren seiner Ports erlaubt. Im Ergebnis stellt der Switch
insgesamt eine höhere
Bandbreite mit verringerter Latenz für seine Clients bereit. Außerdem können die
Ports eines Ethernet-Switches sowohl über einen Hub mit einem Netzsegment
als auch über
ein dediziertes Segment mit einem Client-Arbeitsplatzrechner verbunden
sein.
-
1 veranschaulicht
ein herkömmliches
vermitteltes Ethernet-Netz aus den Client-Arbeitsplatzrechnern C0 bis C7 mit dem
Server SVR. In diesem Beispiel umfassen die Client-Arbeitsplatzrechner
C0 bis C3 ein Netzsegment,
das am Halbduplex-Hub H angebracht ist. Als solcher kann nur einer
der Client-Arbeitsplatzrechner C0 bis C3 zu einem gegebenen Zeitpunkt senden oder
empfangen.
-
Der
Hub H ist mit einem Port des Ethernet-Switches SW verbunden. Die
Client-Arbeitsplatzrechner
C4 bis C6 sind mittels
dedizierter Vollduplex-Verbindungen mit anderen Ports des Switches
SW verbunden. Der Switch SW ist außerdem mittels einer Vollduplex-Verbindung
mit dem Server SVR verbunden. Die Verwendung des vollduplexfähigen Switches
SW erlaubt den Client-Arbeitsplatzrechnern C4 bis
C6, miteinander, mit dem Server SVR oder über den
Hub H mit einer der Client-Stellen C0 bis
C3 in mehreren Paaren zu kommunizieren und
folglich die Gesamtbandbreite des Netzes zu verbessern. Als solche
werden die Ethernet-Switches, wie z. B. der Switch SW in 1,
in Netzanwendungen mit hohem Verkehr populär.
-
Ehemals
ist jedoch die Anzahl der durch herkömmliches Switches unterstützbaren
Ports relativ beschränkt
gewesen. Herkömmliche
Ethernet-Switches können
z. B. in der Größenordnung
von vierundzwanzig Vollduplex-10-Mbit/s-Ports und drei Vollduplex-100-Mbit/s-Ports
unterstützen.
Mit dem Erscheinen der Gigabit-Ethernet-Kommunikation treten nun
herkömmliche
Ethernet-Switches zum Unterstützen
von acht Vollduplex-100-Mbit/s-Ports und einem 1000-Mbit/s-Port
("Gigabit-Port") in den Markt ein.
-
Die
Netzkonstrukteure und -anwender verlangen jedoch die Unterstützung einer
großen
Anzahl von Ports, insbesondere falls dedizierte Vollduplex-Verbin dungen
von Client-Arbeitsplatzrechnern (z. B. den Client-Arbeitsplatzrechnern
C4 bis C6 nach 1)
gewünscht
werden. Infolge der Begrenzung der Anzahl der von herkömmlichen
Switch-Architekturen unterstützten
Ports müssen
diese herkömmlichen
Konstruktionen zusätzliche
Hierarchieebenen in die Vermittlungsarchitekturen einfügen, um
die gewünschte
Anzahl von Ports für ein
gegebenes Netz bereitzustellen. Nicht nur das Management des Netzes
wird in derartigen herkömmlichen Anordnungen
komplex, sondern die Rekonfiguration der Ports im Netz wird ziemlich
beschwerlich gemacht.
-
Im
US-Patent 5.475.679 ist
ein ATM-Switch mit großer
Kapazität
offenbart. In dieser Anordnung wird ein Pre-Tag auf die durch einen
Kreuzungspunkt-Switch zu übertragenden
Daten angewendet, so dass die Daten für einen speziellen Ziel-Port
in einem zugeordneten Bereich des Pufferspeichers gespeichert werden.
Indem die Daten für
jeden Port akkumuliert werden, wird der Bedarf, für jedes
Paket zwischen den Ports zu vermitteln, verringert, was den Durchsatz
vergrößert.
-
KURZZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung schafft Verfahren und Vorrichtung, wie sie
in den Ansprüchen
dargelegt sind.
-
KURZBESCHREIBUNG DER MEHREREN
ANSICHTEN DER ZEICHNUNG
-
Die
vorliegende Erfindung wird nun beispielhaft unter Bezugnahme auf
bestimmte beispielhafte Ausführungsformen
weiter beschrieben, die in der beigefügten Zeichnung veranschaulicht
sind, worin:
-
1 ein
Blockschaltplan eines herkömmlichen
vermittelten Ethernet-Netzes ist;
-
2 ein
Blockschaltplan eines vermittelten Ethernet-Netzes ist;
-
3 ein
Blockschaltplan eines Switch-Systems im Netz nach 2 ist;
-
4a und 4b Blockschaltpläne von Switch-Vorrichtungen
in integrierter Schaltung sind, die im Switch-System nach 3 verwendet
werden;
-
5 ein
Ablaufplan ist, der den Betrieb einer der Switch-Vorrichtungen nach 4a beim
Ausführen einer
Flusssteuerung veranschaulicht;
-
6a bis 6e graphische
Speicherdarstellungen sind, die ein Beispiel des Flusssteuerungsprozesses
nach 5 veranschaulichen;
-
7 ein
Impulsdiagramm ist, das die Darstellung eines Außerband-Ring-ID-Pre-Tags in einem
Ethernet-Nachrichtpaket veranschaulicht;
-
8a bis 8c Ablaufpläne sind,
die den Betrieb des Switch-Systems nach 1 veranschaulichen;
-
9 ein
Blockschaltplan eines Switch-Systems für das Netz nach 2 ist;
-
10 ein
Blockschaltplan eines Switch-Systems im Netz nach 2 gemäß einer
bevorzugten Ausführungsform
ist;
-
11a und 11b Impulsdiagramme
sind, die veranschaulichen, wie die Pakete mit einem Pre-Tag für die erweiterte
Port-Kenntnis versehen werden, wie es im Switch-System nach 10 gemäß dieser
bevorzugten Ausführungsform
verwendet wird;
-
12 ein
Blockschaltplan eines Kreuzschienenmatrix-Switches ist, wie er im
Switch-System nach 10 gemäß dieser bevorzugten Ausführungsform
verwendet wird; und
-
13 ein
Ablaufplan ist, der ein Beispiel des Betriebs des Switch-Systems
nach 10 gemäß dieser
bevorzugten Ausführungsform
veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Die
vorliegende Erfindung schafft Verfahren und Vorrichtung, wie sie
in den Ansprüchen
dargelegt sind. Zuerst wird etwas Hintergrund, der für das Verständnis der
Erfindung hilfreich ist, beschrieben.
-
2 ist
ein Blockschaltplan auf hoher Ebene eines Ethernet-Netzes, in dem
die bevorzugte Ausführungsform
der vorliegenden Erfindung leicht implementiert werden kann. Wie
im Fall des herkömmlichen
vermittelten Netzes, der oben bezüglich 1 erörtert worden
ist, sind die Client-Arbeitsplatzrechner C0 bis
C3 über
den Hub H in einem Netzsegment verbunden. Sowohl der Hub H als auch
die Client-Arbeitsplatzrechner C4 bis C6 sind mit entsprechenden Ports des Switch-Systems 10 verbunden.
In dem Beispiel nach 1 ist der Hub H über den
Port P0 mit dem Switch-System 10 verbunden,
während
die Client-Arbeitsplatzrechner C4, C5, C6 über die
Ports Pk, Pm bzw.
Pn mit dem Switch-System 10 verbunden
sind. Jeder der Ports P besitzt in dieser beispielhaften Implementierung
100-Mbit/s-Vollduplex-Verbindungen. Das Switch-System 10 ist
mittels der Aufwärtsstrecke
UL, die als eine Hochleistungs-Vollduplex-Verbindung (z. B. 1000-Mbit/s-
oder "Gigabit"-Vollduplex-Verbindung)
arbeitet, außerdem
mit dem Server SVR verbunden.
-
Das
Switch-System 10 kann eine hohe Anzahl von Ports P behandeln;
zusätzlich
kann, wie in 2 angegeben ist, das Switch-System 10 außerdem eine
(oder mehrere) Hochgeschwindigkeits-Aufwärtsstrecken UL unterstützen. Es
wird z. B. davon ausgegangen, dass das Switch-System 10 gemäß der vorliegenden Erfindung
entsprechend der aktuellen Technologie in der Größenordnung von vierundzwanzig
bis zweiunddreißig
Ports P unterstützen
kann, von denen jeder 100-Mbit/s-Verbindungen besitzen kann. Zusätzlich wird
davon ausgegangen, dass andere Verbindungen in Anzahl und Typ außerdem durch
das Switch-System 10 unterstützt werden können, wie
es aus der folgenden Beschreibung offensichtlich wird.
-
Unter
Bezugnahme auf 3 wird nun die Anordnung des
Switch-Systems 10 ausführlich
beschrieben. Das Switch-System 10 schafft in dieser Ausführungsform
der Erfindung mittels einer relativ einfachen Systemarchitektur
einen Ethernet-Switch mit einer 0/24/1-Fähigkeit (d. h. mit null 10-Mbit/s-Ports,
vierundzwanzig 100-Mbit/s-Ports und einem 1000-Mbit/s-Port).
-
Wie
in 3 gezeigt ist, enthält das Switch-System 10 drei
Ethernet-Switch-Vorrichtungen 20 und
eine Gigabit-Ethernet-Switch-Vorrichtung 30, die nach Art
eines Rings verbunden sind. Jede der Switch-Vorrichtungen 20 ist
eine einzelne integrierte Schaltung, die eine 0/8/1-Ethernet-Switch-Fähigkeit
bereitstellt, während die
Switch-Vorrichtung 30 eine einzige integrierte Schaltung
ist, die eine 0/0/2-Ethernet-Switch-Fähigkeit bereitstellt. Jeder
Switch 20 ist mit einem externen Schreib-Lese-Speicher
(RAM) 22 verbunden und arbeitet im Zusammenhang mit einem
externen Schreib-Lese-Speicher (RAM) 22, wie in 3 gezeigt
ist, der vorzugsweise mittels der wohlbekannten Rambus-Architektur
organisiert und mit dem Switch 20 verbunden ist. Die Ringverbindung
der Switches 20, 30 miteinander wird im Folgenden
ausführlicher
beschrieben.
-
Jeder
Switch 20 besitzt acht 100-Mbit/s-Ports, die nummerierten
Ports 0 bis 7, für
jede Vorrichtung, die in Gruppen von vier mit Vierfach-Schnittstellenvorrichtungen 24 der
physikalischen Schicht verbunden sind. Ein Beispiel einer geeigneten
Schnittstellenvorrichtung 24 der physikalischen Schicht
ist die von Broadcom verfügbare
BCM5208. Jede Schnittstellenvorrichtung 24 der physikalischen
Schicht ist wiederum mit vier Magnetumsetzern 26 verbunden,
um die Signale von entsprechenden RJ-45-Buchsen in der RJ-45-Bank 28 anzusteuern
und zu empfangen. Beispiele der Magnetumsetzer enthalten die S558-5999-47-Vierfachumsetzer (d.
h. vier Umsetzer pro Einheit), die von Bel Fuse verfügbar sind,
und deren Äquivalente.
Die RJ-45-Buchsen in der Bank 24 besitzen eine herkömmliche
Konstruktion, um eine Ethernet-Verbindung mittels verdrillter Aderpaare
zu schaffen. Als solche entsprechen die RJ-45-Buchsen der Bank 28 den
Ports P0 bis Pn nach 2, mit
denen die Hubs H und die Client-Arbeitsplatzrechner C verbunden
sein können.
-
Jeder
Switch 20 besitzt außerdem
einen Gigabit-Port, einen 1000-Mbit/s-Port, der als der Port 8 nummeriert
ist, der zur Vollduplex-Kommunikation fähig ist. In der Ringanordnung
ist die Sendeseite des Ports 8 des Switches 200 mit
der Empfangsseite des Ports 8 des Switches 201 verbunden,
ist die Sendeseite des Ports 8 des Switches 201 mit
der Empfangsseite des Ports 8 des Switches 202 verbunden
und ist die Sendeseite des Ports 8 des Switches 202 mit
der Empfangsseite des Ports 1 der Gigabit-Ethernet-Switch-Vorrichtung 30 verbunden.
Die Sendeseite des Ports 1 des Switches 30 ist mit der
Empfangsseite des Ports 8 des Switches 200 verbunden,
was den Ring vervollständigt.
-
Bei
der Implementierung des Switch-Systems 10 ist es in Anbetracht
der über
den Ring ausgeführten Kommunikation
mit hoher Datenrate bevorzugt, dass die Switches 20, 30 physisch
so nah wie möglich
beieinander angeordnet sind und auf diese Weise lange Signalwege
vermieden werden. Außerdem
sind kleine Reihenwiderstände
(z. B. 33 Ω)
vorzugsweise in der Nähe
der Sendeanschlüsse der
Gigabit-Ports angeordnet, um das unkontrollierte Schwingen des Signals
zu verhindern.
-
Die
Gigabit-Ethernet-Switch-Vorrichtung 30 unterstützt zwei
1000-Mbit/s-Vollduplex-Ports, die als die Ports 0 und 1 nummeriert
sind, von denen jeder vorzugsweise eine integrierte physikalische
Codierungs-Teilschicht-Logik enthält, um eine direkte digitale
Zehn-Bit-Schnittstelle zu den Gigabit-Sendern/Empfängern zu schaffen.
Der Port 0 des Switches 30 ist mit einem Parallel-Seriell-Umsetzer/Seriell-Parallel-Umsetzer 32 verbunden,
der parallele Daten vom Switch 30 in einen seriellen Datenstrom
(und umgekehrt) umsetzt; der Parallel-Seriell-Umsetzer/Seriell-Parallel-Umsetzer 32 ist
mit dem optischen Modul 34 verbunden, das ein serieller Sender/Empfänger ist,
der für
die Verwendung mit einer Lichtwellenleiterverkabelung angepasst
ist, die in diesem Beispiel als die Aufwärtsstrecke UL dient.
-
Das
Switch-System 10 dieser bevorzugten Ausführungsform
der Erfindung enthält
außerdem
eine optionale Zentraleinheit (CPU) 29, die so programmiert
ist, dass sie die Managementfunktionen bezüglich der Switches 20, 30 bereitstellt.
Die CPU 29 kann mittels ihrer entsprechenden digitalen
Eingabe-/Ausgabe-Ports DIO
an jeden der Switches 20, 30 gekoppelt sein. Die
Managementfunktionen, die durch die CPU 20 gesteuert werden
können,
enthalten die Unterstützung
für das
einfache Netznachrichtenprotokoll (SNMP), Spanning Tree (Bridge-Protokoll-Dateneinheit-Rahmen
oder BPDU-Rahmen) und den Betrieb virtueller lokaler Netze (VLAN-Betrieb).
-
Unter
Bezugnahme auf 4a wird nun die Architektur
eines der Switches 20 ausführlich beschrieben, wobei es
selbstverständlich
ist, dass die anderen der Switches 20 ähnlich konstruiert sind.
-
Wie
in 4a gezeigt ist, kommuniziert jeder der 100-Mbit/s-Ports
0 bis 7 mit einer zugeordneten medienunabhängigen Schnittstelle (MII) 41 (d.
h. steuert sie an und wird durch sie angesteuert, im bidirektionalen Sinn),
die wiederum an eine 10-/100-Mbit/s-Endgeräte-Anschlußsteuerung (10-/100-Mbit/s-MAC) 42 angeschlossen
ist, die dem Port zugeordnet ist. Jede MAC 42 ist bidirektional
mit dem lokalen Paketvermittlungsspeicher 45 gekoppelt,
wie in 4a gezeigt ist. Auf der Empfangsseite
für einen
gegebenen Port dienen die MII 41 und die MAC 42 dazu,
die ankommenden Daten vom Port zu interpretieren, die Präambel der Daten
zu erfassen und zu entfernen und sowohl Parameter wie die Adresse,
die Rahmenlänge
und andere Kopfinformationen zu extrahieren als auch die CRC-Prüfsummen-Daten-Behandlung
auszuführen.
Die MAC 42 setzt dann die Daten in dem durch den Vermittlungsspeicher 45 bereitgestellten
Puffer zusammen. Auf der Sendeseite liest die MAC 42 die
Daten aus dem Vermittlungsspeicher 45 und leitet diese
Daten zur entsprechenden MII 41 und folglich zur physikalischen
Schicht weiter; die CRC-Blockprüfungen
werden ausgeführt,
um sicherzustellen, dass die Daten nicht verfälscht sind. Die MII 41 formatiert
und sendet dann die zu sendenden Daten in der für das spezielle Medium, das
mit dem Port verbunden ist, geeigneten Weise. Außerdem enthält jede MAC 42 vorzugsweise
irgendeine Menge adaptiver Leistungsoptimierungslogik, die auf port-weiser
Basis freigegeben wird, um die Gesamtleistung des Switch-System 10 durch
die Verzögerung
von Rahmen zu verbessern, die von den Ports zu senden sind, die
zahlreiche Halbduplex-Kollisionsereignisse erfahren haben. Jede der
MACs 42 führt
in Kombination mit der zugeordneten MII 42 außerdem vorzugsweise
irgendeine Menge der Flusssteuerung aus, z. B. mittels des Antwortens
auf den "Gegendruck" vom Ziel ihrer Sendungen.
-
Der
Gigabit-Port, der Port 8, des Switches 20 wird mittels
der GMII/PMA-Schnittstelle 47 in
Kombination mit der 100/1000-MAC 46 bereitgestellt. Für die Schnittstelle 47 sind
drei mögliche
Betriebsarten verfügbar,
einschließlich
des Betriebs als eine physikalische Medienanschlussschnittstelle
(PMA), als eine medienunabhängige
Schnittstelle (MII) für
die 100-Mbit/s-Kommunikation und als eine Gigabit-MII (GMII) für die 1000-Mbit/s-Kommunikation.
Die Auswahl der speziellen Schnittstellen-Betriebsart kann mittels
Konfigurationssignalen ausgeführt
werden, die an die Steueranschlüsse
dieses Ports angelegt werden. Wie oben bezüglich 3 angegeben
worden ist, steuert ähnlich
die GMII/PMA-Schnittstelle 47 die
Sendedatenleitungen TX DATA und die Flusssteuerleitung FLOW an und
empfängt
Signale auf den Empfangsdatenleitungen RX DATA und der Flusssteuerleitung
COL. Andere (nicht gezeigte) Steuerleitungen und Anschlüsse werden
außerdem durch
die Schnittstelle 47 für
den Betrieb in den oben angegebenen Betriebsarten bereitgestellt.
Zusätzlich
zur Sende- und Empfangsfunktionalität, die oben bezüglich der
MACs 42 angegeben worden ist, stellt die MAC 46 außerdem eine
Vollduplex-Hardware-Flusssteuerung bereit, z. B. mittels einer rahmengestützten Flusssteuerung
entsprechend dem IEEE- Standard
802.3. In der Ringanordnung nach 3 wird die
Flusssteuerung mittels der FLOW- und COL-Anschlüsse an der Schnittstelle 47 übertragen,
wie im Folgenden ausführlicher
beschrieben wird.
-
Wie
oben angegeben worden ist, dient der lokale Paketvermittlungsspeicher 45 als
ein Pufferspeicher für
jeden der Sendekanäle,
die durch die Ports 0 bis 8 des Switches 20 behandelt werden.
Außerdem
kann ein externer Hochgeschwindigkeitsspeicher implementiert sein
(z. B. der RAM 22 nach 3), z. B.
mittels einer Rambus-Schnittstelle unter der Steuerung des Rambus-DRAM-Controllers 50.
In dieser Weise kann der lokale Paketvermittlungsspeicher 45 als
ein Puffer arbeiten, der sich innerhalb des Switches 20 befindet,
wobei die Daten dann zum und vom RAM 22 in Bursts mit hoher
Bandbreite übertragen
werden, was folglich die Wahrscheinlichkeit von Speicherpuffer-Engpässen verringert.
-
Wie
in 4a angegeben ist, enthält der lokale Paketvermittlungsspeicher 45 außerdem einen
Abschnitt, der für
speicherkonforme Register dediziert ist, die durch verschiedene
Schnittstellen adressierbar sind, wie im Folgenden angegeben wird,
in erster Linie zum Speichern von Steuer- und Konfigurationsinformationen
für den
Switch 20. Die Zustände
dieser Register setzen folglich die Parameter fest, unter denen
die verschiedenen Steuerfunktionen innerhalb des Switches 20 die
dadurch ausgeführten
Ethernet-Vermittlungsoperationen steuern, wie nun beschrieben wird.
Die Vermittlung der Pakete wird in erster Linie durch die Vermittlungsmaschine 49 in
Kombination mit der Adressennachschlag-Maschine 48 ausgeführt. Die
Vermittlungsmaschine 49 arbeitet im Wesentlichen als ein
Warteschlangemanager, wobei sie den Empfangs- und Sendeverkehr entsprechend
einer vorgegebenen Menge von Regeln priorisiert. Die höchste Priorität wird z.
B. vorzugsweise gegenwärtig überfragen
Rahmen zugeordnet, um Unterschreitungs-Bedingungen zu vermeiden;
die nächste
Priorität
wird jenen zugeordnet, die empfangen werden, wenn der freie Pufferspeicher
nicht leer ist, wobei folglich sichergestellt wird, dass die empfangenen
Rahmen nicht fallengelassen werden, es sei denn, der Empfang ist
unmöglich.
Die niedrigere Priorität
wird den Rahmen zugeordnet, die für die Übertragung in die Warteschlange
eingereiht sind, für
die aber die Übertragung
noch nicht begonnen worden ist, und die niedrigste Priorität wird den
Netzmanagementrahmen zugeordnet. Die Vermittlungsmaschine 49 ist
außerdem
mit dem Rambus-DRAM-Controller 50 für die Steue rung der Sendung
und des Empfangs der Paketdaten zum und vom RAM 22 (3)
gekoppelt, wie es geeignet ist.
-
Die
Adressennachschlag-Maschine 48 ist eine Logik zum Speichern
der Paketadressenzuordnungen bezüglich
der Ports, die durch den Switch 20 unterstützt werden,
und zum Ausführen
der Quelladressen- und Zieladressenvergleiche mit den gespeicherten
Zuordnungen. Zusätzlich
leitet die Adressennachschlag-Maschine 48 außerdem Pakete
mit unbekannten Adressen in Reaktion auf Konfigurationsinformationen,
die mittels programmierbarer Masken gespeichert sind, zu einem oder
mehreren spezifizierten Ports weiter, wie im Folgenden beschrieben
wird. Der Betrieb der Adressennachschlag-Maschine 48 beim
Ausführen
der Kommunikation in der Ringanordnung nach 3 wird im
Folgenden ausführlicher
beschrieben.
-
Zusätzlich kann
die Adressennachschlag-Maschine 48 außerdem die Logik zum Unterstützen virtueller
LANs enthalten, wie sie z. B. durch den IEEE-Standard 802.1Q spezifiziert
sind. In diesem Fall kann jeder Port so programmiert sein, dass
er ein Zugriffs-Port oder ein Nichtzugriffs-Port ist, wobei in diesem
Fall die Adressennachschlag-Maschine 48 Rahmen mit VLAN-Tags
erkennen kann und diese Rahmen zu Systemen senden kann, die ähnlich die
VLAN-Funktionalität
unterstützen.
-
Der
Switch 20 enthält
ferner bestimmte andere Funktionen, die bei seinem Management und
seiner Steuerung nützlich
sind. Die EEPROM-Schnittstelle 54 schafft eine Kommunikationsfähigkeit
mit einem externen elektrisch löschbaren
programmierbaren Festwertspeicher (EEPROM), in dem die Konfigurationsinformationen
programmiert und gespeichert sein können. Beim Rücksetzen
oder Einschalten greift der Switch 20 über die Schnittstelle 54 auf
die im externen EEPROM enthaltenen Konfigurationsinformationen zu
und lädt
diese Konfigurationsinformationen in die speicherkonformen Register
in seinem lokalen Speicher 45. Die CPU-Schnittstelle 56 ist
mit dem Port DIO verbunden, um Konfigurations- und Managementinformationen, z. B.
mittels des direkten Speicherzugriffs (DMA), zwischen den speicherkonformen
Registern im lokalen Speicher 45 des Switches 20 und
der CPU 29 (3), falls sie in Switch-System 10 vorhanden
ist, zu senden und zu empfangen. Diese Managementinformationen,
vorzugsweise in der Form von Paketen, die zu der durch den Switch 20 behandelten
Kommuni kation ähnlich
sind, werden über
die Management-MAC 57 an den lokalen Paketvermittlungsspeicher 45 angelegt
und aus ihm gelesen. Andere im Switch 20 enthaltene verschiedenartige
Funktionen enthalten die Managementschnittstelle 58, die
eine serielle Schnittstelle für
die MII-Managementdaten schafft, die LED-Schnittstelle 59, von der Signale
an die LED-Indikatoren des Switch-Systems 20 für die Betrachtung
durch die Bedienungsperson angelegt werden können, und die JTAG-Schnittstelle 60 für den Empfang
und die Sendung serieller Testsignale in der herkömmlichen
Weise. Außerdem
enthält
der Switch 20 Hardware-Fernüberwachungs-(Hardware-RMON-)
und Etherstat-Managementinformationsbasen (Etherstat-MIBs) 52 für das Speichern
von Betriebsparametern pro Port, die extern überwacht werden können.
-
Der
Gigabit-Switch 30 ist ähnlich
konstruiert wie der Switch 20, wie nun bezüglich 4b beschrieben wird,
in der sich gemeinsame Bezugszeichen auf gemeinsame Merkmale in
den Switches 20 und 30 beziehen. Wie in 4b gezeigt
ist, unterstützt
der Switch 30 zwei Gigabit-Ports, die als die Ports 0 und
1 nummeriert sind, mittels der Kombination der 100/1000-MAC 46 und
der GMII/PMA-Schnittstelle 47. Wie im Fall des Gigabit-Ports
des Switches 20 kann die GMII/PMA-Schnittstelle 47 in
irgendeiner von drei auswählbaren
Betriebsarten arbeiten, nämlich
als eine physikalische Medienanschlussschnittstelle (PMA), als eine
medienunabhängige
Schnittstelle (MII) für
die 100-Mbit/s-Kommunikation und als eine Gigabit-MII (GMII) für die 1000-Mbit/s-Kommunikation.
Die GMII/PMA-Schnittstelle 470 steuert
die Sendedatenleitungen TX DATA und die Flusssteuerleitung FLOW
an und empfängt
Signale auf den Empfangsdatenleitungen RX DATA und der Flusssteuerleitung
COL für
den Gigabit-Port 0, während
für den
Gigabit-Port 1 die GMII/PMA-Schnittstelle 471 die
Sendedatenleitungen TX DATA und die Flusssteuerleitung FLOW ansteuert
und Signale auf den Empfangsdatenleitungen RX DATA und der Flusssteuerleitung
COL empfängt.
Für jeden
Port sind außerdem
(nicht gezeigte) andere Steuerleitungen und Anschlüsse für die Schnittstelle 47 für den Betrieb
in den oben angegebenen Betriebsarten vorgesehen. Wie oben angegeben
worden ist, schafft die MAC 46 außerdem eine Vollduplex-Hardware-Flusssteuerung
mittels der rahmengestützten
Flusssteuerung entsprechend dem IEEE-Standard 802.3. Ähnlich wie
im Fall des obenbeschriebenen Switches 20 wird jedoch in
der Ringanordnung nach 3 die Flusssteuerung mittels
der Steuerleitungen FLOW und COL an der Schnittstelle 47 übertragen,
wie nun ausführlicher
beschrieben wird.
-
Wie
im Stand der Technik bekannt ist, arbeitet die Flusssteuerung sowohl
in Ethernet-Netzen als auch in anderen Kommunikationsnetzen entsprechend
dem Konzept des "Gegendrucks". Um das Risiko verworfener
ankommender Nachrichtenrahmen zu verringern, schaffen die Ethernet-Netzelemente,
wie z. B. die Switches 20, 30, irgendeinen Betrag
der Pufferung für
ihre Empfangsseiten; wie oben bezüglich der 4a und 4b angegeben
worden ist, enthalten die Switches 20, 30 eine
derartige Paketpufferung sowohl mittels des lokalen Paketvermittlungsspeichers 45 als
auch mittels des externen RAM 22. Der Gegendruck bezieht
sich auf ein empfangendes Netzelement, das einem sendenden Netzelement
angibt, dass unzureichende Betriebsmittel (z. B. Pufferkapazität) auf der
Empfangsseite für
die Verarbeitung der aktuellen Nachricht verfügbar sind. Das sendende Netzelement
kann dann auf das Gegendruck-Signal antworten, um das Senden weiterer
Pakete über
den Kanal anzuhalten, bis die bereits gepufferten Pakete verarbeitet
und aus dem Paketpuffer gelöscht worden
sind, was zusätzlichen
Raum für
neue Pakete freigibt. Die Switches 20, 30 bewerkstelligen
den Gegendruck, indem sie einen aktiven Zustand auf der Steuerleitung
FLOW auf der Empfangsseite der zugeordneten Ports aktivieren; dieses
Signal wird am Sende-Port eines weiteren Netzelements, wie z. B.
eines weiteren Switches 20, 30, an seinem Steuereingang
COL empfangen. Bei der Halbduplex-Kommunikation gibt ein aktiver
Zustand auf der Steuerleitung FLOW (der auf der Steuerleitung COL
empfangen wird) ein Kollisionsereignis an, wobei in Reaktion auf
dieses die Übertragung
angehalten wird; bei der Vollduplex-Kommunikation veranlasst dieser
aktive Zustand auf der Steuerleitung FLOW in flussfähigen Elementen
das sendende Element, Pausenrahmen zu erzeugen.
-
Die
Switches 20, 30 enthalten eine effiziente Technik
zum Bestimmen, wann ein Gegendruck ausgeübt werden sollte, insbesondere
Fall der "Warteschlangenblockierung". Die Situation der
Warteschlangenblockierung tritt auf, wenn sich ankommender Netzverkehr
von mehreren Quellen an einem einzigen Empfangs-Port in einem derartigen Ausmaß ansammelt,
dass er die Bandbreite dieses Empfangs-Ports überlastet. Für den Fall
der Switches 20, 30 kann eine derartige Situation
durch die Pufferfähigkeit
für kurze
Bursts behandelt werden; eine anhaltende Überlastung kann jedoch sogar
einen großzügig bemessenen
Puffer erschöpfen.
Entsprechend herkömmlicher
Pufferungszugänge
werden benachbarte, nicht in Beziehung stehende Übertragungskanäle außerdem beeinflusst,
wenn sich der Rahmen-Rückstand
zu einem derartigen Ausmaß vergrößert, dass
er die verfügbaren
Betriebsmittel verbraucht, was die Gesamtnetzleistung verschlechtert.
Herkömmliche
Switches verwenden z. B. einen Flussschwellenwert, der ein Steuerregisterwert
ist, der der Anzahl der im Puffer verbleibenden Puffer entspricht,
bei der, wenn sie erreicht wird, ein Gegendruck auf die empfangenen Kommunikationskanäle auszuüben ist.
Entsprechend diesem herkömmlichen
Zugang übt
der Switch einen Gegendruck auf alle Ports aus, ungeachtet dessen,
welcher Port oder welche Ports die Überlastung verursachen, wenn
der ankommende Verkehr zu einem derartigen Ausmaß gepuffert wird, dass der
Zählstand
der verfügbaren
Puffer den Flussschwellenwert erreicht, ob dies auf einen besonders
vorherrschenden Kanal zurückzuführen ist
oder ob dies auf alle Kanäle
zurückzuführen ist,
die die Switch-Bandbreite ein wenig überlasten. Sobald die gepufferten
Pakete zu dem Ausmaß verarbeitet
sind, dass der Zählstand
der freien Puffer abermals den Flussschwellenwert übersteigt,
wird der Gegendruck entfernt, was die Sendung von neuen Paketen
von den Quell-Netzelementen erlaubt. Während der Flussschwellenwert
so ausgewählt
werden kann, um den Abschluss eines Rahmens mit maximaler Größe für jeden
der Ports zu optimieren, wobei tatsächlich ausreichend Zeit für jeden
Port bereitgestellt wird, um die Flusssteuerungsmechanismen zu aktivieren,
ohne es zu erfordern, dass ein Rahmen "weggeworfen" wird, erlaubt dieser herkömmlichen
Zugang einer kleinen Minderheit der Ports, einen Flusssteuerungs-Gegendruck
in Kanälen
zu verursachen, die nicht für
die Überlastung
verantwortlich sind, wobei die gesamte Netzkommunikation ungünstig beeinflusst
wird.
-
Die
Switches 20, 30 sind in eine Betriebsart konfigurierbar,
bei der sich der Schwellenwert der Betriebsmittelverwendung, bei
dem der Gegendruck auf einen sendenden Kanal auszuüben ist,
mit den verfügbaren
Speicherbetriebsmitteln des Switches 20, 30 ändert. In
dieser Weise kann ein Kanal mit starkem Verkehr in einem höheren Maß unterstützt werden,
wenn die Anzahl der Kanäle,
die Verkehr übertragen,
niedrig ist, aber ohne dieselben Betriebsmittel unfair zu belegen,
wenn der Switch 20, 30 viele Kanäle empfängt. Die
folgende Beschreibung wird um der Klarheit willen bezüglich des
Switches 20 dargestellt, wobei es selbstver ständlich ist,
dass der Switch 30 ähnlich
konstruiert ist und in einer ähnlichen
Weise arbeitet.
-
Unter
Bezugnahme auf 5 wird nun der Betrieb des Switches 20 zum
Anwenden der Flusssteuerung bei der Warteschlangenblockierung ausführlich beschrieben.
Dieser Betrieb wird bezüglich
eines einzigen Ports k beschrieben, wobei es selbstverständlich ist,
dass eine ähnliche
Verarbeitung und ein ähnliches
Treffen von Entscheidungen gleichzeitig bezüglich der anderen Ports ausgeführt werden,
die durch den Switch 20 unterstützt werden. Außerdem wird
davon ausgegangen, dass dieser Betrieb des Switches 20 in
erster Linie durch die Logik in der Vermittlungsmaschine 49 in
ihm ausgeführt
wird, obwohl es natürlich
selbstverständlich ist,
dass eine solche andere Logik, die im Switch 20 für das Management
des Betriebs der Kommunikations-Ports vorgesehen ist, äquivalent
die im Folgenden beschriebenen Operationen ausführen kann. Als solches wird
im Folgenden einfach auf den Switch selbst, der die Operationen
ausführt,
Bezug genommen, wobei es selbstverständlich ist, dass eine bestimmte
Logikschaltungsanordnung darin typischerweise die Operationen ausführt.
-
Im
Prozess 62 empfängt
der Port k ein Nachrichtenpaket, wobei er in der Entscheidung 63 bestimmt, ob
dieses empfangene Paket gepuffert werden muss (die Entscheidung 63 lautet
ja) oder ob die Bandbreite des Ports k zu diesem Zeitpunkt ausreichend
ist, so dass das Paket ohne Pufferung verarbeitet werden kann. Falls
das Paket verarbeitet werden kann (die Entscheidung 63 nein
lautet), wird der Prozess 64 durch den Switch 20 ausgeführt, um
das empfangene Paket zu verarbeiten, im Allgemeinen durch das Weiterleiten
des Pakets zu seinem Ziel-Port entsprechend der aufgezeichneten
Zieladresse, wie sie durch die Adressennachschlag-Maschine 48 gefunden
wird. Dann wird die Steuerung zurück zum Prozess 62 für den Empfang
des nächsten
Paketes geleitet.
-
Falls
das empfangene Paket an diesem Punkt nicht verarbeitet werden kann
(die Entscheidung 63 ja lautet), führt der Switch 20 als
Nächstes
die Entscheidung 65 aus, um zu bestimmen, ob die Schwelle
der Warteschlangenblockierung (HOLE-Schwelle) für den Port k überschritten
worden ist. Die HOLE-Schwelle ändert sich
entsprechend der Menge der verfügbaren
Puffer im Paketpufferspeicher (der den lokalen Paketvermittlungsspeicher 45 und
den externen RAM 22 enthält). Gemäß dieser beispielhaften Implementierung
ist die HOLE-Schwelle für einen
speziellen Port k die Anzahl der verfügbaren Puffer, die im Paketpufferspeicher
des Switches 20 verbleiben. Als solche ändert sich die HOLE-Schwelle
entsprechend der Anzahl der Ports des Switches 20, die
sich im Rückstand
befinden und deshalb die Pufferung durch den Paketpufferspeicher
erfordern. Effektiv ist die HOLE-Schwelle für einen gegebenen Port gleich
der Hälfte
der verfügbaren
Puffer zu diesem Zeitpunkt. Im stationären Zustand wird in dem Fall,
in dem n Ports gepuffert werden, jeder Port mit 1/(n + 1) des Gesamtpaketpufferspeichers
versehen. Falls z. B. nur ein Port gepuffert wird, kann dieser Port
1/2 des Gesamtpaketpufferspeichers belegen, bevor die HOLE-Schwelle
erreicht wird; falls sechs Ports gepuffert werden, beträgt die HOLE-Schwelle
für jeden
1/7 des Paketpuffer-Speicherraums. Demzufolge bestimmt in der Entscheidung 65 der
Switch 20, ob für
den aktuellen Port k die HOLE-Schwelle durch das empfangene Paket überschritten
wird, indem er bestimmt, ob die Anzahl der Puffer, die dem Port
k zugeordnet sind, größer als
die Anzahl der Puffer ist, die im Paketspeicher des Switches 20 verfügbar bleiben.
Falls ausreichend Betriebsmittel im Paketpufferspeicher für den Port
k verbleiben (die Entscheidung 65 nein lautet), puffert
der Switch 20 das am Port k empfangene Paket im Prozess 66,
verarbeitet das älteste
gepufferte Paket für
den Port k im Prozess 64 und erwartet das nächste vom
Port k zu empfangende Paket (Prozess 62).
-
Falls
jedoch die Anzahl der für
die vom Port k empfangenen Pakete belegten Puffer bereits die HOLE-Schwelle
erreicht hat (die Entscheidung 65 ja lautet), antwortet
der Switch 20 auf das neu empfangene Paket durch das Ausüben eines
Gegendrucks auf den Port k. Wie oben angegeben worden ist, nimmt
dieser Gegendruck vorzugsweise die Form an, dass die Empfangsseite
des Ports k einen aktiven Pegel auf seiner Ausgangssteuerleitung
FLOW aktiviert; in Reaktion auf dieses (auf der Steuerleitung COL
empfangene) Gegendrucksignal ergreift der sendende Port die geeigneten
Maßnahmen
entsprechend seiner Fähigkeit,
die die Erfassung einer Kollision (wie z. B. in der Halbduplex-Betriebsart)
oder die Erzeugung von Pausenrahmen in flussfähigen sendenden Vollduplex-Ports
enthalten können.
-
Der
Switch 20 fährt
dann damit fort, zu versuchen, den Rückstand zu bereinigen, indem
er die dem Port k zugeordneten gepufferten Pakete im Prozess 70 verarbeitet,
während
der Gegendruck auf den Port k ausgeübt wird. Bei der Verarbeitung
eines oder mehrerer gepufferter Pakete im Prozess 70 (im
Allgemeinen in einer FIFO-Weise) führt der Switch 20 die
Entscheidung 71 aus, um zu bestimmen, ob die Anzahl der
durch den Port k verwendeten Puffer weiterhin die Anzahl der dann
verfügbaren
Puffer im Paketpufferspeicher überschreitet,
gefolgt von der Verarbeitung der Pakete, die durch den Prozess 70 ausgeführt wird.
Es sollte angegeben werden, dass sich die Anzahl der verfügbaren Puffer
im Paketpufferspeicher und folglich die HOLE-Schwelle im Prozess 71 in
Abhängigkeit
von der durch die anderen Ports des Switches 20 unterdessen ausgeführten Pufferung
von der durch die Entscheidung 65 verwendeten HOLE-Schwelle
unterscheiden können.
Falls die HOLE-Schwelle für
den Port k immer noch überschritten
ist (die Entscheidung 71 ja lautet), wird die Steuerung
zurück
zum Prozess 70 für
die Verarbeitung weiterer Pakete für den Port k geleitet, während der Gegendruck
immer noch verbleibt. Falls jedoch die dem Port k zugeordneten Pufferbetriebsmittel
nun unter die HOLE-Schwelle der Anzahl der verfügbaren Puffer fallen (die Entscheidung 71 nein
lautet), kann der Switch 20 nun den Gegendruck vom Port
k entfernen, um die weitere Pufferung der empfangenen Pakete im
Prozess 72 zu erlauben; die Steuerung kehrt dann zum Prozess 62 für den Empfang
weiterer Pakete am Port k zurück, die
nun durch das Quell-Netzelement gesendet werden (der Gegendruck
ist nun entfernt).
-
Unter
Bezugnahme auf die 6a bis 6e wird
nun ein Beispiel des Betriebs des Switches 20 im Zusammenhang
mit dem Prozess nach 5 für den Fall von zwei Ports beschrieben,
die die Pufferung im Paketpufferspeicher erfordern, der aus dem
lokalen Paketvermittlungsspeicher 45 und dem RAM 22 besteht, wie
oben angegeben worden ist. Für
die Einfachheit der Beschreibung wird das Beispiel nach den 6a bis 6e im
Zusammenhang mit dem lokalen Paketvermittlungsspeicher 45 beschrieben,
der eine Gesamtmenge von sechzehn verfügbaren Puffern besitzt, wobei
es selbstverständlich
ist, dass der Paketpufferspeicher eines tatsächlichen Switches 20 im
Allgemeinen viel mehr als sechzehn Gesamtpuffer besitzt.
-
6a veranschaulicht
den Zustand der beispielhaften Puffer des lokalen Paketvermittlungsspeichers 45 in
dem Fall, in dem der Port 2 des Switches 20 Nachrichtenpakete
in sieben Puffern des lokalen Paketvermittlungsspeichers 45 gepuffert
hat. In diesem Beispiel eines Paketspeichers mit sechzehn Puffern
und weil an diesem Punkt nur ein Port (der Port 2) Pakete puffert,
beträgt
die HOLB-Schwelle
effektiv acht Puffer, die ein halb (1/n, mit n = 2) der Anzahl der
verfüg baren
Puffer ist. Unter Bezugnahme auf 5 bestimmt
dieser Fall der Entscheidung 65 für den Port 2, dass die gepufferten
Rahmen des Ports 2 nur sieben Puffer belegen, wobei neun Puffer
verfügbar
bleiben, und dass deshalb die HOLE-Schwelle für den Port 2 noch nicht erreicht worden
ist (d. h. Entscheidung 65 lautet nein). In diesem Fall
wird kein Gegendruck auf den Port k ausgeübt, wobei die gepufferten Pakete
durch den Prozess 64 in der üblichen Weise verarbeitet werden.
-
6b veranschaulicht
den Fall, in dem die Anzahl der für die vom Port 2 empfangenen
Pakete erforderlichen Puffer die HOLE-Schwelle von acht Puffern
in diesem Beispiel erreicht hat; dies ist darauf zurückzuführen, dass
der Port 2 acht Puffer belegt, wobei acht verfügbare Puffer verbleiben. In
diesem Fall (die Entscheidung 65 lautet ja) wird der Prozess 68 durch
den Switch 20 ausgeführt,
um den Gegendruck auf den Port 2 ausüben, was dem entspricht, dass
die Empfangsseite des Ports 2 einen aktiven Pegel an ihrem Ausgang FLOW
aktiviert. In Reaktion antwortet die Quelle der Pakete für den Port
2 auf den Gegendruck in einer Weise, die der Art jener Kommunikation
entspricht.
-
In 6c puffert
ein zweiter Port, nämlich
der Port 7, nun außerdem
Pakete im lokalen Paketvermittlungsspeicher 45. In diesem
Beispiel belegt der Port 2 weiterhin acht Puffer, wobei der Port
7 nun vier Puffer belegt. Wie oben angegeben worden ist, wird der
Gegendruck bereits vom Port 2 ausgeübt, wobei er in Anbetracht
dessen, dass die durch die Pakete des Ports 2 belegten acht Puffer
größer als
die verfügbar
verbleibenden vier Puffer sind, weiterhin ausgeübt wird. Außerdem wird ebenfalls auf den
Port 7 ein Gegendruck ausgeübt,
da die durch seine Pakete belegten vier Puffer die Anzahl (vier)
der verfügbaren
Puffer erreicht haben. Dieser Gegendruck auf die Ports 2 und 7 erlaubt
folglich, dass die gepufferten Pakete verarbeitet werden und der
Pufferraum geleert wird, wie in 6d gezeigt
ist.
-
In
dem in 6d gezeigten Zustand belegen
die Pakete vom Port 2 sieben Puffer, während die Pakete vom Port 7
drei Puffer belegen, wobei sechs Puffer verfügbar bleiben. Weil die Anzahl
der durch die Pakete des Ports 7 belegten Puffer kleiner als die
der verfügbaren
Puffer ist, kann als solcher der Gegendruck vom Port 7 entfernt
werden, da seine Pufferspeicherverwendung unter der aktuellen HOLE-Schwelle
liegt. Die durch die Pakete des Ports 2 belegten Puffer überschreiten
jedoch immer noch die Anzahl der verfügbaren Puffer, wobei als solche
die Pufferung des Ports 2 weiterhin die HOLE-Schwelle überschreitet;
wobei demzufolge der Gegendruck auf den Port 2 ausgeübt verbleibt.
Es sollte angegeben werden, dass infolge des Vorhandenseins der
gepufferten Pakete für
einen zweiten Port (d. h. den Port 7) die HOLE-Schwelle nun niedriger als
im Fall nach den 6a und 6b ist.
Im Anschluss an den fortgesetzt auf den Port 2 ausgeübten Gegendruck
werden seine gepufferten Pakete weiterhin verarbeitet, was die dadurch
belegten Puffer auf ein Niveau unter der HOLE-Schwelle verringert
(wie in 6e gezeigt ist), wobei an diesem
Punkt der Gegendruck ebenso vom Port 2 entfernt wird.
-
In
dieser Weise schafft die dynamische Bestimmung der HOLE-Schwelle
basierend auf der Verwendung des Paketpufferspeichers durch alle
verfügbaren
Ports einen effizienten und dennoch fairen Zugang für den Aufruf
des Gegendrucks. Falls der Paketpufferspeicher durch eine Anzahl
von Ports nicht stark verwendet wird, kann eine Nachricht mit besonders
hoher Bandbreite effizient durch die Verwendung eines relativ großen Puffers
verarbeitet werden; umgekehrt kann, falls viele Ports ihre Pakete
Puffern, kein Port den Paketpufferspeicher unfair beherrschen, wobei
auch kein Port unfair von einer derartigen Pufferung ausgeschlossen
wird. Es wird deshalb davon ausgegangen, dass die Switches 20, 30 im
Ergebnis dieser sich dynamisch ändernden Schwelle
wichtige Vorteile für
die Gesamtnetzleistung bereitstellen können.
-
Außerdem fördert die
durch die Switches 20, 30 ausgeführte Behandlung
der Warteschlangenblockierung zusätzlich den Gesamtbetrieb einer
umfangreicheren Implementierung, wie z. B. das Switch-System 10 und
die Alternativen zu ihm. Ein derartiger Vorteil ist darauf zurückzuführen, dass
die Switches 20, 30 die Flusssteuerung in einer
fairen und effizienten Weise selbst behandeln, so dass sich die
stromabwärtige
Vermittlungsstruktur nicht mit Flusssteuerungsproblemen befassen
muss; dies erlaubt die Verwendung von Vermittlungsstrukturen mit
einfacherer Architektur, die für
die Paketvermittlung optimiert sind, die Verringerung der Kosten
umfangreicher Vermittlungssysteme und außerdem die Verbesserung der
Netzleistung durch die Entlastung der Flusssteuerungsfunktion vom
kritischen Weg der Vermittlungsstruktur.
-
Die
obenbeschriebenen Techniken der Warteschlangenblockierung können außerdem in
Kombination mit anderen Zugängen
der Flusssteuerung verwendet werden. Der herkömmliche Flussschwellenwert
kann z. B. zusätzlich
zum HOLB-Schwellenwert
verwendet werden, so dass die Flusssteuerung auf einen Port angewendet
wird, wann immer entweder die HOLE-Schwelle oder die Flussschwelle überschritten
ist. Es wird davon ausgegangen, dass diese und andere Alternativen
für die
Durchschnittsfachleute auf dem Gebiet offensichtlich sind, die auf
diese Beschreibung Bezug nehmen.
-
In 3 ist
das Switch-System 10 als ein Ring der Switches 20 und
des Switches 30 angeordnet, wie oben angegeben worden ist.
Die Switches 20, 30 können beim Empfang oder der
Sendung Pre-Tags auf die Rahmen vor ihrer erneuten Sendung zu den
Ziel-Ports anwenden. Dieses Anwenden von Pre-Tags ermöglicht die
Ringanordnung des Switch-Systems 10. Wie für die Fachleute
auf dem Gebiet offensichtlich werden wird, die auf die folgende
Beschreibung Bezug nehmen, kann das Anwenden von Pre-Tags, die durch
den Switch 20 auf seine übertragenen Pakete angewendet
werden können,
zwei verschiedene Typen besitzen. Für die Ringanordnung nach 3 beziehen
sich die Paket-Pre-Tags auf die Ringarchitektur und auf die Anleger
um diesen Ring. In Anbetracht des ersten Typs der Pre-Tags für die Verwendung
in der Ringkonfiguration des in 3 gezeigten
Switch-Systems 10 muss jeder der Switches 20 und
außerdem
der Switch 30 so konfiguriert sein, dass er sowohl die
geeigneten Pre-Tag-Informationen erzeugt und auf sie antwortet als
auch seine eigene Stelle innerhalb der Ringarchitektur erfasst.
Diese Konfigurationsinformationen, die einen Wert der "Ring-ID" enthalten, der dem
speziellen Switch 20 zugeordnet ist, sind vorzugsweise
in einem internen Register des Switches 20, 30 gespeichert;
vorzugsweise sind die Konfigurationsinformationen in einem externen
EEPROM gespeichert, der beim Rücksetzen
durch den Switch 20, 30 über die EEPROM-Schnittstelle 56 gelesen
wird, um die richtigen Konfigurationsinformationen in die internen
Register des Switches 20, 30 zu setzen. Alternativ kann
die CPU 29 außerdem
diese Konfigurationsinformationen über die digitale Schnittstelle
DIO bereitstellen. Als solche nimmt die folgende Beschreibung die
geeignete Konfiguration des Switches 20, einschließlich der Zuordnung
eines Wertes der Ring-ID dafür,
an.
-
Für die Ringanordnung
nach 3 ist der Ring-ID-Pre-Tag ein "Außerband"-Pre-Tag, weil der Pre-Tag im Paket vor
der Aktivierung des Sendefreigabesignals vorhanden ist; demzufolge
werden die bereits vorhandenen Präambel-Informationen im Paket
nicht gestört. 7 ist
ein Impulsdiagramm, das die relative Stelle des Ring-ID-Pre-Tag-Signals
veranschaulicht. Wie es üblich
ist, wird ein Taktsignal durch einen sendenden Ring-Port, nämlich den
Gigabit-Port 8 des Switches 20, an einer Steuerleitung
PORT CLK dargestellt, die eine der Steuerleitungen ist, die von
ihm abgehen; selbstverständlich
empfängt
der empfangende Switch 20, 30 dieses Taktsignal
auf der Empfangsseite seines Gigabit-Ports 8 für den synchronen Empfang der
auf den Leitungen TX DATA gesendeten (und auf den Leitungen RX DATA
empfangenen) Datensignale. Wie außerdem in 7 gezeigt
ist, wird ein Steuersignal durch den sendenden Switch 20 auf
der Steuerleitung PORT EN ausgegeben, wobei es (mit einem aktiv
hohen Pegel) den Zeitpunkt angibt, zu dem gültige Paketinformationen durch
den sendenden Switch 20 auf den Leitungen TX DATA <7:0> von seinem Gigabit-Port
8 dargestellt werden; diese Signale werden auf den entsprechenden
Empfangsdatenleitungen RX DATA <7:0> auf der Empfangsseite
des Gigabit-Ports 8 des nächsten
Switches 20 (oder 30) in der Ringanordnung empfangen
(wie z. B. in 3 gezeigt ist). Wie in 7 gezeigt
ist, wird der Ring-ID-Pre-Tag durch den Switch 20 auf den
Leitungen TX DATA <7:0> während der Periode des PORT
CLK vor der aktiven Anstiegsflanke des Steuersignals PORT EN gesendet.
Als solcher wird der Ring-ID-Pre-Tag als ein Außerband-Pre-Tag bezeichnet,
weil seine Daten vor den gültigen
Paketdaten dargestellt werden (beginnend mit dem aktiven Pegel des
Steuersignals PORT EN). Die Empfangsseiten der Gigabit-Ports (der
Ports 8) jedes der Switches 20, 30, die in der
Ringanordnung verbunden sind, sind in einer derartigen Weise konfiguriert,
dass sie die auf ihren Leitungen RX DATA <7:0> in
dieser vorhergehenden Taktperiode empfangenen Ring-ID-Pre-Tag-Informationen
behalten.
-
Die
tatsächlichen
Ring-ID-Pre-Tag-Daten werden vorzugsweise auf den Leitungen TX DATA <7:0> in einer redundanten
Weise dargestellt. Unter Bezugnahme auf die 4a und 4b wird
davon ausgegangen, das die dem Port 8 des Switches 20 (und
den Ports 0 und 1 des Switches 30) zugeordnete MAC 46 die
Schaltungsanordnung ist, die den Pre-Tag für die davon gesendeten Pakete
erzeugt. Insbesondere ist es bevorzugt, dass die vier Leitungen
TX DATA <3:0> einen Ring-ID-Wert
(d. h. einen von sechzehn) vollständig darstellen und dass die
vier Leitungen TX DATA <7:4> den völlig gleichen
Wert spiegeln. Diese Redundanz versieht den empfangenden Switch 20, 30 mit
irgendeiner Menge der Fehlererfassung und möglicherweise einer Technik zum
Erfassen des Ring-ID-Pre-Tag
selbst.
-
Die
Ring-ID-Werte sind jedem Switch 20, 30 in der
speziellen Ringanordnung des Switch-Systems 10 eindeutig
zugeordnet. Der jedem Switch 20, 30 zugeordnete
spezielle Ring-ID-Wert ist nicht kritisch und die Reihenfolge einer
derartigen Zuordnung ist es auch nicht, mit Ausnahme, dass der Ring-ID-Wert
von null vorzugsweise für
die Verwendung durch eine optionale Management-CPU reserviert ist.
Wie im Folgenden angegeben wird, kann in einigen Anordnungen ein
einzelner Switch 30 in zwei separaten Ringen liegen, wobei
er folglich eine Ring-ID für
jeden der zwei Ringe besitzt; in diesem Fall erfordert der richtige
Betrieb, dass sich diese zwei Ring-ID-Werte für diesen Switch 30 voneinander
unterscheiden.
-
Unter
Bezugnahme auf 3 in Kombination mit den 8a bis 8c werden
nun der Betrieb des Switch-Systems 10, das mittels der
Switches 20 und des Switches 30 implementiert
ist, die in dem in 3 gezeigten Ring angeordnet
sind, und die Verwendung des obenbeschriebenen Pre-Tag-Merkmals
ausführlich beschrieben.
Wie oben angegeben worden ist, wird jeder der Switches 20, 30 so
konfiguriert, dass er in einer Ringkonfiguration, wie z. B. im Switch-System 10,
arbeitet, indem die geeigneten Werte beim Rücksetzen oder Einschalten in
ihre entsprechenden Steuerregister gesetzt werden, wobei derartige
Werte außerdem
die jedem Switch 20, 30 zugeordnete Ring-ID enthalten.
Für die
Switches 20, 30, die so konstruiert sind, wie
oben bezüglich
den 4a bzw. 4b beschrieben
worden ist, kann eine derartige Konfiguration mittels der Management-CPU 29,
die die speicherkonformen Konfigurationsregister im lokalen Paketvermittlungsspeicher 45 über die
digitale Schnittstelle DIO lädt,
oder alternativ durch den Switch 20, 30, der einen
externen EEPROM, der die Konfigurationsdaten enthält, über seine
EEPROM-Schnittstelle 54 liest, verursacht werden.
-
Die
Switches 20, 30 "lernen" die Adressen jedes der Ports innerhalb
des Switch-Systems 10, über
den die Kommunikation ausgeführt
wird. Dieser Lernprozess muss für
einen gegebenen Port vor der erfolgreichen Lenkung irgendwelcher
Pakete an ihn stattfinden. Demgemäß wird dieser Lernprozess zuerst
für das Switch-System 10 unter
Bezugnahme auf die 8a in Kombination mit 3 mittels
eines Beispiels seines Betriebs beschrieben.
-
In
dem Beispiel nach 8a wird ein Nachrichtenpaket
im Prozess 74 an einem der lokalen Ports (den Ports 0 bis
7) des Switches 201 im nach Art
eines Rings angeordneten Switch-System 10 empfangen, wie
in 3 gezeigt ist. Als Nächstes führt der Switch 201 die Entscheidung 75 mittels
seiner Adressennachschlag-Maschine 48 aus, um zu bestimmen,
ob die Zieladresse (DA) dieses Pakets bei einem seiner lokalen Ports
(den Ports 0 bis 7) aufgezeichnet ist. Wenn ja (die Entscheidung 75 ja
lautet), würde
das Paket zu dem lokalen Port weitergeleitet werden, der durch die
Adressennachschlag-Maschine 48 dieser Zieladresse zugeordnet
wird. Falls die Zieladresse beim Gigabit-Port 8 als einem Ziel anderswo
im Ring des Switch-Systems 10 entsprechend aufgezeichnet
ist oder falls die Zieladresse nicht bei der Adressennachschlag-Maschine 48 aufgezeichnet
ist, lautet die Entscheidung 75 nein, wobei die Steuerung
zum Prozess 78 weitergeleitet wird, um das Paket für die Sendung über den
Gigabit-Port 8 vorzubereiten. Wie oben angegeben worden ist, hat
in diesem Beispiel keiner der Switches 20, 30 im
Switch-System 10 die Zieladresse dieses speziellen Pakets schon
aufgezeichnet. Als solche lautet die Entscheidung 75 für dieses
Paket nein.
-
Als
Nächstes
bereitet der Switch 201 das Paket
für die
Sendung über
die Ringanordnung des Switch-Systems vor, indem er seinen Ring-ID-Wert
im Prozess 78 als einen Pre-Tag zu diesem empfangenen Paket
hinzufügt.
Das Paket ist dann für
die Sendung über
den Gigabit-Port 8 des Switches 201 bereit.
Für den Zweck
des Ausführens
der Flusssteuerung bestimmt der Switch 201 zuerst
in der Entscheidung 79, ob die Steuerleitung COL auf der
Sendeseite seines Gigabit-Ports 8 frei ist. Falls sie nicht frei
ist, was bedeutet, dass der nächste
stromabwärtige
Switch 202 einen Gegendruck durch
das Aktivieren seiner Leitung FLOW ausübt, wiederholt der Switch 201 die Schleife aus dem Wartezustand 80 und
der Entscheidung 79, bis die Steuerleitung COL frei ist
(die Entscheidung 79 ja lautet), wobei der Switch 201 in Reaktion darauf im Prozess 82 das Paket
mit dem Ring-ID-Pre-Tag zum Gigabit-Port 8 des Switches 202 sendet.
-
Die
obenbeschriebene Verarbeitung, die dann auf den Empfang eines Pakets
von einem lokalen Port, wie z. B. einem der Ports 0 bis 7 des Switches 201 , an gewendet wird, wird sogar nach
dem hierin beschriebenen Aufzeichnungs- und Lernprozess für empfangene
Pakete ähnlich
ausgeführt.
In dieser Hinsicht werden die Prozesse 74, 76, 78, 82 zusammen
mit den Entscheidungen 75, 79 und dem Wartezustand 80 hierin
zusammen als der Empfangsprozess 83 für den lokalen Port bezeichnet,
da derartige Prozesse durch die Switches 20 (und mit geringfügiger Variation
durch den Switch 30) auf jedes an einem der lokalen Ports
empfangene Paket angewendet werden.
-
Der
Empfang eines Pakets an einem Gigabit-Port, nämlich dem Port 8, eines Switches 20, 30 veranlaßt, dass
der empfangende Switch den Empfangsprozess 84 für den Gigabit-Port
ausführt.
In diesem Beispiel führt,
wie in 8a gezeigt ist, nach der Sendung
des Pakets vom Switch 201 im Prozess 82 der
Switch 202 im Prozess 842 seinen Empfangsprozess für den Gigabit-Port
aus. Die durch den Switch 202 im
Prozess 842 ausgeführten Operationen
folgen einem verallgemeinern Prozess 84, wie er durch jeden
der Switches 20, 30 beim Empfang eines Pakets
vom Ring über
ihren Gigabit-Port ausgeführt
wird, wie nun bezüglich 8b beschrieben
wird. Diese Beschreibung bezieht sich auf den Betrieb eines der
Switches 20, wobei es selbstverständlich ist, dass der Betrieb
des Switches 30 in einer ähnlichen Weise vonstatten geht.
-
Im
allgemeinen Fall wird, wie in 8b gezeigt
ist, der Prozess 84 begonnen, indem der Switch 20 im Prozess 86 an
seinem Gigabit-Port, dem Port 8, ein Paket vom Ring empfängt. Wie
oben angegeben worden ist, enthält
dieses Paket einen Ring-ID-Pre-Tag, der in der in 7 gezeigten
Weise dargestellt wird. Dann führt
der Switch 20 die Entscheidung 87 aus, um zu bestimmen,
ob der Ring-ID-Wert im empfangenen Paket jenem des Switches 20 selbst
entspricht. Wenn ja (die Entscheidung 87 ja lautet), war
das Paket ursprünglich durch
den Switch 20 selbst an den Ring ausgegeben worden und
hat den ganzen Ring zurückgelegt,
ohne zu irgendeinem Ziel-Port weitergeleitet worden zu sein; als
solcher wird der Switch 20 das Paket im Prozess 88 filtern
oder verwerfen. Dies verhindert, dass ein Paket wiederholt den Ring
umkreist und unnötig
Bandbreite belegt.
-
Falls
die Ring-ID jener des empfangenden Switches 20 selbst nicht
entspricht (die Entscheidung 87 nein lautet), führt der
Switch 20 als Nächstes
die Entscheidung 89 aus, um zu bestimmen, ob die im Paket spezifizierte
Zieladresse (DA) in der Adressennachschlag-Maschine 48 des
Switches 20 als einem der lokalen Ports oder dem Gigabit-Port
des Switches 20 als das Ziel des Pakets entsprechend aufgezeichnet
worden ist. Wenn ja (die Entscheidung 89 ja lautet), führt die
Adressennachschlag-Maschine 48 des Switches 20 als Nächstes die
Entscheidung 95 aus, um den Port des Switches 20 zu
bestimmen, dem die Zieladresse entspricht und zu dem das empfangene
Paket weiterzuleiten ist. Falls die Zieladresse für einen
der lokalen Ports 0 bis 7 aufgezeichnet ist (die Entscheidung 95 lokal
lautet), löst
der Switch 20 im Prozess 96 den Ring-ID-Pro-Tag
vom Paket und reiht im Prozess 98 das Paket für die Sendung über den
geeigneten lokalen Port in die Warteschlange ein. Die Sendung des
Pakets wird dann in der herkömmlichen
Weise über
den lokalen Port ausgeführt.
Falls die Zieladresse für
den Gigabit-Port 8 des Switches 20 aufgezeichnet ist (die
Entscheidung 95 Gigabit lautet), sendet dann der Switch 20 das
Paket mittels des Ports 8 erneut über den Ring. Diese Sendung
wird durch den Switch 20 ausgeführt, der zuerst über die
Entscheidung 91 und den Wartezustand 92 in der
obenbeschriebenen Weise wartet, bis die Steuerleitung COL seines
Gigabit-Ports 89 frei wird. Wenn die Steuerleitung COL
frei ist (die Entscheidung 91 ja lautet), sendet der Switch 20 das
Paket über
seinen Gigabit-Port mit dem gleichen Ring-ID-Pre-Tag, wie er im
Prozess 86 empfangen worden ist, (da dieser Ring-ID-Wert
den Switch 20 angibt, der das Paket ursprünglich auf
den Ring gesetzt hat) auf den Ring.
-
Im
Beispiel nach 8a wird in dem Beispiel, in
dem die Zieladresse des Pakets nicht bekannt ist und in dem der
Ring-ID-Wert des empfangenen Pakets dem Ring-ID-Wert des Switches 201 entspricht, der erste Fall des Empfangsprozesses 842 für
den Gigabit-Port durch den Switch 202 in
Reaktion auf den Empfang eines Pakets vom Switch 201 über den
Ring an seinem Gigabit-Port 8 ausgeführt. In diesem Beispiel bestimmt
abermals in 8b der Switch 202 , dass die Ring-ID nicht die von ihm
selbst ist (die Entscheidung 87 lautet nein) und dass die
Zieladresse des empfangenen Pakets in der Adressennachschlag-Maschine 48 des
Switches 202 nicht aufgezeichnet
ist (die Entscheidung 89 lautet ebenfalls nein). Nun führt der
Switch 202 eine Lernoperation aus,
wie nun unter fortgesetzter Bezugnahme auf 8b beschrieben
wird.
-
Wenn
die Entscheidung 89 einen Nein-Wert zurückschickt, fährt der
Prozess 84 im Switch 20 (im allgemeinen Fall;
der durch den Switch 202 ausgeführte Pro zess 842 im spezifischen Beispiel nach 8a)
mit dem Prozess 90 fort, in dem der Switch 20 die
Quelladresse des empfangenen Pakets in der Adressennachschlag-Maschine 48 aufzeichnet.
Weil spezifisch die Zieladresse des Pakets unbekannt ist, verwendet
der Switch 20 diese Gelegenheit, die Quelladresse des Pakets
als einen Port zu lernen oder aufzuzeichnen, der in einem Switch 20, 30,
der von ihm selbst verschieden ist, im Ring liegt; im Ergebnis zeichnet
der Switch 20 die Quelladresse dieses Pakets bei seinem
Gigabit-Port 8 auf, so dass der Switch 20 dann alle nachfolgenden Pakete,
die eine Zieladresse besitzen, die gleich der Quelladresse des aktuellen
Pakets ist, zu seinem Gigabit-Port 8 weiterleitet. Nach dem Abschluss
des Prozesses 90 sendet der Switch 20 im Prozess 94 das
Paket (das den Ring-ID-Wert beibehält) über seinen Gigabit-Port 8,
sobald die Steuerleitung COL frei ist (die Entscheidung 91 und
der Wartezustand 92).
-
Im
Beispiel nach 8a wird folglich der Prozess 842 durch den Switch 202 ausgeführt, mit
dem Ergebnis, dass das Paket nach der Aufzeichnung der Quelladresse
des Pakets (die der lokale Port des Switches 201 ist,
der das Paket im Prozess 74 empfangen hat) bei seinem Gigabit-Port
8 durch den Switch 202 zurück auf den
Ring angewendet wird. Wie in 3 gezeigt
ist, empfängt
der Switch 30 als Nächstes
dieses Paket bei einem seiner zwei Gigabit-Ports, nämlich bei
seinem Port 1. Der Prozess 8430 wird
dann durch den Switch 30 ausgeführt; der Prozess 8430 entspricht mit der leichten Ausnahme,
dass der lokale Port, auf den in der Entscheidung 95 Bezug
genommen wird, dem Gigabit-Port 0 und folglich der Aufwärtsstrecke
UL entspricht, dem in 8b gezeigten Prozess 84.
In dem Beispiel nach 8a ist die Zieladresse des Pakets
im Switch 30 nicht für
die Aufwärtsstrecke
UL aufgezeichnet, wobei als solches das Ergebnis des Prozesses 8430 die Aufzeichnung der Quelladresse
des Pakets beim Gigabit-Port 1 und die erneute Sendung des Pakets
auf den Ring für den
Empfang durch den Switch 200 ist.
-
Im
Prozess 840 des Beispiels nach 8a bestimmt
der Switch 200 ähnlich, dass die Ring-ID dieses Pakets
seiner eigenen Ring-ID nicht entspricht (die Entscheidung 87 lautet
nein) und dass die Zieladresse des Pakets in seiner Adressennachschlag-Maschine 48 nicht
aufgezeichnet ist (die Entscheidung 89 lautet ebenfalls
nein). Der Switch 201 zeichnet
dann im Prozess 90 die Quelladresse in seiner Adressennachschlag-Maschine 48 auf
und sendet das Paket mittels der Entscheidung 91, des Wartezustands 92 und
des Prozesses 94, wobei es seinen Ring-ID-Pre-Tag immer
noch beibehält.
-
Die
sich aus dem Prozess 840 ergebende
Sendung sendet dieses Paket zurück
zum Switch 201 , so dass das Paket
den ganzen Ring des Switch-Systems 10 vollständig zurückgelegt
hat. Dann führt
der Switch 201 den Prozess 841 aus, wie er ihn für jedes ankommende Paket an
seinem Gigabit-Port 8 ausführen
würde. In
diesem Beispiel jedoch besitzt das empfangene Paket eine Ring-ID,
die jener des Switches 201 selbst
entspricht (die Entscheidung 87 lautet ja), weil der Switch 201 der Urheber des Pakets gewesen ist,
insofern als der Ring betroffen ist. Dann filtert der Switch 201 dieses Paket im Prozess 88,
um zu verhindern, dass es erneut um den Ring umläuft. Selbst wenn das Paket
selbst verworfen wird, hat jedoch nun jeder der Switches 20, 30 den
lokalen Port des Switches 201 ,
der das Paket empfangen hat, in seinen entsprechenden Adressennachschlag-Maschinen
aufgezeichnet. Demgemäß wird jedes
Paket, das nun eine Zieladresse für diesen lokalen Port im Switch 201 besitzt, von allen Switches 20,
30 im Switch-Systems 10 erkannt und ungeachtet der Quelle richtig
zu ihm gelenkt. Im Ergebnis ist schließlich jeder der lokalen Ports
in jedem der Switches 20, der Verkehr überträgt, in jedem Switch 20, 30 im
Ring aufgezeichnet, so dass dann die Kommunikation über den
Ring ausgeführt
werden kann, wie nun bezüglich 8c beschrieben
wird.
-
8c veranschaulicht
im Allgemeinen sowohl die Verarbeitung der Pakete, die entweder
an den lokalen Ports oder an den Gigabit-Ports der Switches 20 des
Switch-Systems 10 empfangen werden, als auch die Verarbeitung
der Pakete, die entweder am Aufwärtsstrecken-Port
oder am Gigabit-Ring-Port des Switches 30 darin empfangen
werden. Wie in 8c gezeigt ist, führt, beispielhaft
mit der Verarbeitung durch den Switch 202 beginnend,
der Switch 202 den Empfangsprozess 83 für den lokalen
Port an den an seinen lokalen Ports empfangenen Paketen und den
Empfangsprozess 84 für
den Gigabit-Port an den an seinem Gigabit-Port von der Ringanordnung
des Switch-Systems 10 empfangenen Paketen aus. Unter Bezugnahme
auf den Switch 201 in 8c und
außer dem
auf die speziellen Schritte im Prozess 83, die oben bezüglich 8a erörtert worden
sind, wird ein am lokalen Port des Switches 202 empfangenes
Paket, falls es an einen weiteren lokalen Port des Switches 202 mit einer Zieladresse adressiert ist,
die bei der Adressennachschlag-Maschine 48 darin aufgezeichnet
ist, durch den Prozess 76 an den lokalen Ziel-Port gesendet;
die Pakete des lokalen Ports, die eine Zieladresse besitzen, die
einem weiteren Port im Ring zugeordnet ist, oder für die die
Zieladresse nicht aufgezeichnet ist, werden über den Gigabit-Port entlang
des Ringes weitergeleitet, in diesem Fall als ein zum Switch 30 gesendetes
Ringpaket, wie in 8c gezeigt ist. Wie oben bezüglich 8a beschrieben worden
ist, wird jedes an einem lokalen Port des Switches 202 empfangene Paket, das zum Ring weitergeleitet wird,
vor der Sendung mit dem Ring-ID-Pre-Tag mit einem Pre-Tag versehen.
-
Wie
oben bezüglich
der 8a und 8b beschrieben
worden ist, kann der Switch 202 außerdem an
seinem Gigabit-Port 8 Pakete vom Ring empfangen.
-
Diese
Pakete werden durch den obenbeschriebenen Empfangsprozess 84 für den Gigabit-Port
verarbeitet. Kurzum, beim Prozess 84, der bestimmt, dass
der Ring-ID-Pre-Tag des empfangenen Ringpakets der Ring-ID des Switches 202 selbst entspricht, wird das Paket
verworfen, wie in 8c gezeigt ist. Falls das Ringpaket
von einem weiteren Switch 20, 30 bezogen wird
und eine Zieladresse besitzt, die einem der lokalen Ports des Switches 202 entspricht, wird der Ring-ID-Pre-Tag vom Paket
gelöst,
wobei das Paket für
die Sendung beim adressierten lokalen Port des Switches 202 in eine Warteschlange eingereiht wird
und vom adressierten lokalen Port des Switches 202 gesendet
wird. Wie oben beschrieben worden ist, wird ferner, falls das Ringpaket nicht
an einen der lokalen Ports des Switches 202 adressiert
ist, aufgrund dessen, dass es eine Zieladresse besitzt, die durch
die Adressennachschlag-Maschine 48 dem Gigabit-Port 8 des
Switches 202 zugeordnet wird, oder
aufgrund dessen, dass es eine nicht erkannte Zieladresse besitzt,
(in diesem Fall) das Paket über
den Ring zum nächsten
Switch 30 gesendet, wobei darum der gleiche Wert des Ring-ID-Pre-Tag beibehalten wird.
-
Wie
oben angegeben worden ist, befindet sich im Ringbeispiel nach den 3 und 8c der
Switch 30 unmittelbar stromabwärts vom Switch 202 . In dieser Hinsicht kann der Switch 30,
wie oben angegeben worden ist, den Empfangsprozess 84 für den Gigabit-Port
ausführen,
um zu bestimmen, ob das empfangene Ringpaket an den lokalen Port
des Switches 30 adressiert ist, der in diesem Beispiel
der Aufwärtsstrecken-Gigabit-Port
0 des Switches 30 ist, wobei in diesem Fall das empfangene
Ringpaket im Prozess 76' über die
Aufwärtsstrecke
gesendet wird. Der Prozess 84 bestimmt außerdem,
ob das empfangene Ringpaket vom Switch 30 ausgegangen ist
(indem es den gleichen Ring-ID-Wert wie der Switch 30 besitzt),
wobei in diesem Fall das Paket verworfen wird, oder ob das empfangene
Ringpaket an einen weiteren Port (oder an einen unbekannten Port)
im Ring gerichtet ist, wobei in diesem Fall das empfangene Ringpaket
mit seinem aktuellen Ring-ID-Pre-Tag zum nächsten Switch 200 im Ring des Switch-Systems 10 weitergeleitet
wird.
-
Der
Switch 30 kann außerdem
Pakete von seinem eigenen "lokalen" Port empfangen,
der, wie in 3 gezeigt ist, sein Port 0 ist,
der mit der Aufwärtsstrecke
UL verbunden ist. In dieser Hinsicht führt der Switch 30 den
Empfangsprozess 83' für die Aufwärtsstrecke
aus, der zum obenbeschriebenen Empfangsprozess 83 für den lokalen
Port ganz ähnlich
ist. Falls der Switch 30 ein Paket empfängt, das an einen Port anderswo
im Ring adressiert ist (wie durch eine aufgezeichnete Zieladresse
oder durch eine unbekannte Zieladresse angegeben wird), sendet der
Prozess 83' das
Paket vom Ring-Gigabit-Port 1 des Switches 30 in einer ähnlichen
Weise wie sie oben bezüglich
des Switches 202 beschrieben worden
ist. Es ist außerdem
möglich
(wenn auch unwahrscheinlich), dass das von der Aufwärtsstrecke
empfangene Paket zurück
zur Aufwärtsstrecke
selbst adressiert ist, wobei in diesem Fall der Prozess 83' das Paket für die Sendung über die
Aufwärtsstrecke
im Prozess 76' in
die Warteschlange einreiht.
-
Wie
in 8c gezeigt ist, sind die Switches 200 und 201 ähnlich im
Ring mit den Switches 202 , 30 verbunden.
Jeder der Switches 200 und 201 kann die an ihren lokalen Ports empfangenen
Pakete durch den obenbeschriebenen Prozess 83 für die Sendung
vom lokalen Port oder vom Gigabit-Port in Abhängigkeit von der Paketzieladresse
verarbeiten. Zusätzlich
sind die Switches 200 und 201 außerdem so programmiert, dass
sie den Prozess 84 an den an ihren Gigabit-Ports von den
Gigabit-Ports der Switches 30 bzw. 200 empfangenen Paketen
ausführen.
-
Die
an einem der lokalen Ports von einem der Switches 20 empfangenen
Pakete, die eine Zieladresse besitzen, die der Aufwärtsstrecke
UL vom Switch 30 oder zu einem der anderen lokalen Ports
im empfangenden Switch 20 oder irgendeinem der anderen
Switches 20 im Switch-Systems 10 entspricht, können leicht über den
Ring des Switch-Systems 10 zum gewünschten Port gesendet werden.
Dieses Management und diese Behandlung der Nachrichtenpakete wird
in einer effizienten Weise behandelt, wobei die Switches 20 selbst
das Management der Lenkung der Nachrichtenpakete über Hochgeschwindigkeitsverbindungen
(z. B. Gigabit-Verbindungen) ausführen, die den Ring umfassen.
Im Ergebnis und in Anbetracht dessen, dass sich der Ringverkehr
nur in einer Richtung bewegt (was die Möglichkeit von Kollisionen ausschließt), beträgt die theoretische Bandbreite
des Switch-Systems 10 in diesem Beispiel 4 Gbit/s. Außerdem wird
für die
Ringsendungen die Flusssteuerung automatisch in einer Weise ausgeführt, die
die Pufferbetriebsmittel fair und effizient zuweist, wie sie benötigt werden
und wie sie verfügbar
sind. Das Vermittlungssystem 10 schafft unter Verwendung
einer relativ einfachen und sich selbst managenden Architektur einen
Ethernet-Switch mit hoher Dichte, in diesem Beispiel einen Switch
mit einer 0/24/1-Kapazität.
-
Unter
Bezugnahme auf 9 wird das Switch-System 110 nun
ausführlich
beschrieben. Das Switch-System 110 kann in ein Gesamt-Ethernet-Netz
in ähnlicher
Weise wie das in 2 gezeigte Switch-System 10 implementiert
werden. Das Switch-System 110 schafft mittels eines einzigen
Rings aus Switches, wie nun beschrieben wird, eine vergrößere Kapazität bezüglich des
Switch-Systems 10, spezifisch als ein Ethernet-Switch mit
einer 0/32/2-Kapazität.
-
Wie
in 9 gezeigt ist, enthält das Switch-System 110 vier
Ethernet-Switch-Vorrichtungen 20 und zwei
Gigabit-Ethernet-Switch-Vorrichtungen 30, die nach Art
eines Ringes verbunden sind. Die Switch-Vorrichtungen 20 sind
einzelne Switch-Vorrichtungen in integrierter Schaltung, die so
konstruiert sind, wie oben bezüglich 4a beschrieben
worden ist, wobei als solche jede eine 0/8/1-Ethernet-Switch-Fähigkeit bereitstellt, während die
Switch-Vorrichtungen 30 einzelne Switch-Vorrichtungen in
integrierter Schaltung sind, die so konstruiert sind, wie oben bezüglich 4b beschrieben
worden ist, und die eine 0/0/2-Ethernet-Switch-Fähigkeit bereitstellen. Wie
im Fall des obenbeschriebenen Switch-Systems 10 ist jeder
Switch 20 mit einem externen Rambus RAM 22 verbunden
und arbeitet im Zusammenhang mit einem externen Rambus RAM 22.
Jeder der Switches 20, 30 kann außerdem auf
Wunsch mit einer externen CPU (wie z. B. der in 3 gezeigten
CPU 29) für
die Zwecke des Managements des Switch-Systems 110 verbunden sein.
-
Wie
im Switch-System 10 besitzt jeder Switch 20 acht
lokale 100-Mbit/s-Ports,
die als die Ports 0 bis 7 nummeriert sind, wobei jeder Port mittels
Schnittstellenvorrichtungen der physikalischen Schicht und Magnetumsetzern
mit einer entsprechenden RJ-45-Buchse für die Verbindung mit einem
Client-Arbeitsplatzrechner oder einem Netz-Hub verbindbar ist. Jeder
Switch 20 besitzt außerdem
einen Gigabit-Vollduplex-Port (d. h. 1000-Mbit/s-Vollduplex-Port).
Im Switch-System 110 ist
die Sendeseite des Ports 8 des Switches 200 mit
der Empfangsseite des Ports 8 des Switches 201 verbunden,
während
die Sendeseite des Ports 8 des Switches 201 mit
der Empfangsseite des Ports 1 der Gigabit-Ethernet-Switch-Vorrichtung 300 verbunden ist. Die Sendeseite des
Gigabit-Ports 1 der Gigabit-Switch-Vorrichtung 300 ist
mit der Empfangsseite des Ports 8 des Switches 202 verbunden,
die Sendeseite des Ports 8 des Switches 202 ist
mit der Empfangsseite des Ports 8 des Switches 203 verbunden,
die Sendeseite des Ports 8 des Switches 203 ist
wiederum mit der Empfangsseite des Gigabit-Ports 1 des
Gigabit-Switches 301 verbunden.
Die Sendeseite des Ports 1 des Switches 301 ist
mit der Empfangsseite des Ports 8 des Switches 200 verbunden,
was den Ring vervollständigt.
-
Wie
oben beschrieben worden ist, unterstützt jede der Gigabit-Ethernet-Switch-Vorrichtungen 30 zwei 1000-Mbit/s-Vollduplex-Ports,
die als die Ports 0 und 1 nummeriert sind, von denen jeder vorzugsweise
eine integrierte physikalische Codierungs-Teilschicht-Logik enthält, um eine
direkte digitale Zehn-Bit-Schnittstelle zu
den Gigabit-Sendern/Empfängern
zu schaffen. Wie im Fall des Switches 30 im Switch-System 10,
das oben bezüglich 3 beschrieben
worden ist, ist der Gigabit-Port 0 jedes der Switches 30 mit
einer entsprechenden Aufwärtsstrecke,
wie z. B. einer Lichtwellenleitereinrichtung, z. B. mittels eines
Parallel-Seriell-Umsetzer/Seriell-Parallel-Umsetzers und eines optischen
seriellen Sender/Empfänger-Moduls
gekoppelt.
-
Wie
oben beschrieben worden ist, ist es bevorzugt, dass die Switches 20, 30 physikalisch
so nah wie möglich
beieinander angeordnet sind und auf diese Weise lange Signalwege
vermieden werden. Außerdem sind
kleine Reihenwiderstände
(z. B. 33 Ω)
vorzugsweise in der Nähe
der Sendeanschlüsse
der Gigabit-Verbindungen
angeordnet, um das unkontrollierte Schwingen des Signals zu verhindern.
Die spezielle Reihenfolge, in der die Switch-Vorrichtungen 20, 30 im
Ring des Switch-Systems 110 verbunden sind, ist nicht besonders
kritisch. Es ist jedoch bevorzugt, dass, wenn mehrere Gigabit-Switches 30 in
einem einzigen Ring enthalten sind, wie im Beispiel nach 9,
diese Gigabit-Switches 30 nicht zueinander benachbart sind.
In dieser Weise muss der Aufwärtsstrecken-Verkehr
von den lokalen Ports des Switches 20 für die Sendung (z. B.) über die
mit dem stromabwärtigen
Switch 301 des Paars von Switches 30 verbundene
Aufwärtsstrecke
nicht notwendigerweise durch den Gigabit-Switch 300 hindurchgehen.
-
Der
Betrieb der Switches 20, 30 beim Ausführen der
Kommunikation zwischen den zweiunddreißig lokalen 100-Mbit/s-Ports,
die an die Switches 20 gekoppelt sind, und den Gigabit-Aufwärtsstrecken,
die an die Switches 30 gekoppelt sind, ist zu jenem völlig gleich,
der oben bezüglich
des Switch-Systems 10 beschrieben worden ist. Selbstverständlich müssen die
Adressennachschlag-Maschinen 48 in
den Switches 20, 30 eine ausreichende Größe besitzen,
um die Adressen der acht zusätzlichen
100-Mbit/s-Ports und der zusätzlichen Gigabit-Aufwärtsstrecke
unterzubringen, die im Switch-System 110 bezüglich des
obenbeschriebenen Switch-Systems 10 vorgesehen sind.
-
Wie
aus einem Vergleich des Switch-Systems 10 mit dem Switch-System 110 offensichtlich
ist, kann auf Wunsch zusätzliche
Kapazität
leicht durch die Verbindung weiterer Switch-Vorrichtungen 20, 30 geschaffen werden.
Außerdem
wird davon ausgegangen, dass die Konfiguration jedes der Switches 20, 30 wie
im Ringsystem von der Anzahl der Switches 20, 30,
die so implementiert sind, solange unabhängig ist, wie die jedem der
Switches 20, 30 zugeordneten Ring-ID-Werte eindeutig zugeordnet
sind. Als solche kann zusätzliche Switch-Kapazität einfach
durch die Ergänzung
von Switch-Vorrichtungen 20, 30 in ein vorher
konfiguriertes Switch-System geschaffen werden. Diese neue Konfiguration
wird hergestellt, indem das ursprüngliche Switch-System ausgeschaltet
wird, die Vorrichtungen untereinander verbunden werden (vorausgesetzt,
dass physikalische Leiterplatten-Betriebsmittel für dieselben
verfügbar
sind) und das Switch-System eingeschaltet wird.
-
Gemäß der vorliegenden
Erfindung kann außerdem
ein komplexer Ring aus Gigabit-Switches konstruiert werden, wie
nun bezüglich 11 beschrieben wird. Wie in den vorhergehenden
Ausführungsformen
der Erfindung kann das Switch-System 310 gemäß dieser
vierten Ausführungsform
der Erfindung am Ort des Switch-Systems 10 nach 2 arbeiten,
wobei folglich die Netzvermittlung für eine große Anzahl von Client-Arbeitsplatzrechnern,
entweder direkt oder über
Netz-Hubs, geschaffen wird. In der beispielhaften Implementierung
nach 11 schafft, wie nun beschrieben
wird, das Switch-System 310 eine 0/0/8-Vermitt-lungskapazität mit acht
Gigabit-Aufwärtsstrecken
UL0 bis UL7.
-
Das
Switch-System 310 gemäß dieser
Ausführungsform
der Erfindung enthält
zwei Ringe aus Gigabit-Switches 30, wobei die Switches 300 bis 303 und
der Port 0 des Switches 308 einen
Ring bilden, während die
Switches 304 bis 307 und der Port 1 des Switches 308 den anderen Ring bilden. Wie aus 11 offensichtlich ist, liegt der Switch 308 in beiden Ringen; wie oben angegeben
worden ist, muss der Ring-ID-Wert für den Port 0 des Switches 308 vom Ring-ID-Wert für den Port 1 des Switches 308 verschieden sein. Die Switches 300 bis 303 und
der Port 0 des Switches 308 besitzen
jeder eindeutige Ring-ID-Werte in Bezug aufeinander, wobei die Switches 304 bis 307 und
der Port 1 des Switches 308 eindeutige
Ring-ID-Werte in
Bezug aufeinander besitzen, obwohl ein oder mehrere Switches 30,
die ganz in einem Ring liegen, die gleiche Ring-ID wie ein Switch 30 besitzen
können,
der ganz im anderen Ring liegt.
-
Der
Betrieb der Switches 30 im Switch-System 310,
um zu lernen und Nachrichtenpakete zu lenken, folgt im Wesentlichen
der oben bereitgestellten Beschreibung, weil die an einer der Aufwärtsstrecken
UL ankommenden Pakete zu einer weiteren der Aufwärtsstrecken UL entweder im
selben Ring oder im anderen Ring gelenkt werden können, indem
jeder Switch 30 einen Ring-ID-Pre-Tag abfragt, den der
empfangende Switch 30 an dem Paket anbringt, und das Paket
längs des
Ringes weiterleitet, falls die Zieladresse nicht seiner eigenen
Aufwärtsstrecke
UL entspricht, wie durch die Adressennachschlag-Maschine 48 darin
bestimmt wird.
-
Diese
Ausführungsform
der vorliegenden Erfindung veranschaulicht folglich, dass Switch-Systeme, die
eine große
Anzahl von Hochgeschwindigkeits-Verbindungen (z. B. Gigabit-Verbindungen)
besitzen, gemäß einer
einfachen Architektur leicht konstruiert und verwirklicht werden
können.
Wie oben angegeben worden ist, kann die Konfiguration des Switches
beim Rücksetzen
beeinflusst werden, z. B. mittels einer Management-CPU oder durch
Konfigurationsregister-Einstellungen, die in einem externen EEPROM
oder dergleichen beibehalten werden. Deshalb wird eine Hochleistungs-Netzvermittlung
leicht geschaffen.
-
Gemäß einem
Aspekt dieser Ausführungsform
der Erfindung wird, wie nun ausführlicher
beschrieben wird, eine weitere Fähigkeit
der Switches 20, 30, die oben beschrieben worden
ist, vorteilhaft beim Schaffen eines Netz-Switches mit hoher Dichte
verwendet. Die Aufmerksamkeit wird nun auf 10 gerichtet,
in der das Switch-System 410 gemäß dieser fünften bevorzugten Ausführungsform
der vorliegenden Erfindung veranschaulicht ist. Das beispielhafte
Switch-System 410 gemäß dieser
Ausführungsform
der Erfindung schafft einen Switch mit einer 0/108/0-Fähigkeit,
wie aus der folgenden Beschreibung offensichtlich wird.
-
Das
Switch-System 410 gemäß dieser
bevorzugten Ausführungsform
der Erfindung enthält
sechzehn Switches 201 bis 2016 , wobei jeder der Switches 20 vorzugsweise
so konstruiert ist, wie oben bezüglich 4a beschrieben
worden ist, so dass er acht lokale 100-Mbit/s-Ports (die Ports 0
bis 7) und einen Gigabit-Port
(den Port 8) besitzt. Der Gigabit-Port 8 jedes Switches 20 ist
in einer Vollduplexweise mit einem entsprechenden Port des Kreuzschienenmatrix-Switches 100 verbunden.
Die Vollduplexverbindung der Ports 8 der Switches 20 mit
dem Switch 100 enthält
dedizierte Sende- und Empfangsseiten, wie oben erörtert worden
ist, mit entsprechenden Steuersignalen, wie z. B. COL und FLOW,
Freigaben und Taktsignalen. Die Management-CPU 29, die
optional mit den digitalen Eingabe-/Ausgabe-Ports DIO jedes der
Switches 20 verbunden sein kann (wobei eine derartige Verbindung
in 10 nicht gezeigt ist), ist bidirektional mit dem
Port 0 des Kreuzschienenmatrix-Switches 100 verbunden,
der für
die Management-Kommunikation reserviert ist. Über den Port 0 des Kreuzschienenmatrix-Switches 100 kann
die Management-CPU 29 den Betrieb des Switch-Systems 410 konfigurieren,
um solche Netzkommunikationsfunktionen, wie z. B. die BPDU-Weiterleitung
für den
Spanning-Tree-Algorithmus, SNMP-Pakete für das Netzmanagement und IGMP-Rahmen
für die
IP-Punkt-Mehrpunkt-Kommunikation, zu implementieren.
-
Der
Betrieb des Switch-Systems 410 verwendet eine Funktionalität der erweiterten
Port-Kenntnis, die durch die Switches 20 geschaffen wird,
die gemäß den bevorzugten
Ausführungsformen
der Erfindung konstruiert sind, wie oben bezüglich 4a beschrieben
worden ist. Diese erweiterte Port-Kenntnis bezieht sich auf den
zugeordneten Speicher in der Adressennachschlag-Maschine 48 jedes
Switches 20 eines stromabwärtigen Ziels für bestimmte
Zieladressen der von einem lokalen Port empfangenen Nachrichtenpakete.
In dieser Ausführungsform
der Erfindung ist das stromabwärtige
Ziel eines von einem der Ports des Kreuzschienenmatrix-Switches 100.
Beim Empfang eines Nachrichtenpakets, das eine Zieladresse besitzt,
die für
einen der Ports des Kreuzschienenmatrix-Switches 100 aufgezeichnet
ist, erzeugt der empfangende Switch 20 (z. B. die dem Port
8 zugeordnete MAC 46) einen Inband-Pre-Tag, der auf das
Paket angewendet wird, wenn es vom Gigabit-Port 8 des Switches 20 zum
Kreuzschienenmatrix-Switch 100 weitergeleitet wird, wobei
das Pre-Tag den Port (oder die Ports in einer Punkt-Mehrpunkt-Kommunikations-Betriebsart)
des Kreuzschienenmatrix-Switches 100 enthält, an den
das Paket durch den Kreuzschienenmatrix-Switch 100 zu vermitteln
ist.
-
Sowohl
das Freigeben dieser Funktion der erweiterten Port-Kenntnis in den
Switches 20 als auch die Konfiguration der Switches 20,
damit sie in Kombination mit dem Kreuzschienenmatrix-Switch 100 im
Kreuzschienen-Switch-System 410, wie es z. B. 10 in
gezeigt ist, arbeiten, wird beim Rücksetzen oder Einschalten durch
das Laden der Konfigurationsinformationen in die Steuerregister
in den Switches 20 ausgeführt. Wie oben beschrieben worden
ist, enthält
der lokale Paketvermittlungsspeicher 45 in den Switches 20 (4a) speicherkonforme
Register darin, in die die Konfigurationsinformationen von der Management-CPU 29 über den
Port DIO und die Schnittstelle 56 oder von einem externen
EEPROM über
die Schnittstelle 54 geladen werden können. Diese Konfigurationsoperation
ermöglicht
es folglich den Switches 20, auf Wunsch im Switch-System 410 gemäß dieser
Beschreibung zu arbeiten.
-
Unter
Bezugnahme auf 11a wird nun ein Beispiel des
Versehens mit Inband-Pre-Tags, das durch einen der Switches 20 gemäß der bevorzugten
Aus führungsform
der Erfindung erzeugt wird und wie es im Zusammenhang mit dem Switch-System 410 gemäß dieser
fünften
bevorzugten Ausführungsform
der Erfindung verwendet wird, beschrieben. 11a veranschaulicht
die vom Port 8 von einem der Switches 20 beim Weiterleiten
eines Pakets zum Kreuzschienenmatrix-Switch 100 in Reaktion
auf den Empfang eines Pakets an einem seiner lokalen Ports gesendeten
Signale, wobei das Paket eine Zieladresse besitzt, die (in der Adressennachschlag-Maschine 48)
für einen
der anderen Ports des Kreuzschienenmatrix-Switches 100 aufgezeichnet ist
(d. h. außer
dem Port, mit dem der empfangende Switch 20 verbunden ist).
-
Gemäß dieser
bevorzugten Ausführungsform
der Erfindung ist der durch den Switch 20 angewendete Inband-Pre-Tag
ein Zweiunddreißig-Bit-Pre-Tag,
der in einer gespiegelten oder redundanten Weise auf die Datenleitungen
TX DATA <3:0> und TX DATA <7:4> angewendet wird. Der
Zweiunddreißig-Bit-Pre-Tag
wird, wie in 11a gezeigt ist, wird vier Bits
auf einmal (in der oben angegebenen gespiegelten Weise) in jedem
der ersten acht Zyklen des Sendetakts CLK angewendet, nachdem die
Steuerleitung TX EN auf einen aktiv hohen Logikpegel angesteuert
worden ist. Der Switch 20 wendet den Inband-Pre-Tag auf
den Rahmen an derselben Stelle (d. h. den ersten acht Taktzyklen)
wie der an, an der die Präambel-
und Rahmenanfang-Trennzeichen (SOF-Trennzeichen) vorgesehen sind.
Als solcher löst
der empfangende Switch 20 beim Empfang eines Pakets von
einem seiner lokalen Ports, wenn das Paket an eine Stelle adressiert
ist, die für
einen der anderen Ports des Kreuzschienenmatrix-Switches 100 aufgezeichnet
ist, die Präambel
und das SOF-Trennzeichen vom Rahmen und fügt den Inband-Pre-Tag darin
ein, wie in 11a gezeigt ist.
-
Der
durch die Switches
20 gemäß dieser Ausführungsform
der Erfindung angewendete Zweiunddreißig-Bit-Sende-Pre-Tag ist wie
folgt gebildet:
Pre-Tag-Bits | Funktion |
31:28 | unbedingt
auf null gesetzt |
27 | gibt
an, ob die empfangende MAC 42 einen IEEE-802.1Q-Kopf hinzugefügt hat |
26:25 | unbedingt
auf null gesetzt |
24:20 | identifiziert
den lokalen Port des Switches 20, der das Paket empfangen
hat |
19:17 | unbedingt
auf null gesetzt |
16:0 | Bitmap,
die den Port oder die Ports des Kreuzschienenmatrix-Switches 100 angibt,
an den das Paket zu senden ist (1 = empfängt das Paket; 0 = empfängt das
Paket nicht) |
-
Wie
aus der vorhergehenden Beschreibung offensichtlich ist, kann der
Kreuzschienenmatrix-Switch 100 Pakete gleichzeitig an mehrere
seiner Ports rundsenden, wie durch die Bitmap angegeben ist, die
in dem durch den empfangenden Switch 20 angewendeten Inband-Pre-Tag
enthalten ist.
-
Selbstverständlich muss
die Adressennachschlag-Maschine 48 vor dem durch die Switches 20 im Switch-System 410 gemäß der Betriebsart
mit erweiterter Port-Kenntnis angewendeten Anwenden von Inband-Pre-Tags
trainiert werden, um die Zieladressen zuzuordnen. Dieses Training
wird durch den Kreuzschienenmatrix-Switch 100 selbst ausgeführt, der
einen Pre-Tag an einem Paket erzeugt, das zum Port 8 von einem oder
mehreren Switches 20 im Switch-System 410 gesendet
wird. Nun wird unter Bezugnahme auf 11b das
Training der Switches 20 gemäß dieser Ausführungsform
der Erfindung bezüglich
eines durch den Kreuzschienenmatrix-Switch 100 erzeugten
Inband-Empfangs-Pre-Tags
und bezüglich
dessen, wie er durch die Empfangsseite des Gigabit-Ports 8 eines
der Switches 20 empfangen wird, beschrieben. Gemäß dieser
Ausführungsform
der Erfindung wird das Training durch den Kreuzschienenmatrix-Switch 100 ausgeführt, der
ein Paket von einem weiteren Switch 20 empfängt, der
mit einem seiner Ports verbunden ist, jeden Pre-Tag von ihm löst und dann
den Trainings-Inband-Pre-Tag auf das Paket vor seiner Sendung über einen
oder alle der Ports anwendet, die den Switches 20 zugeordnet
sind.
-
Wie
in
11b gezeigt ist, erzeugt der Kreuzschienenmatrix-Switch
100 einen
Inband-Pre-Tag, der durch die Switches
20 auf ihren Datenleitungen
RX DATA <3:0> in den ersten acht
Zyklen des Verbindungstaktes CLK empfangen wird, nachdem die Datengültig-Steuerleitung
RX DV durch den Kreuzschienenmatrix-Switch
100 auf einen
aktiv hohen Pegel angesteuert worden ist. Die Inhalte dieses Inband-Pre-Tags
sind wie folgt:
Pre-Tag-Bits | Funktion |
31 | gibt
(mit einem "1"-Zustand) an, dass
das Paket ein Empfangslernpaket ist |
30:5 | nicht
beachten |
4:0 | codierter
Wert des Ports am Kreuzschienenmatrix-Switch 100, der den Rahmen
empfangen hat |
-
Beim
Empfang des Pakets mit einem Lern-Pre-Tag in dieser Form ordnet
der Switch 20 die in den Bits 4:0 des Pre-Tags codierte
Port-Nummer der Quelladresse des Pakets zu (die in den Rahmendaten
enthalten ist, die dem Pre-Tag folgen, wie in 11b gezeigt ist). Diese Zuordnung wird in der
Adressennachschlag-Maschine 48 im Switch (oder in den Switches) 20,
die den Lern-Pre-Tag und das zugeordnete Paket empfangen, gespeichert
und ist in ihr zugänglich.
-
Alternativ
kann die Adressennachschlag-Maschine 48 in den Switches 20 durch
die Management-CPU 29 trainiert werden, die die geeigneten
Zustände
darin mittels des (nicht gezeigten) digitalen Eingabe-/Ausgabe-Ports
DIO setzt.
-
Unter
Bezugnahme auf 12 wird nun die Konstruktion
des Kreuzschienenmatrix-Switches 100 gemäß dieser
bevorzugten Ausführungsform
der Erfindung beschrieben. Wie in 12 gezeigt
ist, enthält
der Kreuzschienenmatrix-Switch 100 die
Vermittlungsstruktur 102 und siebzehn Ports P. Der Port
P0 ist bidirektional an die Management-CPU 29 gekoppelt,
wie in 10 gezeigt ist, während die
Ports P1 bis P16 bidirektional entsprechend
an die Switches 201 bis 2016 gekoppelt sind. Wie in 12 für das Beispiel
des Ports P8 gezeigt ist, enthält die bidirektionale
Verbindung zwischen dem Switch 20 und seinem Port P des
Kreuzschienenmatrix-Switches 100 die Leitungen TX DATA
und RX DATA, mittels derer der Kreuzschienenmatrix-Switch 100 die Daten
vom Switch 20 empfängt
bzw. die Daten zum Switch 20 sendet. Die Steuersignalleitungen
sind außerdem
in dieser bidirektionalen Verbindung enthalten, einschließlich der
durch den Port P angesteuerten Leitung COL und der durch den Port
P empfangenen Leitung FLOW, so dass die Flusssteuerung in der oben
beschriebenen Weise ausgeführt
werden kann.
-
Die
Vermittlungsstruktur 102 ist mit jedem der Ports P verbunden,
um die geeignete Paketlenkung auszuführen, wie sie durch die Pre-Tags
der übertragenen
Pakete bestimmt ist. Die spezielle Verwirklichung der Vermittlungsstruktur 102 ist
nicht kritisch und die Auswahl irgendeiner Sorte von Pufferschema
damit ist es auch nicht, da davon ausgegangen wird, dass die spezielle
Implementierung der Vermittlungsstruktur 102 durch die
Fachleute auf dem Gebiet ausgewählt
werden kann.
-
Gemäß dieser
bevorzugten Ausführungsform
der Erfindung sind die Rahmenverarbeitungsanforderungen an den Kreuzschienenmatrix-Switch 100 in
Anbetracht dessen relativ klein, dass die Switches 20 die Adressennachschlag-Entscheidungen
und die Pre-Tag-Verarbeitung ausführen. Als solche müssen die
Ports P des Kreuzschienenmatrix-Switches 100 zusätzlich zur
notwendigen Funktionalität,
die für
den Empfang und die Sendung der Nachrichtenpakete erforderlich ist,
nur die hierin beschriebene notwendige Pre-Tag-Manipulation ausführen. Diese
Verarbeitung durch die Ports P entlastet die Vermittlungsstruktur 102 von
Verarbeitungsanforderungen, die von jenen für die Lenkung der Pakete verschieden
sind, wie sie durch die Port-Adresse angewiesen wird, wobei als
solches die Vermittlungsstruktur 102 eine relativ einfache
Konstruktion besitzen kann. In Anbetracht dessen, dass der Betrieb
der Kreuzschienenmatrix-Vermittlung selbst oft im kritischen Weg der
Netzvermittlung liegen kann, kann diese Konstruktion des Kreuzschienenmatrix-Switches 100 deshalb
zu einer verbesserten Gesamtvermittlungsleistung führen.
-
Unter
Bezugnahme auf 13 wird nun der Betrieb des
Switch-Systems 410 gemäß dieser
Ausführungsform
der Erfindung ausführlich
beschrieben. Diese Beschreibung nimmt an, dass die Switches 20 entweder
mittels der Management-CPU 29 oder mittels der Empfangs-Trainings-Pre-Tags,
wie oben bezüglich 11b beschrieben worden ist, bereits trainiert
worden sind, um die Zieladressen für die an ihren lokalen Ports
empfangenen Pakete den Ports P des Kreuzschienenmatrix-Switches 100 zuzuordnen.
In jedem Fall können
die Switches 20, sobald ein derartiges Training ausgeführt worden
ist, empfangene Pakete in der Weise weiterleiten, die nun beschrieben
wird.
-
Der
Betrieb des Switch-Systems 410 beginnt mit dem Prozess 104,
in dem ein Netzpaket an einem der lokalen Ports (den Ports 0 bis
7) des Switches 20R empfangen wird.
Der Switch 20R beginnt die Verarbeitung
dieses Pakets unter Verwendung seiner Adressennachschlag-Maschine 48,
um die Entscheidung 105 auszuführen, um zu bestimmen, ob die
Zieladresse des empfangenen Pakets in ihr aufgezeichnet ist. Falls nein
(die Entscheidung 105 nein lautet), wird das Paket im Prozess 106 zu
einem der Ports des Switches 20R weitergeleitet,
der (in der Konfiguration) als der Empfänger von Paketen mit unbekannten
Adressen bezeichnet ist. Falls die Zieladresse beim Switch 20R aufgezeichnet ist (die Entscheidung 105 ja
lautet), führt
die Adressennachschlag-Maschine 48 im Switch 20R die Entscheidung 107 aus,
um zu bestimmen, ob die Zieladresse des empfangenen Pakets einem
der lokalen Ports (den Ports 0 bis 7) des Switches 20R entspricht. Wenn ja (die Entscheidung 107 ja
lautet), leitet der Switch 20R das
Paket zu diesem spezifizierten Port weiter, wobei die Kommunikation
ausgeführt
ist.
-
Falls
das Paket für
ein Ziel vorgesehen ist, das an einem der lokalen Ports von einem
der anderen Switches 20 gekoppelt ist, die an den Kreuzschienenmatrix-Switch 100 gekoppelt
sind, (die Entscheidung 107 nein lautet), führt der
Switch 20R als Nächstes den
Prozess 110 aus, um das Paket für die Sendung an ihn vorzubereiten.
Im Prozess 110 löst
der Switch 20R die Präambel und
das Rahmenanfang-Trennzeichen (und anderen derartigen geeigneten
Systemaufwand) vom Paket und wendet das geeignete in Band-Sende-Pre-Tag,
wie oben bezüglich 11a beschrieben worden ist, einschließlich einer
Angabe des Ports oder der Ports P des Kreuzschienenmatrix-Switches 100,
zu dem das Paket weiterzuleiten ist, an. Die Sendung des Pakets
an den Kreuzschienenmatrix- Switch 100 findet
im Prozess 112 statt, in dem der Switch 20R das
Paket über
seinen Gigabit-Port 8, über
die Leitungen TX DATA, wie oben angegeben worden ist, an den entsprechenden
Port P des Kreuzschienenmatrix-Switches 100 sendet. Vorzugsweise
ist eine Flusssteuerungsfähigkeit vorgesehen,
so dass der Switch 20R vor einer
derartigen Sendung warten muss, bis die Steuerleitung COL am Port
8 frei ist.
-
Wie
oben angegeben worden ist, ist der Betrieb des Kreuzschienenmatrix-Switches 100 zum
Ausführen
der geeigneten Vermittlung relativ einfach, da die Verarbeitung
und der Adressen-Gleichheitsprüfung
bereits durch den Switch 20R ausgeführt worden
sind. Demzufolge führt
der Kreuzschienenmatrix-Switch 100 den Prozess 114 einfach
durch das Weiterleiten des Pakets, auf Wunsch einschließlich des
Pre-Tags, zu dem gewünschten
Port oder den gewünschten
Ports P des Kreuzschienenmatrix-Switches 100, der durch
den Pre-Tag angegeben ist, aus.
-
Im
Prozess 116 empfängt
der Ziel-Switch 20D das Paket an
seinen Gigabit-Port
8 vom Kreuzschienenmatrix-Switch 100. Das Paket selbst
enthält
die Zieladresse (die bereits durch den Switch 20R gelernt
worden ist, damit der richtige Pre-Tag angewendet werden kann).
Als solche muss die Adressennachschlag-Maschine 48 im Switch 20R nur die Zieladresse mit dem richtigen
ihrer eigenen lokalen Ports 0 bis 7 in Verbindung bringen und das
Paket an ihn weiterleiten. Die Lenkung des Netzpakets durch das
Switch-System 410 ist folglich abgeschlossen.
-
Selbstverständlich können alternative
Anordnungen des Kreuzschienenmatrix-Switch-Systems gemäß dieser
bevorzugten Ausführungsform
der Erfindung außerdem
implementiert werden, während
innerhalb des Umfangs der Erfindung verblieben wird. Die vorliegende
Erfindung schafft eine große
Menge an Flexibilität und
ein leichte Implementierung derartiger alternativer Anordnungen.
-
Die
Fachleute auf dem Gebiet, die auf diese Beschreibung Bezug nehmen,
werden erkennen, dass die vorliegende Erfindung zahlreiche Vorteile
in der Konstruktion und im Betrieb von Netz-Switch-Systemen schafft.
Diese Vorteile, die oben angegeben worden sind, enthalten die Fähigkeit,
einen Hochleistungs-Netz-Switch
mit hoher Dichte in einer Weise zu schaffen, die für Änderungen
der Switch-Kapazität
leicht modifiziert werden kann. Außerdem wird eine Modularität bei der
Anordnung des Switch-Systems und folglich weitere Flexibilität bei seiner
Konstruktion und Implementierung durch die vorliegende Erfindung
geschaffen, insbesondere durch das Erlauben der leichten Verbindung
mehrerer Leiterplatten oder sogar Switch-Gehäuse in ein einziges Switch-System.
Außerdem
schafft die vorliegende Erfindung die Fähigkeit, Flusssteuerungstechniken
leicht zu implementieren, besonders in einer Weise, die verhindert,
dass ein einziger Kanal einen unfairen Anteil der Pufferbetriebsmittel
der Switch-Vorrichtung belegt, während
die Verwendung eines großen Anteils
dieser Betriebsmittel erlaubt wird, falls die Paketpufferung durch
andere der Übertragungskanäle nicht verwendet
wird.
-
Während die
vorliegende Erfindung gemäß ihrer
bevorzugten Ausführungsformen
beschrieben worden ist, wird selbstverständlich davon ausgegangen, dass
Modifikationen an oder Alternativen zu diesen Ausführungsformen,
wobei derartige Modifikationen oder Alternativen die Vorzüge und Vorteile
dieser Erfindung erlangen, für
die Durchschnittsfachleute auf dem Gebiet offensichtlich sind, die
auf diese Beschreibung und ihre Zeichnung Bezug nehmen. Es wird
davon ausgegangen, dass derartige Modifikationen und Alternativen im
Umfang dieser Erfindung liegen.