-
HINTERGRUND
DER ERFINDUNG
-
Diese Erfindung bezieht sich auf
das Gebiet der Netzwerk-Vorrichtungen und genauer auf eine Ethernet-Netzwerk-Vorrichtung
mit Backplane-Architektur zum Erfassen eines Verbindungsfehlers
und zum Umschalten auf einen guten Port in Antwort darauf.
-
Jegliche Geschäftstätigkeit, die auf einer 24/7
Basis kämpft,
kann es sich nicht leisten, länger
als gerade einige Minuten an einem Ausfall zu leiden, oder vielleicht
länger
als eine halbe Stunde. Ungeplante Ausfälle können Datenoperationen stark
erschweren und können
außerordentlich
teuer sein, was verlorene Einnahmen und Arbeitsleistung, die aufgebracht
werden wird, um solche Situationen zu korrigieren, betrifft. Zwei jüngere Studien
aus dem Jahr 1995 zeigten, daß mittlere
Geschäftsbetriebe
zwischen 80.000 und 350.000 USD pro Stunde aufgrund von ungeplanten
Ausfällen
verloren haben. Berücksichtigt
man diese Verluste an Dollar, wird es schnell offensichtlich, daß das Einrichten
einer redundanten Informationstechnologiestruktur billiger kommt
als das Risiko selbst eines kurzen Ausfalls. Dies ist insbesondere
richtig, wenn man die relativ geringen Preise von Computern betrachtet,
die gegen die Kosten solcher Ausfallzeiten laufen. Weiterhin wissen Verwalter
genau, wie teuer die zusätzliche
Ausrüstung,
Software und Schulung der Bediener ist, wohingegen es sehr schwierig
sein kann, die Kosten ungeplanter Ausfälle vorab zu quantifizieren.
-
Das Ethernet-Netzwerk ist überwältigenderweise
wegen seiner geringen Kosten in lokalen Netzwerken (Local Area Netzworks;
LAN), und wegen des einfachen Einsatzes und Aufbaus eingesetzt worden.
Nach Jahren der Verbesserungen bei der Ethernet-Technologie ist
heute die Anwendung des Ethernet vom LAN auf die beiden WAN/MAN
erweitert worden. Vor kurzem ist die Ethernet-Technologie auch in
die Backplane von auf Chassis basierenden Systemen eingebaut worden,
aufgrund der geringen Kosten, weithin verfügbarer Quellen und eingebetteten
Möglichkeiten
der Fehlererfassung.
-
In dem auf Chassis basierenden System
ist es erforderlich, daß die
Backplane die zuverlässigen
und robusten Verbindungen zwischen Verbindungskarten und Modulen
zur Verfügung
stellt. Da jedoch das Ethernet-Netzwerk ursprünglich in einer LAN-Umgebung
entwickelt wurde, ist das Erfordernis der "Verfügbarkeit" für die LAN-Anwendung
recht unterschiedlich von der für
die Backplane-Anwendung. Zum Beispiel wird in einer herkömmlichen
LAN-Umgebung das "Spanning Tree"-Protokoll verwendet,
um eine "Failover"-Funktion (bei Ausfall überschaltende
Funktion) zur Verfügung
zu stellen, indem die aktive Topologie rekonfi guriert wird, wenn
das Netzwerk den Ausfall einer Verbindung oder eines Ports erfaßt. Jedoch
ist die Konvergenzzeit relativ lang. Vom Zeitpunkt der Erfassung
des Fehlers kann es bis zu zwanzig bis fünfzig Sekunden dauern, um die Änderung
in der Topologie fertigzustellen und zum normalen Betrieb zurückzukehren.
Selbst wenn ein konventionelles "Verbesserungs"-Protokoll benutzt wird, könnte der
schnelle "Spanning
Tree" fünfzig msec
(Millisekunden) benötigen,
um den normalen Betrieb wieder aufzunehmen, nachdem der Ausfall
in einem Schalter oder einer Verbindung erfaßt worden ist.
-
Gemäß dem Standard 802.3 des Institute
of Electrical and Electronic Engineers ist eine Verbindungs-Aggregation
entwickelt worden, um die Bandbreite und Verfügbarkeit zu vergrößern, indem
mehr als eine Verbindung zusammengefaßt worden ist, um eine Verbindungs-Aggregationsgruppe
zu bilden. Die Medienzugriffssteuerschicht (Media Access Control;
MAC) kann die mehreren Verbindungen als eine einzelne logische Verbindung
behandeln. Wenn eine Verbindung in der Aggregationsgruppe ausfällt, kann
der Verkehr über
die verbleibenden Betriebsverbindungen verteilt (oder umgeleitet)
werden. Jedoch bietet die Verbindungsaggregation ein "Failover" nur unter parallelen
Verbindungen, wenn die parallelen Verbindungen die gleichen Endknoten
gemeinsam nutzen.
-
Für
die Backplane-Anwendung hat das Ethernet-Netzwerk üblicherweise
eine sehr einfache Konfiguration, z.B. eine Sterntopologie, was
bedeutet, daß von
jedem Kartenschacht ein erster Bus zu einem ersten Schaltnetz verbindet
und ein zweiter Bus zu einem zweiten Schaltnetz. Wenn der erste
Bus ausfällt,
schaltet die Vorrichtung automatisch um, um den zweiten Bus zu verwenden.
Jedoch ist die Konvergenzzeit von zwanzig bis fünfzig Sekunden bei einer Wiedergewinnung über den "Spanning Tree" in einer Backplane-Umgebung nicht
akzeptabel. Zusätzlich
bietet die Verbindungs-Aggregation, wie oben angegeben, "Failover" nur unter parallelen
Verbindungen, die dieselben Endknoten gemeinsam nutzen. Das heißt, eine
Sicherungsverbindung wird nicht gemeinsam dieselben Enden der ausgefallenen
Verbindung benutzen. Somit kann die Verbindungs-Aggregation keine
Anwendung bei der Ethernet-Backplane-Umgebung
finden.
-
Was daher benötigt wird ist eine einfache
schnelle und robuste Lösung,
um die hohe Verfügbarkeit
für die
Ethernet-Backplane-Umgebung mit Ausfallerfassung und Failover-Schalten
zu erreichen.
-
Angesichts der zuvor genannten Anforderungen
betrachtet die vorliegende Erfindung ein Verfahren, computerlesbare
Befehle, eine Vorrichtung und ein System, das aktiv Verbindungsausfälle erfaßt.
-
Bei einer Ausführungsform weist das Verfahren
zum Erfassen eines Ausfalls einer Kommunikationsverbindung die Schritte
auf: Einstellen eines Zeitgebers auf ein vorbestimmtes Intervall;
Rücksetzen
des Zeitgebers auf das vorbestimmte Intervall, wann immer ein gültiges Paket
empfangen wird und Senden eines Sondierpaketes und Einstellen eines
Sondierzeitgebers, wenn der Zeitgeber abläuft. Der Status der Kommunikationsverbindung
wird auf einen Ausfallmodus geändert,
wenn der Sondierzeitgeber abläuft
und eine gültige Antwort
auf das Sondierpaket nicht empfangen worden ist.
-
Bei einer weiteren Ausführungsform
weist das Verfahren zum Erfassen von Ausfällen bei einer Kommunikationsverbindung
die Schritte auf: Senden eines Sondierpaketes und Einstellen eines
Sondierzeitgebers, nachdem eine vorbestimmte Anzahl aufeinanderfolgender
ungültiger
Pakete empfangen wird, und Ändern
des Status der Kommunikationsverbindung auf einen Ausfallmodus,
wenn der Sondierzeitgeber abläuft und
eine gültige
Antwort auf das Sondierpaket nicht empfangen worden ist.
-
Bei noch einer weiteren Ausführungsform
des Verfahrens zum Erfassen des Ausfalls einer Kommunikationsverbindung
wird ein Sondierpaket geschickt, wenn entweder ein Leerlauf-Zeitgeber abläuft oder
eine vorbestimmte Anzahl aufeinanderfolgender ungültiger Pakete
empfangen worden ist. Der Status der Kommunikationsverbindung wird
auf einen Ausfall modus geändert,
wenn der Sondierzeitgeber abläuft
und eine gültige Antwort
auf das Sondierpaket nicht empfangen worden ist.
-
Die vorliegende Erfindung umfaßt auch
ein computerlesbares Medium mit Befehlen, mit einer Einrichtung
zum Einstellen eines Zeitgebers auf ein vorbestimmtes Intervall;
einer Einrichtung zum Rücksetzen
des Zeitgebers auf das vorbestimmte Intervall, wann immer ein gültiges Paket
empfangen wird; einer Einrichtung zum Verschicken eines Sondierpaketes
und Einstellen eines Sondierzeitgebers, wenn der Zeitgeber abläuft; und
einer Einrichtung zum Ändern
des Status der Kommunikationsverbindung auf einen Ausfallmodus,
wenn der Sondierzeitgeber abläuft
und eine gültige
Antwort auf das Sondierpaket nicht empfangen worden ist.
-
Bei einer weiteren Ausführungsform
wird hierin offenbart ein computerlesbares Medium mit Befehlen, mit
einer Einrichtung zum Schicken eines Sondierpaketes und Einstellen
eines Sondierzeitgebers, nachdem eine vorbestimmte Anzahl aufeinanderfolgender
ungültiger
Pakete empfangen ist, und einer Einrichtung zum Ändern des Status der Kommunikationsverbindung
auf einen Ausfallmodus, wenn der Sondierzeitgeber abläuft und
eine gültige
Antwort auf das Sondierpaket nicht empfangen worden ist. Die computerlesbaren
Befehle können
weiterhin eine Einrichtung zum Schicken des Sondierpaketes und zum
Starten des Sondierzeitgebers, wenn ein Leerlaufzeitgeber abgelaufen
ist, aufweisen.
-
Die vorliegende Erfindung betrachtet
weiter eine Vorrichtung zum Erfassen eines Verbindungsausfalls auf
einer Ethernet-Backplane mit hoher Verfügbarkeit, mit einer Einrichtung
zum Einstellen eines Zeitgebers auf ein vorbestimmtes Intervall,
einer Einrichtung zum Rücksetzen
des Zeitgebers auf das vorbestimmte Intervall, wann immer ein gültiges Paket
empfangen wird, einer Einrichtung zum Schicken eines Sondierpaketes und
Einstellen eines Sondierzeitgebers, wenn der Zeitgeber abläuft, und
einer Einrichtung zum Ändern
des Status der Kommunikationsverbindung auf einen Ausfallmodus,
wenn der Sondierzeitgeber abläuft
und eine gültige
Antwort auf das Sondierpaket nicht empfangen worden ist.
-
Bei einer weiteren Ausführungsform
wird eine Vorrichtung für
das Erfassen eines Verbindungsausfalls auf einer Ethernet-Backplane
mit hoher Verfügbarkeit
betrachtet, mit einer Einrichtung zum Schicken eines Sondierpaketes
und zum Einstellen eines Sondierzeitgebers, wenn eine vorbestimmte
Anzahl von Fehlern empfangen worden ist, und einer Einrichtung zum Ändern des
Status der Kommunikationsverbindung in einen Ausfallmodus, wenn
der Sondierzeitgeber abläuft
und einen gültige
Antwort auf das Sondierpaket nicht empfangen worden ist. Zusätzlich können bei
dieser Ausführungsform
auch eine Einrichtung zum Einstellen eines Zeitgebers auf ein vorbestimmtes
Intervall verwendet werden, wobei das Sondierpaket geschickt wird
und der Sondierzeitgeber gesetzt wird, wenn der Zeitgeber abläuft. Der
Zeitgeber würde
jedesmal rückgesetzt
werden, wenn ein gültiges
Paket empfangen wird.
-
Die vorliegende Erfindung betrachtet
auch ein Backplane-System, welches eine Vielzahl von Knotenkarten
(node boards) und eine Vielzahl von Schaltnetzkarten (switch fabric
boards) aufweist, wobei jeder Knoten der Vielzahl der Knotenkarten
eine einzige Verbindung zu jeder der Vielzahl der Schaltnetzkarten
hat. Wenigstens eine aus der Gruppe, die aus der Vielzahl der Knotenkarten
und der Vielzahl der Schaltnetzkarten besteht, weist weiterhin eine
Einrichtung zum Einstellen eines Zeitgebers auf ein vorbestimmtes
Intervall: eine Einrichtung zum Rücksetzen des Zeitgebers auf
das vorbestimmte Intervall, wann immer ein gültiges Paket empfangen wird;
eine Einrichtung zum Schicken eines Sondierpaketes und zum Einstellen
eines Sondierzeitgebers, wenn der Zeitgeber abläuft: und eine Einrichtung zum Ändern des
Status der Kommunikationsverbindung auf einen Ausfallmodus, wenn
der Sondierzeitgeber abläuft
und eine gültige
Antwort auf das Sondierpaket nicht erhalten worden ist, auf. Das
System kann weiterhin eine Einrichtung zum Schicken eines Sondierpaketes
und zum Einstellen eines Sondierzeitgebers, nachdem eine vorbestimmte
Anzahl aufeinanderfolgender ungültiger
Pakete empfangen worden ist, aufweisen.
-
Eine weitere Ausführungsform des Backplane-Systems
weist eine Vielzahl von Knotenkarten und eine Vielzahl von Schaltnetzkarten
auf, wobei jeder Knoten der Vielzahl der Knotenkarten eine einzelne
Verbindung zu jeder der Vielzahl der Schaltnetzkarten hat, und eine
Ein richtung zum Schicken eines Sondierpaketes und zum Einstellen
eines Sondierzeitgebers, nachdem eine vorbestimmte Anzahl aufeinanderfolgender
ungültiger Pakete
empfangen worden ist, und eine Einrichtung zum Ändern des Status der Kommunikationsverbindung in
einen Ausfallmodus, wenn der Sondierzeitgeber abläuft und
eine gültige
Antwort auf das Sondierpaket nicht erhalten worden ist. Die Einrichtung
zum Schicken eines Sondierpaketes und die Einrichtung zum Ändern des Status
der Kommunikationsverbindung können
mit einem der Knotenkarten, Schaltnetzkarten oder deren Kombination
gekoppelt werden.
-
Bei noch einer weiteren Ausführungsform
der zuvor beschriebenen Backplane-Systeme weisen die Schaltnetzkarten
weiterhin eine UmBündelungstabelle
auf, und wenn eine Schaltnetzkarte eine ausgefallene Verbindung
erfaßt,
kommuniziert die Schaltnetzkarte Daten über die ausgefallene Verbindung
zu den verbleibenden Schaltnetzkarten, was bewirkt, daß die Schaltnetzkarten
ihre UmBündelungstabellen
aktualisieren.
-
Bei den bevorzugten Ausführungsformen
wird das Sondierpaket dadurch unterschieden, daß es eine identische Quell-
und Zieladresse hat, und die Empfangsseite des Sondierpaketes wird
so konfiguriert, daß sie auf
das Sondierpaket antwortet, indem sie es zurück an den Sender schickt.
-
Für
ein vollständigeres
Verständnis
der vorliegenden Erfindung und deren Vorteile wird nun auf die folgende
Beschreibung Bezug, zusammen mit den beigefügten Zeichnungen, genommen
wobei:
-
1 ein
allgemeines Blockschaubild der Topologie einer Backplane mit doppeltem
Schaltnetz für
Pakete ist;
-
2 ein
genaueres Blockschaubild des Backplane-System, gemäß der offenbarten
Ausführungsform
ist;
-
3 ein
Ablaufdiagramm des Failover-Prozesses einer Knotenkarte gemäß einer
offenbarten Ausführungsform
veranschaulicht;
-
4 ein
Ablaufdiagramm des Failover-Prozesses einer Netzkarte veranschaulicht,
gemäß einer
offenbarten Ausführungsform;
-
5 ein
Zustandsdiagramm des Herzschlag-Signals von der Senderseite veranschaulicht;
-
6 ein
Zustandsdiagramm des Herzschlag-Signals von der Empfängerseite
veranschaulicht; und
-
7 ein
Zustandsdiagramm des Sondierpaketes an der Senderseite veranschaulicht.
-
GENAUE BESCHREIBUNG
DER ERFINDUNG
-
Die offenbarte Architektur stellt
eine Ethernet-Backplane mit hoher Verfügbarkeit zur Verfügung, indem automatisch
ein Verbindungsfehler erfaßt
und ein "Failover" zu einer Sicherungsverbindung
durchgeführt
wird. Failover ist als der Prozeß oder Mechanismus zum "Ausschalten" einer ausgefallenen
redundanten Komponente und "Einschalten" der arbeitenden
Sicherheitskomponente definiert. Ein Aspekt der Erfindung erleichtert das
schnelle und einfache Failover. Zusätzlich wird das Austauschen
von Steuernachrichten zwischen Knoten minimiert, um die Verarbeitungslast
auf der CPU (Zentrale Verarbeitungseinheit) zu reduzieren.
-
Mehrere Schemata sind für die Erfassung
von Verbindungsausfällen
verfügbar.
Ein Schema umfaßt das
Senden von "Herzschlag"-Nachrichten an das
MAC (Media Access Control; Me dienzugriffssteuerung)-Modul. Ein weiteres
Schema benutzt eine Rahmenfehlerrate. Eines oder beide der Erfassungsschemata
können implementiert
werden, um Verbindungsausfälle
zu erfassen. Wenn einmal ein Verbindungsausfall erfaßt wird, wird
die CPU benutzt, um die Failover-Prozedur durchzuführen. Zusätzlich zu
den zwei zuvor beschriebenen Schemata zum Erfassen von Verbindungsfehlern
kann ein verallgemeinerteres Schema zum Erfassen von Ausfällen benutzt
werden, welches auf der Empfängerseite
keine spezielle Hardware-Implementierung
erfordert.
-
Wenn die logischen Schaltungen einer
Knotenkarte einen ausgefallenen Port erfaßt haben, wird der Verkehr
der Knotenkarte zu den arbeitenden Ports "failovered" (oder umgeleitet), wobei angenommen
wird, daß alle
Knoten wenigstens zwei Ports haben und jeder Port mit einem Schaltnetzknoten
verbunden ist. Auf dem Schaltnetzknoten gibt es eine Umschaltverbindung,
um zwei Schaltnetzknoten zu verbinden. Wenn der Schaltnetzknoten
einen ausgefallenen Port erfaßt,
wird der Verkehr, der für
den ausgefallenen Port bestimmt ist, zu dem Umschalt (oder Sicherungs)-Port
umgeschaltet. Dann schaltet der andere Schaltnetzknoten den "Failover"-Verkehr zu seiner
Zielvorrichtung.
-
Mit Bezug nun auf 1 wird ein allgemeines Blockschaubild
der Topologie einer Paketschalt-Backplane (PSB) 100 mit
doppeltem Netz veranschaulicht. Die Backplane 100 wird
benutzt, um mehrere Verbindungskarten oder Module in dem auf Chassis
basierenden System zusammenzuschalten. Eine typische Topologie der
Backplane 100 ist eine Sterntopologie. Da Zuverlässigkeit
und Verfügbarkeit
die kritischen Designanforderungen für Backplane-Systeme sind, werden in einem System
mit hoher Verfügbarkeit üblicherweise
doppelte Verbindungen eingesetzt. Zum Beispiel definiert die Compact
PCI®-Paketschalt-Backplane-Spezifikation (auch
als die PICMG® 2.16-Spezifikation)
bekannt, hierin durch Bezugnahme aufgenommen, einen Standard für eine Paketschalt-Backplane
von bis zu vierundzwanzig Knotenkarten, basierend auf Ethernet-Technologie, und
wendet die Sterntopologie an.
-
Bei dieser speziellen Ausführungsform
besteht die PSB 100 aus vierzehn Knotenkarten 102,
einer ersten Schaltnetzkarte (SFB) 104 und einer zweiten
SFB 106. Jedoch kann die vorliegende Erfindung so erweitert werden,
daß sie
mit irgendeiner Anzahl von Knotenkarten oder Netzkarten arbeitet. Ähnlich dem
Betrieb aller der Knotenkarten 102 ist eine Knotenkarte 108 betriebsmäßig mit
der ersten SFB 104 verbunden, um die Übertragung von Paketen durch
diese zu kommunizieren. Um die Verfügbarkeit zu vergrößern, wird
die zweite SFB betriebsmäßig angeschlossen
an die Knotenkarte 108 für die Kommunikation von Paketen
durch diese hinzugefügt.
Jede Knotenkarte 102 hat zwei Verbindungsports, von denen
einer mit der ersten SFB 104 verbunden ist und der andere
mit der zweiten SFB 106 verbunden ist. Das Doppelnetz-PSB-System 100 wird
als eine Doppelsterntopologie bezeichnet. Der Verbindungsport ist
eine volle Duplex-Ethernet-Verbindung, normalerweise mit Geschwindigkeiten
von ungefähr
10/100/1000 Mbps. Dieser Verbindungsport kann irgendeine Geschwindigkeit
haben, solange der Rahmen das Ethernet ist.
-
Die folgende Tabelle 1 definiert
die allgemeinen Komponenten des Backplane-Systems 100 mit
hoher Verfügbarkeit
der 1.
-
Tabelle 1. Allgemeine Komponenten
der Backplane mit hoher Verfügbarkeit
Knotenkarte Besteht aus einem Untersystem, das Pakete erzeugen und
versenken kann.
-
Verbindungsport Ein physikalischer
Port, welcher der Endpunkt einer Verbindung ist, welcher mit einer Knotenkarte
und einer Schaltnetzkarte verbunden ist.
-
Verbindung Eine physikalische Verbindung
zwischen einer Knotenkarte und einer Schaltnetzkarte.
-
Netzkarte (fabric board) Ein Knoten,
der aus mehreren Verbindungsports besteht und Schaltfunktionen zwischen
Knotenkarten zur Verfügung
stellt.
-
Umleitungsverbindung Eine Verbindung,
die zwei Netzkarten verbindet und verwendet wird, um den "Failover"-Verkehr umzuleiten.
-
Mit Bezug nun auf 2 wird ein genaueres Blockschaubild des
Ethernet-Backplane-Systems 100 gemäß einer
Ausführungsform
veranschaulicht. Eine erste Knotenkarte 200 umfaßt zwei
(oder redundante) aufwärts
verbindende Ports (z.B. Ethernet); einen ersten PHY aufwärts verbindenden
Port 204 und eine zweiten PHY aufwärts verbindenden Port 206,
von denen jeder jeweilige Kommunikationsverbindungen zwischen der ersten
SFB 104 und der zweiten SFB 106 zur Verfügung stellt.
Die erste SFB 104 und die zweite SFB 106 sind somit
parallel in Bezug auf die erste Knotenkarte 200 geschaltet.
Die Knotenkarte 200 umfaßt ein Untersystem 210,
das Funktionen ausführt,
einen Controller 208 zum Verteilen des Verkehrs und zwei aufwärts verbindende Port-Schnittstellen 204, 206.
Der Controller 208 für
die Verteilung des Verkehrs führt
das Puffern und die Terminplanung durch und schickt dann den Verkehr
von dem Untersystem 210, das Funktionen ausführt, zu
einer der aufwärts
verbindenden Port-Schnittstellen 204, 206, basierend
auf dem Algorithmus für
das Bündeln
der Ports.
-
Die PHY aufwärts verbindenden Ports (204 und 206)
jeder Knotenkarte sind als ein logischer Port gruppiert, der als
ein Bündelport 207 bezeichnet
wird. Wenn ein Paket in dem Bündelport 207 empfangen
wird, unterscheidet das Backplane-System 100 nicht, welcher
physikalische aufwärts
verbindende Port (204 oder 206) das Paket empfangen
sollte. Wenn jedoch ein Paket heraus aus dem Bündelport 207 der ersten
Knotenkarte 200 übertragen
wird, bestimmt der Controller 208 für die Verteilung des Verkehrs,
an welchen physikalischen aufwärts
verbindenden Port (204 und 206) das Paket gesendet
werden wird und schickt das Paket an die sen aufwärts verbindenden Port. Die
Daten, die zum Auswählen
des ausgehenden aufwärts
verbindenden Ports (204 oder 206) in dem Bündelport 207 benutzt
werden, können
auf der MAC-Adresse für
Quelle und/oder Ziel basiert werden oder auf irgend eine andere
Kombination von Paketinformation. Zum Beispiel können sie auf einem Prüfschlüssel von
der MAC-Adresse
für Quelle
und Ziel basieren.
-
Die CPU benutzt und wartet eine Bündelungstabelle
in dem Controller 208 zum Verteilen des Verkehrs zum Feststellen,
welcher der aufwärts
verbindenden Ports (204 oder 206) für den herausgehenden
Paketverkehr verwendet werden soll. Die Bündelungstabelle speichert die
gegenwärtige
Abbildungsinformation des Bündelports
zu den physikalischen aufwärts
verbindenden Ports für
auslaufende Pakete. Das Backplane-System 100 steuert die
Verteilung des Paketverkehrs zwischen der ersten SFB 104 und
der zweiten SFB 106, indem auf die Abbildungsinformation der Bündelungstabelle
zugegriffen wird und bestimmt wird, welcher Bündelport und physikalischer
aufwärts
verbindender Port für
den Paketverkehr benutzt werden sollten. Diese Zuweisung in der
Bündelungstabelle ändert sich
dynamisch entsprechend den Operationen im normalen Modus und Failover-Operationen.
-
Das System 100 weist weiterhin
eine zweite Knotenkarte 102 auf, welche zwei aufwärts verbindende Ports
(z.B. Ethernet) umfaßt:
einen ersten aufwärts
verbindenden Port 214 und einen zweiten aufwärts verbindenden
Port 216, welche eine Kommunikationsverbindung zwischen
der ersten SFB 104 und der zweiten SFB 106 zur
Verfügung
stellen. Die erste SFB 104 und die zweite SFB 106 sind
somit parallel in bezug auf die zweite Knotenkarte 202 verbunden.
Die zweite Knotenkarte 202 umfaßt auch einen Controller 218 für die Verteilung des
Verkehrs (z.B. bei dieser Ausführungsform
eine Ethernet-Umschaltvorrichtung), welcher auswählt, welcher der ersten und
zweiten aufwärts
verbindenden Ports (214 und 216) zu einem Untersystem 220,
das Funktionen ausführt,
der zweiten Knotenkarte 202 abwärts verbunden wird. Der erste
und zweite aufwärts
verbindende Port 214, 216 sind redundante Systeme.
-
Die erste und zweite SFB (104 und 106)
stellen die Einrichtung für
die Kommunikation zwischen den Knotenkarten 102 und 202 zur
Verfügung.
Die erste SFB 104 umfaßt
bei dieser bestimmten Ausführungsform eine
Netzschaltvorrichtung 224 und mehrere PHY Portvorrichtungen 226 (z.B.
vom Ethernet-Typ). Die Schaltvorrichtung 224 umfaßt ein Umleitungs-Bitmap (auch als
ein unerreichbares Bitmap bekannt) 229, auf das für Umleitungsinformation
zugegriffen wird, um Pakete während
des Failovers umzuleiten, und eine Bündelungstabelle 231 zum
Speichern von Statusinformation von irgendeinem einer Anzahl von
Bündelports.
Die Schaltvorrichtung 224 über einen AB PHY-Port 230 an
die zweite SFB 106 angeschlossen. Die zweite SFB 106 umfaßt bei dieser
bestimmten Ausführungsform
eine Schaltnetzvorrichtung 232 und mehrere PHY-Portvorrichtungen 234 (z.B.
Ethernet-Typ). Die Schaltnetzvorrichtung 232 enthält auch
ein Umleitungs-Bitmap 236, auf das für Umleitungsinformation zugegriffen
wird, um Pakete während
des Failovers umzuleiten, und eine Bündelungstabelle 233 zum
Speichern der Statusinformation von irgendeinem einer Anzahl von
Bündelports.
Die Schaltvorrichtung 232 ist über einen AB PHY-Port 238 durch
eine AB-Verbindung 240 an die erste SFB 104 angeschlossen.
-
Bei dieser Ausführungsform verbindet das Backplane-System 100 den
ersten PHY aufwärts
verbindenden Port 204 der ersten Knotenkarte 200 mit
einem PHY-Port 242 der ersten SFB 104 über eine
erste Verbindung 209. Der zweite PHY aufwärts verbindende
Port 206 ist mit einem PHY-Port 244 der zweiten
SFB 106 über
eine zweite Verbindung 211 verbunden. Der erste PHY aufwäns verbindende
Port 214 der zweiten Knotenkarte 202 ist mit einem
PHY-Port 246 der
ersten SFB 104 über
eine dritte Verbindung 213 verbunden, während der zweite PHY aufwärts verbindende
Port 216 mit einem PHY-Port 248 der zweiten SFB 106 über eine vierte
Verbindung 215 verbunden ist.
-
Bei einer Ausführungsform werden Knotenkarten-Signale
zwischen den Knotenkarten 200 und 202 zwischen
dem Untersystem 210, das Funktionen ausführt, der
ersten Knotenkarte 200 und dem Untersystem 220,
das Funktionen ausführt,
der zweiten Knotenkarte 202 durch die erste SFB 104 über die
jeweiligen ersten aufwärts
verbindenden Ports (204 und 214) kommu niziert.
In ähnlicher
Weise, in Antwort auf einen erfaßten Verbindungsausfall der
ersten Verbindung 209 tritt Failover auf, und die Knotenkarten-Signale
werden zwischen dem Untersystem 210, das Funktionen ausführt, der
ersten Knotenkarte 200 und dem Untersystem 220, das
Funktionen ausführt,
der zweiten Knotenkarte 202 durch die zweite SFB 106 über die
jeweiligen zweiten aufwärts
verbindenden Ports (206 und 216) kommuniziert.
Wenn einmal der Ausfallfehler der ersten Verbindung 209 geheilt
worden ist, nimmt der Betrieb den normalen Modus über die
ersten aufwärts
verbindenden Ports (204 und 214) wieder auf.
-
Die Erfassung von Ausfallfehlern
kann in unterschiedlichen Ebenen implementiert werden. Zum Beispiel
spezifiziert der IEEE 802.3 einen Erfassungsmechanismus für die Ethernet
PHY auf der PHY-Ebene. Beim Fehlen von Datenverkehr schickt eine übertragende
PHY-Vorrichtung
periodisch (z.B. alle 16 ± 8
msec) einen einfachen Herzschlag (HB)-Puls, der Normalverbindungspuls
(NLP) genannt wird. Wenn die empfangende PHY-Vorrichtung die Ankunft
entweder eines Datenpaketes oder des NLP innerhalb eines vordefinierten Fensters
(z.B. 50 – 150
msec) nicht erfaßt,
wird die empfangende PHY-Vorrichtung annehmen, daß die Verbindung
ausgefallen ist.
-
Auf der Systemebene kann eine lokale
CPU auf der Knotenkarte oder an einem Schaltnetz angebracht benutzt
werden, um die Integrität
der Verbindung zu überprüfen, indem
periodisch das Herzschlagpaket zu einer CPU auf der anderen Seite
des Systems gesendet wird. Dieses Verfahren jedoch benutzt mehr
Verarbeitungsleistung und Zeit durch die CPUs für die Nachrichtenverarbeitung,
um die Verbindung abzufragen, um zu erfassen, ob der Verbindungsausfall
aufgetreten ist. Dieses Verfahren erfordert auch zusätzliche
Bandbreite, selbst wenn die Verbindung belegt ist. Das Wiederherstellen
von Verbindungen durch dieses Verfahren neigt wegen des langen Entscheidungsweges
dazu, langsamer zu sein.
-
Bei der vorliegenden Erfindung ist
die Erfassung von Verbindungsausfall auf der MAC-Ebene implementiert. Erfassung auf der
MAC-Ebene in dem Backplane-System 100 ist aus den folgenden
Gründen
bevorzugt. In der Backplane-Umgebung muß es nicht sein, daß alle implementierten
PHY-Vorrichtungen in der Lage sind, einen Mechanismus für die Erfassung
von Verbindungsausfall einzubetten, wie die Ethernet-PHY-Vorrichtung
(z.B. können
LVDS-Vorrichtungen
solche Erfassungstechniken nicht einsetzen). Somit ist es nötig, daß ein MAC-Modul die Erfassung
des Verbindungsausfalls bereitstellt. Darüberhinaus erfordert die schnelle Erfassung
von Verbindungsausfällen
in der PHY-Implementierung ungefähr
50 – 150
msec Verarbeitungszeit, wohingegen das MAC-Modul den Verbindungsausfall
viel schneller erfassen kann, abhängig von der Geschwindigkeit
des Ports. Für
einen Gigabit-Port kann die Erfassung in weniger als einer Millisekunde
erfolgen, wohingegen für
einen 100 Mbps-Port die Erfassung in Millisekunden geschieht. Weiterhin
kann die Verbindungserfassung in der PHY-Ebene einen Verbindungsausfall
aufgrund einer Fehlfunktion des MAC-Moduls nicht erfassen. Es sei jedoch
angemerkt, daß das
offenbarte Erfassungsschema in der MAC-Ebene das PHY-Erfassungsschema
für Verbindungsausfall
unterbringen kann, wenn ein solches PHY-Schema implementiert ist.
-
Für
die Diskussion einer Failover-Operation wird bei dieser bestimmten
Ausführungsform
angenommen, daß die
Backplane-Steuerlogik das Leiten eines Paketes von der ersten Knotenkarte 200 durch
den ersten PHY aufwäns
verbindenden Port 204, über
die erste Verbindung 209 in den Netzport 242 steuert,
geschaltet durch den Netzschalter 228 für die Ausgabe des Netzports 246, über die
dritte Verbindung 213, in den ersten aufwäns verbindenden
Port 214 der zweiten Knotenkarte 202 und geschaltet
durch die Schaltvorrichtung 218 in das erste Untersystem 220 der
zweiten Knotenkarte 202. Wenn somit die erste Knotenkarte 202 den Ausfall
der ersten Verbindung 209 erfaßt, leitet die Backplane-Steuerlogik
das Failover des Paketverkehrs von dem ersten PHY aufwäns verbindenden
Port 204 zu dem zweiten aufwärts verbindenden Port 206 durch
die zweite SFB 106 ein. Dies wird erreicht, indem die Bündelungstabelle
geändert
wird und der gesamte Paketverkehr des Bündelport 207, der
ursprünglich
den nun ausgefallenen ersten aufwärts verbindenden Port 204 benutzt
hat, gezwungen wird, nur den zweiten aufwärts verbindenden Port 206 zu
benutzen.
-
Anfangs wird angenommen, daß die erste
Verbindung 209, die den ersten aufwärts verbindenden Port 204 der
ersten Knotenkarte 200 (der 2)
anschließt,
ausgefallen ist. Wenn die erste SFB 104 den Ausfall der
ersten Verbindung 209 erfaßt, wird dann der gesamte Paketverkehr
von dem ersten aufwärts
verbindenden Port 204 umgeleitet, indem er an die Umleitungsverbindung 240 geschickt
wird. Dann erhält
die zweite SFB 106 die Pakete (oder Rahmen) von dem UmBündelport 238 und
schickt die Pakete über
die zweite Verbindung 213 an die erste SFB 104.
-
Im Betrieb benutzt die Knotenkarte
das Bündeln
von Ports, um den Failover durchzuführen. Wie oben angegeben sind
die aufwärts
verbindenden Ports einer Knotenkarte in einen logischen Bündelport
gruppiert. Wenn ein Paket aus dem funktionalen Untersystem 210 ankommt,
wird der Controller für
die Verteilung des Verkehrs zunächst
die MAC-Adresse des Zieles des Paketes in der lokalen MAC-Adresstabelle
suchen. Die MAC-Tabelle zeigt die Zuweisung der MAC-Adresse und
des Zielports, der einer der aufwärts verbindenden Ports oder
der logische Bündelpon
sein kann. In dem Fall, daß die
MAC einem aufwärts
verbindenden Port zugewiesen ist, entweder 204 oder 206,
wird der Verkehr immer zu diesem bestimmten Port geschickt, und
der Failover wird für
diesen bestimmten Verkehr nicht gültig. Wenn das Ziel zu dem
aufwärts
verbindenden Bündel ist,
wird der Controller 208 für die Verteilung des Verkehrs
den Bündelverteilungsalgorithmus
durchführen,
um das Paket zu einem der aufwärts
verbindenden Ports 204 oder 206 zu schicken.
-
Die Auswahl des physikalischen Ports
kann auf dem Prüfschlüssel basieren,
der erzeugt wird, indem die MAC-Adressen von Quelle und/oder Ziel überprüft werden. MAC-Tabelle
an der ersten Knotenkarte
Bündelport-Tabelle
für Bündelport
1 auf der ersten Knotenkarte
-
Die CPU der ersten Knotenkarte 200 steuert
die Lastverteilung des Paketverkehrs unter den aufwärts verbindenden
Ports (204 und 206) in dem Bündelport 207, indem
in geeigneter Weise den physikalischen Ports "EIN" in
der Bündelungstabelle
zugewiesen wird.
-
Wenn die CPU der Knotenkarte 200 über einen
Verbindungsausfall informiert wird, z.B. der Verbindung 209 des
Bündelports 207, ändert die
CPU den Status aller ersten aufwärts
verbindenden Ports (204 und 214, auch als Ports
1a in der Bündelungstabelle
bezeichnet), und zweiter aufwärts
verbindender Ports (206 und 216) für die beiden
redundanten Knotenkarten (200 und 202) in der
Bündelungstabelle.
Daher wird der gesamte Paketverkehr, der den Bün delport 207 benutzt,
nun gezwungen werden, die zweiten aufwärts verbindenden Ports (206 und 216,
in de Bündelungstabelle
auch als Ports 1b bezeichnet) zu benutzen. Der Failover ist dann
erreicht.
-
Wenn der Netzknoten 104 einen
Verbindungsausfall bei einem seiner Knoten erfaßt, wird die CPU der Netzkarte
benachrichtigt und leitet die Failover-Prozedur ein. Die Netzkarte
meldet den Ausfall weiter, um die anderen Netzkartenknoten zu informieren.
Zum Beispiel signalisiert die CPU der ersten SFB 104 der
zweiten SFB 106 der Knotenkarte, die mit der ausgefallenen
Verbindung verbunden ist (d.h. nun ein unerreichbarer Knoten). Es
gibt ein Umleitungs-Bitmap 229 in der ersten SFB 104,
das angibt, welcher Port durch den anderen Netzknoten nicht erreicht
werden kann. Wenn die Nachricht über
den Verbindungsausfall empfangen wird, aktualisiert die CPU das
Umleitungs-Bitmap 229 und schickt es zurück an ACK.
Das Umleitungs-Bitmap 229 arbeitet als eine verschickende
Domäne
für Verkehr,
der von der Umleitungsverbindung erhalten worden ist, so daß die Knotenkarten,
wenn beide Aufwärtsverbindungen
arbeiten, nicht zwei Kopien eines gesendeten Paketes erhalten werden.
-
Pakete, die von der Umleitungsverbindung
erhalten worden sind, können
nur zu dem Port geschickt werden, der mit dem Knoten verbunden ist,
wie es in dem Umleitungsknoten-Bitmap
angegeben ist. Indem das Umleitungs-Bitmap zur Verfügung gestellt
wird, kann verhindert werden, daß ein Knoten ein doppeltes
Sendepaket erhält.
Wenn das Umleitungs-Bitmap
nicht zur Verfügung
gestellt wird, wird ein Sendepaket zu allen Ports geschickt, einschließlich dem
UmBündelport.
Die zweite SFB 106 wird auch das Paket senden. Folglich werden
alle Knoten, mit der Ausnahme eines aufwärtsverbindenden Ports der Quellknotenkarte 204,
zwei Kopien von Paketen erhalten, ein Paket von jeder Netzkarte.
Indem das Umleitungs-Bitmap verwendet wird, schickt die zweite SFB 106 nur
Pakete zu den nicht erreichbaren Knoten der ersten SFB 104,
ohne daß an andere
Knoten geschickt wird, die Pakete von der ersten SFB 104 erhalten.
-
Da der Verkehr von dem Knoten mit
der ausgefallenen Verbindung zu der arbeitenden Verbindung umgeleitet
werden wird, wird die Schaltnetzkarte mit der ausgefallenen Verbindung
die MAC-Adresse der Quelle, die mit dem ausgefallenen Port verbunden
ist, nicht länger
sehen. Somit wird der MAC-Eintrag auf der Knotenkarte gegebenenfalls
ausaltern. Folglich wird das Paket mit dem Ziel nach A geflutet.
Daher wird die CPU der Schaltnetzkarte, die die Nachricht über den
Verbindungsausfall empfangen hat, den Status für alle MAC-Einträge, die
mit dem Port der ausgefallenen Verbindung zusammenhängen, auf "statisch" setzen. Die Tabelleneinträge mit dem
Status "statisch" werden nicht ausgealtert.
-
Nachdem die erste SFB 104 die
Bestätigung
(ACK) der Nachricht über
den Verbindungsausfall von der zweiten SFB 106 empfängt, beginnt
die CPU der ersten SFB 104 Pakete zu dem UmBündelport
hinüberzuschicken,
die für
den ausgefallenen Port bestimmt waren, indem der ausgefallene Port
auf den UmBündelport
umgebildet wird.
-
Auf der Sendeseite sendet ein Sende-MAC-Modul
periodisch eine MAC-Herzschlagnachricht aus, wenn gegenwärtig keine
Pakete übertragen
werden. Die Dauer der Herzschlagnachricht ist konfigurierbar. Bei der
gegenwärtigen
Implementierung ist die Einheit der Periode ein Zeitschlitz, 512
Bit Übertragungszeit,
d. h. 51.2 μsec
für 10
Mbps und 5.12μsec
für 100
Mbps. Wenn die Verbindung aktiv regelmäßigen Paketverkehr sendet,
wird das Herzschlag-Nachrichtenpaket
der Verbindung nicht übertragen
werden, was die optimale Bandbreite für die Verbindung erlaubt, wenn
die Verbindung belegt ist. Dies ist ein Vorteil gegenüber der
Erfassung von Verbindungsausfall, die von der CPU durchgeführt wird,
wie das "Spanning
Tree"-Verfahren.
-
Es sei angemerkt, daß die PHY-Vorrichtungen,
die für
die aufwärtsverbindenden
Ports und die Schaltnetzkarte verwendet werden, nicht auf Ethernet-Vorrichtungen
eingeschränkt
sind, sondern andere herkömmliche
Backplane-PHY-Vorrichtungen sein können, so wie LVDS (Low Voltage
Differential Signaling, Niederspannungs-Differentialsignalgebung).
(LVDS ist eine rauscharme Differentialtechnologie mit niedriger
Leistung für
die Hochgeschwindigkeitsübertragung).
-
Mit Bezug nun auf 3 ist ein Ablaufdiagramm des Failover-Prozesses
einer Knotenkarte gemäß einer
Ausführungsform
veranschaulicht. Wenn eine Vorrichtung einen Verbindungsausfall
erfaßt,
tritt sie sofotr in den Failover-Modus ein und leitet den Verkehr
auf der ausgefallenen Verbindung zu einer arbeitenden Verbindung
um. Der Ablauf beginnt an einem Funktionsblock 300, wo
ein Bündelport
aus redundanten PHY aufwärtsverbindenden
Ports erzeugt wird. In einem Funktionsblock 302 wird die
Prüfung
auf Verbindungsintegrität für alle Ports
eingeleitet. Der Ablauf geht zu einem Entscheidungsblock 304,
wo, wenn kein Verbindungsausfall erfaßt wird, der Ablauf auf dem "N"-Weg zurück zu dem Eingang des Funktionsblocks 302 geschieht,
um die nächste
Prüfung
auf Verbindungsintegrität
durchzuführen.
Andererseits, wenn ein Verbindungsausfall erfaßt wird, geht der Ablauf über den "Y"-Weg des Entscheidungsblockes 304 zu
einem Funktionsblock 308, um den Paketverkehr zu einem
arbeitenden Port überzuleiten.
Der Ablauf geht dann zu einem Entscheidungsblock 310, um festzustellen,
ob die Failover-Bedingung aufgelöst
worden ist. Wenn nicht, geht der Ablauf über den "N"-Weg
zum Funktionsblock 308, um das Umleiten des Paketverkehrs
fortzuführen.
Wenn es der Fall ist, geht der Ablauf über den "Y"-Weg
des Entscheidungsblockes 310 zum Funktionsblock 312,
um den normalen Modus wieder aufzunehmen. Der Ablauf geht dann zurück zum Funktionsblock 302,
um die nächste
Prüfung
auf Integrität
durchzuführen.
-
Mit Bezug nun auf 4 wird ein Ablaufdiagramm des Failover-Prozesses
einer Netzkarte gemäß einer
weiteren Ausführungsform
veranschaulicht. Der Ablauf beginnt bei einem Funktionsblock 400,
wo das Backplane-System 100 normale Funktionen in einem
normalen Modus durchführt.
In einem Funktionsblock 402 wird eine Prüfung auf
Integrität
der Verbindung durchgeführt.
In einem Entscheidungsblock 404, wenn kein Verbindungsausfall
erfaßt
wird, geht der Ablauf über
den "N"-Weg zurück zu dem
Eingang des Funktionsblocks 402, um die nächste Prüfung auf
Integrität
der Verbindung durchzufülren.
Wenn ein Verbindungsausfall erfaßt wird, geht der Ablauf über den "Y"-Weg des Entscheidungsblocks 404 zu
einem Funk tionsblock 406, um den Failover-Modus freizugeben.
Im Failover-Modus werden Daten über
den Verbindungsausfall zu anderen Netzkarten übertragen, wie es in einem
Funktionsblock 408 angegeben ist. Eine MAC-Tabelle wird
dann mit der Statusinformation des ausgefallenen Ports aktualisiert,
wie es in einem Funktionsblock 410 angegeben ist. Der Ablauf
geht dann zu einem Entscheidungsblock 412, um festzustellen,
ob ein Bestätigungs(ACK)-Signal
von den anderen Netzkarten erhalten worden ist. Wenn nicht, geht
der Ablauf über
den "N"-Weg, um das Überprüfen auf
Empfang des ACK-Signals fortzuführen.
Wenn das ACK-Signal erhalten worden ist, geht der Ablauf über den "Y"-Weg des Entscheidungsblockes 412 zu
einem Funktionsblock 414, um den ausgefallenen Port auf
einen UmBündelport
abzubilden, basierend auf Umleitungsinformation, die in dem Umleitungs-Bitmap
enthalten ist. Der Paketverkehr wird dann entsprechend umgeleitet,
bis das Failover aufgelöst
ist. In einem Entscheidungsblock 416 wird eine Überprüfung durchgeführt, um
festzustellen, ob das Failover aufgelöst worden ist. Wenn nicht,
geht der Ablauf über
den "N"-Weg zu einem Funktionsblock 418,
um das Arbeiten im Failover-Modus fortzuführen. Der Ablauf wird dann
in einer Schleife zurück
zu dem Eingang des Entscheidungsblocks 416 geführt, um
die nächste Überprüfung auf
Heilen des Failover durchzuführen.
Wenn die Wiedergewinnung der Verbindung aufgetreten ist, geht der
Ablauf auf dem "Y"-Weg des Entscheidungsblockes 416 zu einem
Funktionsblock 420, wo die Wiedergewinnungsdaten der Verbindung
zu der anderen Netzkarte geschickt werden. Die MAC-Tabelle wird
dann entsprechend aktualisiert, um die Wiedergewinnung der Verbindung
widerzuspiegeln, wie es in einem Funktionsblock 420 angegeben
ist. Das Umleitungs-Bitmap wird dann aktualisiert, um die Umleitungsinformation
zu dem redundanten Port zu entfernen, wie es in einem Funktionsblock 424 angegeben
ist. Das Backplane-System 100 nimmt dann den normalen Betriebsmodus
an, wie es in einem Funktionsblock 426 angegeben ist. Der
Ablauf wird dann in einer Schleife zurück zum Funktionsblock 400 geführt, um
damit zu beginnen, die normalen Betriebsschaltfunktionen durchzuführen.
-
Mit Bezug nun auf 5 ist ein Zustandsdiagramm des Herzschlagsignals
von der Sendeseite veranschaulicht. Der Ablauf beginnt bei einem
Funktionsblock 500, wo die MAC-Verbindungsherzschlag(LHB)-Signalgebung
freigegeben wird, und der Status wird als "bereit" bezeichnet. Wenn ein LHB-Signal empfangen worden
ist, dann wird der Status als "OK" bezeichnet, wie
es in einem Funktionsblock 502 angegeben ist. In einem
Funktionsblock 504 wird bestimmt, ob der Verbindungsstatus "anhängig" ist. Wenn ja, geht
der Ablauf über
den "Y"-Weg zu einem Funktionsblock
506, um nur CPU-Paketverkehr zu schicken. In einem Entscheidungsblock 508 wird
eine Überprüfung auf
Verbindungsausfall vorgenommen. Wenn kein Verbindungsausfall festgestellt
wird, geht der Ablauf über
den "Y"-Weg zu dem Funktionsblock
500, um damit fortzufahren, das MAC-LHB-Signal freizugeben. Andererseits,
wenn ein Verbindungsausfall erfaßt worden ist, geht der Ablauf über den "N"-Weg des Entscheidungsblockes 508 zu
einem Endanschluß.
-
Wenn eine Verbindungsstatusüberprüfung nicht
anhängig
ist, geht der Ablauf über
den "N"-Weg des Entscheidungsblockes 504 zu
einem Entscheidungsblock 510, um festzustellen, ob ein
Paket für
die Übertragung
bereit ist. Wenn ja, geht der Ablauf über den "Y"-Weg
zu einem Funktionsblock 512, um das Paket zu verschicken
und den LHB-Zeitgeber rückzusetzen.
Der Ablauf geht dann in einer Schleife zurück vom Funktionsblock 512 zum
Entscheidungsblock 504, um wiederum festzustellen, ob das
System in einem anhängigen Zustand
für eine
Aktualisierung des Verbindungsstatus ist. Wenn kein Paket für die Übertragung
bereit ist, geht der Ablauf über
den "N"-Weg des Entscheidungsblockes 510 zu
einem Entscheidungsblock 514, um festzustellen, ob der
LHB-Zeitgeber abgelaufen ist. Wenn nicht, geht der Ablauf aus dem "N"-Weg zurück zu dem Funktionsblock 504,
um den Verbindungsstatus zu überprüfen. Wenn
der LHB-Zeitgeber abgelaufen ist, geht der Ablauf aus dem "Y"-Weg des Entscheidungsblockes 514 zu
einem Funktionsblock 51, um eines oder mehrere LHB-Pakete
zu senden. Der Ablauf wird dann zurück zu dem Funktionsblock 504 geführt, um
wiederum den Verbindungsstatus zu überprüfen.
-
Das folgende ist ein Format der Verbindungs-Herzschlag(HB)-Nachricht
mit 64 Byte (Werte hexadezimal).
-
-
Wie angegeben, ist das MAC-Adressfeld
des Zieles ein Wert mit 6 Byte und beträgt 01-80-C2-00-00-01. Die Adresse der Ablaufsteuernachricht
für den
IEEE Standard 802.3x für
den Voll-Duplex-PAUSE-Betrieb wird gemeinsam genutzt. Das MAC-Adressfeld
des Ports wird als die MAC-Adresse der Quelle benutzt, die 6 Byte
beträgt.
Das Ethertyp-Feld ist 2 Byte lang und beträgt 88-08, was das MAC-Steuerformat
angibt. Der 2 Byte lange Opcode-Wert ist ein Wert, der programmierbar
sein kann (z. B. ein Wert 00-02), mit Ausnahme des Wertes "00-01 ", der als der Ablaufsteuerrahmen
im IEEE 802.3x definiert worden ist. Sowohl das sendende als auch
das empfangende Ende muß denselben
Opcode-Wert verwenden. Das 44 Byte lange Pad-Feld fügt 44 Bytes
Nullen "00" hinzu, um die minimale
Länge des
Ethernet-Rahmens
von 64 Byte zu erfüllen.
-
Das
Format der HB-Steuernachricht.
-
Mit Bezug nun auf 6 ist ein Zustandsdiagramm des Herzschlagsignals
von der Empfängerseite veranschaulicht.
Um ein MAC-Modul zu initiieren, wird Spannung angelegt, wobei zu
diesem Zeitpunkt alle Ports rückgesetzt
werden und der Status sich auf VERBINDUNG BEREIT ändert. Die
CPU gibt das Herzschlagmerkmal frei, und die MAC beginnt, das MAC
LHB-Signal zu senden. Die MAC wartet darauf, daß der Empfänger sein erstes LHB-Signal
sendet, das die äquivalente
Möglichkeit
von der entfernten Vorrichtung zeigt, und ändert dann den Status auf VERBINDUNG
OK. Der geschaltete Verkehr wird dann geschickt. Auf der Empfängerseite überwacht
ein MAC-Verbindungserfassungsmodul die ankommenden Pakete. Wenn
ein gutes Paket innerhalb einer vordefinierten Fensterzeit von dem
letzten Empfangsrahmen ankommt (wobei das Zeitfenster als LINK FAIL
bezeichnet wird), dann ist die Verbindung in dem arbeitenden Modus.
Der Wen des ZINK FAIL-Zeitfensters ist konfigurierbar und wird üblicherweise
auf ungefähr
das Zweifache der Übertragungsdauer
der LHB-Nachricht
gesetzt. Ein gutes Paket gibt an, daß ein guter Datenrahmen oder
Steuerrahmen einschließlich
einer MAC-Herzschlagnachricht kommuniziert worden ist. Es sei angemerkt,
daß das
MAC LHB-Signal an dem MAC-Modul absorbiert wird und nicht zu der
CPU oder an andere Ports verschickt werden kann. Wenn einmal die
MAC keinen Rahmen innerhalb des L1NK FAIL-Fensters erfassen wird,
wird sie in den VERBINDUNG ANHÄNGIG-Status
eintreten und eine HERZSCHLAG VERLOREN-Nachricht an die CPU schicken.
Wenn die MAC N aufeinanderfolgende schlechte Rahmen empfängt, tritt
sie auch in den VERBINDUNG ANHÄNGIG-Status
ein. In dem VERBINDUNG ANHÄNGIG-Status
beendet das MAC-Modul, geschalteten Verkehr zu übertragen. Jedoch werden das
CPU-Paket und das LHB-Paket kontinuierlich in diesem Zustand übertragen.
Die CPU kann den endgültigen
Status der Verbindung verifizieren, indem versucht wird, mit der
entfernten Vorrichtung zu kommunizieren. Wenn die Verbindung nicht
wieder aufgenommen werden kann, tritt dieser Port in den Zustand
des Verbindungsausfalls ein.
-
Der Ablauf beginnt an einem Entscheidungsblock 600,
um festzustellen, ob die LHB freigegeben worden ist. Wenn nicht,
geht der Ablauf über
den "N"-Weg an einen Endabschluß. Ansonsten
geht der Ablauf über den "Y"-Weg an einen Funktionsblock 602,
um das erste LHB-Paket
zu empfangen. Der Status der Verbindung wird dann auf "OK" gesetzt. Der Ablauf fuhrt
zu einem Funktionsblock 604, um sowohl den Zeitgeber als
auch den Fehlerzähler
rückzusetzen.
In einem Entscheidungsblock 606 stellt das System fest,
ob ein Rahmenende erhalten worden ist. Falls dies der Fall ist,
geht der Ablauf über
den "Y"-Weg zu einem Entscheidungsblock 608,
um festzustellen, ob der empfangene Rahmen ein guter Rahmen war.
Wenn ja, geht der Ablauf über
den "Y"-Weg zu dem Funktionsblock 604,
um sowohl den Zeitgeber als auch den Zähler in Vorbereitung auf das nächste Paket
(oder Rahmen) rückzusetzen.
Wenn der empfangene Rahmen nicht gut war, geht der Ablauf über den "N"-Weg des Entscheidungsblockes 608 zu
einem Funktionsblock 610, um den Fehlerzählwert zu erhöhen. Wenn
der Fehlerzählwert
nicht größer oder
gleich einem vorbestimmten Wert N ist, geht der Ablauf über den "N"-Weg zu dem Eingang des Entscheidungsblockes 606,
um festzustellen, ob das nächste
Rahmenende erhalten worden ist. Wenn der Fehlerzählwert des Fehlerzählers größer oder
gleich einem vorbestimmten Wert N ist, geht der Ablauf über den "Y"-Weg zu einem Funktionsblock 614,
um den Status auf "anhängig" zu ändern. Der
Ablauf geht dann zu einem Entscheidungsblock 616, um festzustellen,
ob die Verifikation der CPU ausgefallen ist. Falls ja, geht der
Ablauf über "Y" zu dem Endanschluß. Wenn die CPU-Verifikation
nicht ausgefallen ist, geht der Ablauf über den "N"-Weg
zu dem Funktionsblock 604, um sowohl den Zeitgeber als auch
den Fehlerzähler
rückzusetzen.
-
Wenn eine Ende des Rahmens nicht
empfangen worden ist, geht der Ablauf über den "N"-Weg des Entscheidungsblockes 606 zu
einem Entscheidungsblock 618, um festzustellen, ob der
LHB-Zeitgeber abgelaufen ist. Falls nicht, geht der Ablauf über den "N"-Weg zu dem Eingang des Entscheidungsblockes 606. Wenn
der LHB-Zeitgeber abgelaufen ist, geht der Ablauf über den "Y"-Weg des Entscheidungsblockes 618 zu einem
Entscheidungsblock 620, um zu bestimmen, ob das Empfangen
von Paketen im Prozeß ist.
Falls nicht, geht der Ablauf zu dem Funktionsblock 614,
um den Status auf "anhängig" zu ändern, und
zu dem Entscheidungsblock 616, um festzustellen, ob die
Verifikation der CPU ausgefallen ist. Wenn das Empfangen von Paketen
im Prozeß ist,
geht der Ablauf über
den "Y"-Weg des Entscheidungsblockes 620 zu
einem Entscheidungsblock 622, um festzustellen, ob ein
guter Rahmen (oder Paket) empfangen worden ist. Falls dies der Fall ist,
geht der Ablauf den "Y"-Weg hinaus zu dem
Funktionsblock 604, um sowohl den LHB-Zeitgeber als auch den
Fehlerzähler rückzusetzen.
Wenn kein gutes Paket empfangen worden ist, geht der Ablauf zu dem
Funktionsblock 614, um den Status in "anhängig" zu ändern, und
zu dem Entscheidungsblock 616, um festzustellen, ob die
Verifikation der CPU ausgefallen ist.
-
Zusätzlich zu den zuvor beschriebenen
Schemata zur Erfassung von Verbindungsausfällen basierend auf MAC-Herzschlagnachrichten,
wie oben beschrieben, wird hiernach ein weiteres Schema beschrieben,
um aktiv den Ausfall einer Verbindung zu erfassen. Dieses Schema
benutzt eine gemeinsame Einstellung, bei der, wenn ein Paket mit
identischen MAC-Adressen in Quelle und Ziel empfangen wird, das
Paket an seine empfangende Karte geworfen wird. Eine Knotenkarte
kann dieses Merkmal benutzen, um den Verbindungsausfall zu erfassen.
-
Der Prozeß, der bei diesem Schema eingesetzt
wird, wird beispielhaft wie folgt dargestellt. Der Controller für die Verteilung
des Verkehrs auf der Knotenkarte muß die Empfangsaktivitäten aller
Zugriffsports überwachen.
Ein Leerlaufzeitgeber wird jedesmal rückgesetzt und gestartet, wenn
ein gutes Ende des Paketes empfangen worden ist. Wenn der Controller
kein gutes Paket empfängt,
bevor der Leerlaufzeitgeber abgelaufen ist, wird der Controller
ein speziell formatiertes Sondierpaket zu der Schaltnetzkarte schicken,
um die Integrität
der Verbindung zu sondieren. Wenn man das Zurückwerfmerkmal benutzt, das
zuvor erwähnt
worden ist, sollte die Schaltnetzkarte das Paket zurück zu der
Knotenkarte schicken. Ein Zeitgeber wird gestartet, nachdem das
Sondierpaket geschickt ist. Wenn das Sondierpaket oder irgendein
anderes gutes Paket empfangen wird, bevor der Zeitgeber abläuft, wird
angenommen, daß die
Verbindung arbeitet, und der Leerlaufzeitgeber wird neu gestartet.
Wenn jedoch der Zeitgeber abläuft,
dann wird die Verbindung in einen Failover-Zustand eintreten. Die
Wartedauer für
das zurückgeworfene
Paket kann sehr kurz sein, da die Empfangsseite gegenwärtig ruhig
ist, was bedeutet, daß die
Ausgangsschlange auf der Schaltnetzkarte leer ist. Die Wartezeit
sollte nur aus der Übertragung
und den Schaltungslatenzen bestehen.
-
Das Einfügen des speziellen Sondierpaketes
ist nicht auf irgendeine bestimmte Schicht des Controllers für die Verteilung
des Verkehrs beschränkt.
Das Sondierpaket kann innerhalb des MAC-Moduls sein oder in dem
Verteilungsmodul auf dem MAC. Darüberhinaus kann das Sondierpaket
die verschiedenen Paketformate verwenden, basierend darauf, welches
Modul das Sondierpaket zurückwerfen
wird. Einige mögliche
Paketformate umfassen, sind jedoch nicht beschränkt auf:
- 1)
Benutze das Format des PAUSE RAHMENS (wie es in der US-Anmeldung
0/284,856, angemeldet am 31. Oktober 2002, beschrieben ist, von
der diese Anmeldung die Priorität
beansprucht und die hierdurch durch Bezugnahme aufgenommen ist).
Das MAC-Modul kann
diesen Typ des Sondierpaketes zurückwerfen.
- 2) Mache die MAC-Adresse der Quelle gleich der MAC-Adresse des
Zieles, wie es hierin oben beschrieben ist.
- 3) Benutze das allgemeine MAC-Steuerformat, wobei die MAC-Adresse
des Zieles in dem Bereich von 01-80-C2-00-00-00 bis 01-80-C2-00-00-FF
ist. Es sollte angemerkt werden, daß die MAC-Adresse des zuvor
genannten PAUSE RAHMENS 01-80-C2-00-00-01 ist, ein Spezialfall dieses Formates.
Die meisten der MAC-Steuerpakete werden an die CPU geschickt, daher
kann die CPU diese An von Paket zurückwerfen, mit Ausnahme des
PAUSE RAHMEN-Paketes, welche in dem MAC-Modul verarbeitet wird.
- 4) Sende das Sondierpaket mit einer vordefinierten MAC-Adresse
für das
Ziel aus. Auf der Empfangsseite kann das System die vordefinierte
MAC-Adresse in der MAC-Adressetabelle
setzen, damit sie dem CPU-Port zugewiesen werden kann. Somit kann
die CPU das Sondierpaket zurück
zu dem Quellport werfen. Es ist möglich, daß der Controller 208 für die Verteilung
des Verkehrs das Sondierpaket zurückwerfen kann, indem die MAC-Adressetabelle
derart gesetzt wird, daß diese
vordefinierte MAC-Adresse
für das
Ziel demselben Quellenport zugewiesen wird.
-
Die Leerlauf-Ablaufzeit ist der Hauptfaktor,
der die Leistungsfähigkeit
beeinflußt.
Um schnell tatsächliche
Verbindungsausfälle
zu erfassen, sollte die Leerlaufdauer, bevor das Sondierpaket gesendet
wird, so kurz wie möglich
sein. Durch Einstellen einer kurzen Leerlaufdauer jedoch wird dies
die Anzahl von Sondierpaketen erhöhen, die auf der Sendeseite
geschickt werden, ungeachtet des Volumens des Verkehrsstroms. Um
somit die Sendegesamtbelastung zu minimieren, sollte der Zeitgeber
so gesetzt werden, daß die
Zeitdauer so lang wie möglich
ist.
-
Die Implementierung des Schemas zum
Erfassen von Verbindungsausfällen
kann auch umgekehrt werden. Bei einer anderen Ausführungsform
kann die Schaltnetzkarte Sondierpakete schicken, und die Knotenkarten
würden
dann das Zurückwerfen
der Pakete handhaben. Bei noch einer anderen Ausführungsform kann
die Implementierung symmetrisch sein, wobei beide Seiten die Verbindung
sondieren können.
Jedoch würde
eine symmetrische Implementierung die Gesamtbelastung bei der Sendung
vergrößern, insbesondere im
Vergleich zu dem Verbindungs-Herzschlagverfahren, das oben beschrieben
ist.
-
Der Nutzen dieses Schemas ist, daß keine
zusätzliche
Hardware auf der Seite erforderlich ist, die dieses Schema nicht
benutzt. Nur eine Seite benötigt
das eingebettete Modul zum Erzeugen der Nachricht, und die andere
Seite fordert keinen spezielle Hardware, um diese Nachricht zu erfassen.
Statt dessen wirft die andere Seite nur die Nachricht an ihren Empfangsport über den
regulären
Weg zurück,
ohne daß irgendein
spezielles MAC-Modul hilft. Wenn beispielsweise die Knotenkarte
dieses Schema nutzt, ist keine Modifikation bei den Schaltnetzkarten
erforderlich.
-
Mit Bezug nun auf 7 wird ein Verfahren 700 mit einem Sondierpaketschema
betrachtet. Es sollte angemerkt werden, daß, wie es in 7 gezeigt ist, das Verfahren 700 sowohl
einen Leerlauf-Zeitgeber und einen Fehlerzähler benutzt, wie es hierin
oben diskutiert worden ist. Wie die Fachleute leicht verstehen werden, kann
das Verfahren der vorliegenden Erfin dung entweder mit dem Leerlauf-Zeitgeber
und dem Fehlerzähler getrennt
oder in Kombination benutzt werden, wie es in 7 gezeigt ist.
-
Der Prozeß beginnt im Schritt 702. Im
Schritt 704 wird bestimmt, ob das Sondierpaket freigegeben ist, das
heißt,
ob das System in geeigneter Weise ein Sondierpaket behandeln kann.
Wenn nicht, dann wird, wie im Schritt 706 gezeigt, der Prozeß verlassen.
-
Wenn im Schritt 704 festgestellt
wird, daß das
Sondierpaket freigegeben wird, dann werden, wie im Schritt 708 gezeigt,
der Leerlauf-Zeitgeber und der Fehlerzähler rückgesetzt. Als nächstes wird
im Schritt 710 bestimmt, ob das Ende eines Rahmens empfangen worden
ist. Wenn ein Ende des Rahmens empfangen worden ist, dann geht die
Verarbeitung zum Schritt 712, wo bestimmt wird, ob ein guter Rahmen
empfangen worden ist. Wenn im Schritt 712 en guter Rahmen empfangen
worden ist, dann werden der Leerlauf-Zeitgeber und der Fehlerzähler zurückgesetzt.
-
Wenn jedoch im Schritt 712 ein schlechter
Rahmen empfangen worden ist, dann geht die Verarbeitung weiter zum
Schritt 714, in dem der Fehlerzählwert
erhöht
wird. Dann wird im Schritt 716 der Fehlerzählwert mit einem Schwellenwert
(N) verglichen. Wenn im Schritt 716 der Fehlerzählwert geringer ist als der
Schwellenwert, dann kehrt die Verarbeitung zum Schritt 710 zurück. Wenn
jedoch im Schritt 716 festgestellt wird, daß der Fehlerzählwert oberhalb
des Schwellenwertes liegt, geht die Verarbeitung zum Schritt 724,
in dem ein Sondierpaket geschickt wird, und ein Sondierzeitgeber
gesetzt wird.
-
Wenn im Schritt 710 das Ende eines
Rahmens nicht erreicht worden ist, dann beginnt die Verarbeitung im
Schritt 718. Wenn im Schritt 718 festgestellt wird, daß der Leerlauf-Zeitgeber nicht abgelaufen
ist, dann kehrt die Verarbeitung zurück zum Schritt 710. Wenn im
Schritt 718 festgestellt wird, daß der Leerlauf-Zeitgeber abgelaufen
ist, dann, wie es im Schritt 720 gezeigt wird, wird festgestellt,
ob das Empfangen fortschreitet. Wenn ein guter Rahmen empfangen
wird, dann kehrt die Verarbeitung zum Schritt 708 zurück, und
der Leer lauf-Zeitgeber und der Rücksetzzähler werden
rückgesetzt.
Wenn im Schritt 720 nichts empfangen wird oder wenn im Schritt 722
festgestellt wird, daß ein
schlechtes Paket erhalten worden ist, nachdem der Leerlauf-Zeitgeber
abgelaufen ist, dann geht die Verarbeitung zum Schritt 724, wobei
ein Sondierpaket ausgelöst
und ein Sondier-Zeitgeber gestartet wird.
-
Der Schritt 724 kann erreicht werden
entweder vom Schritt 722, nachdem ein schlechter Rahmen empfangen
worden ist und der Leerlauf-Zeitgeber abgelaufen ist, vom Schritt
720, wenn der Leerlauf-Zeitgeber abläuft und kein Paket in dem Empfangsprozeß ist, oder
vom Schritt 716, in dem der Fehlerzählerwert einen vorbestimmten
Schwellenwert überschritten
hat. Nachdem das Sondierpaket geschickt worden ist und der Sondierzeitgeber
gestartet worden ist, wird im Schritt 726 festgestellt, ob eine
Antwort für
das Sondierpaket innerhalb einer vorbestimmten Zeit empfangen worden
ist. Wenn eine Antwort innerhalb der zugewiesenen Zeit erhalten
wurde, dann geht die Verarbeitung vom Schritt 726 zum Schritt 708,
in dem der Leerlauf-Zeitgeber und ein Fehlerzähler zurückgesetzt werden. Wenn jedoch
im Schritt 726 festgestellt wird, daß eine Antwort auf das Sondierpaket
nicht innerhalb der zugewiesenen Zeit empfangen worden ist, geht
die Verarbeitung zum Schritt 728. Wenn im Schritt 728 die Verifikation
der CPU nicht ausgefallen ist, dann kehrt die Verarbeitung zum Schritt
708 zurück,
in dem der Leerlaufzeitgeber und der Fehlerzähler rückgesetzt werden, ansonsten
endet die Verarbeitung, wie es durch den Block 706 angezeigt ist.
-
Obwohl die bevorzugte Ausführungsform
in Einzelheiten beschrieben worden ist, sollte verstanden werden,
daß verschiedene Änderungen,
Substitutionen und Modifikation hierin getroffen werden können, ohne daß man sich
vom Gedanken und Umfang der Erfindung entfernt, wie sie durch die
angefügten
Ansprüche
definiert ist.
-
Die in der vorstehenden Beschreibung,
in der Zeichnung sowie in den Ansprüchen offenbarten Merkmale der
Erfindung können
sowohl einzeln als auch in beliebiger Kombination für die Verwirklichung
der Erfindung wesentlich sein.