-
Die
vorliegende Anmeldung beansprucht den Nutzen der einstweiligen Anmeldung
Nummer 60/623,885 mit dem Titel „SoftRouter: Router Disaggregation", Aktenzeichen Lakshman
35-2-23-62-31, registriert am 1.11.2004. Zusätzlich betrifft die vorliegende
Anmeldung die gleichzeitig anhängigen
Anmeldungen „SoftRouter", Aktenzeichen Lakshman 35-2-23-62-31
(LCNT/126770), „SoftRouter
Protocol Disaggregation",
Aktenzeichen Ansari 2-2-41-3-24-34 (LCNT/127305), „SoftRouter
Separate Control Network",
Aktenzeichen Lakshman 43-64-36
(LCNT/127307), „SoftRouter
Feature Server",
Aktenzeichen Lakshman 44-65-37 (LCNT/127308), „SoftRouter Dynamic Binding
Protocol", Aktenzeichen
Ansari 4-3-45-5-26-38 (LCNT/127309), die zum selben Datum wie die
vorliegende Anmeldung registriert wurden.
-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft allgemein das Gebiet der Vernetzung
und insbesondere Protokoll-Failovers in einer beispielhaften SoftRouter-Architektur.
-
ALLGEMEINER STAND DER TECHNIK
-
Traditionelle
Router-Architekturen werden heutzutage immer komplexer, da immer
mehr Merkmale zu der Internet-Steuerebene hinzugefügt werden.
Viele operationale Aufgaben, wie zum Beispiel Durchsetzung von Routing-Richtlinien
oder Verkehrstechnik erfordern netzwerkweite Steuerung, die sich
in einem Netzwerk autonomer und komplexer Router nur schwierig und
umständlich
erzielen läßt. Darüber hinaus
sind bei derzeitigen Routern die Routensteuerungen eng mit der Weiterleitungs-Engine gekoppelt,
und diese statische Bindung führt
häufig zu
geteilten Ausfällen.
-
Trotz
des Ende-zu-Ende-Architekturentwurfsprinzips, das auf ein einfaches
Kernnetzwerk abzielt, wird, während
neue Merkmale standardisiert werden, immer mehr Steuerebenenkomplexität in den
Routern hinzugefügt.
Zu diesen Merkmalen gehört
Routing (z.B. auf BGP basierende MPLS-VPN), Verkehrstechnik (TE)
(z.B. OSPF-TE (Open
Shortest Path First)), Sicherheit und dergleichen. Die Weiterleitungswegimplementierung
wurde dagegen mit schnellen Fortschritten in der hochintegrierten
Hardwareintegration (z.B. ASIC) und betriebsfertiger Verfügbarkeit
von massenproduzierten Chips schrittweise immer leichter.
-
Traditionelle
IP-Netzwerke werden unter Verwendung von Routern konstruiert, die
relativ autonom operieren. Die potentiell unverwaltbare Komplexität liegt
an vielen Punkten im gesamten Netzwerk vor. Dies hat viele unerwünschte Konsequenzen. Erstens
wird durch die mehreren Steuerpunkte die operationale Komplexität stark
vergrößert (z.B.
Fehlkonfiguration). Zweitens können
in bestimmten Umständen
unkoordinierte Aktionen dieser autonomen Router zu einer suboptimalen
Leistungsfähigkeit (z.B.
schlechter Wiederherstellungszeit) bestenfalls und Netzwerkinstabilität ungünstigstenfalls
führen. Schließlich kann
die Einführung
neuer Merkmale Aufrüstungen
einer großen
Anzahl von Routern erfordern, was sowohl komplex als auch fehleranfällig ist.
-
Traditionelle
Router-Architekturen haben Steuerung und Weiterleitung integriert.
Die Steuerebenenfunktionen implementierenden Steuerprozessoren sind
mit den Weiterleitungsfunktionen implementierenden Leitungskarten
kolokalisiert und teilen sich oft dieselbe Router-Backplane. Die
Steuerprozessoren stellen Steuerfunktionen nur den kolokalisierten
Leitungskarten bereit und umgekehrt, was zu einem Szenario führt, bei dem
die Leitungskarten nicht verwaltet werden können, wenn ein Ausfall in der
kolokalisierten Steuerung bzw. in den kolokalisierten Steuerungen
vorliegt.
-
Die
US-Patentanmeldungs-Publikation 2004/0083403 von
Khosravi betrifft allgemein ein Verfahren und eine Vorrichtung zur
Bereitstellung von Fehlertoleranz für eine Netzwerkeinrichtung.
Wie in der
US-Patentanmeldungs-Publikation 2004/0083403 beschrieben
wird, enthält
ein Router mehrere Steuerelemente und mehrere Weiterleitungselemente,
die unter Verwendung einer Backplane kommunizieren. Genauer gesagt
offenbart die
US-Patentanmeldungs-Publikation
2004/0083403 , daß der
Router ein Fehlertoleranz-Verwaltungsmodul enthält, das ein Primärsteuerelement
auf einen Fehlerzustand überwacht
und Failover von dem Primärsteuerelement
zu einem Sekundärsteuerelement
im Fall des Ausfalls des Primärsteuerelements
verwaltet.
-
KURZFASSUNG
-
Ein
Verfahren und eine Vorrichtung gemäß der vorliegenden Erfindung
werden in den unabhängigen
Ansprüchen
definiert, auf die der Leser nun verwiesen wird. Bevorzugte Merkmale
werden in den abhängigen
Ansprüchen
definiert.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
Lehren der vorliegenden Erfindung werden bei Durchsicht der folgenden
ausführlichen
Beschreibung in Verbindung mit den beigefügten Zeichnungen ohne weiteres
verständlich.
Es zeigen:
-
1 das
Problem, daß neu
erscheinende Anwendungen mehr Funktionen an IP abgeben;
-
2 ein
Blockschaltbild eines traditionellen Routers;
-
3 ein
Blockschaltbild einer Abstraktion auf hoher Ebene einer beispielhaften
SoftRouter-Architektur;
-
4 ein
Blockschaltbild einer traditionellen Router-Architektur;
-
5 ein
Blockschaltbild einer Ausführungsform
einer beispielhaften SoftRouter-Architektur;
-
6 ein
Blockschaltbild einer Ausführungsform
der beispielhaften SoftRouter-Architektur, die Netzwerkelemente
darstellt;
-
7 ein
Blockschaltbild von beispielhaften Listen von Aktiv-Steuerelementen
(CE) und Backup-CE für
ein Weiterleitungselement (FE);
-
8 ein
Venn-Diagramm einer beispielhaften Hierarchie von Mengen;
-
9 ein
Blockschaltbild einer beispielhaften Protokollüberlagerung für ein Failover;
-
10 ein
Sequenzdiagramm eines beispielhaften Failover-Szenarios; und
-
11 ein
Blockschaltbild auf hoher Ebene eines Computers.
-
Zur
Erleichterung des Verständnisses
wurden, wenn möglich,
identische Bezugszahlen verwendet, um den Figuren gemeinsame identische
Elemente zu kennzeichnen.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Die
Erfindung wird hauptsächlich
in dem allgemeinen Kontext einer Ausführungsform einer beispielhaften
SoftRouter-Architektur beschrieben, obwohl für durch die vorliegenden Lehren
informierte Fachleute erkennbar sein wird, daß das Disaggregationskonzept
auch zur Erzeugung verschiedener anderer Ausführungsformen von Netzwerkarchitekturen verwendet
werden kann und daß die
Erfindung auf lokale Netzwerke (LAN), städtische Netzwerke (MAN), großflächige Netzwerke
(WAN) und andere Netzwerke, viele Schichten des OSI (Open Systems
Interconnection), Gateway-Protokolle, serielle Leitungsprotokolle,
Protokollstapelrouting- und Überbrückungsprotokolle
und viele andere Protokolle, Verkehrsverwaltung, optisches und Edge/Core-Routing,
drahtlose, Kabel-, Datenzentralen, Hilfssignalweg (ASP), Fehlerverwaltung,
Konfigurationsverwaltung, Buchhaltungsverwaltung, Leistungsfähigkeitsverwaltung,
Sicherheitsverwaltung, andere Netzwerkverwaltung, Unternehmen, Regierung,
militärische
Anwendungen und viele andere Arten von Vernetzungseigenschaften
und -anwendungen anwendbar ist.
-
Das
Internet-Protokoll (IP) stellt Ende-zu-Ende-Datagramm-Ablieferdienst
Protokollen und Anwendungen bereit, die eine beliebige Sicherungsschichttechnologie
verwenden können,
die Pakete abliefert. 1 zeigt das Problem aufkommender Anwendungen,
die mehr Funktionen an IP abgeben, wodurch die Mitte der Sanduhr
expandiert wird. Zu diesen aufkommenden Anwendungen gehören Email,
www-Telefon, SMTP (Simple Mail Transfer Protocol), HTTP (Hypertext
Transfer Protocol), RTP (Routing Table Protocol), TCP (Transmission
Control Protocol), UDP (User Datagram Protocol) und andere Protokolle,
woran folgendes beteiligt ist: QoS (Dienstgüte), Multicast, Mobilität, virtuelle
private Netzwerke (VPN) und andere Merkmale, die unter Verwendung
von Ethernet, PPP (Point-to-Point Protocol), CSMA (Carrier Sense
Multiple Access), ASYNC (eine Teilmenge von TTY (Teletypewriter)), das
sychrone optische Netzwerk (SONST) und andere Protokolle über Kupfer,
Faser, Funk und andere physische Transportmittel transportiert werden.
Traditionelle Router-Architekturen versuchen, alle neuen IP-Funktionen in Router
zu integrieren, was zu einer Duplikation komplexer Funktionen in
mehreren Routern eines Netzwerks führt. Dies vergrößert außerdem Kapital-
und Betriebsausgaben. Im allgemeinen besteht eine Notwendigkeit,
die Komplexität
und Kosten des Betriebs eines Netzwerks von Routern zu reduzieren.
-
Es
werden viele neue Merkmale zu Routern hinzugefügt, zum Beispiel BGP (Border
Gateway Protocol), auf MPLS (Multiprotocol Label Switching) basierende
VPN und Verkehrstechnik (TE). Traditionelle Router-Architekturen weisen
fünf bis
zehn Millionen Zeilen Code auf, und die Komplexität ist über das
Netzwerk verteilt. Die Erreichung der netzwerkweiten Ziele eines
Betreibers, wie zum Beispiel Verkehrstechnik, erfordert komplexe Übersetzung
globaler Ziele in Konfigurationsinformationen in zahlreichen individuellen
Routern. Fehlkonfiguration oder unkoordinierte Konfiguration kann
zu einer schlechten Leistungsfähigkeit
oder Netzwerkinstabilität
führen.
-
Der
enorme Erfolg des Internet hat zu konstanter Entwicklung und Einsatz
neuer Merkmale und Dienste geführt,
die ihre technischen Grundlagen zunehmend unter Druck gesetzt haben.
Dies hat zu dem Glauben an das Prinzip geführt, daß eine Neuarchitekturisierung
der aktuellen Verteilung von Funktionen in einem IP-Netzwerk zu signifikanten Vorteilen
in bezug auf Netzwerkstabilität,
Vereinfachung von Netzwerkoperationen und Flexibilität bei der
Einführung
neuer Netzwerkprotokolle und Dienste führen würde.
-
Viele
erweiterten Netzwerkverwaltungsaufgaben, wie zum Beispiel Durchsetzung
von Routing-Richtlinien und Verkehrstechnik, würden aus der Verfügbarkeit
einer netzwerkweiten Ansicht signifikant Nutzen ziehen. Zum Beispiel
würden
mehrere häufige
durch BGP verursachte Netzwerkstabilitäts- und Betriebsprobleme gelöst, indem
man BGP von individuellen Routern zu einer einzigen Entität mit einem
Autonom-System (AS-)weiten Umfang verlagert. Ähnlich erfordern viele Verwaltungsfunktionen eine
netzwerkweite Ansicht, ohne die ein Netzwerk Oszillation und schlechte
Stabilität
aufweisen kann. Netzwerkweite Steuerung ist jedoch in dem derzeitigen
Netzwerk autonomer und komplexer Router nur schwierig und umständlich zu
erzielen.
-
Bei
den traditionellen Router-Architekturen ist das zugrundeliegende
Prinzip die tiefgreifende Verflechtung von Steuer- und Weiterleitungsfunktionen
in derzeitigen Routern. Es besteht die Notwendigkeit, Router zu
dekonstruieren, um den größten Teil
der Netzwerkentitäten
so unintelligent wie möglich
zu erhalten, indem man ihre Funktion auf die Unterstützung nur
einiger weniger kanonischer Paketweiterleitungsfunktionen reduziert
und alle Steuerprotokolle und nicht-weiterleitungsbezogene Zustands-
und Steuerverarbeitung zu einigen wenigen intelligenten netzwerkgestützten Steuerentitäten mit der
Hauptfunktion der netzwerkweiten Steuerung migriert. Außerdem ist
es notwendig, daß Protokoll-Failover
elegant und nahtlos abgewickelt werden.
-
Die
Disaggregation von Router-Hardware aus Router-Software unter Verwendung offener, auf Standard
basierender Protokolle zur Inter-Vernetzung hat viele Vorteile.
Das Disaggregationskonzept entkoppelt Lieferanten für jede Komponente,
wodurch Eintrittsbarrieren für
Hardwarevertreiber verkleinert und unabhängige Softwarevertreiber (ISV) ermutigt werden,
in sich entwickelnde Trägerklassen-Routing-Software zu investieren,
um neue Hardware-Markt-Ankömmlinge
zu beliefern. Dieses Disaggregationskonzept ermöglicht es jeder Komponente,
sich auf ihre eigene Innovationskurve zu konzentrieren. Hardwarehersteller
können
sich auf die höchsten
Geschwindigkeiten pro Dichte bei den niedrigsten Kosten konzentrieren,
wodurch Kapitalaufwand vermindert wird, und Softwarehersteller können sich
auf neue Anwendungen und Verwaltbarkeit konzentrieren, wodurch Umsatz
vergrößert wird, während die
Betriebskosten abnehmen.
-
Eine
Ausführungsform
einer beispielhaften SoftRouter-Architektur
dekonstruiert Router durch Trennen der Implementierung von Steuerebenenfunktionen
von Paketweiterleitungsfunktionen. Andere Ausführungsformen von Netzwerkarchitekturen, die
diese Dekonstruktion erzielen, liegen auch in dem Schutzumfang der
vorliegenden Erfindung. Die vorliegende Erfindung umschließt das Konzept
dieser Dekonstruktion und ihre Implikationen für die Netzwerkarchitektur.
Bei der beispielhaften SoftRouter-Architektur werden alle Steuerebenenfunktionen auf
separaten Steuerentitäten
implementiert, die nicht mit den Weiterleitungs-Engines kolokalisiert sein
müssen.
Durch Migrieren aller nicht die Weiterleitung betreffenden Zustands-
und Steuerverarbeitung zu einigen wenigen netzwerkgestützten Steuerentitäten sind
eine einfache Implementierung von netzwerkweiten Zielen möglich, weil
koordinierte Konfigurationsänderungen
nur in einigen wenigen intelligenten Netzwerkelementen erforderlich
sind, statt in allen Netzwerkelementen in einer AS. Zusätzlich ist
die Assoziation zwischen Steuerungen und den Weiterleitungs-Engines
dynamisch, was flexible Steuerung einer Weiterleitungs-Engine durch
eine beliebige Steuerentität
ermöglicht,
die dazu fähig
ist.
-
Die
beispielhafte SoftRouter-Architektur enthält ein dynamisches Bindeprotokoll
zum Herstellen und Aufrechterhalten dynamischer Bindungen zwischen
Weiterleitungsentitäten
und den Steuerentitäten
in dem Netzwerk. Routing innerhalb und zwischen Domänen wird
in der beispielhaften SoftRouter-Architektur mit verbesserter Leistungsfähigkeit angepaßt, darunter
verbesserte Leistungsfähigkeit für die Protokoll-OSPF
innerhalb von Domänen.
-
Die
Disaggregation von Router-Hardware aus Router-Software unter Verwendung offener, auf Standard
basierender Protokolle zur Inter-Vernetzung hat viele Vorteile.
Das Disaggregationskonzept entkoppelt Lieferanten für jede Komponente,
wodurch Eintrittsbarrieren für
Hardwarevertreiber verkleinert und unabhängige Softwarevertreiber (ISV) ermutigt
werden, in sich entwickelnde Trägerklassen-Routing-Software zu investieren,
um neue Hardware-Markt-Ankömmlinge
zu beliefern. Dieses Disaggregationskonzept ermöglicht es jeder Komponente,
sich auf ihre eigene Innovationskurve zu konzentrieren. Hardwarehersteller
können
sich auf die höchsten
Geschwindigkeiten pro Dichte bei den niedrigsten Kosten konzentrieren,
wodurch Kapitalaufwand vermindert wird, und Softwarehersteller können sich
auf neue Anwendungen und Verwaltbarkeit konzentrieren, wodurch Umsatz
vergrößert wird, während die
Betriebskosten abnehmen.
-
Eine
beispielhafte Ausführungsform
einer beispielhaften SoftRouter-Architektur ist ein Ansatz zur Disaggregation
der komplexen IP-Funktionen, die von aufkommenden Anwendungen verlangt
werden. SoftRouter zentralisiert und ermöglicht die gemeinsame Benutzung
von Komplexität.
SoftRouter ermöglicht
eine skalierbare Einführung
neuer Funktionen, ohne IP-Weiterleitungsfunktionen
zu sehr zu belasten.
-
2 zeigt
einen traditionellen Router 200 mit integrierten Steuer-
und Transportebenen. Der traditionelle Router 200 besitzt
Software 202 und Hardware 204, die durch eine
proprietäre
Schnittstelle 206 kommunizieren.
-
Im
Gegensatz dazu zeigt 3 eine Abstraktion auf hoher
Ebene einer beispielhaften SoftRouter-Architektur 300,
die die Steuer- und Transportebenen in separater Hardware disaggregiert,
die unter Verwendung von Standardprotokollen kommunizieren. Die
SoftRouter-Architektur 300 besitzt
ein Steuerelement und eine Server-Komponente 302 und eine
Paketweiterleitungselementkomponente 304, die unter Verwendung
eines auf Standards basierenden Protokolls 306 kommunizieren.
-
4 zeigt
die traditionelle Router-Architektur, die eine Anzahl verbundener
Router 400 aufweist.
-
5 zeigt
eine Ausführungsform
der beispielhaften SoftRouter-Architektur 500. Bei dieser Ausführungsform
der beispielhaften SoftRouter-Architektur 500 enthalten
die Software-Server Steuerelemente CE 502 und Merkmalserver
FS 504. Die CE 502 sind für traditionelles Routing verantwortlich,
z.B. sowohl für
IGP (Interior Gateway Protocol) (z.B. OSPF) und EGP (Exterior Gateway
Protocol) (z.B. das BGP (Border Gateway Protocol)). Die FS 504 sind
für Mehrwertfunktionen
und netzwerkgestützte
Anwendungen verantwortlich, z.B. QoS, VPN und Mobil-IP. Sowohl die
CE 502 als auch die FS 504 sind an Weiterleitungselemente
FE 506 angeschaltet. Die CE 502 und FS 504 können zusätzliche
Schnittstellen zueinander aufweisen. Die beispielhafte SoftRouter-Architektur trennt
und zentralisiert die auf Software basierende Routensteuerung (SoftRouter)
von dem auf Hardware basierenden Transport und der auf Hardware
basierenden Paketweiterleitung.
-
Die
Dekonstruktion von Routern in der beispielhaften SoftRouter-Architektur
trennt die Steuer- und Weiterleitungsfunktionen. Diese Trennung
ist mehr als logisch (z.B. Verwendung einer wohldefinierten Schnittstelle
mit einer modularen Anwendungsprogrammierschnittstelle (API)); tatsächlich ist die
Steuerung durch mehrere Sprünge
von der Stelle, an der die Weiterleitung durchgeführt wird,
physisch getrennt (d.h. wird in einem distinkten Netzwerkelement
ausgeführt).
-
Ein
FE 506 ist ein Netzwerkelement, das die eigentliche Weiterleitung
und Vermittlung von Verkehr durchführt. In bezug auf Konstruktion
ist ein FE 506 einem traditionellen Router insofern ähnlich,
als es mehrere Leitungskarten aufweisen kann, die jeweils mehrere
Ports abschließen,
sowie ein Koppelfeld zum Shutteln von Datenverkehr von einer Leitungskarte
zu einer anderen. Ein FE 506 ist jedoch von einem traditionellen
Router verschieden, weil jegliche komplizierte Steuerlogik (z.B.
ein Routing-Prozeß wie
OSPF oder BGP), die lokal abläuft, fehlt.
Statt dessen wird die Steuerlogik abgesetzt gehostet.
-
Ein
CE 502 ist ein Vielzweck-Datenverarbeitungselement, wie
zum Beispiel ein Server. Es verbindet sich mit dem Netzwerk wie
ein End-Rost, mit der Ausnahme, daß es in der Regel über mehrere
FE 506 mehrere Heimaten in dem Netzwerk aufweist, so daß es nicht
von dem Netzwerk getrennt wird, wenn eine einzelne Strecke ausfällt. Ein
CE 502 führt
die Steuerlogik im Namen von FE 506 aus und steuert diese
daher. Jede Steuerlogik, die in der Regel auf einem traditionellen
Router anzutreffen ist, kann zu den CE 502 migriert werden;
einschließlich
Routing-Protokolle wie OSPF und BGP sowie Protokolle wie etwa RSVP
(Resource Reservation Protocol), LDP (Label Distribution Protocol),
Mobil-IP und dergleichen.
-
Ein
FE 506 wirkt zum Weiterleiten von Datenverkehr zwischen
seinen Strecken. Diese Funktion kann verschiedene Formen annehmen,
wie etwa Paketweiterleitung, Label Switching und optisches Vermitteln
und vieles mehr. Paketweiterleitung umfaßt Weiterleitung sowohl der
Schicht 2 (auf MAC (Medium Access Control) basierendes
Vermitteln) als auch der Schicht 3 (Passung des längsten Präfix). Label
Switching umfaßt
zum Beispiel MPLS-Weiterleitung. Die Datenweg-Weiterleitungsfunktionen können Label
Swapping, Pushing und Popping umfassen. Bei der optischen Vermittlung
kann der Verkehr zeitvermittelt, wellenlängenvermittelt oder raumvermittelt
zwischen den Strecken sein. In jedem dieser Fälle wird die Vermittlungsfunktion
durch eine einfache lokale Tabelle gesteuert, die durch ein CE 502 in dem
Netzwerk berechnet und installiert wird. Die Möglichkeit eines FE 506,
seine Arbeit nur auf der Basis einer lokalen Datenstruktur zu verrichten,
bedeutet somit, daß das
FE 506 dafür
ausgelegt ist, unintelligent und schnell zu sein, während die
komplexere Logik an ein abgesetztes, aber intelligentes CE 502 relegiert
wird.
-
Sowohl
FE 506 und CE 502 werden als logische Entitäten zusätzlich zu
physischen Netzwerkelementen aufgefaßt. Genauer gesagt wird ein
FE 506 logisch als Ansammlung von Ports definiert, an denen
Verkehr untereinander vermittelt werden kann. Zum Beispiel kann
ein FE 506 alle Ports auf einer einzigen Leitungskarte
enthalten, wobei in diesem Fall die gesamte physische Paketvermittlung
aus mehreren logischen FE 506 besteht. Ein FE 506 kann
außerdem
mehr als eine physische Vermittlung überspannen; ein CE kann jedoch
mehrere FE 506 steuern. Ähnlich kann ein CE 502 als
ein logischer Prozeß aufgefaßt werden,
der zur Bereitstellung von Steuerung im Namen von FE 506 instanziiert
wird und von der Servermaschine, die ihn tatsächlich ausführt, unterschieden werden kann.
Insbesondere kann eine physische CE-Servermaschine (PCE) Host für mehrere
Prozesse von CE 502 sein, die jeweils als eine verschiedene
Ansammlung von FE 506 dienen. Umgekehrt ist es auch möglich, daß mehrere Prozesse
von CE 502 (die jeweils für einen verschiedenen Steuerzweck
instanziiert werden, wie zum Beispiel das IGP (Interior Gateway
Protocol) und EGP (Exterior Gateway Protocol)), die dasselbe FE 506 versorgen,
auf distinkten PCE gehostet werden. Die physischen und logischen
Definitionen von FE 506 und CE 502 werden austauschbar
verwendet.
-
6 zeigt
eine Ausführungsform
der beispielhaften SoftRouter-Architektur, die Netzwerkelemente 600 darstellt.
Obwohl der Begriff eines Routers in der beispielhaften SoftRouter-Architektur
nicht strikt notwendig ist, ist es nützlich, einen bestimmten äquivalenten
Begriff wiederzugewinnen, um die Routing-Ansicht eines Netzwerks zu verstehen.
Zu diesem Zweck wird das Konzept eines Netzwerkelements NE 600 auf
hoher Ebene als logische Gruppierung von FE 506 und den
jeweiligen CE 502, die diese FE 506 steuern, definiert.
Eine bestimmte Gruppierung von NE 600 klassifiziert implizit
jede Strecke zwischen FE 506 entweder als intern (oder
intra-NE) oder extern (oder inter-NE). Eine interne Strecke verbindet
zwei Ports, die zu demselben NE 600 gehören, und eine externe Strecke
verbindet zwei Ports, die zu verschiedenen NE 600 gehören. Das
Konzept des NE 600 ist nützlich, wenn intra-NE- und
inter-NE-Routing verschiedenen Ansätzen folgen.
-
Ohne
zusätzliche
Einschränkungen
ermöglicht
die obige Definition des NE 600 Flexibilität. Zum Beispiel
erlaubt diese Definition, daß zwei
FE 506 in getrennten Teilen eines Netzwerks zu demselben
NE 600 gehören.
Außerdem
ermöglicht
sie ein traditionelles Routermodell, bei dem das FE 506 genau
alle Ports in dem physischen Element enthält und das steuernde CE bzw.
die steuernden CE 502 auf demselben Element kolokalisiert
sind.
-
Beim
geclusterten Routing sind die FE 506, aus denen ein NE 600 besteht,
Teil einer zusammenhängenden
Wolke. Anders ausgedrückt,
sind alle Ports des NE 600 voneinander über interne Strecken in dem
NE 600 erreichbar. Physisch repräsentiert dies die Clusterung
benachbarter physischer FE 506 zu einem einzigen NE 600.
Ein typisches Szenario ist das mehrerer Router, die hintereinander
in einer Vermittlungsstelle verbunden sind. Vom Routing-Standpunkt
aus gesehen, kann diese auf Clusterung basierende Definition des
NE 600 signifikante Vereinfachung ergeben. Die verringerte
Anzahl von NE 600 in der Routing-Ansicht verringert die
inter-NE-Routingkomplexität,
und es kann ein anderes, möglicherweise
weniger komplexes Routing-Protokoll für intra-NE-Routing verwendet
werden.
-
Die
Steuerbeziehung zwischen einem FE 506 und einem CE 502 wird
formal als Bindung bezeichnet. Genauer gesagt bedeutet eine Bindung zwischen
einem FE 506 und einem CE 502, daß das CE 502 im
Namen des FE 506 bestimmte Steuerfunktionen ausführt. Da
mehrere Protokolle (z.B. IGP und EGP oder sogar mehrere Instanzen
eines Protokolls) für
den Betrieb eines FE 506 erforderlich sein können, kann
ein FE 506 mehrere CE-502-Bindungen aufweisen.
-
Die
beispielhafte SoftRouter-Architektur enthält verschiedene Protokolle.
Für den
Betrieb eines Netzwerks, das gemäß der beispielhaften
SoftRouter-Architektur
ausgelegt ist, wird eine Anzahl verschiedener Protokolle verwendet,
darunter das dynamische Bindungsprotokoll und das FE/CE-Transportprotokoll.
Die Bindung zwischen einem FE 506 und einem CE 502 wird über ein
Protokoll hergestellt, das CE 502 und FE 506 entdeckt
und außerdem
diese Bindungen angesichts von Netzwerkunterbrechungen aufrechterhält. In dem
allgemeinsten Fall des dynamischen Bindungsprotokolls kann sich
ein FE 506 an beliebige verfügbare CE 502 anbinden,
und ein CE 502 kann Steuerfunktionen für ein beliebiges FE 506 durchführen, wodurch
sich maximale Nachgiebigkeit und minimales Konfigurations-Overhead ergibt.
Diese dynamische Bindungsfähigkeit
ist ein Merkmal des Konzepts dekonstruierter Router mit separaten
Steuer- und Weiterleitungsfunktionen. Das FE/CE-Transportprotokoll
hat zwei Teile, nämlich
Daten und Steuerung. Für
den Datenteil unterstützt
das FE/CE-Transportprotokoll
die Tunnelung von Routing-Protokoll-Paketen zwischen FE 506 und
CE 502, so daß ein
durch ein FE 506 empfangenes Routing-Protokoll-Paket zur
Verarbeitung zu einem CE 502 gesendet werden kann. Für den Steuerteil
verwenden, nachdem eine Bindung hergestellt ist, die FE 506 und
die CE 502 das FE/CE-Transportprotokoll
zum Übermitteln
von Zustandsinformationen und zur Durchführung von Steuerung. Auf der
Richtung der Aufwärtsstrecke
(FE 506 zu CE 502) führt dieser Steuerteil dem CE 502 Strecken-
und Weiterleitungszustandsinformationen (z.B. Signalstrecke betriebsfähig/nicht
betriebsfähig)
zu. In der Abwärtsstreckenrichtung
führt das
FE/CE-Transportprotokoll Konfigurations- und Steuerinformationen
(z.B. Freigabe/Sperrung einer Strecke, Weiterleitungsinformationsbasis
(FIB)). Für
das FE/CE-Transportprotokoll können
bekannte Protokolle verwendet werden, wie zum Beispiel Weiterleitungs-
und Steuerelementtrennung (ForCES).
-
Das
dynamische Bindungsmerkmal der beispielhaften SoftRouter-Architektur
ermöglicht,
daß ein
FE 506 durch mehrere Sprünge von einem CE 502 getrennt
ist. Diese Flexibilität
entsteht auf Kosten vergrößerter Komplexität bei der
Anfangskonfiguration der Weiterleitungselemente. In dem SoftRouter-Modell
erhält
beim Bootup das FE 506 seine Konfigurationsinformationen,
einschließlich
der IP-Adressen seiner Schnittstellen, von einem auf einem Server
verankerten abgesetzten CE 502. Dies stellt ein potentielles
Paradoxon dar: um ein CE 502 zu entdecken und Pakete zu
ihm zu senden, benötigt
das FE 506 Routing-Informationen;
die Routing-Informationen sollen jedoch von dem CE 502 kommen.
Dieses Paradoxon wird durch Verwendung eines Entdeckungsprotokolls
(z.B. des Entdeckungsprotokolls BLDP von Bell Labs), das Teil der
beispielhaften SoftRouter-Architektur ist, aufgelöst. Dieses
Entdeckungsprotokoll läßt die FE 506 und
die CE 502 einander entdecken und einen routbaren Weg zwischen diesen
Entitäten
aufrechterhalten. Dieser dynamische Bindungsprozeß unterstützt auch
erweiterte Merkmale, wie zum Beispiel Lastausgleich für CE 502,
eingeschränkte
Clusterungs-Algorithmen, die CE-FE-Bindungsnachgiebigkeit und -Failover
verbessern, wodurch die Verfügbarkeit
für das
Netzwerk vergrößert wird.
Diese Merkmale ermöglichen
auch eine bessere Netzwerkplanung und bessere netzwerkweite Steuerung.
-
Ausführungsformen
des dynamischen Bindungsprotokolls ergeben Bindungsdienst für FE 506 und
Routing-Dienste für
FE-CE-Nachrichten. Das dynamische Bindungsprotokoll läuft kontinuierlich
auf allen Elementen (FE 506 und CE 502) für die Lebensdauer
des Netzwerks als separates Protokoll unabhängig von anderen in dem Netzwerk
operierenden Protokollen ab. Als Minimum besitzt jedes FE 506 und
CE 502 eine vorkonfigurierte Oktettkette (FEID/CEID), die
als eindeutige Kennung wirkt. Bei einem überbrückten Netzwerk von FE 506 und
CE 502 (zum Beispiel über
das Ethernet verbunden), ergibt ein schnelles Spanning-Tree-Protokoll
die Konnektivität
für FE-CE-Kommunikation.
Da solche Netzwerke angesichts der heterogenen FE-506-Möglichkeiten
nicht das einzig Mögliche
ist, enthält
das dynamische Bindungsprotokoll eine separate Komponente zum Unterstützen von
Routing-Diensten
zwischen den CE 502 und den FE 506. Wenn ein Spanning-Tree-Protokoll
verfügbar
ist, kann das dynamische Bindungsprotokoll es jedoch für Routing-Dienste nutzen. Das
dynamische Bindungsprotokoll besitzt vier Komponenten: Entdeckung,
Assoziation, Ausfalldetektion mit Reparatur und Transporttunnel.
-
Die
Entdeckungskomponente des dynamischen Bindungsprotokolls ermöglicht es
einem FE 506, ein CE 502, das es verwalten kann,
zu entdecken. Dieses CE 502 wird als Verwaltungs-CE für dieses
FE 506 bezeichnet. Damit die Entdeckungskomponente schnelle
Konvergenz für
den Konfigurationsprozeß bereitstellen
kann, werden CE-502-Informationen über das
gesamte Netzwerk verteilt, wodurch FE 506 sich dynamisch
unter Verwendung von Bindungen, die entweder durch den Netzwerkadministrator
vorkonfiguriert oder unter Verwendung verteilter Clusterungs-Algorithmen
erhalten werden, an das beste CE 502 anbinden können.
-
Eine
Quellen-geroutete Routing-Schicht hilft beim Entdeckungsprozeß. Zum Zeitpunkt
des Bootup verwendet jedes FE 506 eine zufällig gewählte temporäre IP-Adresse zusammen
mit der FELD zur Durchführung
eines Vor-Entdeckungs-Routing. Diese Adresse wird aus einem geregelten
Adressenraum ausgewählt,
wie zum Beispiel eine private Subnetadresse. Die CE 502 sind
vorkonfiguriert und besitzen daher eine gültige IP-Adresse. Alle Nachrichten werden auf
allen Schnittstellen des FE 506 und des CE 502 rundgesendet.
-
FE 506 und
CE 502 entdecken einander durch Ausschreiben ihrer Präsenz an
ihre unmittelbaren Nachbarn durch periodische Rundsendungen. Jeder
Knoten (FE/CE) führt
somit eine Liste von Nachbarn in einer lokalen Tabelle. Außerdem solizitieren
FE 506 periodisch CE-502-Informationen von allen Nachbarn, um
Informationen auf dem neuesten Stand über die CE 502 in
dem Netzwerk zu sammeln. Als Reaktion antworten benachbarte FE/CE
mit einer Liste von ihnen bekannten CE 502. Jedes CE 502 in der
Liste ist auch mit einer bekannten Quellen-Route zu dem CE 502 von
dem benachbarten FE/CE assoziiert. Durch Assoziieren jedes Eintrags
mit einem Time-to-Live-Parameter
wird sichergestellt, daß CE-502-Informationen
periodisch mit dem besten Weg zum Erreichen des CE 502 aufgefrischt
werden. Jeder Knoten verwendet die Quellen-Route mit dem kürzesten
Sprungzählwert,
um ein CE 502 zu kontaktieren. Der Entdeckungsprozeß läuft in einem
gemäß der beispielhaften
SoftRouter-Architektur ausgelegten Netzwerk die ganze Zeit ab.
-
Jedem
FE 506 wird vom Netzwerkadministrator während der Planung ein Primär-CE und
mindestens ein Backup-CE zugewiesen. Diese Informationen werden
in den CE 502 und wahlweise in den FE 506 konfiguriert.
Diese Zuweisung erfolgt typischerweise a priori durch Berücksichtigung
von Faktoren wie etwa der Auslastung des CE 502, der Distanz
zwischen CE 502 und FE 506 und der Zuverlässigkeit
der Strecken zwischen ihnen. Wenn somit ein CE 502 von
einem FE 506 kontaktiert wird, teilt das CE 502 dem
FE 506 die Identität
seines Primär-CE und
Backup-CE mit, wenn diese Informationen verfügbar sind, oder akzeptiert
das FE 506, wenn es dazu in der Lage ist. Bei Nichtannahme
kontaktiert das FE 506 dann sein Primär-CE oder Backup-CE.
-
Der
Assoziationsprozeß versucht,
eine aktive Assoziation zwischen einem FE 506 und seinem Primär-CE und
Backup-CE herzustellen und aufrechtzuerhalten. Das Verwaltungs-CE
wird von dem FE 506 aus einer Liste aktiv assoziierter
CE 502 ausgewählt,
wobei das Primär-CE zu allen Zeiten
anderen CE 502 vorgezogen wird.
-
Das
dynamische Bindungsprotokoll besitzt Mechanismen zum Erkennen und
Reparieren von Assoziationsausfällen.
-
Nachdem
eine Assoziation zwischen dem FE 506 und einem CE 502 hergestellt
ist, wird die Belebtheit der Assoziation periodisch durch von dem
FE 506 eingeleitete Herzschlagnachrichten sondiert. Wenn
Herzschlagnachrichten zu keinerlei Antworten von dem CE 502 führen, folgt
daraus, daß entweder der
Weg zu dem CE 502 nicht mehr gültig ist oder daß der CE-502-Knoten
nicht mehr lebt. Ein CE 502 kann sich ohne Bestätigung von
dem FE 506, die die Änderung
akzeptiert, nicht von einem CE 502 disassoziieren. Dies
gilt auch für
ein FE 506, das eine Änderung
der Verwaltungs-CE wünscht.
-
Es
gibt ein beispielhaftes Verfahren für Protokoll-Failover für Ausführungsformen der beispielhaften
SoftRouter-Architektur. Dieses Protokoll-Failover basiert auf zuverlässiger Nachrichtenübergabe.
Bei diesem beispielhaften Verfahren des Protokoll-Failover gibt
es für
jedes Protokoll eine Liste von CE 502. Diese Liste wird
protokollweise geführt.
Zu Protokollen gehören
zum Beispiel OSPF, IS-IS, EIGRP (Enhanced Interior Gateway Routing Protocol),
RIP (Routing Information Protocol) und andere Routingprotokolle.
Bei anderen Ausführungsformen
sind die Listen über
Protokolle hinweg identisch. Zu einem beliebigen Zeitpunkt verwaltet
nur ein CE aktiv das FE 506. Dieses CE wird als Aktiv-Protokoll-CE,
z.B. Aktiv-OSPF-CE, bezeichnet. Andere CE 502 werden als
Backup-Protokoll-CE
bezeichnet. Alle Protokoll-CE führen
im Namen eines FE 506 die Protokollinstanz aus. Das FE 506 sendet
zuverlässig ankommende
Protokollnachrichten zu allen CE 502. Das Aktiv-Protokoll-CE
erzeugt periodische Checkpunkte. Checkpunkte werden durch das FE 506 zuverlässig zu
allen Backup-CE propagiert. Checkpunkte sind nützlich zum Aktualisieren des
Protokollzustands bei der Behebung nach einem Ausfall. Nach der
Behebung eines Protokoll-CE führt
das Aktiv-Protokoll-CE Synchronisation aus. Protokollausfall wird
durch das FE 506 eingeleitet.
-
7 zeigt
beispielhafte Listen von Aktiv-Protokoll-CE und Backup-CE für ein beliebiges FE 506,
FE n 700. Für
ein Protokoll, Protokoll i 702, besitzt FE n 700 eine
Liste von Aktiv-Protokoll-CE 704 und eine Liste von Backup-CE 706.
Für ein
anderes Protokoll, Protokoll j 708, besitzt das FE n 700 auch eine
Liste von Aktiv-Protokoll-CE 709 und
eine Liste von Backup-CE 710. Das FE n 700 kann
auch Listen für
andere Protokolle besitzen. Im allgemeinen werden die Listen von
Aktiv-Protokoll-CE 704, 709 und Backup-CE 706, 710 protokollweise
geführt.
Jedem FE 506 wird bei seiner Konfiguration ein Primär-CE und
eine Liste von Sekundär-CE
zugewiesen. Das CE 502, das zu einem beliebigen bestimmten
Zeitpunkt das FE 506 verwaltet, wird als das Aktiv-Protokoll-CE
bezeichnet. Alle anderen arbeitenden CE 502 in der Menge
von Primär-CE
und Sekundär-CE werden
als Backup-CE bezeichnet.
-
8 zeigt
eine beispielhafte Hierarchie von Mengen. Eine Verwaltungsmenge 800 ist
eine Menge aller CE 502 in einem Netzwerk. Die Verwaltungsmenge 800 enthält außerdem eine
Admin-Menge 802 für
jedes bestimmte Protokoll. Die Admin-Menge 802 enthält eine
Menge 804 von Aktiv-Protokoll-CE und eine Menge 806 von
Backup-CE für
ein bestimmtes Protokoll. Die Verwaltungsmenge 800 enthält ein Primär-CE 804 (Menge
von eins) und eine Menge von Sekundär-CE 806 für ein bestimmtes
FE 506. Das protokollspezifische Aktiv-Protokoll-CE und
die Menge von Backup-CE wird als Admin-Menge 802 eines
gegebenen Protokolls für
das bestimmte FE 506 bezeichnet und die Admin-Menge 802 ist
eine Teilmenge der Verwaltungsmenge 800. Die Admin-Menge 802 ist
protokollspezifisch und konfigurierbar. Zum Beispiel kann OSPF eine
andere Admin-Menge 802 als BGP an einem bestimmten FE 506 aufweisen.
Ein Entdeckungsprotokoll versucht, einen Herzschlag zwischen einem
FE 506 und allen CE 502 in der Verwaltungsmenge 800 herzustellen.
-
Wenn
ein Herzschlag existiert und wenn eine bestimmte Protokollnachrichten
durch ein CE 502 bestätigt
werden, kommt dieses CE 502 in die Admin-Menge 802 für dieses
Protokoll.
-
Bei
diesem beispielhaften Verfahren des Protokoll-Failover stellt ein Entdeckungsprotokoll
einen grundlegenden Herzschlag zwischen einem FE 506 und
allen Protokoll-CE her. Aus der Herzschlagexistenz folgt, daß ein gültiger Kommunikationsweg zwischen
einem FE 506 und CE 502 existiert. Aus Herzschlagausfall
folgt, daß ein
Ausfall des Kommunikationsweges vorliegt. Dieses beispielhafte Verfahren
des Protokoll-Ausfalls
gilt für
Protokolle, die nachrichtenweise operieren (z.B. OSPF, IS-IS, RIP, EIGRP),
anstatt stream-weise (z.B. BGP). Andere Ausführungsformen können angepaßt werden,
um Protokolle abzuwickeln, die stream-weise operieren. Alle für ein FE 506 bestimmten
Routing-Protokoll-Nachrichten von seinen Peers erreichen durch dieses
FE 506 hindurch die Protokoll-CE. Es werden keine anderen Routen zu
den Protokoll-CE verwendet, weil die Zieladresse die des FE 506 ist.
Der Prozeß des
Routing-Tabellenmanagers (RTM) ist dem Protokollprozeß ähnlich.
Der RTM-Prozeß aktualisiert
die FIB auf dem FE 506. Eingaben für den RTM-Prozeß sind Ausgaben
des Routing-Tabelleneintrags (RTE) aus den verschiedenen Protokollprozessen,
z.B. ISPF, BGP. Alle Nachrichten von dem FE 506 zu Protokoll-CE
und umgekehrt tragen Sequenznummern zur Ordnung der Nachrichten.
-
Bei
diesem beispielhaften Verfahren des Protokoll-Failover sind drei Arten von Nachrichten
an einem FE 506 zu sehen: ankommende Routing-Protokoll-Nachrichten,
abgehende Routing-Protokoll-Nachrichten und Wartungsnachrichten.
Ankommende Routing-Protokoll-Nachrichten stammen aus anderen FE 506 oder
von CE 502 im Namen anderer FE 506. Abgehende
Routing-Protokoll-Nachrichten werden von einem Aktiv-Protokoll-CE
zu anderen FE 506 gesendet. Zu Wartungsnachrichten gehören Herzschläge, Failovers,
Checkpunkte und Neu-sync. Ankommende Routing-Protokoll-Nachrichten
werden durch das FE 506 zu allen Protokoll-CE gesendet. Nachrichten
werden zuverlässig
gesendet, zum Beispiel unter Verwendung von SCTP (Stream Control Transmission
Protocol) oder TCP (Transmission Control Protocol). Jede Routing-Nachricht
besitzt eine durch das FE 506 gegebene Nachrichtennummer.
Nachrichten werden von allen Protokoll-CE bestätigt. An die gesamte Kommunikation
zwischen einem FE 506 und CE 502 wird eine Herzschlagnachricht
angehängt
und enthält
die aktive Protokoll-CEID. Herzschläge sind protokollspezifisch.
Dies ist von dem Entdeckungs-Protokoll-Herzschlag verschieden, mit
dem ein generischer CE-502-Knotenausfall erkannt wird.
-
9 zeigt
ein beispielhaftes Protokoll-Overlay für Failover. Dieses beispielhafte
Verfahren des Protokoll-Failover
enthält
ein als S-PROF (Seamless Protocol Overlay for Failover) bezeichnetes
Protokoll-Overlay zur Ermöglichung
von Failover. Alle CE 502 führen einen Routing-Protokoll-Prozeß 904 und
einen S-PROF-Prozeß 906 sowie
einen Entdeckungsprotokoll-/IP-Prozeß 908 aus. Dies schließt das Aktiv-Protokoll-CE 900 und
Backup-Protokoll-CE 902 ein. Der S-PROF-Prozeß 906 behandelt
Zuverlässigkeits-
und Failover-Wartungsprobleme. Routing-Protokoll-Prozesse 904 sind
in bezug auf den Failover-/S-PROF-Prozeß agnostisch. Alle CE 502 empfangen
eine Kopie jeder ankommenden Protokollnachricht. Ein FE 506 kann
diese multicasten oder einen Copy-und-Unicast-Ansatz verwenden. Alle
Routing-Protokoll-Nachrichten
werden bestätigt (SCTP/TCP).
Ankommende Routing-Protokoll-Nachrichten werden durch den S-PROF-Overlay-Prozeß gespeichert.
Ein S-PROF-Kopfteil
verkapselt alle Routing-Nachrichten, einschließlich der ankommenden und der
abgehenden Routing-Nachrichten. S-PROF verkapselt abgehende Routing-Protokoll-Nachrichten
(von dem CE 502), wenn das CE 502 ein Aktiv-Protokoll-CE 900 ist.
Abgehende Nachrichten von einem Backup-Protokoll-CE 902 werden in
dem S-PROF-Prozeß 906 abgeworfen,
und es wird ein leeres S-PROF-Paket zu dem FE 506 gesendet. Der
S-PROF-Prozeß in dem
FE 506 empfängt
Routing-Protokoll-Nachrichten
nur von dem Aktiv-Protokoll-CE 900. Ein Protokoll-Herzschlag
ist Teil jeder S-PROF-Nachricht.
-
Ein
beispielhaftes Nachrichtenformat für von einem FE 506 zu
einem CE 502 gesendete S-PROF-Nachrichten enthält die folgenden
Felder: Quellen-FEID, Ziel-CEID, Routing-Protokollkennung, S-PROF-Sequenznummer
der Nachricht (aus der SCTP-Verbindung), Checkpunkt-Nachrichtenkennung,
CEID des Aktiv-Protokoll-CE und gegebenenfalls beigefügte Protokollnachricht.
-
Ein
beispielhaftes Nachrichtenformat für S-PROF-Nachrichten, die von einem CE 502 zu
einem FE 506 gesendet werden, enthält die folgenden Felder: Quellen-CEID, Ziel-FEID,
Routing-Protokollkennung, S-PROF-Sequenznummer
der Protokollnachricht, die bestätigt
wird, Checkpunkt-Nachrichtenkennung, CE-502-Zustandskennung
(z.B. Aktiv, Backup, Neu-sync.), Protokollnachricht (genau dann, wenn
das Quellen-CE 502 das Aktiv-Protokoll-CE ist) und Weiterleitungs-Flags.
Weiterleitungs-Flags zeigen an, zu wem eine Ausgangsroutingprotokollnachricht
weitergeleitet werden soll. Um zwischen Nachrichten zu unterscheiden,
die zu anderen Routing-Peers, anderen Protokoll-CE und anderen Protokollprozessen
(z.B. RTM-Prozeß)
ausgesendet werden.
-
Bei
diesem beispielhaften Failover-Prozeß sind Eingaben des Routing-Protokolls
die Routing-Nachrichten. Manuelle Umkonfigurationsänderungen
in einem Protokoll-CE
werden zu anderen Protokoll-CE übermittelt.
Das Aktiv-Protokoll-CE aktualisiert ein FE 506, das dann andere
aktualisiert. Es besteht zuverlässiger
Transfer, um sicherzustellen, daß Eingaben über alle Protokoll-CE hinweg
einheitlich sind. Neuübertragungen
werden durch ein FE 506 auf der Basis der S-PROF-Sequenznummer
eingeleitet. Wenn ein Protokoll-CE nach einer vorbestimmten Anzahl
von Neuversuchen eine Neuübertragung
nicht bestätigt,
wird das CE 502 aus der Backup-CE-Liste abgeworfen. Routing-Protokoll-Prozeßausfall
ist erkennbar. Ein CE 502 sendet eine S-PROF-Nachricht nur dann, wenn eine Ausgangsnachricht
von dem Routing-Protokoll-Prozeß vorliegt.
S-PROF-Nachrichten
von dem Backup-Protokoll-CE sind leer. Das Fehlen von S-PROF-Nachrichten
zeigt an, daß der
Routing-Protokoll-Prozeß auf
dem CE 502 ausgefallen ist.
-
Ein
FE 506 leitet Failover ein. Es gibt viele Ausfallmöglichkeiten,
darunter die folgenden drei Fälle:
(1) das Aktiv-Protokoll-CE wird betriebsunfähig, (2) alle Kommunikationswege
zwischen dem Aktiv-Protokoll-CE und dem FE 506 werden betriebsunfähig und
(3) ein Protokollprozeß auf
dem Aktiv-Protokoll-CE fällt
aus. Die ersten beiden Fälle
werden durch das Protokoll (z.B. BLDP) identifiziert, und der dritte
Fall wird durch fehlende S-PROF-Nachrichten von dem CE 502 identifiziert.
In allen drei Fällen schaltet
das FE 506 auf eines der Backups um. Das FE 506 wählt ein
Backup-Protokoll-CE
und verwandelt es in Aktiv-Status. Allen Protokoll-CE wird durch die
Aktiv-Protokoll-CEID in S-PROF-Nachrichten eine
Mitteilung gegeben. Der S-PROF-Prozeß in dem
Backup-Protokoll-CE sieht die Änderung
und beginnt damit, Nachrichten von dem Routing-Protokoll-Prozeß einzukapseln, ohne ihn zu
verwerfen. Das erstere Aktiv-Protokoll-CE weiß von der Änderung, wenn der Protokollprozeß wieder
beginnt, anzusprechen. Auch wenn das Backup-Protokoll-CE in der
Zwischenzeit etwaige Nachrichten sendet, ignoriert das FE 506 alle Routing-Protokoll-Nachrichten von
dem Backup-Protokoll-CE.
-
Wenn
ein Aktiv-Protokoll-CE ausfällt, übernimmt
das Backup-Protokoll-CE als Aktiv-Protokoll-CE. Alle CE 502 sind
sich über Änderungen
unmittelbar bei Empfang der nächsten
Nachricht von dem FE 506 bewußt. Bei einem Ausfall geht
der Behebungsprozeß folgendermaßen vor.
Der CE-502-Knoten oder CE-Prozeß erholt sich von dem Ausfall
(zusammen mit dem S-PROF-Prozeß).
Bei Empfang der nächsten
Protokollnachricht von dem Ausfall ist sich das Backup-Protokoll-CE über das derzeitige
Aktiv-Protokoll-CE
und den letzten Checkpunkt bewußt.
Da Nachrichten durch S-PROF in nichtflüchtigem Speicher gespeichert
werden, können
bestimmte Nachrichten wiederhergestellt werden. Die unbekannten
Nachrichten (auf der Basis von S-PROF-Sequenznummern) werden durch
die zuverlässige
Verbindung zwischen dem FE 506 und dem CE 502 und
mit Hilfe des derzeitigen Aktiv-Protokoll-CE wiederhergestellt.
Neu-sync.-Nachrichten stammen entweder aus dem Aktiv-Protokoll-CE
oder dem FE 506 (je nach Entwurfswahl). Bis das CE 502 synchronisiert
ist, befindet sich das CE 502 in einem Neu-sync.-Zustand.
Nach der Synchronisation wechselt das CE 502 zu dem Backup-Zustand.
-
Bei
diesem beispielhaften Verfahren des Protokoll-Failover ist ein Checkpunkt eine spezifische
S-PROF-Nachrichtennummer.
Alle S-PROF-Nachrichtennummern, die kleiner als der Checkpunkt sind,
sind irrelevant. Das Protokoll-CE führt einen pro-FE-506-Checkpunkt.
Alle Protokoll-CE werden für
diejenigen S-PROF-Nachrichten, die neuer als der letzte Checkpunkt
sind, synchronisiert. Das Aktiv-Protokoll-CE prüft einen Checkpunkt und übermittelt
ihn zu allen CE 502. Dies ist ein durch eine Prozedur,
die während
der Initialisierung konfiguriert wird, zu bestimmender protokollspezifischer Checkpunkt.
Das FE 506 muß die Einzelheiten
des Protokolls nicht kennen, damit er immer noch ein generischer
Dienst ist. Checkpunkt-Informationen
und die Aktiv-Protokoll-CEID sind in allen zu den Backup-Protokoll-CE
gesendeten Protokollnachrichten enthalten. Das Backup-Protokoll-CE
fordert für
alle fehlenden Nachrichten seit dem letzten Checkpunkt bei Ausfallbehebung
bzw. Rebnot Neuübertragung von
dem Aktiv-Protokoll-CE an. Die gesamte Kommunikation zwischen dem
Aktiv-Protokoll-CE und dem Backup-CE erfolgt über das FE 506. Bei
bestimmten Ausführungsformen
speichert das FE 506 Nachrichten für Neu-sync., wenn nichtflüchtige Speicherung
verfügbar
ist. Zum Beispiel läßt OSPF
Zusammenfassungs-LSA alle 30 Minuten senden, und alle 60 Minuten
kann ein neuer Checkpunkt eingerichtet werden, wodurch Backup-Synchronisations-Overhead
verringert wird.
-
Dieses
beispielhafte Verfahren des Protokoll-Failover behandelt mehrere
Einheitlichkeitsprobleme: Das Ausfallen und Sich-Erholen von CE-502-Knoten
bzw. -Prozessen ist schnell (Thrashing), in der Backup-Protokoll-CE-Liste
gehen für verschiedene
CE 502 verschiedene Nachrichten verloren, und Leistungsfähigkeit
unter starker Belastung. Um Thrashing zu behandeln, behält dieses
beispielhafte Verfahren ein ausreichendes Intervall vor dem Zurückwechsel
zu dem bevorzugten CE 502. Außerdem wird ein zuverlässiges Transportprotokoll (z.B.
STCP/TCP) verwendet, um Neusync. sicherzustellen, für schnellere
Neusynchronisation wird nichtflüchtige
Speicherung in CE 502 verwendet und Checkpunkte helfen
bei der Vermeidung großer Neu-sync.-Lasten.
Zur Behandlung von Nachrichtenverlusten wird ein zuverlässiger Transport
verwendet. Wenn für
bestimmte CE 502 große
Verluste bestehen, wechselt dieses beispielhafte Verfahren zu dem
Neu-sync.-Zustand, um Uneinheitlichkeit zu vermeiden. Die Entfernung
aus der Backup-Liste stellt auch Neu-sync. in einer späteren Phase
sicher. Um Überlastung
zu behandeln, führen
alle CE 502 in der Backup-Liste Protokollinstanzen für das FE 506 aus. Unter
starker Belastung ist eine Verschlechterung der Leistungsfähigkeit
möglich
und wird durch Vergeben einer niedrigen Priorität an Backup-Prozesse auf diesen
CE 502 vermindert.
-
S-PROF
kann als generischer Dienst implementiert werden. Protokollspezifische
Instanziierungen können
je nach Bedarf erfolgen. Gemäß jedem Protokoll
können
Timer gesetzt werden, und das Verhalten von Weiterleitungs-Flags
kann variabel sein. S-PROF interagiert mit dem RTM-Prozeß. Der RTM-Prozeß kann auch
ausfallen und erfordert daher Hot-Standby, um zuverlässig zu
sein. Wenn der RTM-Prozeß mit
dem Routing-Protokoll-Prozeß koexistiert,
benachrichtigt das FE 506 den S-PROF-Prozeß in diesem CE 502.
Andernfalls richtet S-PROF
in dem Aktiv-Protokoll-CE Weiterleitungs-Flags ein, die das FE 506 benachrichtigen,
RTM-Aktualisierungen entsprechend
weiterzuleiten.
-
10 ist
ein Sequenzdiagramm eines beispielhaften Failover-Szenarios, bei
dem zuerst ein Herzschlag existiert, Checkpunkte erzeugt werden, der
Herzschlag ausfällt
und das Backup-Protokoll-CE zu dem neuen Aktiv-Protokoll-CE wird,
das ausgefallene Aktiv-Protokoll-CE
bootet und sich mit dem neuen Aktiv-Protokoll-CE synchronisiert, um zu dem neuen
Backup-CE zu werden.
-
Es
gibt ein beispielhaftes Verfahren für ein FE-eingeleitetes Failover. Ein FE 506 tauscht
Protokoll-Herzschläge (oder
etwaige Nachrichten) periodisch mit dem Aktiv-Protokoll-CE aus.
Es gibt drei Ausfallmöglichkeiten:
das Aktiv-Protokoll-CE wird betriebsunfähig, alle Kommunikationswege
zwischen dem Aktiv-Protokoll-CE und dem FE 506 werden betriebsunfähig oder
der Protokollprozeß auf
dem Aktiv-Protokoll- CE
fällt aus.
Wenn keine Antwort von dem CE 502 (z.B. etwaige Bestätigungen
oder Nachrichten) kommt, entfernt das FE 506 das Aktiv-Protokoll-CE
aus der Admin-Menge und leitet ein Failover zu einem der Backup-CE
der Admin-Menge ein. Das Backup-Protokoll-CE antwortet dem FE 506 mit
der Anzeige, daß es
bereit ist. Das FE 506 sendet eine Nachricht zu allen Protokoll-CE,
wodurch Failover zu einem Backup-Protokoll-CE signalisiert wird.
Das Backup-Protokoll-CE antwortet mit einer Bestätigung, daß es nun das Aktiv-Protokoll-CE
ist.
-
Es
gibt ein beispielhaftes Verfahren für Failover in einem CE 502.
Das Backup-Protokoll-CE übernimmt
bei einem Ausfall als Aktiv-Protokoll-CE. Angesichts der Tatsache,
daß das
neue Aktiv-Protokoll-CE alle Protokollnachrichten vom letzten bekannten
Checkpunkt besitzt und Protokollnachrichten der Reihe nach verarbeitet,
kommt das neue Aktiv-Protokoll-CE schnell an dem aktuellen Protokollzustand
an. Der S-PROF-Prozeß in
dem neuen Aktiv-Protokoll-CE beginnt mit dem Verkapseln der Nachrichten
zu dem FE 506, statt es abzuwerfen. Dieser aktuelle Zustand
wird nun dazu verwendet, dem Routing-Tabellenmanager Informationen
auf dem neuesten Stand zu geben.
-
11 ist
ein Blockschaltbild auf hoher Ebene eines Computers. Der Computer 1100 kann
zur Implementierung von Ausführungsformen
der vorliegenden Erfindung benutzt werden. Der Computer 1100 umfaßt einen
Prozessor 1130 und einen Speicher 1140 zum Speichern
verschiedener Programme 1144 und Daten 1146. Der
Speicher 1140 kann außerdem
ein die Programme 1144 unterstützendes Betriebssystem 1142 speichern.
-
Der
Prozessor 1130 kooperiert mit herkömmlichen Hilfsschaltkreisen,
wie zum Beispiel Stromversorgungen, Taktschaltungen, Cache-Speicher
und dergleichen, sowie mit Schaltungen, die bei der Ausführung der
in dem Speicher 1140 gespeicherten Softwareroutinen helfen.
Folglich wird in Betracht gezogen, daß bestimmte der hier als Softwareverfahren besprochenen
Schritte in Hardware zum Beispiel als Schaltkreise, die mit dem
Prozessor 1130 kooperieren, um verschiedene Verfahrensschritte
auszuführen,
implementiert werden können.
Der Computer 1100 kann auch Schaltkreise für Eingabe/Ausgabe (E/A)
enthalten, die eine Schnittstelle zwischen den verschiedenen mit
dem Computer 1100 kommunizierenden Funktionselementen bilden.
-
Obwohl
der Computer 1100 als ein Allzweckcomputer abgebildet ist,
der dafür
programmiert ist, verschiedene Funktionen gemäß der vorliegenden Erfindung
auszuführen,
kann die Erfindung in Hardware implementiert werden, zum Beispiel
als ASIC (anwendungsspezifische integrierte Schaltung) oder FPGA
(Field Programmable Gate Array). Folglich sollen die hier beschriebenen
Prozeßschritte
allgemein als äquivalent
durch Software, Hardware oder eine Kombination davon ausgeführt interpretiert
werden.
-
Die
vorliegende Erfindung kann als ein Computerprogrammprodukt implementiert
werden, wobei Computeranweisungen, wenn sie durch einen Computer
verarbeitet werden, die Funktionsweise des Computers dergestalt
anpassen, daß die
Verfahren und/oder Techniken der vorliegenden Erfindung aufgerufen
oder anderweitig bereitgestellt werden. Anweisungen zum Aufrufen
der erfindungsgemäßen Verfahren
können
in festen oder Wechselmedien gespeichert, über einen Datenstrom in einem
Ausstrahlungsmedium oder einem anderen Signalträgermedium übertragen und/oder in einem
Arbeitsspeicher in einer Datenverarbeitungseinrichtung, die gemäß den Anweisungen
operiert, gespeichert werden.
-
Obwohl
das Obige verschiedene Ausführungsformen
der vorliegenden Erfindung betrifft, können andere und weitere Ausführungsformen
der Erfindung konzipiert werden, ohne von deren grundlegendem Schutzumfang
abzuweichen. Folglich ist der entsprechende Schutzumfang der Erfindung
gemäß den folgenden
Ansprüchen
zu bestimmen.