-
Gebiet der Erfindung
-
Die
Erfindung bezieht sich auf die paketvermittelte Kommunikation und
insbesondere auf Verfahren und Einrichtungen zur Feststellung von
Netzwerkausfällen
und die Bereitstellung einer schnellen, durchgehenden Ausfallsicherung.
-
Hintergrund der Erfindung
-
Die
Ausfallsicherung ist eine der am meisten gewünschten Funktionen in einem
modernen Kommunikationsnetzwerk. Die Ausfallsicherungsfunktion stellt
automatisch einen Ausfall einer Kommunikationsverknüpfung oder
eines Kommunikations-netzwerkknotens fest, der in einem Kommunikationsnetzwerk
auftritt, und schaltet den beeinträchtigten Verkehr auf alternative
Wege um, die von der ausgefallenen Kommunikationsverknüpfung oder
dem ausgefallenen Kommunikationsnetz-werkknoten entfernt sind. Der
Prozess des Umschaltens des beeinträchtigten Verkehrs von einem
Weg auf den anderen muss schnell genug erfolgen, damit Flüsse mit
hoher Priorität,
hoher Bandbreite oder Echtzeitflüsse
vor dem Auftreten von Unterbrechungen geschützt werden.
-
Vorhandene
Systeme, die eine Ausfallsicherung bereitstellen, beruhen entweder
auf dem Layer-2 Spanning Tree Protocol, das im IEEE 802.1d-Protokoll
beschrieben ist, welches durch Bezugnahme hierin aufgenommen ist,
und/oder Layer-3-Routing-Steuerprotokollen, wie beispielsweise – ohne auf
diese beschränkt zu
sein: das Border Gateway Protocol (BGP), das Interior Gateway Routing
Protocol (IGRP) von Cisco, Open Shortest Path First (OSPF), welche
alle durch Bezugnahme hierin aufgenommen sind. Bei Verwendung des Layer-2-Systems modifiziert
das Spanning Tree Protocol immer dann dynamisch eine azyklische
Menge von Kanten, die das Netzwerk aufspannt, wenn eine Kommunikationsverknüpfung und/oder
ein Kommunikationsnetzwerkknoten ausfällt. Bei Layer-3 berechnen
Routing-Steuerprotokolle immer dann alternative Leitwege, wenn sich
die Topologie des Kommunikationsnetzwerks verändert, einschließlich durch
Ausfälle
von Kommunikationsverknüpfungen
oder Kommunikationsnetzwerkknoten.
-
Jedoch
bietet keines der obigen zwei Systeme eine Ausfallsicherung, die
ausreichend schnell ist, damit Dienstunterbrechungen für Dienste
mit hoher Priorität,
hoher Bandbreite oder Echtzeitdienste verhindert werden. Die übliche Konvergenzzeit
des Spanning Tree Protocol, die benötigte Zeit zur Berechnung eines
neuen aufspannenden Baums, beträgt
etwa 45 Sekunden. Kürzlich
ist ein schnelles Spanning Tree Protocol IEEE 802. 1w, welches durch
Bezugnahme hierin aufgenommen ist, zur Reduzierung der erwarteten
Konvergenzzeit auf 5 Sekunden für
einen sehr kleinen aufspannenden Baum/Kommunikationsnetzwerk vorgeschlagen
worden. Dementsprechend liegt die Konvergenzzeit für einen
großen
aufspannenden Baum/Kommunikationsnetzwerk noch im Bereich der Zehnersekunden,
gemessen bei 5 zusätzlichen
Sekunden für
jeden weiteren Sprung. Die Neuberechnungen der Leitwege bei Layer-3
sind ebenso langsam.
-
Die
verwandte Technik beinhaltet eine parallel anhängige, gemeinschaftlich abgetretene
US-Patentanmeldung mit der Nummer 10/284,856 mit dem Titel „High Availability
Ethernet Backplane Architecture",
die am 31. Oktober 2002 von Wang et al. eingereicht wurde, und eine
parallel anhängige
und gemeinschaftlich abgetretene US-Patentanmeldung mit der Nummer
10/326,352 mit dem Titel „Apparatus
for Link Failure Detection on High Availability Ethernet Backplane", die am 20. Dezember
2002 von Wang et al. eingereicht wurde, welche eine Teilfortsetzungsanmeldung
der US-Patentanmeldung mit der Nummer 10/284,856 ist; beide sind durch
Bezugnahme hierin aufgenommen. Diese verwandten parallel anhängigen und
gemeinschaftlich abgetretenen US-Patentanmeldungen beschreiben die
Kommunikationsnetz-werkknoten-basierte Ausfallsicherungsfunktionalität, bei welcher
redundante Knoten-Platinen und redundante Switch-Fabric-Platinen
[switch fabric boards] routinemäßig Integritätsüberprüfungen für angeschlossene
Kommunikationsverknüpfungen
derart ausführen,
dass jede selbständig
die Ausfallsicherung für
Betriebsports auslösen
kann, wenn ein Verknüpfungsausfall
festgestellt wird.
-
Während die
verwandte Technik die wünschenswerte
erfinderische und effektive Kommunikationsnetzwerkknoten-basierte
Sprung-für-Sprung-Ausfallsicherungsfunktionalität beschreibt,
besteht eine Notwendigkeit für
die Breitstellung einer schnellen, durchgehenden Ausfallsicherungsfunktionalität.
-
Zusammenfassende Darstellung
der Erfindung
-
Ein
Ziel der vorliegenden Erfindung besteht darin, die oben genannten
Probleme zur Ausfallsicherung zu behandeln.
-
In Übereinstimmung
mit einem Aspekt der Erfindung werden Verfahren und Einrichtungen
zur Verbesserung der Ausfallsicherungsleistung eines Kommunikationsnetzwerks
bereitgestellt.
-
In Übereinstimmung
mit einem weiteren Aspekt der Erfindung wird ein Kommunikationsnetzwerkknoten
zur Ausführung
entweder der Paketvermittlung oder des Paket-Routing bei der Verarbeitung
von Paketen, die wenigstens einer Kommunikationssitzung zugeordnet
sind, die über
ein Kommunikationsnetzwerk beschaltet wird, bereitgestellt. Zur
Unterstützung
der Ausfallsicherungsfunktionalität umfasst der Netzwerkknoten:
einen Hardware-Klassifizierer für
die Zuordnung von entweder wenigstens einem empfangenen Datenpaket oder
wenigstens einem Heartbeat-Paket zu einem Verkehrsfluss entsprechend
der Kommunikationssitzung; einen Hardware-Heartbeat-Prozessor zur
Feststellung, dass der Verkehrsfluss durch einen Netzwerkausfall beeinträchtigt ist,
basierend auf den Informationen, die aus dem wenigstens einen Heartbeat-Paket
abgeleitet werden; und ein Hardware-Ausfallsicherungsmodul für das Umschalten
jedes Datenpakets, das dem beeinträchtigten Fluss zugeordnet ist,
auf einen Ausfallsicherungstransportweg.
-
In Übereinstimmung
mit noch einem weiteren Aspekt der Erfindung wird ein Verfahren
zur Bereitstellung eines durchgehenden Ausfallsicherungsschutzes
für eine überwachte
Sitzung bereitgestellt, die über
ein Kommunikationsnetzwerk über
einen Transportweg beschaltet wird. Das Verfahren beinhaltet: Erzeugen
eines Heartbeat-Anforderungspakets basierend auf den Informationen,
die in den Paketkopfteilen der Pakete enthalten sind, die bezüglich der überwachten
Sitzung befördert
werden; Senden des Heartbeat-Anforderungspakets, das an eine Zielnetzwerkadresse
adressiert ist, die in den Kopfteilen der Pakete spezifiziert ist,
die bezüglich
der überwachten
Sitzung befördert
werden; selektives Feststellen, dass die überwachte Sitzung durch einen
Netzwerkausfall beeinträchtigt
ist, der entlang dem Transportweg durch das Kommunikationsnetzwerk aufgetreten
ist; und Umschalten der Datenpakete, die der beeinträchtigten, überwachten
Sitzung zugeordnet sind, auf einen entsprechenden Ausfallsicherungstransportweg.
-
Vorteile,
die sich aus der schnellen, durchgehend erfolgenden Ausfallsicherung
ergeben, welche die fortgesetzte Bereitstellung der beschalteten
Kommunikationsdienste ermöglicht,
sind die Verbesserung der Ausfallsicherheit und/oder Verfügbarkeit
eines Kommunikationsnetzwerks.
-
Kurzbeschreibung der Zeichnungen
-
Die
Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten
Beschreibung der beispielhaften Ausführungsbeispiele unter Bezugnahme
auf die angefügten
Zeichnungen klarer ersichtlich, bei welchen:
-
1 eine
schematische Darstellung ist, die in Übereinstimmung mit einer beispielhaften
Implementierung eines beispielhaften Ausführungsbeispiels der Erfindung
die Dienste zeigt, die über
einen Weg beschaltet werden, der ein Kommunikationsnetzwerk durchläuft, und
einen Austausch von Heartbeat-Paketen unter normalen Bedingungen;
-
2 eine
schematische Darstellung ist, die in Übereinstimmung mit einer weiteren
beispielhaften Implementierung des beispielhaften Ausführungsbeispiels
der Erfindung eine geschützte
Sitzung zeigt, bei welcher ein Netzwerkausfall auftritt, wobei der
Content-Transport bezüglich
der geschützten
Sitzung auf einen Ausfallsicherungstransportweg umgeschaltet wird;
-
3 eine
schematische Darstellung ist, die in Übereinstimmung mit dem beispielhaften
Ausführungsbeispiel
der Erfindung Elemente des Vermittlungs-/Router-Netzwerkknotens zeigt, die einen
beispielhaften Ausfallsicherungsmechanismus implementieren;
-
4 eine
schematische Darstellung ist, die in Übereinstimmung mit dem beispielhaften
Ausführungsbeispiel
der Erfindung eine beispielhafte Architektur eines Paket-Klassifizierers
zeigt;
-
5 ein
Flussdiagramm ist, das in Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung die beispielhaften Verfahrensschritte eines vorgelagerten
Kommunikationsnetzwerkknotens zeigt, der die Überwachung der geschützten Sitzung
ausführt;
-
6 ein
Flussdiagramm ist, das in Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung die beispielhaften Verfahrensschritte eines nachgelagerten
Kommunikationsnetzwerkknotens zeigt, der auf Heartbeat-Anforderungen
antwortet; und
-
7 ein
Flussdiagramm ist, das in Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung die beispielhaften Verfahrensschritte eines vorgelagerten
Kommunikationsnetzwerkknotens zeigt, der die Heartbeat-Antwortmitteilungen
verarbeitet, die in einem Heartbeat-Paket eingekapselt sind.
-
Es
sei angemerkt, dass in den angefügten
Zeichnungen gleiche Merkmale ähnliche
Bezeichnungen tragen.
-
Detaillierte Beschreibung
der Ausführungsbeispiele
-
In Übereinstimmung
mit einem beispielhaften Ausführungsbeispiel
der Erfindung wird ein Hardware-basiertes Ausfallsicherungssystem
bereitgestellt, das eine schnelle, durchgehende Wiederherstellung ermöglicht.
-
Die
Architektur eines beispielhaften Kommunikationsnetzwerkknotens,
der Unterstützung
für die schnelle,
durchgehende Ausfallsicherungsfunktionalität leistet, wird beschrieben
in der parallel anhängigen und
gemeinschaftlich abgetretenen US-Patentanmeldung mit der Seriennummer
10/881,226 mit dem Titel „Combined
Pipelined Classification und Address Search Method and Apparatus
for Switching Environments", die
am 30. Juni 2004 von Yik et al. eingereicht wurde, welche durch
Bezugnahme hierin aufgenommen ist.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung wird eine Architektur eines durchgehenden Ausfallsicherungsmechanismus
eines Paketvermittlungsknotens bereitgestellt. Die schnelle Ausfallsicherung
ist eine wichtige Funktion, welche versucht, die fortgesetzte Bereitstellung
entscheidender, durchgehender Dienste ohne Unterbrechung wegen örtlich beschränkter Ausfälle in einem
Kommunikationsnetzwerk zu garantieren.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung führt
die Hardware-Logik, die konformen Kommunikationsnetzwerkknoten zugeordnet
ist, Operationen an Heartbeat-Paketen aus, um Kommunikationsnetzwerkausfälle festzustellen
und eine schnelle, durchgehende Ausfallsicherung durchzuführen. Die
konformen Kommunikationsnetzwerkknoten erzeugen und senden periodisch
Heartbeat-Pakete vom einen Ende des Kommunikationsnetzwerks zu einem
anderen und zurück,
um den Betriebsstatus der Infrastruktur der Kommunikationsnetzwerkknoten
zu überprüfen, die
von den Paketen genutzt wird, die bezüglich der geschützten Sitzungen übermittelt
werden, wenn die Pakete auf einem Transportweg durch das Kommunikationsnetzwerk
befördert
werden. Wenn auf dem überprüften Weg
irgendwo ein Netzwerkausfall festgestellt wird, dann schaltet die
Hardware-Logik ohne die Intervention eines Management-Prozessors
automatisch den Verkehr, der bezüglich
einer geschützten,
ununterbrochenen Sitzung befördert
wird, auf einen vorher festgelegten Ausfallsicherungs-Standby-Weg
um. Daher wird ein durchgehender Schutz gegen Netzwerkausfälle bereitgestellt,
welcher auf eine ausgefallene Infrastruktur eines Kommunikationsnetzwerks
entlang dem Weg durch ein Kommunikationsnetzwerk zwischen einer
Quelle und einem Ziel reagiert.
-
Die Überwachung
einer geschützten
Sitzung über
Heartbeat-Pakete geht davon aus, dass die Heartbeat-Pakete und die
Datenpakete, die demselben Sitzungs-Content-Fluss zugeordnet sind,
einen identischen Transportweg durch das Kommunikationsnetzwerk
von der Quelle zum Ziel durchlaufen. Diese Annahme ist möglicherweise
im Hinblick auf Internet-Protokoll (IP)-Kommunikationsnetzwerke nicht immer
gültig,
welche üblicherweise
mit größter Anstrengung
ausgeführte
[best-effort] und nicht-deterministische Pakettransportverfahren
einsetzen. Zum Beispiel: Es kann eine Lastverteilung genutzt werden,
bei welcher ein Router verschiedene Leitwege für Pakete mit derselben Ziel-IP-Adresse
auswählen
kann. Jedoch in den meisten Kommunikationsnetzwerken ist die Annahme
gültig,
insbesondere in einer gut gesteuerten Umgebung, wie beispielsweise ein
3G-IP- Kommunikationsnetzwerk oder ein privates Netzwerk.
-
1 stellt
eine beispielhafte High-Level-Architektur eines beispielhaften Systems 100 dar.
Ein Transportweg 102 befördert die Pakete 104 für wenigstens
eine geschützte
Sitzung durch das Kommunikationsnetzwerk 106. Die Pakete 104,
die Kommunikationssitzungsidentifizierer tragen, werden von Host 108-A erzeugt und
an Host 108-B gesendet und durchlaufen das Kommunikationsnetzwerk 106 vom
Switch/Router 110-1 (SR) zum SR 110-2. Die Pakete 104,
die über
den Transportweg 102 transportiert werden, verlassen das
Kommunikationsnetzwerk 106 bei SR 110-2 und werden über einen
Verteilungsabschnitt 114 des Kommunikationsnetzwerks 106 an
den Host-Knoten 108-B gesendet. Ein entsprechender Ausfallsicherungs-Standby-Weg 112 wird
a priori bereitgestellt; er folgt einem anderen Leitweg im Kommunikationsnetzwerk 106,
zwischen SR 110-1 und SR 110-3. Der Host 108-B hat
außerdem
eine Abwärtsstrecke
(114), die mit SR 110-3 verbunden ist.
-
Während des
normalen Betriebs überwacht
SR 110-1 den Status der geschützten Sitzungen, die den Transportweg 102 verwenden,
indem er periodisch ein Heartbeat-Paket 116 an Host 108-B sendet.
Beim Empfang eines jeden Heartbeat-Pakets 116 antwortet
der SR 110-2, indem er ein Heartbeat-Paket 118 zurücksendet,
das sich in die entgegengesetzte Richtung bewegt und für SR 110-1 bestimmt
ist. In Übereinstimmung
mit einer weiteren Implementierung der Erfindung können die
Heartbeat-Pakete 116 über
den Verteilungsabschnitt 114 des Kommunikationsnetzwerks 106 zu
einer kundeneigenen Einrichtung (veranschaulicht durch Host-Knoten 108-B)
befördert
werden, wie beispielsweise der Router eines Kunden, welcher das
beispielhafte Ausführungsbeispiel
der Erfindung implementiert. In Übereinstimmung
mit einer derartigen Implementierung wird der durchgehende Ausfallsicherungsschutz
auch hinsichtlich der Ausfälle
bereitgestellt, die auf dem Verteilungsabschnitt 114 des
Kommunikationsnetzwerks 106 auftreten.
-
Es
wird auf 2 Bezug genommen; wenn der SR 110-1 innerhalb
eines vorher festgelegten Zeitraums kein Heartbeat-Antwortpaket 118 empfängt, dann
wird bezüglich
der geschützten
Sitzung ein Ausfallzustand 120 festgestellt, der irgendwo
entlang dem Transportweg 102 aufgetreten ist. Der SR 110-1 schaltet den
gesamten Paketverkehr, der bezüglich
der geschützten
Sitzung befördert
wird, vom Transportweg 102 auf den Ausfallsicherungsreserveweg 112 um.
In Übereinstimmung
mit einer beispielhaften Implementierung des beispielhaften Ausführungsbeispiels
der Erfindung ist der Ausfallsicherungsreserveweg 112 normalerweise deaktiviert,
damit verteilte Ressourcen im Kommunikationsnetzwerk 106 eingespart
werden, in welchem Fall vor dem Umschalten des Content-Verkehrs auf den
Ausfallsicherungs-Standby-Weg 112 der Ausfallsicherungs-Standby-Weg 112 aktiviert
wird.
-
In
dem Obigen wurde auf eine Zuordnung zwischen den Content-Paketen 104 und
dem geschützten Transportweg 102 hingewiesen.
In der Praxis ist der Paketverkehr 104 mit Identifizierern
für die
Kommunikationssitzung/den Paketfluss gekennzeichnet, wobei der geschützte Transportweg 102 einer
Kommunikationssitzung und/oder einem Paketfluss zugeordnet ist.
Die Zuordnung eines Pakets zu einer bestimmten Kommunikationssitzung/einem
bestimmten Paketfluss wird durch eine Paketklassifizierer-Komponente
des SR 110-1 bestimmt. Üblicherweise
verwendet der Paketklassifizierer bei der Festlegung der Zuordnung
jedes Pakets 104 zu einer Kommunikationssitzung/einem Paketfluss
Regeln, die auf wenigstens einen Feldwert des Paketkopfteils angewendet
werden, der im Kopfteil jedes Pakets 104 mitbefördert wird.
Daher können
die klassifizierten Pakete 104 für die zugeordnete Sitzung/Paketfluss
entweder auf den geschützten
Betriebstransportweg 102 oder den Ausfallsicherungsreserveweg 112 gelenkt
werden, was vom Betriebszustand der Infrastruktur des Kommunikationsnetzwerks,
durch welches der Transportweg 102 verläuft, abhängig ist.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung wird das Umschalten des Paketverkehrs auf den Ausfallsicherungsreserveweg 112 in
Hardware ausgeführt,
indem entweder die Ziel-Media-Access-Control(MAC)-Adresse [ADDR]
oder sowohl die Ziel-IP-ADDR als auch die Ziel-MAC-ADDR in den Kopfteilen
der Pakete verändert
werden, die den geschützten
Sitzungen zugeordnet sind, bei welchen einen Netzwerkausfall aufgetreten
ist.
-
Eine
beispielhafte Architektur 200 eines Ausfallsicherungsmechanismus
wird in 3 dargestellt. Sie zeigt drei
von den Einrichtungen des Kommunikationsnetzwerks eingesetzte primäre Module,
die das beispielhafte Ausführungsbeispiel
der Erfindung implementieren. Jedes Modul wird nachstehend ausführlicher
beschrieben.
-
Ein
Klassifizierer 202 wird eingesetzt:
- – um die
Heartbeat-Pakete (sowohl Anforderungen 116 als auch Antworten 118)
zu identifizieren;
- – um
die Heartbeat-Pakete 116/118 an einen Heartbeat-Prozessor 204 weiterzuleiten;
und
- – um
die Datenpakete 104 zu identifizieren, die zu geschützten Sitzungen/Flüssen gehören.
-
Der
Heartbeat-Prozessor 204 wird eingesetzt:
- – um die
ausgehenden Heartbeat-Anforderungspakete 116 periodisch
zu erzeugen;
- – um
die eingehenden Heartbeat-Anwortpakete 118, die vom Klassifizierer 202 identifiziert
wurden, zu verarbeiten;
- – um
die Existenz eines Netzwerkausfalls aus den Heartbeat-Paketen 116/118 festzustellen;
und
- – um
bei Feststellung der Existenz eines Netzwerkausfalls bezüglich einer
geschützten
Sitzung/eines Flusses ein Ausfallsicherungsmodul 206 über diese
Feststellung zu informieren.
-
Ein
Ausfallsicherungsmodul 206 wird eingesetzt, um Pakete,
die zu einer bestimmten Sitzung/einem Fluss gehören, von einem Betriebstransportweg 102 auf
einen Reservetransportweg 112 umzuschalten, indem die Netzwerkadressen
in den Kopfteilen der Pakete, die der geschützten Sitzung/dem Fluss zugeordnet
sind, ersetzt werden.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung kategorisiert der Klassifizierer 202 die
empfangenen Pakete 104/116/118 in Flüsse, indem
die Feldwerte in den Paketkopfteilen entsprechend einem Satz von
Hardware-instantiierten Klassifizierungsregeln angepasst werden.
Mehrere Sitzungen einer Verkehrsgruppe können als zu einem einzelnen
Fluss gehörig
kategorisiert werden, und Pakete, die mehreren Sitzungen und Flüssen zugeordnet
sind, können
auf einem bestimmten Transportweg 102 befördert werden.
Eine beispielhafte Implementierung des Klassifizierers 202 wird
in der oben genannten prioritären US-Patenanmeldung
10/881,226 dargelegt. Weitere beispielhafte Implementierungen sind:
die Verwendung des Ternary Content Addressable Memory (TCAM), die
Verwendung einer Mikroablaufsteuerung oder die Verwendung einer
Hardware-Zustandsmaschine. Wenn ein empfangenes Paket 104/116/118 einer
Klassifizierungsregel 208 entspricht, wird das Paket 104/116/118 einer
Sitzung/einem Fluss zugeordnet und ihm wird eine entsprechende Sitzungs-/Fluss-ID 210 zugewiesen.
Ein Fluss ist eine Sammlung von Paketen, welche alle derselben Klassifizierungsregel 208 entsprechen, worunter
zu verstehen ist, dass die Pakete zu einer Sitzungs- oder Verkehrsgruppe
gehören.
Die Fluss-ID 210 wird dann verwendet, um auf einen entsprechenden Eintrag 212 in
einer Flussaktionstabelle 214 zu verweisen – Eintrag 212,
welcher die Aktionen spezifiziert, die an allen Paketen auszuführen sind,
die zum entsprechenden Fluss gehören.
Obwohl Heartbeat-Pakete bezüglich
der Kommunikationssitzungen erzeugt werden, kann, weil ein Fluss
eine einzelne Sitzung bilden kann, die Paketverarbeitung an einem
Switch/Router 110, wie hierin beschrieben, einfach gemäß den Flussaktionen
verstanden werden, und in allen derartigen Beziehungen werden die
Begriffe „Sitzung" und „Fluss" als austauschbare
Begriffe verwendet, unter der Voraussetzung, dass ein Fluss kraft
der zugehörigen
Sitzung geschützt
ist, die über
Heartbeat-Pakete geschützt
ist. Für
eine detaillierte Beschreibung der Flussaktionen sei auf die oben genannte
prioritäre
US-Patenanmeldung 10/881,226 verwiesen; die relevanten Flussaktionen
hierin betreffen die Verarbeitung von Heartbeat-Paketen 116/118 und
die Aktionen, die die Ausfallsicherung bewirken.
-
In Übereinstimmung
mit einer beispielhaften durchgehenden Ausfallsicherungsimplementierung
ist der Quellnetzwerkknoten SR 110-1 so konfiguriert, dass
er in Übereinstimmung
mit zwei Klassifizierungsregeln 208 für jede geschützte Sitzung
arbeitet. Die erste Regel identifiziert die Heartbeat-Pakete 116/118 für jede geschützte Sitzung.
Die zweite Regel 208 identifiziert die entsprechenden Datenpakete 104 für jede geschützte Sitzung.
-
Das
Definieren der Klassifizierungsregeln
208, die die Heartbeat-Pakete
116/
118 und
die Datenpakete
104 identifizieren, ist sehr flexibel.
Eine genaue Anpassung kann bei mehreren Paketkopfteilfeldern mit
Platzhaltern für
erhöhte
Flexibilität
vorgenommen werden. Beispielsweise können die Klassifizierungsregeln
208 so konfiguriert
werden, dass sie bei Kombinationen der folgenden Felder übereinstimmen:
-
In Übereinstimmung
mit einer beispielhaften Implementierung hat jede Klassifizierungsregel 208 auch eine
zugeordnete 3-Bit-Wertigkeit. Wenn die Klassifizierung von Paket 104/116/118 mehrere Übereinstimmungen
entsprechend mehreren Regeln ergibt, wählt der Klassifizierer 202 eine
Regel 208 basierend auf den Regelwertigkeiten aus.
-
Im
Betrieb vergleicht der Klassifizierer 202 die spezifischen
mehreren Felder des Paketkopfteils mit den Werten in jeder der Klassifizierungsregeln 208 (unter
Berücksichtigung
jeglicher Platzhalter), die Regelwertigkeiten werden verwendet,
um zwischen mehreren Übereinstimmungen
auszuwählen,
und schließlich gibt
er eine einzige Regel 208 aus, die „am besten" mit dem Paketkopfteil übereinstimmt.
Wenn mehrere Regeln angepasst werden, wird die Regel mit der höchsten Wertigkeit
als die angepasste Regel ausgewählt.
Es ist möglich,
dass Regeln die gleiche Wertigkeit haben.
-
Es
wird auf 4 Bezug genommen; die Regeln 208 sind
als Einträge
in einer Klassifizierungsregeltabelle 216 spezifiziert,
jeder Eintrag einer Klassifizierungsregeltabelle hat einen Identifizierer,
der einer Fluss-ID 210 zugeordnet ist. Wenn mehrere Regeln 208,
die dieselbe Wertigkeit haben, angepasst werden, dann wird in Abhängigkeit
von der bestimmten Implementierung die Regel 208 mit entweder
dem höchsten oder
dem niedrigsten Regeleintragsidentifizierer ausgewählt.
-
In Übereinstimmung
mit einer beispielhaften Implementierung des beispielhaften Ausführungsbeispiels
der Erfindung wird der Identifizierer des Eintrags der angepassten
Klassifizierungsregeltabelle als die Fluss-ID 210 verwendet.
-
Nachdem
einem empfangenen Paket eine Fluss-ID 210 zugewiesen wurde,
verwendet der Klassifizierer 202 die Fluss-ID 210 als
einen Index bei der Ausführung
eines Nachschlagens in der Flussaktionstabelle 214. Jeder
Flussaktionstabelleneintrag 212 in der Flussaktionstabelle 214 spezifiziert
eine Liste von Aktionen, die an den Paketen auszuführen sind,
die zu dem entsprechenden Fluss gehören. Beispielsweise identifiziert in
jedem Eintrag 212 ein Aktionscode eine primäre Aktion,
die auszuführen
ist, und die zugeordneten Parameter können ebenfalls spezifiziert
werden. Jeder Eintrag 212 in der Flussaktionstabelle 214 spezifiziert
die folgenden beispielhaften Informationen:
- – einen
Aktionscode: Eine Codierung der Flussaktion, die bezüglich des/an
dem Paket auszuführen
ist;
- – eine
Zielport-Map/Heartbeat-Feld/Weiterleitungsindex: Dieses Eintragsfeld
der Flussaktionstabelle hat in Abhängigkeit vom Aktionscode mehrere
Bedeutungen;
- – Ersetzen
VLAN-ID: Freigabe des Ersetzens der VLAN-ID;
- – VLAN-ID:
der Substitutionswert für
das Ersetzen der VLAN-ID;
- – Ersetzen
XP/DP: Freigabe des Ersetzens der Sendepriorität und des Absetzungsvorrangs;
- – XP:
Substitutionswert für
das Ersetzen der Übertragungspriorität;
- – DP:
Substitutionswert für
das Ersetzen des Absetzungsvorrangs;
- – Schnüffeln: Kopieren
dieses Pakets in einen Spiegelport;
- – Port-ID:
die Spezifikation des Spiegelports;
- – Umdefinieren
[remap] TOS: Freigabe des Ersetzens des TOS/DSCP-Feldes im IP-Kopfteil
- – TOS/DSCP:
Substitutionswert für
das Ersetzen des TOS/DSCP-Feldes;
- – Umdefinieren
802.1p: Ersetzen des Feldes 802.1p (VLAN-Priorität) im Paketkopfteil;
- – 802.1p:
Substitutionswert für
das Ersetzen des Feldes 802.1p;
- – Ratenmessung:
Freigabe der Ratenmessung für
diesen Fluss;
- – Zählen: Freigabe
der Statistiksammlung für
diesen Fluss; und
- – Messungs-/Zählungsindex:
Indexwert für
die Messung/Zählung
für den
Fluss.
-
Die
vorliegende Beschreibung wird nur auf ausfallsicherungsbezogene
Aktionen fokussieren, für
Details hinsichtlich anderer unterstützter Flussaktionen sei auf
die oben genannte, parallel anhängige,
gemeinschaftlich abgetretene, prioritäre US-Patentanmeldung 10/881,226 verwiesen.
Ein Flussaktionsmodul bestimmt eine umfassende Menge von Aktionen,
von welchen die meisten nicht auf die Ausfallsicherungsfunktionalität bezogen
sind, welche an einem Paket auszuführen sind, das einem bestimmten
Fluss zugeordnet worden ist. Wenn eine der Aktionen ausfallsicherungsbezogen
ist, werden die notwendigen Aktionen durch das Ausfallsicherungsmodul 206 ausgeführt.
-
Insbesondere
zwei Felder – Aktionscode
und Zielport-Map/Heartbeat-Feld/Weiterleitungsindex – sind auf
die Ausfallsicherungsfunktionalität bezogen. Die folgende Tabelle
beschreibt die relevanten beispielhaften Aktionscodes und die damit
zusammenhängenden
Parameter:
-
Wie
oben beispielhaft gezeigt wird, werden drei Flags/Bits verwendet,
um die Ausfallsicherungsfunktionalität zu aktivieren oder zu deaktivieren:
- – FLOVE-E:
Freigabe-Flag/Bit für
die Ausfallsicherungsfunktionalität, wenn auf Logik hoch „1" eingestellt, ist
der Ausfallsicherungsmechanismus für den entsprechenden Fluss
aktiviert, was bedeutet, dass der Verkehr 104 auf einen
spezifizierten Ausfallsicherungsweg 112 übertragen
wird, wenn ein Netzwerkausfall bezüglich der überwachten Sitzung festgestellt
worden ist.
- – FLOVE-H:
Freigabe-Flag/Bit für
die Hardware, wird üblicherweise
von der Hardware-Logik 200 auf Logik niedrig „0" initialisiert. Wenn
der Heartbeat-Prozessor 204 feststellt,
dass ein Netzwerkausfall eine geschützte Sitzung beeinträchtigt,
stellt der Prozessor 204 dieses Bit auf Logik hoch „1" ein. Wenn FLOVE-E ebenfalls
auf 1 eingestellt ist (d.h. die automatische Ausfallsicherungsfunktionalität ist aktiviert),
dann wird die automatische Ausfallsicherung für einen entsprechenden Ausfallsicherungstransportweg 112 erfolgen.
- – FLOVE-S:
Freigabe-Flag/Bit für
die Software, wird von der Steuerung des High-Level-Switch/Routers 110 eingestellt
und sorgt für
das Umschalten des Content-Verkehrs 104 auf
den Ausfallsicherungstransportweg 112, wenn sowohl FLOVE-S
als auch FLOVE-E eingestellt sind, wobei die Bestätigung des
Netzwerkausfalls durch die Hardware-Logik 200 umgangen
wird.
-
In
der Zusammenfassung: in Übereinstimmung
mit der beispielhaften Implementierung des beispielhaften Ausführungsbeispiels
der Erfindung führt
die Hardware-Logik 200 das Umdefinieren der MAC- und/oder IP-Adresse
für eine
bestimmte geschützte
Sitzung in Hardware aus, wenn, und nur wenn für den Fluss entsprechend der
Sitzung (FLOVE-E=1) UND (FLOVE-H=1 ODER FLOVE-S=1) logisch richtig
ist. Wenn die Anforderung (logischer Ausdruck) nicht erfüllt ist,
dann wird jedes Paket 104, das Bestandteil der geschützten Sitzung
ist, über
den Transportweg 102 weitergeleitet.
-
Wenn
in Übereinstimmung
mit einer beispielhaften Implementierung des beispielhaften Ausführungsbeispiels
der Erfindung der Heartbeat-Prozessor 204 feststellt, dass
bei einem Fluss, der Pakete lenkt, die durch das Kommunikationsnetzwerk
auf dem Transportweg 102 zu befördern sind, ein Netzwerkausfall
auftritt, indem er ein Signal 220 an den Klassifizierer 202,
sendet, das die entsprechende Fluss-ID spezifiziert, stellt der
Klassifizierer 202 beim Empfang des Signals 220 das
FLOVE-H-Bit für
diesen Fluss auf „1" ein.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung führt
das Ausfallsicherungsmodul 206 das Ersetzen der Ziel-MAC-Adresse oder der
Ziel-IP-Adresse aus, das erforderlich ist, um ein Paket von einem
ausgefallenen Weg auf einen Reserveweg umzuschalten.
-
Der
Klassifizierer 202 stellt die folgenden Informationen an
das Ausfallsicherungsmodul 206 bereit:
- – Aktionscode – Ersetzen
von Ziel-MAC-ADDR oder Ziel-IP-ADDR;
- – ID
der überwachten
Sitzung;
- – Zu
modifizierendes Paket;
- – Andere
Flussaktionsparameter, die keinen Bezug zur Ausfallsicherungsfunktionalität haben,
welche später
einem Flussaktionsmodul 222 zugeleitet werden; und
- – Eine
Vermittlungsantwort für
das Paket.
-
Eine
vorläufige
Vermittlungsantwort wird von dem Klassifizierer
202 erzeugt,
wie er in der oben genannten, parallel anhängigen, gemeinschaftlich abgetretenen,
prioritären
US-Patentanmeldung 10/881,226 beispielhaft beschrieben wird, und
enthält
die Informationen, die für
die Vermittlungsfunktion des Switch-/Router-Knotens
110 erforderlich sind,
um das Paket
104 ordnungsgemäß zu senden. Die Vermittlungsantwort
enthält
eine große
Anzahl von Feldern. Die für
die Ausfallsicherungsfunktionalität relevanten Felder sind:
-
Wenn
der Klassifizierer 202 dem Ausfallsicherungsmodul 206 eine
Umdefinierungsaufgabe stellt, verwendet das Ausfallsicherungsmodul 206 die
ID der überwachten
Sitzung als einen Index für
eine entsprechende Zeile der Umdefinierungstabelle 218.
Jeder Eintrag in der Tabelle beinhaltet:
- – Die D-IP-ADDR,
die die Ziel-IP-Adresse für
das Vermitteln der überwachten
Sitzung spezifiziert. Dieser Eintrag wird nur für das Ersetzen der Ziel-IP-Adresse verwendet.
- – Die
Ziel-Bitmap spezifiziert die Ausgangsport-Map für das Vermitteln der überwachten
Sitzung.
- – VLAN
TCI gibt die neue VLAN-ID und die 802.1p-Priorität an, die beim Vermitteln der überwachten
Sitzung zu verwenden sind.
- – VLAN-Tag-Aus
spezifiziert die VLAN-Tag-Aus-Map für ein neues VLAN, wobei für jeden
Port mit einer 1 angezeigt wird, ob das Paket, wenn es auf diesem
Port weitergeleitet wird, mit einem VLAN-Tag gesendet wird.
- – DMAC
gibt die Ziel-MAC-Adresse für
das Vermitteln der überwachten
Sitzung an. Gibt die MAC-Adresse für den nächsten Sprung an, wenn eine
Layer-3-Umdefinierung stattfinden soll.
-
Wenn
der Aktionscode für
die Verarbeitung eines Pakets ein L2-Adress-Umdefinieren angibt, dann beinhaltet
nach dem Extrahieren der Informationen aus dem korrekten Eintrag
der Umdefinierungstabelle 218 die Funktionalität des Ausfallsicherungsmoduls 206 das
Folgende:
- – Modifizieren
der vorläufigen
Vermittlungsantwort durch das Ersetzen der Ziel-Bitmap, VLAN-Tag-Aus-Bits und
VLAN TCI durch Werte, die in dem Eintrag der Umdefinierungstabelle
spezifiziert sind;
- – Ersetzen
der Ziel-MAC-Adresse im Paketkopfteil durch den Wert, der im Eintrag
der Umdefinierungstabelle spezifiziert ist; und
- – Einstellen
des Bits zur Neuberechnung der zyklischen Redundanzprüfung (CRC)
in der Vermittlungsantwort auf Logik hoch „1", wenn das Paketkopfteil modifiziert
worden ist.
-
Wenn
jedoch der Aktionscode für
die Verarbeitung eines Pakets ein L2- und L3-Adress-Umdefinieren angibt,
weicht die Funktionalität
des Ausfallsicherungsmoduls 206 in Abhängigkeit davon ab, ob das Paket
mit Bridge oder Router übermittelt
wird. Ein Paket wird mit Router übermittelt,
wenn eine L2-Datenbanksuche
zur Zuordnung der Ziel-MAC-Adresse zu dem Management-Prozessor-Port führt. Außerdem müssen sich
immer dann, wenn die Ziel-IP- Adresse
verändert
wird, die Prüfsummen
von Layer 3 (IP) und Layer 4 (entweder UDP oder
TCP) ebenfalls verändern.
Die nachstehende Tabelle führt
die Aktionen auf, die in jedem der vier IP-Umdefinierungsszenarien
ausgeführt
werden.
-
Die
IP-Prüfsumme
und die TCP- oder UDP-Prüfsummen
können
inkrementell neu berechnet werden, wobei nur die Modifizierung für die Ziel-IP-Adresse (und TTL,
wenn zutreffend) berücksichtigt
wird, wie in IETF RFC 1624 beschrieben, welches durch Bezugnahme
hierin aufgenommen ist.
-
In
allen Fällen
werden die Informationen in der Umdefinierungstabelle
218 verwendet,
um das Paketkopfteil und die Vermittlungsantwort zu modifizieren:
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung sind Heartbeat-Anforderungsmitteilungen in den Heartbeat-Paketen 116 eingekapselt,
die in dieselbe Richtung gesendet werden wie die zugeordneten Datenpakete 104 der überwachten
Sitzung, von der Quelle zum Ziel, auf dem Transportweg 102.
Heartbeat-Anwortmitteilungen sind in den Heartbeat-Paketen 118 eingekapselt,
die in die umgekehrte Richtung gesendet werden, vom Ziel zur Quelle,
um den Sender SR 110-1 zu informieren, dass die entsprechenden
Heartbeat-Anforderungen empfangen wurden.
-
In Übereinstimmung
mit einer Implementierung des beispielhaften Ausführungsbeispiels
der Erfindung haben die Heartbeat-Pakete 116/118 ein
Internet-Control-Message-Protocol (ICMP)-Format. Das ICMP ist ein Pflichtprotokoll
für IP-Router
und Hosts und ist in großem
Umfang implementiert. Die Verwendung des Standard-ICMP-Formats bietet
Vorteile bezüglich
der Interoperabilität
mit der Ausrüstung
anderer Verkäufer.
Insbesondere können
die ICMP-Heartbeat-Anforderungspakete 116 an den Ziel-Host-Knoten 108-B einer
geschützten
Sitzung gerichtet werden, wenn der Host-Knoten 108-B das
ICMP-Protokoll implementiert,
das den Umfang der Lösung
ausdehnt; jedoch die Erzeugung entsprechender Heartbeat-Antwortpakete 118 kann
Verzögerungen
verursachen, wenn die Funktionen des ICMP-Protokolls in Software
ausgeführt
werden, wie es für End-Host-Knoten
typisch ist.
-
Das
Folgende ist ein beispielhaftes Heartbeat-ICMP-Echo-Anforderungspaket-Format,
das für
die Heartbeat-Pakete
116 eingesetzt wird:
-
Das
Folgende ist ein beispielhaftes Heartbeat-ICMP-Echo-Anforderungspaket-Format,
das für
die Heartbeat-Pakete
118 eingesetzt wird:
-
Man
beachte, dass das ICMP-Identifizierer-Feld zwei Bytes lang ist und
allgemein verwendet wird, um die ICMP-Echo-Anforderungen an ihre
zugeordneten Antworten anzupassen. In Übereinstimmung mit dem beispielhaften
Ausführungsbeispiel
der Erfindung ist die ID der überwachten
Sitzung in das niedrigere Byte eingebettet; der ICMP-Typ einer Echo-Anforderung
ist 0x08, und der ICMP-Typ einer Echoantwort ist 0x00.
-
In Übereinstimmung
mit einer weiteren Implementierung des beispielhaften Ausführungsbeispiels
der Erfindung haben die Heartbeat-Pakete 116/118 ein
flexibles generisches Nicht-ICMP-Format, welches vom Betriebsmanagementpersonal
so programmiert werden kann, dass es den Anwendungserfordernissen
vollständig
entspricht. Obwohl das generische Format eine verbesserte Flexibilität bietet,
ist der Ausfallsicherungsmechanismus möglicherweise nicht mit anderen
Endknoten interoperabel.
-
Wie
hierin vorstehend erwähnt
wurde, identifiziert der Klassifizierer 202 ein Heartbeat-Paket 116/118 und
leitet es an den Heartbeat-Prozessor 204 weiter. Für ein Heartbeat-Paket
mit einem generischen Format werden die Sitzungs-ID und eine Angabe
darüber,
ob die eingekapselte Heartbeat-Mitteilung eine Anforderung oder
eine Antwort ist, vom Klassifizierer 202 bereitgestellt,
wenn sie aus der Flussaktionstabelle 214 abgerufen werden.
Für ein
Heartbeat-Paket 116/118 mit einem ICMP-Format
werden die Informationen vom Heartbeat-Prozessor 204 aus
dem Paketkopfteil extrahiert, wie oben beschrieben.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung verfolgt der Heartbeat-Prozessor 204 die
Heartbeat-Paket-Informationen, indem er eine Aufzeichnung pro geschützte Sitzung verwendet,
wobei jede Aufzeichnung die erforderlichen Informationen liefert,
um Heartbeat-Pakete zu erzeugen und den Status einer Sitzung zu überwachen:
- – ein
Freigabe-Flag gibt die periodische Sendung eines Heartbeat-Anforderungspakets 116 für eine entsprechende
Sitzung frei;
- – ein
vom Betriebsmanagementpersonal konfiguriertes Heartbeat-Paketformat
- – ein
programmierbares Format für
Heartbeat-Anforderungspakete 116 für jede überwachte Sitzung. Nur anwendbar,
wenn ein generisches Heartbeat-Paketformat
verwendet wird;
- – eine
vom Betriebsmanagementpersonal konfigurierte Vermittlungsantwort,
die die Informationen spezifiziert, die für die Vermittlung des Pakets 116/118 beim
Weiterleiten des Pakets 116/118 benötigt werden,
einschließlich
solcher Informationen – jedoch
ohne Beschränkung
auf dieselben – wie
beispielsweise: eine Ziel-Map, VLAN-Spezifikation und eine Prioritätsspezifikation
(wie hierin vorstehend beschrieben);
- – eine
Sendezeitraumspezifikation: ein programmierbares Zeitintervall zwischen
den aufeinander folgenden Sendungen der Heartbeat-Anforderungsmitteilung
(116) für
eine geschützte
Sitzung, beispielhaft in Einheiten von 0,1 ms;
- – ein
Sendezeitgeber verfolgt die Zeit, die abgelaufen ist, seit eine
Heartbeat-Anforderungsmitteilung
(Paket 116) für
eine bestimmte Sitzung gesendet wurde, beispielhaft in Einheiten
von 0,1 ms;
- – eine
programmierbare Wiederholungsschwelle spezifiziert die Anzahl der
aufeinander folgenden Heartbeat-Anforderungsmitteilungen (Pakete 116),
die gesendet werden können,
ohne dass eine einzige Antwort empfangen worden ist, bevor festgestellt
wird, dass bei der überwachten
Sitzung ein Netzwerkausfall aufgetreten ist;
- – ein
Wiederholungszähler
verfolgt die Anzahl der aufeinander folgenden Heartbeat-Anforderungsmitteilungen
(Pakete 116), die gesendet werden, ohne dass eine einzige
Antwort empfangen worden ist; und
- – eine
Spezifikation der Fluss-ID 210 wird der geschützten Sitzung
zugeordnet.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung erzeugt und sendet der „Quell"-Switch-/Router-Knoten 110-1,
der bezüglich
eines geschützten
Transportwegs 102 vorgelagert ist, periodisch Heartbeat-Anforderungsmitteilungen,
die in die Heartbeat-Pakete 116 eingekapselt sind, um den
Status der Infrastruktur des Kommunikationsnetzwerks zu überprüfen, die
entlang dem geschützten
Transportweg 102 vorgefunden wird. Es wird auf 5 Bezug
genommen; für
jeden überwachten
Transportweg 102 beinhaltet die Ausfallsicherungsfunktionalität 500 des
vorgelagerten SR-Knotens 110-1 das Folgende:
- – Wenn
Freigabe-Flag = 1 (502), dann Starten des Sendezeitgebers
(504), welcher bei einer programmierbaren Rate inkrementiert 506 ist,
wie oben dargelegt; und
- – (zyklisch)
Immer dann, wenn der Sendezeitgeber den Sendezeitraum 508 erreicht,
führt der
Heartbeat-Prozessor 204 das Folgende aus:
i. Erzeugt 510 ein
Heartbeat-Anforderungspaket 116 für diese Sitzung;
ii. Erzeugt 512 eine
Vermittlungsantwort, welche die Vermittlungsinformationen spezifiziert,
die zur Weiterleitung des Heartbeat-Anforderungspakets 116 verwendet
werden;
iii. Injiziert 514 das Heartbeat-Paket 116 und
die entsprechende Vermittlungsantwort in den Gesamtfluss der Pakete
am Vermittlungs-/Router-Netzwerkknoten 110-1;
iv.
Setzt den Sendezeitgeber zurück 516;
und
v. Inkrementiert 518 den Wiederholungszähler.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung antwortet der „Bestimmungsort"-oder „Ziel"-Switch-/Router-Knoten 110-2,
der bezüglich
des geschützten
Transportwegs 102 nachgelagert ist, auf die empfangenen
Heartbeat-Anforderungsmitteilungen, und die Ausfallsicherungsfunktionalität 600 beinhaltet
das Folgende:
- – Weiterleiten 604 des
empfangenen 602 Heartbeat-Anforderungspakets 116 an
den Heartbeat-Prozessor 204, welcher – wenn das Paket ein ICMP-Format hat – das Folgende
ausführt:
i.
verifiziert 606 die ICMP-Prüfsumme;
ii. wenn die Prüfsumme korrekt
ist, dann führt
der Heartbeat-Prozessor 204 das
Folgende aus:
1) ruft 608 die Sitzungs-ID aus dem
Paketkopfteil ab;
2) erzeugt 610 eine Heartbeat-Antwortmitteilung
zur Verkapselung in einem ICMP-Heartbeat-Antwortpaket 118;
3)
erzeugt 612 eine Vermittlungsantwort, welche die Informationen
spezifiziert, die bei der Weiterleitung des Heartbeat-Antwortpakets 118 zu
verwenden sind;
4) injiziert 614 das Heartbeat-Antwortpaket 118 mit
der Vermittlungsantwort in den Paketfluss am Vermittlungs-/Router-Netzwerkknoten 110-2;
und
5) verwirft 616 das empfangene Heartbeat-Anforderungspaket 116;
iii.
wenn die Prüfsumme
nicht korrekt (606) ist, dann verwirft 616 der
Heartbeat-Prozessor 204 einfach das Heartbeat-Anforderungspaket 116.
Optional kann der Heartbeat-Prozessor 204 den Management-Prozessor über das
fehlerhafte Heartbeat-Anforderungspaket 116,
das empfangen wurde, informieren 618.
- – wenn
das empfangene 602 Heartbeat-Anforderungspaket 116 ein
generisches Format hat, dann nimmt der Heartbeat-Prozessor 204 den
Prozess 600 bei Schritt 610 wieder auf.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung sendet der „Bestimmungsort"-oder „Ziel"-Switch-/Router-Knoten 110-2,
der bezüglich
des geschützten
Transportwegs 102 nachgelagert ist, Heartbeat-Antwortmitteilungen,
die in den Heartbeat-Paketen 118 eingekapselt sind, an
den SR-Knoten 110-1 zurück.
Wenn ein Heartbeat-Antwortpaket 118 am SR-Knoten 110-1 empfangen
wird, leitet der Klassifizierer 202 dieses an den Heartbeat-Prozessor 204 weiter.
-
Es
wird auf 7 Bezug genommen; für Heartbeat-Pakete 118 mit
einem ICMP-Format beinhaltet die Ausfallsicherungsfunktionalität 700 des
Heartbeat-Prozessors 204 ferner
das Folgende:
- – Weiterleiten 706 des
Empfangenen 702 an den Heartbeat-Prozessor 204 wenn
die ICMP-Prüfsumme
korrekt ist (704);
- – Extrahieren 708 der
ID der überwachten
Sitzung aus dem Paketkopfteil;
- – Rücksetzen 710 des
Wiederholungszählers
für diese
Sitzung; und
- – Verwerfen 712 des
Heartbeat-Antwortpakets 118.
-
Wenn
die Prüfsumme
nicht korrekt ist, dann verwirft der Heartbeat-Prozessor 204 das
empfangene Heartbeat-Antwortpaket 118, ohne weitere Aktionen
auszuführen.
-
Wenn
das empfangene Heartbeat-Antwortpaket 118 ein generisches
Format hat, dann beinhaltet die Ausfallsicherungsfunktionalität des Heartbeat-Prozessors 204 das
Folgende:
- – Extrahieren 708 der
Sitzungs-ID aus einem Ort, der vom Klassifizierer 202 angegeben
wird;
- – Rücksetzen 710 des
Wiederholungszählers
für diese
Sitzung; und
- – Verwerfen
des Heartbeat-Antwortpakets 118.
-
Wie
oben beschrieben, bestimmt der Heartbeat-Prozessor 204,
dass eine Sitzung durch einen Netzwerkausfall beeinträchtigt ist,
wenn als Reaktion auf eine periodische Folge von N Heartbeat-Anforderungspaketen 116 keine
Heartbeat-Antwortpakete 118 empfangen
wurden, wobei N für
jede überwachte
Sitzung konfiguriert ist.
-
In Übereinstimmung
mit dem beispielhaften Ausführungsbeispiel
der Erfindung sendet der Heartbeat-Prozessors 204, wenn
der Wert im Wiederholungszähler
die Wiederholungsschwelle überschreitet,
ein Signal an den Klassifizierer 202, welches anzeigt,
dass bei der Sitzung ein Ausfall auftritt. Das Signal enthält die entsprechende
Fluss-ID 210, die vom Klassifizierer 202 verwendet
wird, um den Fluss (210) zu identifizieren, für welchen
der entsprechende Ausfallsicherungstransportweg 112 verwendet
werden sollte. Der Heartbeat-Prozessor 204 sendet außerdem einen
Interrupt an den Management-Prozessor,
der dem Switch-/Router-Knoten 110-1 zugeordnet ist.
-
Wenn
der Klassifizierer 202 das Umschaltsignal vom Heartbeat-Prozessor 204 empfängt, stellt
der Klassifizierer 202 danach das FLOVE-H-Bit in dem entsprechenden
Flusseintrag 212 der Flussaktionstabelle 214 auf
Logik hoch „1" ein. Im Ergebnis
dessen werden die nachfolgenden Pakete 104 für diesen
Fluss an das Ausfallsicherungsmodul 206 zur Adress-Umdefinierung
weitergeleitet, wie oben beschrieben.
-
Die
Hochgeschwindigkeits-Ausfallsicherungsfunktionalität wird durch
die beispielhafte Hardware-Implementierung bereitgestellt, wie hierin
vorstehend beschrieben: die einzige Verzögerung, die entsteht, betrifft die
Zeit, die benötigt
wird, um zu erkennen, dass ein Netzwerkausfall eingetreten ist.
Diese Verzögerung
bei der Feststellung ist das Produkt des Sendeintervalls zwischen
den aufeinander folgenden Heartbeat-Anforderungen und der Anzahl
der Sendungen (ohne eine entsprechende Antwort), bevor der Ausfall
festgestellt worden ist. Beide Parameter sind programmierbar. Die
Auswahl der optimalen Parameter involviert Kompromisse, welche der
Designauswahl überlassen
bleiben.
-
In Übereinstimmung
mit einer weiteren beispielhaften Implementierung der Erfindung
kann für
Anwendungen, bei welchen der Mehraufwand bei der Nutzung der Netzwerkressourcen
ein Problem darstellt, eine Heartbeat-Anforderungsmitteilung in die Kopfteile
der Datenpakete (104), Pakete, die Bestandteil der überwachten
Flüsse
sind, eingebettet werden. Eine Anforderung an einen Zielknoten zum
Senden einer Antwort könnte
in einem einzelnen Bit codiert werden, wobei jedes geeignete Feld
in den vorher vorhandenen Kopfteilen der beförderten Datenpakete 104 verwendet
wird. Es könnten
Mechanismen eingesetzt werden, die im Wesentlichen mit den oben
beschriebenen identisch sind: mit dem beträchtlichen Unterschied, dass
keine speziellen Heartbeat-Pakete verarbeitet werden und der Zeitgabemechanismus
für die
Heartbeat-Erzeugung bei Ablauf des Zeitraums auslöst, in welchem
ein Datenpaket für
diesen Strom einschließlich
ein Bit, das auf Logik hoch „1" eingestellt ist,
eine Heartbeat-Antwort anzeigt.
-
Die
dargelegten Ausführungsbeispiele
haben nur Beispielcharakter und Fachleute würden erkennen, dass Variationen
zu den oben beschriebenen Ausführungsbeispielen
vorgenommen werden können,
ohne vom Geist der Erfindung abzuweichen. Der Schutzbereich der
Erfindung wird ausschließlich
durch die angefügten
Ansprüche
definiert.