-
Querverweis auf Bezugspatentanmeldungen
-
Diese
Patentanmeldung beansprucht Priorität aufgrund der vorläufigen US-Patentanmeldung No.
60/213 478, eingereicht am 23. Juni 2000, und aus der vorläufigen US-Patentanmeldung
No. 60/213 482, welche ebenfalls am 23. Juni 2000 eingereicht wurde.
-
Hintergrund
der Erfindung
-
Gebiet der Erfindung
-
Die
Erfindung bezieht sich auf eine Netzwerk-Vermittlungsanlage und
auf ein Verfahren zum Verarbeiten eines Datenpakets in einer Netzwerk-Vermittlungsanlage.
Im Besonderen betrifft die vorliegende Erfindung eine neuartige
Vermittlungsarchitektur in einer integrierten Einzelchip-Modullösung, die
auf einem Halbleitersubstrat implementiert werden kann, wie zum
Beispiel auf einem Siliziumhalbleiterplättchen.
-
Beschreibung
des Stands der Technik
-
Da
die Leistungsanforderungen in Computern in jüngster Zeit erheblich gestiegen
sind, haben sich auch die Ansprüche
an die Computernetzwerke beträchtlich
erhöht.
Folglich benötigen
schnellere Computerprozessoren mit größeren Speichermöglichkeiten
Netzwerke mit einem hohen Bandbreitenpotenzial, damit große Datenmengen
bei hoher Geschwindigkeit transferiert werden können. Die allseits bekannte
Ethernet-Technologie, die auf den zahlreichen IEEE-Ethernet-Standards
basiert, ist ein Beispiel für
eine Computernetzwerk-Technologie, die man ständig modifizieren und verbessern
kann, um stets eine effiziente Computertechnologie zu erhalten.
-
Eine
umfassendere Beschreibung über
den Stand der Technik bei den Netzwerksystemen kann man beispielsweise
entnehmen aus „SWITCHED AND
FAST ETHERNET" von
Breyer und Riley (Ziff-Davis 1996) und aus zahlreichen IEEE-Veröffentlichungen
in Bezug auf die IEEE 802-Standards. Basierend auf dem OSI-7-Schicht-Referenzmodell [OSI
= Open Systems Interconnect] haben sich die Netzwerkmöglichkeiten
durch die Entwicklung von Repeatern, Brücken, Routern und seit neuestem
von „Switches" [= Vermittlungsanlagen]
erhöht,
die mit den verschiedensten Arten der Kommunikationsmedien operieren.
Dickdrahtleiter, Dünndrahtleiter,
verdrillte Leiterpaare und Lichtwellenleiter sind einige Beispiele,
die für
Computernetzwerke zum Einsatz kommen.
-
Die „Switches" sind, soweit sie
sich auf Computernetzwerk- und Ethernet-Vermittlungsanlagen beziehen, Einrichtungen
auf Hardwarebasis, welche den Fluss der Datenpakete oder Paketzellen
auf Basis der Zieladressinformationen steuern, die in jedem Paket
verfügbar
sind. Eine korrekt aufgebaute und ausgeführte Schaltung der Vermittlungsanlage
sollte in der Lage sein, ein Paket zu empfangen und das Paket an
einen zuständigen
Ausgangsanschluss weiter zu vermitteln, wobei dieser Vorgang als
Draht- oder Leitungsübertragungsgeschwindigkeit
bezeichnet wird, welche in dem bestimmten Netzwerk die maximale
Geschwindigkeitsleistung ist. Die zugrunde liegende Leitungsübertragungsgeschwindigkeit des
Basis-Ethernets beträgt
bis zu 10 Megabits pro Sekunde, wobei beim Fast-Ethernet bis zu
100 Megabits pro Sekunde zu erzielen ist. Das allerneueste Ethernet
wird als Gigabit-Ethernet bezeichnet und kann Daten über ein
Netzwerk bei einer Geschwindigkeitsrate von bis zu 1.000 Megabits
pro Sekunde übertragen.
-
Da
sich die Übertragungsgeschwindigkeit
erhöht
hat, werden die Designeinschränkungen
und Designanforderungen im Hinblick auf die nachfolgenden und geeigneten
Design- und Protokollregeln immer komplexer, wobei aber eine kommerziell
durchführbare
Lösung
bei geringen Kosten zur Verfügung stehen
soll. Ein Vermittlungsschalten bei hoher Übertragungsgeschwindigkeit
erfordert beispielsweise einen Hochgeschwindigkeitsspeicher zum
Bereitstellen eines geeigneten Zwischenspeicherns [Pufferung] für die Paketdaten;
der herkömmliche,
dynamische Direktzugriffsspeicher [DRAM = Dynamic Random Access
Memory] ist aber relativ langsam und benötigt ein mit Hardware auszuführendes
Auffrischen bzw. Aktualisieren. Die Geschwindigkeit der als Pufferspeicher
fungierenden DRAMs während der Netzwerk-Vermittlungsschaltungen
führt daher zu
wertvollem Zeitverlust, wobei es fast unmöglich wird, die Vermittlungsanlage
bzw. das Netzwerk in Verbindung mit der Leitungsübertragungsgeschwindigkeit
auszuführen.
Darüber
hinaus sollte die Einbeziehung einer externen, zentralen Prozessoreinheit
= CPU vermieden werden, da es auch die zusätzliche CPU-Mitwirkung nicht
zulassen würde,
die Vermittlungsschaltung in Verbindung mit der Übertragungsgeschwindigkeit
auszuführen.
-
Da
die Netzwerk-Vermittlungsanlagen außerdem in Bezug auf die benötigten Regeltabellenverzeichnisse
und Speicheransteuerungen immer komplizierter geworden sind, wird
eine komplexe Multichiplösung
erforderlich, welche einen Logiksteuerschaltkreis benötigt, der
mitunter als Verknüpfungslogik
bezeichnet wird, um somit zu ermöglichen,
dass die verschiedenen Chips miteinander kommunizieren können. Hinzu
kommt, dass in Bezug auf die teueren, jedoch schnellen, statischen
Direktzugriffsspeicher = SRAMs gegenüber den nicht teueren, aber
langsamen, dynamischen DRAMs einige Kosten-/Nutzenkompromisse erforderlich
sind. Aufgrund von deren dynamischen Beschaffenheit benötigen die
DRAMs außerdem
das Auffrischen/Aktualisieren der Speicherinhalte, um diesbezüglich Verluste
vermeiden zu können.
SRAMs leiden nicht an den Folgen von Aktualisierungsnotwendigkeiten
und weisen im Vergleich zu den DRAMs einen geringeren Betriebsaufwand
auf, wenn beispielsweise das Eliminieren von Seitenverlusten etc.
auszuführen
ist. Obgleich die DRAMs eine adäquate
Geschwindigkeit aufweisen, wenn sie auf die Speicherplätze der
gleichen Seite zugreifen, wird die Geschwindigkeit jedoch reduziert,
sobald auf weitere Seiten zugegriffen werden muss.
-
Bezüglich des
OSI-7-Schicht-Referenzmodells, das bereits vorstehend erwähnt wurde
und in 7 veranschaulicht ist, besitzen
die höheren Schichten
in der Regel mehr Informationen. Die verschiedensten Produkttypen
stehen für
das Ausführen von
schaltbezogenen Funktionen auf den unterschiedlichen Schichtebenen
des OSI-Referenzmodells zur Verfügung.
Die Hubs oder Repeater operieren schichtbezogen, kopieren im Wesentlichen
und „senden
verteilend" die
eingehenden Daten an eine Vielzahl von Hub-Speichen. Zweischichtbezogene Vermittlungseinrichtungen
werden für
gewöhnlich
als Multiport-Brücken
bezeichnet und sind in der Lage, zwei separate Netzwerke zu überbrücken. Brücken können eine
Tabelle zum Wei terleiten von Regeln auf der Basis aufbauen, aus
denen die MAC-Adressen (MAC = Media Access Controller = Medienzugangssteuereinheit)
bestehen, welche die Brücken
anschließen,
und die Datenpakete weiterleiten, die für eine Adresse bestimmt sind,
welche auf dem gegenüberliegenden
Ende der Brücke
angesiedelt ist.
-
Brücken benutzen
in der Regel einen Spannbaum-Algorithmus, einen auch als „Spanning-Tree" bekannten Algorithmus,
um potentielle Datenschleifen zu eliminieren. Eine Datenschleife
ist ein Zustand, in dem ein Datenpaket sich in endlosen Schleifen
im Netzwerk befindet und nach einer bestimmten Adresse sucht. Der
Spanning-Tree-Algorithmus definiert ein Protokoll zum Verhindern
von Datenschleifen. Dreischichtige Vermittlungsanlagen, die meistens
als Router bezeichnet werden, können
Datenpakete auf Basis der Ziel-Netzwerkadresse weiterleiten. Dreischichtige
Vermittlungsanlagen sind außerdem in
der Lage, Adressen zu entnehmen „zu lernen" und deren Tabellenverzeichnisse aufrechtzuerhalten,
die den Port-Abbildungen entsprechen [Port Mapping]. Die verarbeitende Übertragungsgeschwindigkeit
bezüglich
der dreischichtigen Vermittlungsanlagen kann durch das Benutzen
spezieller Hochleistungshardware und durch das Ausladen des CPU-Hostprozessors
verbessert werden, so dass instruierende Entscheidungen die Paketweiterbeförderung
nicht verzögern.
-
Die
europäische
Patenanmeldung
EP 0
680 178 A1 beschreibt einen Zellenvermittlungskreuzschienenchip
[Koppelfeldchip], der für
die Anwendung in den verschiedenen Ausgestaltungen einer Kreuzschienenschaltung
vorgesehen ist, die Schnittstellenverbindungen für einen Zellenkörperspeicher zu
N-Eingangsanschlüssen
und N-Ausgangsanschlüssen
bereitstellt. Jeder Anschluss weist eine Vielzahl von Leitungen
auf, über
welche die am Aufbau beteiligten Bits eines Zellkörpers durch
eine Folge von Bitverschiebungen transferiert werden können. Der
Chip umfasst M-extern
zugängliche,
separate Speicher-Busse, wobei jeder mit einer Vielzahl von S-Schieberegisterblöcken verbunden
ist. Jeder Schieberegisterblock besitzt ein Eingangsschieberegister
mit L-Elementen, in welche die Bits von einer Eingangsanschlussleitung
hinein geschoben werden können,
wobei die Eingangsschieberegister mit dem erwähnten Eingangskontakt verbunden
sind, damit die Bits in die Register geschoben werden können, und
ein Ausgangsschieberegister mit L-Elementen, aus denen die Bits
durch eine Ausgangsanschlussleitung hinausgeschoben werden können.
-
Die
Patentanmeldung WO 99/00820A betrifft eine mehrschichtige Architektur
eines Vermittlungsanlagen-Suchsystems. Eine Kreuzschienenschaltstruktur
für eine
Vermittlungsanlage umfasst ein Suchsystem und eine Paket-Header
verarbeitende Einrichtung. Das Suchsystem kann mit einem weiterleitenden
Datenbankspeicher und einen oder mehreren Eingangsanschlüssen gekoppelt
sein. Das Suchsystem ist so konfiguriert, um Zugriffe auf den weiterleitenden
Datenbankspeicher zu klassifizieren und auszuführen, und um die weiterleitende
Entscheidung an den einen oder an mehrere Eingangsanschlüsse zu transferieren.
Die Header verarbeitende Einrichtung ist mit dem Suchsystem verbunden und
umfasst eine Entscheidungsschnittstelle [Arbitrierschnittstelle]
zum Verbinden von dem einen oder mehreren der Eingangsanschlüsse. Die
Header verarbeitende Einrichtung ist zum Empfangen eines Paket-Headers von einem
oder von mehreren Eingangsanschlüssen
konfiguriert und ferner zum Aufbauen eines Suchschlüssels für den Zugriff
auf den weiterleitenden Datenbankspeicher aufgrund eines vorgegebenen
Teilabschnitts des Paket-Headers ausgelegt.
-
Aufgabe
der vorliegenden Erfindung ist es, eine zuverlässige und schnelle Gigabit-Verarbeitung bereitzustellen.
Diese Aufgabe wird durch eine Vermittlungsanlage, welche die kennzeichnenden
Merkmale gemäß Anspruch
1 aufweist, und ein Verfahren, welches die Merkmale gemäß Anspruch
5 umfasst, gelöst.
Bevorzugte Ausführungsformen
gemäß der vorliegenden
Erfindung sind in den Unteransprüchen definiert.
-
Kurze Zusammenfassung
der Erfindung
-
Gemäß einem
Aspekt der Erfindung wird eine Netzwerk-Vermittlungsanlage zur Verfügung gestellt,
welche eine Vielzahl von Eingangsanschlüssen aufweist, die Datenpakete
empfangen. Eine externe Adressenauflösungsschnittstelle ist mit
der Vielzahl von Eingangsanschlüssen
verbunden. Die externe Adressenauflösungsschnittstelle überträgt extern
die Datenpakete zum Weiterverarbeiten und empfängt die Datenpakete nach dem
Verarbeiten. Eine Speicherverwaltungseinheit ist mit der externen
Schnittstelle gekoppelt, und eine Vielzahl von Ausgangsanschlüssen ist
wiederum mit der Speicherverwaltungseinheit verbunden.
-
Die
vorliegende Erfindung ist außerdem
auf ein Verfahren zum Verarbeiten eines Datenpaketes in einer Netzwerk-Vermittlungsanlage
ausgerichtet, die eine Vielzahl von Gigabit-Ports aufweist, welche mit
einem CPS-Kanal verbunden sind. Das Verfahren umfasst die Schritte
des Empfangens eines Datenpakets in einem Eingangsanschluss und
des Übermittelns
des Datenpakets von dem Eingangsanschluss über eine Schnittstelle zu einem
externen Modul für eine
Adressenauflösung.
Das Paket wird dann in dem externen Modul verarbeitet und von dem
externen Modul zur Schnittstelle gesendet. Daraufhin wird das Paket
aus dem externen Modul in der Schnittstelle empfangen und von der
Schnittstelle zu einer Speicherverwaltungseinheit übermittelt.
Das Paket wird schließlich
von der Speicherverwaltungseinheit zu einem Ausgangsanschluss gesendet.
Die Daten im CPS-Kanal werden über
den CPS-Kanal übertragen, während gleichzeitig
eine korrespondierende P-Kanal-Nachricht übermittelt werden kann.
-
Eine
weitere Ausführungsform
gemäß der vorliegenden
Erfindung ist eine Netzwerk-Vermittlungsanlage mit einem Eingangsanschluss-Empfangsmittel
zum Empfangen eines Datenpakets in einem Eingangsanschluss; einem
Eingangsanschluss-Übertragungsmittel
zum Übermitteln
des Datenpaketes von dem Eingangsanschluss über eine Schnittstelle zu einem
externen Modul für
eine Adressenauflösung;
einem Verarbeitungsmittel zum Verarbeiten des Paketes in dem externen
Modul; einem externen Modulübertragungsmittel
zum Übertragen des
Paketes von dem externen Modul an die Schnittstelle; einem Schnittstellenempfangsmittel
zum Empfangen des Datenpaketes in der Schnittstelle aus dem externen
Modul; einem Schnittstellenübertragungsmittel
zum Übertragen
des Datenpaketes von der Schnittstelle zu einer Speicherverwaltungseinheit und
einem Speichereinheitsübertragungsmittel
zum Senden des Datenpaketes von der Speicherverwaltungseinheit zu
einem Ausgangsanschluss.
-
Kurze Beschreibung
der Zeichnung
-
Die
Aufgaben und kennzeichnenden Merkmale der vorliegenden Erfindung
können
mit Bezug auf die nachfolgende Beschreibung und den zugehörigen Zeichnungen
einfacher verstanden und veranschaulicht werden, in denen:
-
1 eine
Darstellung von einer Port-Gigabit-Switch-Vermittlungsanlage (PGS)
gemäß der vorliegenden
Erfindung ist;
-
2 eine
Darstellung von zwei PGS-Vermittlungsanlagen ist, die über 10-Gigabit-Ethernet-Schnittstellen
(10-GE) verbunden sind;
-
3 eine
Darstellung von einer Gigabit-Kreuzschienenschaltung (FGS = Fabric
Gigabit Switch) ist;
-
4 eine
Darstellung von acht PGS-Vermittlungsanlagen ist, die über eine
FGS miteinander in Verbindung stehen; und
-
5 ein
Programmablaufdiagramm darüber
ist, wie ein Paket über
eine PGS-Vermittlungsanlage gemäß der vorliegenden
Erfindung transferiert werden kann.
-
Ausführliche
Beschreibung der bevorzugten Ausführungsformen
-
1 ist
eine Darstellung von einer Port-Gigabit-Switch-Vermittlungsanlage
(PGS) 100. Die PGS 100 umfasst acht Gigabit-Ports 102,
eine 10-GE-Schnittstelle 104 (GE = Gigabit Ethernet) und eine
Gigabitschaltschnittstelle für
die Adressenauflösung 106 (AGS
= Address Resolution Gigabit Switch).
-
Die
PGS 100 ist eine Schicht-2-Einrichtung mit chipintegrierten
MAC-Adressentabellen (MAC = Media Access Control) und einem Schnellfilterungsprozessor
(FFP = Fast Filtering Processor). Die Einrichtung kann in einem
allein operierenden Modus betrieben werden, oder mit anderen Einrichtungen verbunden
sein, welche weitere PGS-Anlagen oder eine externe Adressenauflösungsgigabitschaltung (AGS)
einbeziehen, um eine Schicht-2-, Schicht-3- und FFP-Verarbeitung
auszuführen.
Die PGS 100 ist eine blockierungsfrei vermittelnde Einzelchiplösung für acht Gigabit- Ethernet-Anschlüsse und
einer 10-GE-Schaltverknüpfung.
Der FFP stellt eine beschleunigende Paketbeförderung und einen verbesserten
Paketfluss durch das Anwenden von Funktionen bereit, wie zum Beispiel
Klassifizierungsfunktion, Zählfunktion,
Formungsfunktion und Neuausführungsfunktion.
-
Jeder
Gigabit-Port 102 der PGS-Vermittlungsanlage 100 ist
einer entsprechenden Medienzugangssteuereinheit MAC mit einem Eingang
zum Empfangen von Datenpaketen und einem Ausgang zum Übertragen
der Datenpakete zugeordnet. Die Gigabit-Ports 102 unterstützen die
10/100/1000-Auto-Funktionsverhandlung [automatische Regelungsverbindungsmethode],
wobei die MACs bei einer 10/100-Mbps-Unterstützung sowohl im Halb- als auch
im Vollduplex-Betrieb und bei einer 1000 Mbps-Unterstützung nur
im Vollduplex-Betrieb operieren können.
-
Bei
einer Ausführungsform
der vorliegenden Erfindung kann jeder der Gigabit-Ports 102 mit
einem CPS-Kanal verbunden sein. Die Arbitrierung bezüglich des
CPS-Kanals erfolgt außerhalb
des Bandbereichs. Der CPS-Kanal wird von jedem der Gigabit-Ports 102 überwacht,
wobei die entsprechend abgestimmten Ziel-Ports auf die zutreffenden
Transaktionen reagieren. Die C-Kanal-Arbitrierung ist ein Robin-Runden-Bedarfsprioritätsentscheidungsmechanismus
[Round-Robin-Bedarfsprioritäts-Arbitrierungsverfahren].
Wenn es aber keine aktiven Dienstaufrufe gibt, kann das Standard-Modul,
das während der
Konfiguration der PGS 100 ausgewählt wird, auf dem Kanal parken
und einen Vollzugriff auf diesen erhalten. Wenn alle Dienstaufrufe
aktiv sind, befindet sich die Konfiguration der PGS 100 in
einem solchen Zustand, dass einer Pipeline-Speicherverwaltungseinheit
[PMMU = Pipeline Memory Management Unit] in jedem zweiten Zellzyklus
Zugriff gewährt
wird, wobei die Gigabit-Ports 102 auf Robin-Runden-Basis den
gleichen Zugang zum C-Kanal gemeinsam erhalten. Die PMMU und die
Gigabit-Ports 102 alternieren mit ihrem Zugriff, wobei
die PMMU in jedem zweiten Zyklus einen Zugriff erhält.
-
Mithilfe
des Protokolls bzw. P-Kanals können viele
Nachrichten in dem P-Kanal
platziert werden, um aufgrund dessen den in dem C-Kanal durchfließenden Datenfluss
in der richtigen Art und Weise weiterzuleiten. Da der P-Kanal in
der Regel nur 32 Bits breit sein kann und eine Nachricht normalerweise
128 Bits benötigt,
werden vier verkleinerte 32-Bit-Nachrichten zusammengefasst, um
damit eine voll ständige
P-Kanal-Nachricht zu formen. Die nachfolgende Auflistung beschreibt
die Felder und Funktionen sowie die verschiedenen Bit-Werte der 128-Bit-Nachricht
in dem P-Kanal:
Opcode – 2
Bits lang – stellt
den Nachrichtentyp fest, der in dem C-Kanal 81 momentan
vorhanden ist;
IP Bit – 1
Bit lang – Dieses
Bit wird ausgegeben, um anzuzeigen, dass das Paket ein IP-Vermittlungspaket
ist;
IPX Bit – 1
Bit lang – Dieses
Bit wird gesetzt, um anzuzeigen, dass das Paket ein IPX-Vermittlungspaket ist;
Next
Cell [Nächste
Zelle] – 2
Bits lang – ist
eine Reihe von Werten, um die gültigen
Bytes in der korrespondierenden Zelle des C-Kanals 81 festzustellen;
SRC
DEST Port – 6
Bits lang – definiert
den Portnummernanschluss, der die Nachricht mit der Auswertung der
Quelle oder des Zieles sendet oder empfängt, was von dem vorausgehenden
Opcode abhängig
ist;
Cos – 3
Bits lang – definiert
die Dienstkategorieklasse für
das aktuell zu verarbeitende Paket;
J – 1 Bit lang – beschreibt,
ob das aktuelle Paket ein Jumbo-Paket ist;
S – 1 Bit
lang – zeigt
an, ob die aktuelle Zelle die erste Speicherzelle des Paketes ist;
E – 1 Bit
lang – zeigt
an, ob die aktuelle Zelle die letzte Speicherzelle des Paketes ist;
CRC – 2 Bits
lang – zeigt
an, ob ein zyklischer Redundanzprüfwert (CRC) dem Paket hinzuzufügen ist, und
ob ein CRC-Wert erneut generiert werden soll;
P Bit – 1 Bit
lang – entscheidet,
ob die Speicherverwaltungseinheit [MMU = Memory Management Unit] das
ganze Paket freigeben soll;
Len – 7 Bytes – stellt die gültige Byte-Anzahl
in dem aktuellen Transfer fest;
– 2 Bits – definieren eine Optimierung
bezüglich
der Weiterverarbeitung durch die CPU 52; und
Bc/Mc
Bitmap – 28
Bits – definiert
den Broadcast-Sammelruf [allgemeine Adressierung] oder die Multicast-Bitmap
[Gruppenruf-Pixelbild]. Es werden zudem die Ausgangsanschlüsse festgestellt,
an die das Paket weitergegeben werden soll – unter Berücksichtigung der Multicast-
und Broadcast-Mitteilungen.
Untag Bits/Source Port – 28/5 Bits
lang – Abhängend vom
Opcode wird das Paket vom Port zur Speicherverwaltungseinheit [MMU]
transferiert, und dieses Feld wird als entmarkierte Tag-Bitmap interpretiert. Eine
andere Opcode – Auswahlentscheidung
zeigt an, dass das Paket von der MMU zum Ausgangsport zu transferieren
ist, wobei die letzten sechs Bits dieses Feldes als Quell-Portfeld
dargestellt werden. Die vom Tag entmarkierten Bits identifizieren
die Ausgangsports, welche den Tag-Header freisetzen, wobei die Quell-Portbits
die Portnummer darlegen, auf welcher das Paket in der Vermittlungsanlage
eingegangen ist;
U Bit – 1
Bit lang – Für eine bestimmte
Opcode – Auswahlentscheidung
(0x01) zeigt dieses eingegebene Bit an, dass das Paket den Port
als entmarkiert – ohne
Tag – verlassen
soll. Hierbei wird die Tag-Freisetzung von der zuständigen MAC-Einheit
durchgeführt;
CPU
Opcode – 18
Bits lang – Diese
Bits werden eingegeben, wenn das Paket aus irgendwelchen Gründen an
die CPU zu senden ist. Die Opcodes werden aufgrund der abgestimmten
Filteranpassung definiert, wobei Entnahme-Bits/Lern-Bits, Routing-Bits, Zielsuchfehler
[DLF = Destination Lookup Failure], Bestimmungsstationslauf etc.
eingegeben werden.
Zeitstempel – 14 Bits – Das System gibt einen Zeiteintrag
in dieses Feld ein, wenn das Paket ankommt [Zeitstempel], und zwar
mit einer Granularität
[kleinster schaltbarer Kanalbereich] von 1 μsec.
-
Das
Feld Opcode der P-Kanal-Nachricht definiert den aktuell sendenden
Nachrichten-Typ. Auch wenn das Feld Opcode momentan so angezeigt
wird, als hätte
es eine Breite von nur 2 Bits, kann diese Feld, wie gewünscht, erweitert
werden, um damit neue Nachrichten-Typen zu berücksichtigen, wie diese künftig neu
definiert werden könnten.
-
Eine
rechtzeitige Abschlussmeldung kommt zur Anwendung, um anzuzeigen,
dass das aktuelle Paket abzuschließen ist. Während des Betriebsvorgangs
wird, wie noch nachstehend in den Einzelheiten näher beschrieben ist, in die
Nachricht das Status-Bit-Feld (S) zur Anzeige des Wunsches eingegeben,
dass das aktuelle Paket aus dem Speicher freigegeben werden soll.
Zudem geben vor einer Übertragung
als Antwort auf das Status-Bit alle anwendenden Ausgangsports das
aktuelle Paket frei.
-
Das
Feld Src-Dest-Port in der P-Kanal-Nachricht definiert, wie vorstehend
erwähnt,
die Adressen der Ziel- bzw. Quellports. Jedes Feld ist 6 Bits breit, wobei
demzufolge das Adressieren von vierundsechzig Anschluss-Ports ermöglicht wird.
-
Das
CRC-Feld der Nachricht ist zwei Bits breit und definiert die CRC-Betriebsvorgänge. Das Bit
0 des Feldes stellt einen Hinweis dahingehend bereit, ob der zugeordnete
Ausgangsport an das aktuelle Paket einen CRC hinzufügen soll.
Ein Ausgangsport würde
einen CRC an das aktuelle Paket anhängen, wenn Bit 0 des CRC-Feldes
auf ein logisches Wahr-Bit gesetzt ist. Das Bit 1 des CRC-Feldes
stellt einen Hinweis dahingehend bereit, ob der zugeordnete Ausgangsport
für das
aktuelle Paket einen CRC erneut generieren soll. Ein Ausgangsport
würde einen
CRC regenerieren, wenn Bit 1 des CRC-Feldes auf ein logisches Wahr-Bit
gesetzt ist. Das CRC-Feld ist
nur für
die letzte Zelle zulässig,
die von dem E-Bit-Feld der P-Kanal-Nachricht als definiert übertragen
wurde, welches auf logisch wahr gesetzt ist.
-
Genau
wie beim CRC-Feld sind das Status-Bit-Feld (S), das Len-Feld und
das Cell-Count-Feld der Nachricht nur zulässig für die letzte Zelle eines Paketes,
das von dem E-Bit-Feld der Nachricht als definiert übertragen
wird.
-
Als
letztes weist das Zeitstempel-Feld der Nachricht eine Auflösung von
1 μs auf
und ist nur zulässig
für die
erste Zelle des Paketes, die durch das S-Bit-Feld der Nachricht
definiert worden ist. Eine Speicherzelle wird als erste Zelle des
empfangenen Paketes definiert, wenn das S-Bit-Feld der Nachricht auf
einen logischen Wert gesetzt ist.
-
Wie
nachstehend in den Einzelheiten näher beschrieben ist, sind der
C-Kanal und der P-Kanal synchron miteinander verknüpft, so
dass die Daten auf dem C-Kanal über
den CPS-Kanal übertragen werden,
während
gleichzeitig eine korrespondierende P-Kanal-Nachricht gesendet werden
kann.
-
Der
S-Kanal ist ein 32-bitbreiter Kanal, der einen separaten Kommunikationsweg
innerhalb der Port-Gigabit-Switch-Vermittlungsanlage (PGS) 100 zur
Verfügung
stellt. Der S-Kanal wird zum Verwalten einer zentralen Prozessoreinheit (CPU),
einer internen Durchflusssteuerung der PGS 100 sowie von
interaktiven Modul-Meldungen der PGS 100 verwendet. Der
S-Kanal ist ein Seitenbandkanal des CPS-Kanals und zu dem C-Kanal
und dem P-Kanal elektrisch und physikalisch isoliert angeordnet.
Wichtig ist hierzu die Hervorhebung, dass – da der S-Kanal zum C-Kanal und zum P-Kanal
getrennt und unterschiedlich ist – der Betrieb des S-Kanals
ohne einen Leistungsqualitätsverlust – in Zusammenhang mit
dem Betrieb des C-Kanals und des P-Kanals – fortgesetzt werden kann.
Da umgekehrt der C-Kanal nicht für
die Übertragung
von Systemmeldungen verwendet wird, sondern nur für Daten,
tritt in Zusammenhang mit dem C-Kanal kein betriebsbedingter Programmmehraufwand
auf, und folglich ist der C-Kanal in der Lage, betrieblich unabhängig zu
laufen, wie dies erforderlich ist, um eingehende und ausgehende
Paketinformationen effektiv abwickeln zu können.
-
Der
S-Kanal des CPS-Kanals stellt einen systemumfassenden Kommunikationsweg
für das Senden
von Systemmeldungen in der ganzen PGS 100 zur Verfügung.
-
Das
Nachrichtenformat für
die S-Kanal-Nachricht auf einem S-Kanal kann aus vier 32-Bit-Worten
gebildet werden. Die Bits für
die Felder der Worte werden wie folgt definiert:
Opcode – 6 Bits
lang – stellt
den Nachrichten-Typ fest, der in dem S-Kanal momentan vorhanden
ist;
Dest Port – 6
Bits lang – definiert
die Portanschlussnummer, an welche die aktuelle S-Kanal-Nachricht adressiert
ist;
Src Port – 6
Bits lang – definiert
die Portanschlussnummer, von dem die aktuelle S-Kanal-Nachricht
abstammt;
COS – 3
Bits lang – definiert
die Dienstkategorieklasse in Zusammenhang mit der aktuellen S-Kanal-Nachricht;
und
C-Bit – 1
Bit lang – definiert
in logischer Hinsicht, ob die aktuelle S-Kanal-Nachricht für den CPU 52 bestimmt
ist.
Error Code/Fehlercode – 2 Bits lang – definiert
einen gültigen
Fehler, wenn das E-Bit eingegeben ist;
DataLen – 7 Bits
lang – definiert
die Gesamtzahl der Datenbytes in dem Daten-Feld;
E-Bit – 1 Bit
lang – zeigt
logisch an, ob ein Fehler während
der Ausführung
des aktuellen Befehls, wie er durch den Opcode definiert wurde,
aufgetreten ist;
Adresse – 32
Bits lang – definiert
die Speicheradresse in Verbindung mit dem aktuellen Befehl, wie
er im Opcode definiert worden ist;
Daten – 0–127 Bits lang – enthalten
die Daten, die dem aktuellen Opcode zugeordnet wurden.
-
Aufgrund
der Konfiguration des CPS-Kanals existiert, wie vorstehend beschrieben,
eine Entkoppelung des S-Kanals von dem C-Kanal und von dem P-Kanal,
so dass die Bandbreite des C-Kanals für den Zellen-Transfer erhalten
bleiben kann, und so dass ein Überladen
des C-Kanals die Kommunikation im Seitenbandkanal nicht beeinträchtigen
kann. Mit einem CPS-Kanal kann zudem eine AGS-Schnittstelle 106 (AGS
= Address Resolution Gigabit Switch = Adressenauflösungsgigabitschaltung)
verbunden werden.
-
Die
AGS-Schnittstelle 106 kann eine serielle Schnittstelle
oder eine parallele Schnittstelle jeweils mit Hochgeschwindigkeitsleistung
sein, um die Daten so schnell wie möglich zu transferieren. Die AGS-Schnittstelle 106 kann
an einem Ende mit einem CPS-Kanal verbunden sein und am anderen Ende
mit einer externen AGS, welche die Funktionen der Adressenauflösungslogik
(ARL) in der externen AGS durchführt.
Die Bandbreite der AGS-Schnittstelle kann so ausgestaltet sein,
dass sie Pakete von allen Ports der PGS-Vermittlungsanlage 100 senden und
empfangen kann. Wenn außerdem
die PGS 100 eine externe AGS einsetzt, welche die AGS-Schnittstelle 102 verwendet,
kommt der in der PGS 100 bereitgestellte Schnellfilterungsprozessor
(FFP) nicht zum Einsatz, sondern dann wird der in der externen AGS
verfügbare
FFP angewendet. Die externe AGS kann – zusätzlich zu der externen Durchführung der ARL-Funktionen – auch mit
einem Mittel für
ein sehr geringfügiges
Zwischenspeichern bereitgestellt werden, um damit den Verarbeitungsvorgang
zu beschleunigen. In einigen Ausführungsbeispielen ist ein First-In-First-Out
(FIFO)-Speicher vorgesehen, der aber nur zu einer zusätzlichen
FIFO-Wartezeit beiträgt.
-
Der
in der PGS-Vermittlungsanlage 100 bereitgestellte Schnellfilterungsprozessor
(FFP) gemäß einer
Ausführungsform
der vorliegenden Erfindung weist 16 Filtermasken (einschließend und
ausschließend)
und ein Regeltabellenverzeichnis mit einer Tiefe von 128K auf. Der
FFP in der externen AGS-Schnittstelle kann 32 Filtermasken und ein
Regeltabellenverzeichnis mit einer Tiefe von 256K umfassen. Aus
diesem Beispiel geht klar hervor, dass ein Vorteil im Hinblick auf
eine externe AGS-Schnittstelle darin besteht, dass diese mehr Flexibilität und Modularität ermöglichen
kann, indem die ARL-Funktionen auf Basis des benötigten Bedarfs ausgeführt werden.
Wenn die chipintegrierten Filtermasken für eine vorgegebene Aufgabe
nicht adäquat
sind, können
andere Filtermasken für
die Ausführung
einer externen Adressenauflösungsgigabitschaltung
unter Verwendung der AGS-Schnittstelle 106 eingesetzt werden.
-
2 veranschaulicht
eine erste Port-Gigabit-Switch-Vermittlungsanlage (PGS) 210 mit
acht Gigabit-Ports 212, einer AGS-Schnittstelle 214 und
einer 10-GE-Schnittstelle 216 (GE
= Gigabit Ethernet) und eine zweite PGS-Vermittlungsanlage 220 mit acht
Gigabit-Ports 222, einer AGS-Schnittstelle 224 und
einer 10-GE-Schnittstelle 226.
Die erste PGS 210 ist mit der zweiten PGS 220 zwischen
der 10-GE-Schnittstelle 210 und
der 10-GE-Schnittstelle 224 verbunden. Aufgrund dieser
Konfiguration führt die
Zusammenschaltung von zwei PGS-Vermittlungsanlagen zu einer blockierungsfreien
16-Port-Lösung.
-
3 veranschaulicht
eine Gigabit-Kreuzschienenschaltung (FGS = Fabric Gigabit Switch) 300 mit
acht 10-GE-Schnittstellen 310. Eine FGS kann eingesetzt
werden, um viele Geräteanlagen
untereinander zusammenzuschalten. Die in 3 veranschaulichte
FGS kann zum Zusammenschalten von acht PGS-Vermittlungsanlagen verwendet
werden, indem die acht 10-GE-Schnittstellen 310 zum Einsatz
kommen.
-
4 veranschaulicht
eine Gigabit-Kreuzschienenschaltung (FGS) 400, die acht 10-GE-Schnittstellen 410 aufweist.
Jede der acht PGS-Vermittlungsanlagen 420 umfasst jeweils
acht Gigabit-Ports 430, eine AGS-Schnittstelle 440 und eine
10-GE-Schnittstelle 450.
Alle acht PGS-Vermittlungsanlagen 420 sind über die
FGS 400 miteinander verbunden. Alle 10-GE-Schnittstellen 450 von
jeder PGS-Vermittlungs anlage 420 sind mit einer zugeordneten
10-GE-Schnittstelle 410 der FGS 400 verbunden.
Auf diese Weise werden die acht PGS-Vermittlungsanlagen 420 über die
FGS 400 mit den 10-GE-Schnittstellen verbunden, die jeweils
an den PGS-Vermittlungsanlagen 420 und an der FGS 400 vorgesehen
sind.
-
Die
AGS-Schnittstellen 440 werden eingesetzt, um jede PGS-Vermittlungsanlage 420 an
eine externe Adressenauflösungsgigabitschaltung
AGS für
eine Adressenauflösung
zusammenzuschalten. Jedoch kann in einigen Ausführungsformen gemäß der vorliegenden
Erfindung jede der PGS-Vermittlungsanlagen 420 die Funktionen
für die
Adressenauflösung
auch ohne den Einsatz einer externen AGS ausführen. Eine PGS-Vermittlungsanlage 420 kann
zum Beispiel auch eine interne AGS aufweisen. Wenn die PGS 420 keine
externe AGS ermitteln kann, die an eine AGS-Schnittstelle 440 angeschlossen
ist, wird für
die Adressenauflösung
die interne AGS angewendet. Wenn die PGS-Vermittlungsanlage 420 eine
externe AGS erkennt, die mit der AGS-Schnittstelle 440 verbunden
ist, wird die externe AGS eingesetzt. Ein Vorteil von dieser Funktionsweise
besteht darin, dass sie in Bezug auf die Art der durchzuführenden
Funktionen für
die Adressenauflösung
mehr Flexibilität
zulässt.
Wenn eine interne AGS nicht gewünscht
ist, kann eine externe AGS ausgeführt werden, die zusätzliche
Flexibilität
und Modularität
bietet.
-
In
einem Ausführungsbeispiel
gemäß der vorliegenden
Erfindung besitzt ein Schnellfilterungsprozessor (FFP), der in der
PGS-Vermittlungsanlage 420 bereitgestellt wird, die Klassifizierungsfunktion, Zählfunktion,
Formungsfunktion und Neuausführungsfunktion.
In diesem Beispiel ist die PGS-Vermittlungsanlage 420 mit
16 Filtermasken und einem 128K-Tiefenregeltabellenverzeichnis ausgestattet. Wenn
eine externe AGS an eine AGS-Schnittstelle 440 angeschlossen
ist, wird der interne FFP nicht benutzt und auf die externe AGS
zugegriffen. In diesem Beispiel stellt die externe Adressenauflösungsgigabitschaltung
AGS, die mit der AGS-Schnittstelle 440 verbunden ist, 32
Filtermasken und ein 256K-Tiefenregeltabellenverzeichnis der PGS-Vermittlungsanlage 420 zur
Verfügung.
Folglich könnte
in diesem Beispiel die gleiche PGS-Vermittlungsanlage 420 für 16 Filtermasken
und ein 128K-Regeltabellenverzeichnis konfiguriert werden, der interne
FFP bzw. 32 Filtermasken und ein 256K-Regeltabellenverzeichnis eingesetzt
werden, und eine externe AGS über
die AGS-Schnittstelle 106 angewendet werden, was der PGS-Vermittlungsanlage 420 mehr
Flexibilität
und Modularität
verleiht.
-
5 ist
ein Programmablaufdiagramm, welches den Durchfluss eines Paketes
veranschaulicht, das von einer PGS-Vermittlungsanlage empfangen
worden ist. 5 wird mit Bezug auf 1 beschrieben.
-
In
Schritt 510 wird ein Paket von der PGS 100 über einen
der Gigabit-Ports 102 empfangen. In einem Ausführungsbeispiel
gemäß der Erfindung weist
der Gigabit-Port 102 einen MAC-Eingang zum Paket-Empfangen
auf.
-
In
Schritt 520 wird das Paket von dem MAC-Eingang verarbeitet
und festgestellt, ob eine Adressenauflösungsgigabitschaltung AGS mit
einer AGS-Schnittstelle 106 verbunden ist.
-
Wenn
eine externe AGS ermittelt worden ist, wird in Schritt 530 das
Paket zur AGS-Schnittstelle 106 gesendet. Wenn keine externe
AGS ermittelt werden kann, wird das Paket unter Verwendung einer intern
bereitgestellten AGS bezüglich
der Adressenauflösung
verarbeitet. In manchen Ausführungsbeispielen
jedoch ist in der PGS-Vermittlungsanlage 100 keine interne
AGS für
die Adressenauflösung
vorgesehen. In diesen Fällen
wird Schritt 520 übersprungen
und das Paket direkt zur AGS-Schnittstelle 106 gesendet,
wie dies in Schritt 530 dargestellt ist. Wenn das Paket
von der AGS-Schnittstelle 106 empfangen worden ist, wird
das Paket zur externen AGS übermittelt,
wobei eine serielle Schnittstelle oder eine parallele Schnittstelle
jeweils mit Hochleistungsgeschwindigkeit verwendet wird, um das
Paket extern so schnell wie möglich
so übertragen
zu können, dass
eine minimale oder gar keine Verzögerung auftritt.
-
In
Schritt 540 wird das Paket von der zuständigen AGS empfangen und die
Adressenauflösung für das Paket
durchgeführt.
In manchen Ausführungsbeispielen
wird die Adresse entnommen und verarbeitet, um das Paket an den
zuständigen
Port für
eine schnelle und effiziente Ausgabe übermitteln zu können. In
anderen Fällen
wurde die Adresse bereits entnommen, und das Paket kann folglich
direkt zu dem zuständigen
Ausgabeport gesendet werden. Von der AGS kann eine Vielfalt von
weiteren Funktionen für
die Adressenauflösung
durchgeführt
werden, um den Verarbeitungsvorgang und die Übertragung des Paketes noch
effizienter und schneller zu unterstützen. Nachdem das Paket von
der AGS verarbeitet wurde, wird das Paket zur weiteren Verarbeitung über die
PGS-Vermittlungsanlage 100 weitergeleitet.
-
In
Schritt 550 kann das Paket zum Beispiel an eine Speicherverwaltungseinheit
MMU zur weiteren Verarbeitung gesendet und schließlich an
die zuständige
Gigabit-Portausgabe 102 übermittelt werden, wie dies
in Schritt 560 dargestellt ist. Wenn das Paket von einer
externen Adressenauflösungsgigabitschaltung über die
AGS-Schnittstelle 106 gesendet wird, wird das Paket zur
MMU über
eine serielle Schnittstelle oder eine parallele Schnittstelle jeweils mit
Hochleistungsgeschwindigkeit gesendet, um das Paket extern so schnell
wie möglich
zu übertragen, so
dass eine minimale oder gar keine Verzögerung auftritt. Wenn das Paket
intern übermittelt
werden soll, kann für
die Übertragung
ein CPS-Bus eingesetzt werden.
-
Die
vorstehend beschriebene Ausgestaltung der vorliegenden Erfindung
wird in einer bevorzugten Ausführungsform
auf einem Halbleitersubstrat, wie es beispielsweise Silizium sein
kann, mit den zugehörigen
Halbleiterherstelltechniken und auf Basis einer Schaltungskonfiguration
dargestellt, wobei die Grundlagen der vorstehend erläuterten
Ausführungsformen
den Fachleuten auf dem Gebiet bekannt sind. Jemand, der auf dem
Gebiet des Halbleiter-Designs und der diesbezüglichen Herstellung spezialisiert
ist, könnte
auf Basis der vorstehend veranschaulichten, architektonischen Beschreibung
die verschiedenartigen Module, Schnittstellen, Tabellenverzeichnisse, Zwischenspeicher
etc. entsprechend der vorliegenden Erfindung auf einem einzigen
Halbleitersubstrat implementieren. Auch die Implementierung der
offenbarten, erfindungsgemäßen Komponenten
in diskreten, elektronischen Bauelementen unterliegt dem Schutzumfang
der vorliegenden Erfindung, wobei mit dem Maximieren der Vorteile
aus der Anwendung eines einzigen Halbleitersubstrates die funktionalen Aspekte
der vorliegenden Erfindung zu Nutze gemacht werden.
-
Auch
wenn die Erfindung mithilfe von bevorzugten Ausführungsformen offenbart worden
ist, ist den Fachleuten auf diesem Gebiet klar, dass bestimmte Modifikationen,
Varianten und alternative Ausgestaltungen möglich sind. Um daher die gewissen
Grenzbestimmungen für
die vorliegende Erfindung beurteilen zu können, ist auf die anhängenden Patentansprüche Bezug
zu nehmen.