-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft die Mobile IP Netzwerk-Technologie.
Im Besonderen betrifft die vorliegende Erfindung die Ermöglichung
einer dynamischen Home Agent Zuweisung im Mobile IP mittels eines
Clusters von Home Agents.
-
2. Beschreibung des Standes
der Technik
-
Mobile
IP ist ein Protokoll, das es Laptop-Computern oder anderen mobilen
Computereinheiten (die hier als "Mobile
Nodes" (mobile Knoten) bezeichnet
werden) erlaubt, zwischen verschiedenen Teilnetzen an verschiedenen
Orten umherzuwandern, während
ihre Internet- und/oder WAN-Konnektivität aufrecht
erhalten wird. Ohne Mobile IP oder ein verwandtes Protokoll würde ein
Mobile Node nicht in der Lage sein, verbunden zu bleiben, während er durch
verschiedene Teilnetze wandert. Dies liegt daran, dass die IP-Adresse,
die für
jeden Knoten benötigt
wird, um über
das Internet kommunizieren zu können,
ortspezifisch ist. Jede IP-Adresse weist ein Feld auf, das das spezielle
Teilnetz spezifiziert, in dem sich der Knoten befindet. Wenn ein
Benutzer es wünscht,
einen Computer, der normalerweise an einem Knoten angeschlossen
ist, zu nehmen und mit diesem umherzuwandern, so dass dieser verschiedene
Teilnetze durchwandert, kann er nicht seine Home Base IP Adresse
verwenden. Als Folge davon kann ein Geschäftsmann oder eine Geschäftsfrau, der/die
quer durch das Land reist, nicht einfach mit seinem bzw. ihrem Computer
durch geographisch völlig
verschiedene Netzsegmente oder drahtlose Knoten wandern (roamen),
während
sie über
das Internet verbunden bleiben. Dies ist im Zeitalter der tragbaren
Computergeräte
kein akzeptabler Zustand.
-
Um
dieses Problem anzugehen, wurde das Mobile IP Protokoll entwickelt
und implementiert. Eine Implementierung des Mobile IP ist in RFC
2002 der IP Routing for Wireless/Mobile Hosts Working Group, C.
Perkins, Herausgeber, Oktober 1996 beschrieben. Mobile IP ist auch
in dem Text "Mobile
IP Unplugged" von
J. Solomon, Prentice Hall, beschrieben.
-
Der
Mobile IP Prozess und die Mobile IP Umgebung sind in 1 veranschaulicht.
Wie dort gezeigt ist, umfasst eine Mobile IP Umgebung 2 das
Internet (oder ein WAN) 4, über das ein Mobile Node 6 über die
Vermittlung durch einen Home Agent 8 und einen Foreign
Agent 10 fernkommunizieren kann. Typischerweise sind der
Home Agent (Heimatagent) und der Foreign Agent (Fremdagent) Router
oder andere Netzwerkverbindungsvorrichtungen, die zweckmäßige Mobile
IP Funktionen durchführen,
wie sie durch Software, Hardware und/oder Firmware implementiert
sind. Ein bestimmter Mobile Node (z. B. ein Laptop), der an sein
Heimatnetzsegment angeschlossen ist, verbindet sich mit dem Internet
durch seinen designierten Home Agent. Wenn der Mobile Node umherwandert,
kommuniziert er über
das Internet durch einen verfügbaren
Foreign Agent. Wie man annehmen muß, gibt es viele Foreign Agents,
die an geographisch sehr unterschiedlichen Standorten zur Verfügung stehen,
um eine weit ausgedehnte Internet-Verbindung über das Mobile IP Protokoll
zu erlauben. Es sei angemerkt, dass es für den Mobile Node auch möglich ist,
sich direkt bei seinem Home Agent zu registrieren.
-
Wie
in 1 gezeigt ist, befindet sich der Mobile Node 6 normalerweise
in einem Netzsegment 12 (bzw. ist dort "stationiert"), welches es seinen Netzentitäten erlaubt, über das
Internet 4 durch den Home Agent 8 (einen entsprechend
konfigurierten Router, der mit R2 bezeichnet ist) zu kommunizieren. Es
sei angemerkt, dass der Home Agent 8 nicht direkt an dem
Internet angeschlossen sein muß.
Zum Beispiel kann er, wie in 1 gezeigt
ist, durch einen anderen Router (einen Router R1 in diesem Fall)
damit verbunden sein. Der Router R1 kann wiederum einen oder mehrere
andere Router (z. B. einen Router R3) mit dem Internet verbinden.
-
Nun
sei angenommen, dass sich der Mobile Node 6 aus seinem
Home Base Netzsegment 12 entfernt und zu einem fernen Netzsegment 14 überwechselt.
Das Netzsegment 14 kann verschiedene andere Knoten (Nodes)
wie etwa einen PC 16 enthalten. Die Knoten in dem Netzsegment 14 kommunizieren
mit dem Internet durch einen Router, der auch als ein Foreign Agent 10 arbeitet.
Der Mobile Node 6 kann den Foreign Agent 10 durch
verschiedene Agent Solicitations (Agent-Abrufe) und Agent Advertisements
(Agent-Bekanntmachungen)
identifizieren, die Teil des Mobile IP Protokolls bilden.
-
Wenn
der Mobile Node 6 mit dem Netzsegment 14 in Eingriff
kommt, erstellt er eine Registrierungsanforderung für den Home
Agent 8, um den augenblicklichen Standort des Mobile Node
mit seinem Heimatstandort zu verknüpfen. Der Foreign Agent 10 überträgt dann
die Registrierungsanforderung zu dem Home Agent 8 (wie
mit der gestrichelten Linie "Registrierung" angegeben ist).
Während
des Registrierungsprozesses können
der Home Agent und der Mobile Node 6 dann die Bedingungen
für das
Anschließen
des Mobile Node an dem Foreign Agent 10 aushandeln. Zum
Beispiel kann der Mobile Node 6 eine Registrierungslebensdauer
von 5 Stunden anfordern, aber der Home Agent 8 gewährt vielleicht
nur einen 3-stündigen
Zeitraum. Deshalb kann die Verbindung auf einen bestimmten Zeitraum
begrenzt sein, Wenn die Verhandlung erfolgreich abgeschlossen ist,
aktualisiert der Home Agent 8 eine interne "Mobilitätsverbindungstabelle" (Mobility Binding
Table), die den aktuellen Standort des Mobile Node über seine
Care-of-Adresse (c/o-Adresse) (z. B. eine zusammengestellte Care-of-Adresse
oder die IP-Adresse des Foreign Agent) mit der Identität (z. B. Heimatadresse)
des Mobile Node 6 verknüpft.
Des Weiteren aktualisiert der Foreign Agent 10 dann, wenn
sich der Mobile Node 6 über
einen Foreign Agent registriert hat, eine interne "Besuchertabelle", die die Adresse
des Mobile Node, die Adresse des Home Agent, etc., spezifiziert.
Tatsächlich
ist die Home Base IP-Adresse des Mobile Node (die mit dem Segment 12 assoziiert
ist) mit der Care-of-Adresse wie etwa der IP-Adresse des Foreign Agent
(die mit dem Segment 14 assoziiert ist) verbunden worden.
-
Nun
sei angenommen, der Mobile Node 6 möchte eine Nachricht zu einem
Korrespondenzknoten (Correspondent Node) 18 von seinem
neuen Standort aus senden. Eine Ausgangsnachricht von dem Mobile
Node wird dann paketiert und durch den Foreign Agent 10 über das
Internet 4 in Übereinstimmung
mit einem Standard-Internetprotokoll zu dem Korrespondenzknoten 18 weitergeleitet
(wie dies durch die gestrichelte Linie "Paket vom MN" angezeigt ist). Wenn der Korrespondenzknoten 18 eine Nachricht
zu dem Mobile Node senden möchte – entweder
als Antwort auf eine Nachricht von dem Mobile Node oder aus irgendwelchen
anderen Gründen – dann adressiert
er diese Nachricht an die IP-Adresse des Mobile Node 6 in
dem Teilnetz 12. Die Pakete dieser Nachricht werden dann über das
Internet 4 und zu dem Router R1 und schließlich zu
dem Home Agent 8 weitergeleitet, wie dies von der gestrichelten Linie
("Paket zu MN(1)") angezeigt ist.
Aus seiner Mobilitätsver bindungstabelle
erkennt der Home Agent 8, dass der Mobile Node 6 nicht
mehr länger mit
dem Netzsegment 12 verbunden ist. Er kapselt dann die Pakete
von dem Korrespondenzknoten 18 (die zu dem Mobile Node 6 in
dem Netzsegment 12 adressiert sind) in Übereinstimmung mit einem Mobile
IP Protokoll ein und leitet diese eingekapselten Pakete zu einer "Care-of"-Adresse für den Mobile
Node 6 weiter, wie dies durch die gestrichelte Linie ("Paket zu MN(2)") gezeigt ist. Die
Care-of-Adresse kann zum Beispiel die IP-Adresse des Foreign Agent 10 sein.
Der Foreign Agent 10 streift die Einkapselung ab und leitet
die Nachricht zu dem Mobile Node 6 in dem Teilnetz 14 weiter.
Der Paketweiterleitungsmechanismus, der von den Home und Foreign
Agents implementiert wird, wird oft als "Tunnelung" bezeichnet.
-
Wie
oben angegeben worden ist, besitzt jeder Mobile Node einen designierten
Home Agent. Wie in RFC 2002 spezifiziert ist, ist ein Mobile Node mit
Informationen vorkonfiguriert, die seinen Home Agent identifizieren.
Außerdem
sind sowohl der Mobile Node als auch sein Home Agent mit einem gemeinsamen
Schlüssel
und einem Sicherheitsparameterindex (SPI; Security Parameter Index)
für den gemeinsamen
Schlüssel
vorkonfiguriert, was allgemein als eine Sicherheitsassoziation bezeichnet wird.
In ähnlicher
Weise ist jeder Home Agent mit Informationen vorkonfiguriert, die
Mobile Nodes, die er unterstützt,
sowie auch die entsprechenden Sicherheitsassoziationen identifizieren.
Auf diese Weise ist ein Mobile Node bei einem spezifischen Home
Agent "verankert", damit er in die
Lage versetzt wird, sich später
bei diesem Home Agent registrieren und Nachrichten über diesen
Home Agent von dem Korrespondenzknoten empfangen zu können.
-
Es
gibt verschiedene Nachteile, die mit dieser Vorabzuweisung eines
speziellen Home Agent zu einem Mobile Node verbunden sind. Zum Beispiel kann
der Mobile Node ein Funktelefon sein, das an der Westküste aktiviert
worden ist, und deshalb wird ihm ein Home Agent an der Westküste zugewiesen werden.
Aber der Benutzer dieses Funktelefons möchte zu der Ostküste reisen.
Deshalb wird sich, wenn der Mobile Node zu einem Foreign Agent überwechselt,
dieser Foreign Agent an der Ostküste
befinden. Natürlich
wird der Benutzer auf Grund der Vorabkonfiguration mit dem Home
Agent an der Westküste
verankert bleiben. In dem Fall, dass ein Korrespondenzknoten Pakete
zu einem mobilen Knoten sendet, die sich beide an der Ostküste befinden, muß der Verkehr
immer noch zu dem vorab zugewiesenen Home Agent an der Westküste wandern, damit
diese Pakete zu dem Mobile Node getunnelt werden. Als Folge davon
ist der Kommunikationsweg zwischen dem Mobile Node und dem Korrespondenzknoten,
die sich beide an der Ostküste
befinden, unnötig
lang. Folglich führt
die Vorabzuweisung eines Home Agent zu einem Mobile Node zu einer
weniger optimalen Performanz.
-
Ein
weiterer Nachteil der Vorabzuweisung eines spezifischen Home Agent
zu jedem Mobile Node ist die nichtdynamische Natur solcher Vorabzuweisungen.
Wie oben beschrieben worden ist, muß jeder Mobile Node und Home
Agent mit speziellen Informationen vorkonfiguriert sein, die jeden
Mobile Node bei einem spezifischen Home Agent verankern. Dies erfordert
es, dass die Konfigurationsinformationen vorzeitig bekannt sind,
sowie auch für
jede Vorrichtung manuell konfiguriert werden. Auf diese Weise ist
es selbst dann, wenn es viele Home Agents in einem einzigen Heimatnetz
gibt, unmöglich,
Registrierungsanforderungen dynamisch unter den Home Agents zu verteilen,
da jeder Home Agent statisch konfiguriert sein muß. Es wäre daher
von Nutzen, wenn ein "leicht
beladenen" Home
Agent die Last eines "schwer
beladenen" Home
Agent teilen könnte.
-
Im
Augenblick kann ein einzelner Home Agent (HA) bedingt durch Hardware-
und Software-Beschränkungen
bis zu etwa 500.000 Verbindungen (Bindings) unterstützen. Aber
Service Providers besitzen eine große Anzahl von Mobile IP Teilnehmern.
Ein einziger Service Provider besitzt typischerweise Millionen von
Mobile IP Teilnehmern. Leider kann ein einzelner Home Agent diesen
Bedarf nicht unterstützen.
Um dieses Problem zu lösen,
werden oftmals viele Home Agents verwendet. Aber selbst wenn viele
Home Agents implementiert werden, müssen die Mobile Nodes jeweils
mit einer einzigen Home Agent Adresse konfiguriert sein. Mit anderen Worten,
die Mobile Nodes sind mit separaten HA-Adressen konfiguriert. Diese
Lösung
erfordert daher eine große
Menge an verwaltungstechnischer Unterstützung und passt sich größenmäßig nicht
an die Zunahme der Mobile IP Teilnehmer an, die es wahrscheinlich
in der nahen Zukunft geben wird.
-
Die
EP 1134991 offenbart ein
Verfahren für die
Lastverteilung in einem Telekommunikationssystem, das Mobile IP
unterstützt,
in dem ein Mobile No de hauptsächlich
von einem primären
Home Agent unterstützt
wird, der Mobile IP Registrierungsanforderungen verarbeitet, aber
die Paketübertragung
zu dem Mobile Node kann, falls notwendig, über einen oder mehrere sekundäre Home
Agents stattfinden.
-
Angesichts
des Obigen wäre
es wünschenswert,
wenn eine besser skalierbare Lösung
entwickelt werden könnte,
die es Mobile IP Teilnehmern ermöglichen
würde,
von vielen Home Agents unterstützt
zu werden. Genauer gesagt wäre
es von Vorteil, wenn viele Home Agents verwendet werden könnten, um
gleichzeitig mehrere Mobile Nodes zu unterstützen, ohne dass die Mobile
Nodes mit einer spezifischen Home Agent Adresse konfiguriert sein müssen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung unterstützt
die Home Agent Clusterbildung. Dies wird gemäß den unabhängigen Ansprüchen durch
das Abfangen und das Routing von Registrierungsanforderungen und -antworten über einen
Haupt-Home Agent
in einer Vielzahl von Home Agents erzielt, der als ein Home Agent
Cluster Controller (HACC) bezeichnet wird. Auf diese Weise können Mobile
IP Teilnehmer von mehreren Home Agents anstatt nur von einem einzigen,
statisch konfigurierten Home Agent unterstützt werden.
-
In Übereinstimmung
mit einer Ausführungsform
der Erfindung empfängt
ein erster Home Agent einer Vielzahl von Home Agents, der als der
HACC bezeichnet wird, eine Mobile IP Registrierungsanforderung,
die an eine virtuelle Home Agent Adresse adressiert ist, die mit
der Vielzahl von Home Agents assoziiert ist. Die Mobile IP Registrierungsanforderung
wird dann zu einem zweiten Home Agent der Vielzahl von Home Agents
derart gesendet, dass der zweite Home Agent der Vielzahl von Home
Agents eine Verbindung (Binding) zwischen dem Mobile Node und dem
Foreign Agent erstellt. Der erste Home Agent der Vielzahl von Home
Agents erstellt eine temporäre
Verbindung zwischen dem Mobile Node und dem Foreign Agent. Eine
Mobile IP Registrierungsantwort wird dann von dem zweiten Home Agent
der Vielzahl von Home Agents empfangen. Die temporäre Verbindung
wird dann von dem ersten Home Agent der Vielzahl von Home Agents
aktualisiert, um eine permanente Verbindung zu erstellen, wenn die
Mobile IP Registrierungsantwort von dem zweiten Home Agent der Vielzahl
von Home Agents empfangen wird. Die Mobile IP Registrierungsantwort
wird dann zu dem Foreign Agent gesendet, der in der temporären Verbindung
identifiziert worden ist.
-
In Übereinstimmung
mit einer anderen Ausführungsform
der Erfindung kann der HACC einen Home Agent der zu einem Cluster
zusammengefügten
Home Agents vor der Weiterleitung einer Registrierungsanforderung
auswählen.
Dieser Auswahlprozess kann auf Belastungsinformationen und/oder Gesundheitszustandsinformationen
basieren, die mit den Home Agents in dem Home Agent Cluster assoziiert
sind. Auf diese Weise können
Registrierungsanforderungen derart verteilt werden, dass den Mobile
IP Teilnehmern der effizienteste und zuverlässigste Dienst bereitgestellt
wird.
-
In Übereinstimmung
mit noch einer anderen Ausführungsform
der Erfindung sind die Mobile Nodes mit der virtuellen Home Agent
Adresse als ihrem Home Agent konfiguriert und sind auch als sich
in einem virtuellen Netz befindend konfiguriert. In ähnlicher
Weise ist die Vielzahl von Home Agents mit einer virtuellen Home
Agent Adresse konfiguriert, die in dem virtuellen Netz bekannt gegeben
wird.
-
In Übereinstimmung
mit noch einer weiteren Ausführungsform
der Erfindung überwacht
der HACC den Gesundheitszustand der Home Agents in dem Home Agent
Cluster. Wenn er feststellt, dass einer der Home Agents nicht funktioniert,
sendet er Verbindungen für
den ausgefallenen Home Agent zu einem anderen Home Agent, wie etwa
einem Reserve-Home Agent. Zum Beispiel können die Verbindungen, die
gesendet werden, sowohl permanente als auch temporäre Verbindungen
umfassen. In ähnlicher
Weise kann der HACC auch periodisch alle Verbindungen (z. B. temporäre und permanente),
die von ihm verwaltet werden, zu einer Reserve senden, die im Falle
seines eigenen Versagens arbeiten kann.
-
In Übereinstimmung
mit noch einer anderen Ausführungsform
der Erfindung fängt
der HACC Pakete ab, die von einem Mobile Node zu einem Korrespondenzknoten
gesendet werden. Aber ein Korrespondenzknoten kann Pa kete auch direkt
zu dem Mobile Node ohne Intervention durch den HACC senden.
-
Verschiedene
Netzvorrichtungen (Netzgeräte)
können
für das
Abfangen, Erzeugen, Modifizieren und Senden von Paketen konfiguriert
oder ausgelegt sein, um die offenbarte Funktionalität zu implementieren.
Diese Netzvorrichtungen umfassen, sind aber nicht begrenzt auf Servers
(z. B. Hosts), Routers und Switches. Darüber hinaus kann die Funktionalität für die oben
erwähnten
Virtualisierungsprozesse sowohl in Software, als auch in Hardware
implementiert werden.
-
Die
Erfindung stellt auch ein Verfahren zur Verarbeitung einer Registrierungsanforderung,
wie dieses in den Ansprüchen
29 und 43 dargelegt ist, einen Home Agent, wie er in den Ansprüchen 44
und 46 dargelegt ist, und ein computerlesbares Medium, wie es in
den Ansprüchen
45 und 47 dargelegt ist, bereit.
-
Noch
eine andere Ausführungsform
der Erfindung betrifft Computerprogrammprodukte, die maschinenlesbare
Medien einschließen,
auf denen Programmanweisungen für
die Implementierung der oben beschriebenen Verfahren und Techniken
ganz oder teilweise bereitgestellt werden. Jedes der Verfahren der
vorliegenden Erfindung kann ganz oder teilweise als Programmanweisungen
repräsentiert werden,
die auf solchen maschinenlesbaren Medien bereitgestellt werden können. Außerdem betrifft
die Erfindung verschiedene Kombinationen und Anordnungen von Daten,
die so erzeugt und/oder verwendet werden, wie dies hier beschrieben
wird. Zum Beispiel sind Pakete, die das hier beschriebene Format aufweisen
und auf entsprechenden Medien bereitgestellt werden, ein Teil dieser
Erfindung.
-
Diese
und weitere Merkmale der vorliegenden Erfindung werden unten in
der ausführlichen
Beschreibung der Erfindung und in Verbindung mit den nachfolgenden
Figuren ausführlicher
beschrieben werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Diagramm eines Mobile IP Netzsegments und der assoziierten Umgebung.
-
2 ist
ein Blockdiagramm, das ein beispielhaftes System veranschaulicht,
in dem die vorliegende Erfindung implementiert werden kann.
-
3 ist
ein Prozessablaufdiagramm, das ein Verfahren zur Konfigurierung
des Mobile Node und der Home Agents in Übereinstimmung mit verschiedenen
Ausführungsbeispielen
der Erfindung veranschaulicht.
-
4 ist
ein Steuerungsablaufdiagramm, das ein Verfahren zur Verarbeitung
einer Registrierungsanforderung in Übereinstimmung mit verschiedenen
Ausführungsbeispielen
der Erfindung veranschaulicht.
-
5A ist
ein Diagramm, das eine beispielhafte Tabelle veranschaulicht, die
temporäre,
anhängige
Verbindungen in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung speichert.
-
5B ist
ein Diagramm, das eine beispielhafte Tabelle veranschaulicht, die
permanente Verbindungen in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung speichert.
-
6 ist
ein Datenflussdiagramm, das ein Verfahren zum Übertragen eines Datenpakets
zwischen einem Mobile Node und einem Korrespondenzknoten in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung veranschaulicht.
-
7 ist
ein Diagramm, das ein beispielhaftes System veranschaulicht, das
eine Home Agent Redundanz in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung bereitstellt.
-
8 ist
ein Diagramm, das eine beispielhafte Netzvorrichtung veranschaulicht,
in der Ausführungsbeispiele
der Erfindung implementiert werden können.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSBEISPIELE
-
In
der folgenden Beschreibung sind zahlreiche spezifische Einzelheiten
dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung bereitzustellen.
Es wird einem Fachmann auf dem Gebiet aber klar sein, dass die vorliegende
Erfindung ohne einige oder alle dieser spezifischen Einzelheiten
praktiziert werden kann. In anderen Fällen sind wohlbekannte Prozessschritte nicht
im Einzelnen beschrieben worden, um die vorliegende Erfindung nicht
unnötig
undeutlich zu machen.
-
2 ist
ein Blockdiagramm, das ein beispielhaftes System veranschaulicht,
in dem die vorliegende Erfindung implementiert werden kann. Die vorliegende
Erfindung ermöglicht
es, das eine Home Agent Clusterbildung implementiert werden kann. Wie
gezeigt ist, dient ein Haupt-Home Agent 202 als ein Home
Agent Cluster Controller für
ein Cluster von Home Agents, das einen oder mehrere Home Agents umfasst.
In diesem Beispiel umfasst das Cluster einen ersten Home Agent HA1 204,
einen zweiten Home Agent HA2 206 und einen zusätzlichen
Home Agent HAn 208. Somit umfasst das Cluster n Home Agents.
Genauer gesagt dient der Haupt-Home Agent 202 (d. h., der
primäre
Home Agent) als ein Zwischenelement, um Registrierungsanforderungen zu
dem passenden Home Agent weiterzuleiten. Dies wird bewerkstelligt,
indem der Haupt-Home Agent 202 und das Cluster von Home
Agents 204–208 mit einer
virtuellen IP-Adresse konfiguriert werden, die auch in dem Mobile
Node konfiguriert ist. Wenn der Mobile Node 210 zu einem
Foreign Agent 212 überwechselt,
leitet der Foreign Agent 212 die Registrierungsanforderung über das
Internet 214 zu dem primären Home Agent 202 weiter.
Der primäre
Home Agent 202 stellt fest, ob eine Verbindung für den Mobile
Node existiert. Wenn die Verbindung existiert, wird der Home Agent
identifiziert. Anderenfalls wird ein Home Agent ausgewählt. In
diesem Beispiel ist der Home Agent, der ausgewählt wird, der HA1 204.
-
In Übereinstimmung
mit einem bevorzugten Ausführungsbeispiel
sind der primäre
Home Agent 202 und die in einem Cluster angeordneten Home Agents 204–208 der
Schicht 2 benachbart. Mit anderen Worten, der primäre Home
Agent 202 und die in einem Cluster angeordneten Home Agents 204–208 sind
direkt mit dem gleichen Teilnetz verbunden und teilen sich ein gemeinsames
Internetmedium. Auf diese Weise gibt es keine Etappen (Hops) (z.
B. Router), die den primären
Home Agent 202 von den in einem Cluster angeordneten Home
Agents 204–208 trennen.
-
Wenn
eine Registrierungsanforderung zu einem Home Agent in dem Home Agent
Cluster weitergeleitet wird, wird vorzugsweise eine temporäre Verbindung
erstellt, bis der Mobile Node sich bei diesem Home Agent regist riert
hat. Insbesondere kann der primäre
Home Agent diese temporäre
Verbindung dazu verwenden, den Foreign Agent zu ermitteln, zu dem
eine Registrierungsantwort weitergeleitet werden soll. Außerdem kann
der primäre
Home Agent 202 dann, wenn eine spätere Registrierungsanforderung
von dem Mobile Node empfangen wird, feststellen, dass eine vorhergehende
Registrierungsanforderung von dem Mobile Node 210 bereits
anhängig ist,
wodurch das Senden von mehreren Registrierungsanforderungen zu demselben
Home Agent verhindert wird. Die temporären Verbindungen können auch
dazu verwendet werden, eine Reserve-Redundanz während einer Übergangsperiode
bereitzustellen. Genauer gesagt, wenn eine Registrierungsanforderung
anhängig
ist und eine Registrierungsantwort noch nicht empfangen worden ist,
wird die Verbindung eher temporär
als permanent sein. Während dieses
Zeitraums kann die temporäre
Verbindung verwendet werden, um zu gewährleisten, dass ankommender
Datenverkehr zu dem passenden Home Agent gesendet wird. Der empfangende
Home Agent kann dann bestimmen, ob er den Datenverkehr verarbeiten
wird.
-
Wenn
der primäre
Home Agent 202 eine Registrierungsantwort von dem Home
Agent empfängt, aktualisiert
er die temporäre
Verbindung, um eine permanente Verbindung zu erstellen. Zum Beispiel wird
die Registrierungslebensdauer, die in der Registrierungsantwort
bereitgestellt wird, in der permanenten Verbindung bewahrt. Auf
diese Weise kann der primäre
Home Agent feststellen, wann die Registrierung mit dem Home Agent
abgelaufen ist.
-
3 ist
ein Prozessablaufdiagramm, das ein Verfahren zur Konfigurierung
des Mobile Node und der Home Agents in Übereinstimmung mit verschiedenen
Ausführungsbeispielen
der Erfindung veranschaulicht. Wie oben beschrieben ist, sind der Mobile
Node und die in einem Cluster angeordneten Home Agents mit der virtuellen
Home Agent Adresse konfiguriert, die auch mit dem primären Home
Agent assoziiert ist. Infolgedessen wird der Mobile Node bei Block 302 mit
der virtuellen Home Agent Adresse konfiguriert. Um es dem Mobile
Node zu ermöglichen,
sich in seinem "Heimatnetz" zu befinden, das mit
der virtuellen Home Agent Adresse assoziiert ist, wird der Mobile
Node in dem Block 304 außerdem als sich in dem virtuellen
Netz befindend konfiguriert, das mit der virtuellen Home Agent Adresse
assoziiert ist. Die Konfigurierung in einem virtuellen Netz kann
mittels Betriebssystembefehlen unter Ver wendung eines Internetwork
Operating System (IOS) durchgeführt
werden, das von der Firma Cisco Systems erhältlich ist, die sich in San
Jose, Kalifornien befindet. Jeder Home Agent in dem Home Agent Cluster
und der primäre
Home Agent werden im Block 306 mit der virtuellen Home
Agent Adresse konfiguriert. Die in einem Cluster angeordneten Home
Agents und der primäre
Home Agent können
dann beim Block 308 ein virtuelles Netz bekannt geben,
das mit der virtuellen Home Agent Adresse assoziiert ist, indem
sie Routing-Tabellen-Aktualisierungen,
Bekanntmachungen oder andere Nachrichten senden. Die in einem Cluster
angeordneten Home Agents und der primäre Home Agent können dann
einander bei Block 310 entdecken sowie auch Gesundheitszustands- und Belastungsinformationen
gemeinsam nutzen. Die Gesundheitszustands- und Belastungsinformationen können in
der Agent-Bekanntmachung sowie auch separat über ein Entdeckungsprotokoll
bereitgestellt werden, wie etwa das Cisco Discovery Protocol (CDP),
das von Cisco Systems, Inc. erhältlich
ist.
-
4 ist
ein Steuerungsablaufdiagramm, das ein Verfahren zur Verarbeitung
einer Registrierungsanforderung in Übereinstimmung mit verschiedenen
Ausführungsformen
der Erfindung veranschaulicht. Schritte, die von dem Mobile Node,
dem Foreign Agent, dem primären
Home Agent und den in einem Cluster angeordneten Home Agents durchgeführt werden,
sind jeweils durch entsprechende vertikale Linien 402, 404, 406 und 408 repräsentiert.
Der Mobile Node 402 sendet eine Registrierungsanforderung
bei 410 zu dem Foreign Agent 410. Die Registrierungsanforderung
spezifiziert die IP-Quelladresse als die IP-Adresse des Mobile Node
und die Ziel-IP-Adresse als die IP-Adresse des Foreign Agent.
-
Da
der Mobile Node mit der virtuellen Home Agent Adresse als seinem
Home Agent konfiguriert ist, spezifiziert die Registrierungsanforderung
die virtuelle Home Agent Adresse als das Home Agent Feld der Registrierungsanforderung.
Alternativ dazu kann, statt dass der Mobile Node mit der virtuellen
Home Agent Adresse konfiguriert wird, die virtuelle Home Agent Adresse
bei dem Foreign Agent konfiguriert werden oder kann auf andere Weise
durch den Foreign Agent erhalten werden. Zum Beispiel kann der Foreign
Agent die virtuelle Home Agent Adresse von einem AAA-Server erhalten.
Der Begriff AAA-Server wird
verwendet, um sich auf einen Server zu beziehen, der Autorisie rungs-
und Abrechnungsdienste sowie auch Authentifizierungsdienste bereitstellen kann.
-
Verschiedene
Protokolle, wie etwa das Remote Authentication Dial In User Service
(RADIUS) und TACACS+, können
implementiert werden, um einen AAA-Server zu implementieren. Außerdem kann dieses
Protokoll in ähnlicher
Weise in jedem Foreign Agent implementiert werden, der mit dem Server kommuniziert.
RFC 2138 beschreibt das RADIUS-Protokoll. In ähnlicher Weise beschreibt RFC 1492
TACACS, und der Internet-Entwurf "The TACACS+ Protocol Version 1.78", der unter http://www.ietf.org/internet-drafts/draft-granttacacs-02.txt
zur Verfügung
steht, beschreibt TACACS+. RADIUS und TACACS+ stellen auf herkömmliche
Weise Authentifizierungs-, Autorisierungs- und Abrechnungsdienste bereit. Deshalb
sind diese Protokolle gut für
die Server der vorliegenden Erfindung geeignet. Aber die Erfindung
ist nicht auf diese Protokolle beschränkt. Es können auch andere Authentifizierungs-,
Autorisierungs- und Abrechnungsprotokolle verwendet werden.
-
Wenn
der Foreign Agent 404 die Registrierungsanforderung empfängt, leitet
er die Registrierungsanforderung zu der virtuellen Home Agent Adresse
bei 412 weiter. Wie gezeigt ist, spezifiziert die Registrierungsanforderung
die IP-Quelladresse als die IP-Adresse des Foreign Agent und die Ziel-IP-Adresse
als die virtuelle Home Agent Adresse. Die virtuelle Home Agent Adresse
kann auf vielfältige
Weise implementiert werden, wie etwa durch die Verwendung einer
Loopback-Adresse.
-
Wenn
der primäre
Home Agent (d. h., der Home Agent Cluster Controller) die Registrierungsanforderung
empfängt,
die an eine virtuelle Home Agent Adresse adressiert ist, die mit
einer Vielzahl von Home Agents assoziiert ist, arbeitet er als der Cluster
Controller für
die restlichen Home Agents in dem "Cluster" von Home Agents. Genauer gesagt bestimmt
er, welcher Home Agent die Registrierungsanforderung empfangen und
verarbeiten soll. Zum Beispiel, wie bei 414 gezeigt ist,
durchsucht der Home Agent Cluster Controller (HACC) eine Mobilitätsverbindungstabelle
nach einer Verbindung für den
Mobile Node. Wenn eine Verbindung für den Mobile Node existiert,
identifiziert der HACC den Home Agent aus der Verbindung vor dem
Senden der Registrierungsanforderung zu diesem Home Agent. Aber
wenn keine Verbindung für den
Mobile Node existiert, dann wählt
der HACC einen der Home Agents in dem Home Agent Cluster aus, zu
dem die Registrierungsanforderung gesendet werden soll. Um festzustellen,
ob eine Verbindung für
den Mobile Node existiert, kann der HACC eine Liste von anhängigen Verbindungen
sowie auch eine Liste von permanenten Verbindungen für eine Mobile
Node Kennung (z. B. IP-Adresse) durchsuchen. Beispielhafte temporäre Verbindungen
und permanente Verbindungen werden unten unter Bezugnahme auf die 5A und 5B noch
weiter beschrieben werden.
-
Zusätzlich zu
dem Senden der Registrierungsanforderung erstellt der HACC auch
eine temporäre
Verbindung zwischen dem Mobile Node und dem Foreign Agent. Dies
ermöglicht
es dem HACC, den Foreign Agent zu identifizieren, der die Registrierungsantwort
empfangen soll, wenn diese von dem verantwortlichen Home Agent empfangen
wird. Außerdem
kann die temporäre
Verbindung auch den Home Agent identifizieren, der die Registrierungsanforderung
empfangen und verarbeiten soll. So kann die temporäre Verbindung
eine Kennung, die mit dem Mobile Node assoziiert ist, eine IP-Adresse,
die mit dem Foreign Agent assoziiert ist, und eine IP-Adresse enthalten,
die mit dem nachfolgenden Home Agent der Vielzahl von Home Agents
assoziiert ist, der die Registrierungsanforderung empfangen und verarbeiten
soll.
-
Der
HACC sendet dann die Registrierungsanforderung zu dem "in einem Cluster
angeordneten" Home
Agent derart, dass der in einem Cluster angeordnete Home Agent eine
Verbindung zwischen dem Mobile Node und dem Foreign Agent erstellt,
wie dies bei 416 gezeigt ist. Wie gezeigt ist, spezifiziert
die Registrierungsanforderung eine Ziel-MAC-Adresse als eine MAC-Adresse,
die dem in einem Cluster angeordneten Home Agent zugewiesen ist,
eine Quell-IP-Adresse,
die gleich der IP-Adresse des Foreign Agent ist, und eine Ziel-IP-Adresse als die virtuelle
Home Agent Adresse. Wenn der in einem Cluster angeordnete Home Agent
die Registrierungsanforderung empfängt, verarbeitet er die Registrierungsanforderung
gemäß RFC 2002,
wie dies bei 418 gezeigt ist. Zum Beispiel erstellt er
eine Tunnelschnittstelle und erstellt eine Verbindung für den Mobile
Node. Dann sendet er eine Registrierungsantwort zu dem HACC bei 420.
Wie gezeigt ist, spezifiziert die Registrierungsantwort eine Ziel-MAC-Adresse als eine MAC-Adresse,
die dem HACC zugewiesen ist, eine Ziel- IP-Adresse als die virtuelle Home Agent
Adresse und eine Quell-IP-Adresse des in einem Cluster angeordneten
Home Agent.
-
Wenn
der HACC die Registrierungsantwort empfängt, aktualisiert er die temporäre Verbindung bei 422,
um eine permanente Verbindung zu erstellen. Zum Beispiel kann der
HACC die temporäre
Verbindung nachschlagen, um den Foreign Agent vor dem Senden der
Registrierungsantwort zu dem Foreign Agent zu identifizieren. Zum
Beispiel kann die permanente Verbindung Informationen von der temporären Verbindung
sowie auch weitere Informationen wie etwa eine Registrierungslebensdauer
enthalten, die aus der Registrierungsantwort erhalten wird, die
vorher von dem in einem Cluster angeordneten HA empfangen worden
ist.
-
Der
HACC sendet dann bei 424 die Registrierungsantwort zu dem
Foreign Agent, die eine Ziel-IP-Adresse des Foreign Agent und eine Quell-IP-Adresse gleich der
virtuellen Home Agent Adresse spezifiziert. Der Foreign Agent leitet
dann die Registrierungsantwort zu dem Mobile Node bei 426 weiter,
wobei die Registrierungsantwort die Quell-IP-Adresse des Foreign
Agent und die Ziel-IP-Adresse des Mobile Node spezifiziert.
-
Wie
oben unter Bezugnahme auf 4 beschrieben
worden ist, kann der HACC sowohl temporäre Verbindungen als auch permanente
Verbindungen speichern. Diese Verbindungen können zusammen in einer einzigen
Mobilitätsverbindungstabelle gespeichert
werden. Alternativ dazu können
die temporären
Verbindungen in einer Mobilitätsverbindungstabelle
getrennt von den permanenten Verbindungen gespeichert werden, wie
dies unten unter Bezugnahme auf 5A und 5B noch
ausführlicher beschrieben
werden wird.
-
5A ist
ein Diagramm, das eine beispielhafte Mobilitätsverbindungstabelle veranschaulicht, die
temporäre,
anhängige
Verbindungen in Übereinstimmung
mit verschiedenen Ausführungsbeispielen der
Erfindung speichert. Eine Tabelle, die anhängige, temporäre Verbindungen 502 speichert,
umfasst eine oder mehrere anhängige
Verbindungen, die mit anhängigen
Registrierungsanforderungen assoziiert sind, die zu dem in einem
Cluster angeordneten Home Agent gesendet worden sind. Genauer gesagt identifiziert
jeder Eintrag den Mobile Node mit einer Mobile Node Kennung 504 wie
zum Beispiel einer IP-Adresse. Ein standardisiertes Verfahren zur
Identifizierung von Benutzern ist in RFC 2486 der Network
Working Group, Januar 1999 vorgeschlagen, die eine Syntax für die Netzzugriffskennung
(NAI; Network Access Identifier), die Benutzer-ID, die von einem
Client während
der Punkt-zu-Punkt-Protokoll-(PPP)-Authentifizierung übermittelt
wird, vorschlägt.
Auf diese Weise kann dann, wenn ein Client auf der Grundlage der
NAI authentifiziert ist, eine IP-Adresse
für die
Verwendung durch den Client zugeordnet werden. Folglich kann ein
anhängiger
(d. h., temporärer)
Verbindungseintrag die NAI an Stelle der oder zusätzlich zu
der IP-Adresse enthalten. Außerdem
kann ein Eintrag des Weiteren eine IP-Adresse 506 eines
in einem Cluster angeordneten Home Agent und eine Foreign Agent
IP-Adresse 508 enthalten. Durch die Spezifizierung einer
Foreign Agent IP-Adresse in jedem Eintrag ist es möglich, den
Foreign Agent zu identifizieren, den der Mobile Node besucht, wodurch
der HACC in die Lage versetzt wird, die Registrierungsantwort zu
dem Foreign Agent weiterzuleiten.
-
5B ist
ein Diagramm, das eine beispielhafte Mobilitätsverbindungstabelle, die permanente Verbindungen
speichert, in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung veranschaulicht. Wie gezeigt ist, umfasst eine Tabelle,
die permanente Verbindungen 510 speichert, einen oder mehrere
Einträge.
Jeder Eintrag umfasst eine Mobile Node Kennung 512 (z.
B. IP-Adresse und/oder NAI), eine Home Agent IP-Adresse 514 und eine
Foreign Agent Adresse 516 von der temporären Verbindung.
Zum Beispiel kann eine temporäre
Verbindung, die eine NAI enthält,
mit einer IP-Adresse aktualisiert werden. Außerdem spezifiziert eine permanente
Verbindung des Weiteren eine Registrierungslebensdauer 518.
Genauer gesagt stellt der in einem Cluster angeordnete HA eine gewährte Registrierungslebensdauer
in der Registrierungsantwort bereit, wie dies oben unter Bezugnahme
auf 4 beschrieben worden ist. Der HACC kann dann diese Registrierungslebensdauer
aus der Registrierungsantwort erhalten. Auf diese Weise kann der
HACC überwachen,
wann die Registrierung des Mobile Node mit dem in einem Cluster
angeordneten HA abgelaufen ist.
-
Wenn
die permanente Verbindung durch den HACC errichtet worden ist und
der in einem Cluster angeordnete HA eine Verbindung für den Mobile Node
erstellt hat, können
der Mobile Node und der Korrespondenzknoten Datenpakete zueinander
schicken. 6 ist ein Datenflussdiagramm,
das ein Verfahren zum Übertragen
eines Datenpakets zwischen einem Mobile Node und einem Korrespondenzknoten
in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung veranschaulicht. Prozesse, die von dem Mobile Node,
dem Foreign Agent, dem HACC, dem in einem Cluster angeordneten HA
und dem Korrespondenzknoten durchgeführt werden, sind jeweils durch
die vertikalen Linien 602, 604, 606, 608 und 610 repräsentiert.
Daten, die von einem Korrespondenzknoten zu dem Mobile Node gesendet
werden, sind durch den Vorwärtspfad 612 repräsentiert.
Genauer gesagt sendet der Korrespondenzknoten bei 614 ein
Datenpaket, das zu dem Mobile Node adressiert ist und das von dem
Home Agent empfangen wird. Der Home Agent tunnelt dann das Paket
bei 616 zu dem Foreign Agent. Der Foreign Agent leitet
das Paket zu dem Mobile Node bei 618 weiter.
-
In ähnlicher
Weise sendet der Mobile Node ein Datenpaket zu dem Korrespondenzknoten über den
Rückwärtspfad 620.
Wie gezeigt ist, sendet der Mobile Node ein Datenpaket zu dem Korrespondenzknoten über den
Foreign Agent bei 622. Der Foreign Agent sendet das Datenpaket
zu der virtuellen Home Agent IP Adresse bei 624, das von
dem HACC empfangen wird. Der HACC führt dann bei 626 einen Nachschlagevorgang
in der Mobilitätsverbindungstabelle
durch, um festzustellen, welcher in einem Cluster angeordnete HA
die Registrierungsanforderung verarbeitet hat. Genauer gesagt schlägt der HACC die
Mobile Node Kennung nach, um den passenden Eintrag in der Mobilitätsverbindungstabelle
zu erhalten.
-
Zum
Beispiel schlägt
der HACC in einem Ausführungsbeispiel
das innere IP-Paket nach, um die Quell-IP-Adresse des inneren IP-Pakets
zu finden, die den Mobile Node identifiziert. Dann schlägt er die
Quell-IP-Adresse in der Tabelle der permanenten Verbindungen nach,
um den Eintrag zu finden, der dem Mobile Node entspricht. Der Home
Agent, der dem Mobile Node entspricht, kann dann aus dem Eintrag
identifiziert werden. Der HACC muß keine Tunnelentkapselung
durchführen,
selbst wenn das Paket für
ihn bestimmt ist.
-
Wenn
der geeignete HA identifiziert ist, leitet der HACC das Datenpaket
zu der Ziel-MAC-Adresse des in einem Cluster angeordneten HA bei 628 wei ter.
Wie gezeigt ist, ist die Ziel-IP-Adresse immer noch die virtuelle
Home Agent Adresse. Der HA führt bei 630 eine
Standard-Mobile-IP-Verarbeitung gemäß RFC 2002 durch und leitet
das Datenpaket bei 632 zu dem Korrespondenzknoten weiter.
-
7 ist
ein Diagramm, das ein beispielhaftes System veranschaulicht, das
eine Home Agent Redundanz in Übereinstimmung
mit verschiedenen Ausführungsbeispielen
der Erfindung bereitstellt. In Übereinstimmung
mit den oben beschriebenen Ausführungsbeispielen
kann ein oder können
mehrere Reserve-Home Agent(s) den Haupt-HA 202 (d. h., den
HACC) und die in einem Cluster angeordneten HAs HA1 204 bis
HAn 208 unterstützen.
Genauer gesagt unterstützen
in diesem Beispiel ein oder mehrere Reserve-HAs 702 den
Haupt-HA 202 durch
ein Redundanzprotokoll wie zum Beispiel das Hot Standby Router Protocol
(HSRP), und deshalb kann sich der Reserve-HA 702 in einem
Standby-Modus befinden, während
sich der Haupt-HA 202 in dem aktiven Modus befinden kann.
In ähnlicher
Weise unterstützen
ein oder mehrere Reserve-HAs 704 die in einem Cluster angeordneten
HAs 204 bis 208. In diesem Beispiel wird der Haupt-HA 202 getrennt
von den in einem Cluster angeordneten HAs 204 bis 208 von zwei
separaten Gruppen von Reserve-Home Agents unterstützt. Aber
der Haupt-HA 202 und die in einem Cluster angeordneten
HAs 204 bis 208 können auch von der gleichen
Gruppe von Reserve-Home Agents unterstützt werden.
-
Wie
oben unter Bezugnahme auf den Block 310 von 3 beschrieben
worden ist, entdecken die in einem Cluster angeordneten HAs und
der Haupt-HA einander
und teilen auch Gesundheitszustands- und/oder Belastungsinformationen
miteinander. Die Gesundheitszustand- und Belastungsinformationen
können
separat oder zusammen in einer Agent-Bekanntmachung sowie auch über ein
Entdeckungsprotokoll, wie zum Beispiel das Cisco Discovery Protocol
(CDP), das von Cisco Systems, Inc. erhältlich ist, bereitgestellt
werden. Auf diese Weise können
die Gesundheitszustand- und Belastungsinformationen gleichzeitig
zu einem oder mehreren Home Agents übertragen werden.
-
Wie
oben unter Bezugnahme auf 4 beschrieben
worden ist, verwaltet der HACC Verbindungen für jede Registrierungsanforderung,
die verarbeitet wird. Als eine Folge davon besitzt der HACC eine
Kopie der Verbindun gen, die von jedem in einem Cluster angeordneten
HA aufrecht erhalten werden. Auf diese Weise kann der HACC Verbindungen
für einen
ausfallenden oder defekten, in einem Cluster angeordneten HA zu
einem Reserve-HA verteilen, der für den ausfallenden oder defekten
HA einspringen kann. Genauer gesagt kann der Haupt-HA 202 aus den
Gesundheitszustandsinformationen, die er empfängt, feststellen, wann einer
der in einem Cluster angeordneten HAs 204 bis 208 nicht
funktionsfähig
ist. Er sendet dann einen Satz von Verbindungen zu einem Reserve-Home
Agent, wie etwa dem Reserve-HA 704, der auch mit der virtuellen
Home Agent Adresse assoziiert ist. Außerdem aktualisiert der Haupt-HA 202 auch
den gleichen Satz von Verbindungen, der von dem Haupt-HA 202 verwaltet
wird, so dass diese Verbindungen mit dem Reserve-Home Agent (anstatt
mit dem ausgefallenen Home Agent) assoziiert werden. Dies kann bewerkstelligt
werden, indem ein oder mehrere Mobile Nodes mit einer IP-Adresse
des Reserve-Home Agent assoziiert werden. In ähnlicher Weise kann der HACC 202 auch
periodisch Verbindungen, die von ihm aufrecht erhalten werden, zu
einem oder mehreren Reserve-Home Agents wie etwa dem Reserve-Haupt-HA 702 senden,
der für
den HACC 202 einspringen kann, falls dieser versagt. Genauer
gesagt werden diese Verbindungen diejenigen Verbindungen sein, die
mit jedem Home Agent in dem Home Agent Cluster assoziiert sind,
das von dem HACC verwaltet wird.
-
Der
Haupt-HA 202 kann auch den Reserve-Home Agent 704 aus
einer Vielzahl von Reserve-Home Agents auswählen. Genauer gesagt kann der
Haupt-HA 202 Belastungsinformationen der Vielzahl von Reserve-Home
Agents vor der Auswahl des Reserve-Home Agent prüfen. Die Belastungsinformationen
können
zum Beispiel die Anzahl an Verbindungen, die im Augenblick unterstützt werden,
den Prozentsatz der CPU-Ausnutzung und/oder den Prozentsatz des
freien Speichers umfassen.
-
Andere Ausführungsbeispiele
-
Im
Allgemeinen können
die Techniken der vorliegenden Erfindung in Software und/oder in
Hardware implementiert werden. Zum Beispiel können sie in einem Betriebssystem-Kernel,
in einem separaten Benutzerprozess, in einem Bibliotheksprogrammpaket,
das in Netzwerkanwendungen eingebunden ist, auf einer speziell konstruierten
Maschine oder auf einer Netzwerk- Schnittstellenkarte
implementiert werden. In einem spezifischen Ausführungsbeispiel der vorliegenden
Erfindung ist die Technik der vorliegenden Erfindung in Software,
wie zum Beispiel einem Betriebssystem, oder in einer Anwendung implementiert,
die in einem Betriebssystem läuft.
-
Eine
Software- oder Software-/Hardware-Hybrid-Implementierung der Techniken
der vorliegenden Erfindung kann in einer programmierbaren Allzweckmaschine
implementiert werden, die von einem Computerprogramm, das in einem
Speicher gespeichert ist, selektiv aktiviert oder neu konfiguriert wird.
Eine solche programmierbare Maschine kann eine Netzvorrichtung sein,
die für
die Handhabung von Netzwerkverkehr ausgelegt ist, wie zum Beispiel ein
Router oder ein Switch. Solche Netzvorrichtungen können mehrere
Netzschnittstellen aufweisen, die zum Beispiel Frame Relay- und
ISDN-Schnittstellen
einschließen.
Spezifische Beispiele solcher Netzvorrichtungen umfassen Router
und Switches. So können
die Home Agents der vorliegenden Erfindung zum Beispiel in speziell
konfigurierten Routern oder Servern implementiert werden, wie zum
Beispiel die speziell konfigurierten Router-Modelle 1600, 2500, 2600, 3600, 4500, 4700, 7200, 7500 und 12000,
die von Cisco Systems, Inc., San Jose, Kalifornien erhältlich sind.
Eine allgemeine Architektur für
einige dieser Maschinen wird aus der unten gegebenen Beschreibung
offensichtlich werden. In einem alternativen Ausführungsbeispiel
können
die Techniken der vorliegenden Erfindung in einer Allzweck-Netz-Host-Maschine
wie etwa einem Personal Computer oder einer Arbeitsstation implementiert werden.
Des Weiteren kann die Erfindung zumindest teilweise auf einer Karte
(z. B. einer Schnittstellenkarte) für eine Netzvorrichtung oder
eine Allzweck-Rechnervorrichtung
implementiert werden.
-
Nun
wird Bezug auf 8 genommen. Eine Netzvorrichtung 1560,
die für
die Implementierung der Techniken der vorliegenden Erfindung geeignet ist,
umfasst eine Master-Zentraleinheit (CPU) 1562, Schnittstellen 1568 und
einen Bus 1567 (z. B. einen PCI-Bus). Wenn sie unter der
Steuerung einer geeigneten Software oder Firmware arbeitet, kann
die CPU 1562 für
die Implementierung von spezifischen Funktionen verantwortlich sein,
die mit den Funktionen einer gewünschten
Netzvorrichtung assoziiert sind. Wenn sie zum Beispiel als ein Zwischenrouter konfiguriert
ist, kann die CPU 1562 für das Analysieren von Paketen,
das Einkapseln von Paketen und das Weiterleiten an Paketen für die Übertragung
zu einer Set Top Box verantwortlich sein. Die CPU 1562 bewerkstelligt
alle diese Funktionen vorzugsweise unter der Steuerung einer Software,
die ein Betriebssystem (z. B. Windows NT) enthält, und irgendeiner geeigneten
Anwendungssoftware.
-
Die
CPU 1562 kann einen oder mehrere Prozessoren 1563 umfassen,
wie etwa einen Prozessor aus der Motorola-Familie von Mikroprozessoren
oder der MIPS-Familie von Mikroprozessoren. In einem alternativen
Ausführungsbeispiel
ist der Prozessor 1563 eine speziell entwickelte Hardware
für die
Steuerung der Operationen der Netzvorrichtung 1560. In einem
spezifischen Ausführungsbeispiel
bildet ein Speicher 1561 (wie etwa ein nichtflüchtiger
RAM und/oder ROM) auch einen Teil der CPU 1562. Aber es
gibt viele verschiedene Möglichkeiten,
wie der Speicher mit dem System gekoppelt sein kann. Der Speicherblock 1561 kann
für eine
Vielfalt von Zwecken verwendet werden, wie zum Beispiel das Kopieren
von Daten und Programmierungsanweisungen in einen Cachespeicher
und/oder das Speichern von Daten, Programmierungsanweisungen, etc..
-
Die
Schnittstellen 1568 werden typischerweise als Schnittstellenkarten
bereitgestellt (die manchmal als "Leitungskarten" bezeichnet werden). Im Allgemeinen
steuern sie das Senden und Empfangen von Datenpaketen über das
Netzwerk und unterstützen
manchmal andere Peripheriegeräte,
die mit der Netzvorrichtung 1560 verwendet werden. Unter
den Schnittstellen können
Ethernet-Schnittstellen, Frame Relay Schnittstellen, Kabelschnittstellen, DSL-Schnittstellen, Token
Ring Schnittstellen und dergleichen bereitgestellt sein. Außerdem können verschiedene
Schnittstellen mit sehr hoher Geschwindigkeit bereitgestellt werden,
wie etwa Fast Ethernet Schnittstellen, Gigabit Ethernet Schnittstellen,
ATM Schnittstellen, HSSI Schnittstellen, POS Schnittstellen, FDDI
Schnittstellen, ASI Schnittstellen, DHEI Schnittstellen und dergleichen.
Im Allgemeinen können
diese Schnittstellen Ports enthalten, die für die Kommunikation mit den
entsprechenden Medien geeignet sind. In einigen Fällen können sie auch
einen unabhängigen
Prozessor und in manchen Fällen
einen flüchtigen
RAM enthalten. Die unabhängigen
Prozessoren können
solche kommunikationsintensive Aufgaben wie etwa das Paket-Switching,
die Medienkontrolle und -Verwaltung steuern. Durch das Bereitstellen
von separaten Prozessoren für
die kommunikationsintensiven Aufgaben erlauben es diese Schnittstellen
dem Master-Mikroprozessor 1562, effektiv Routing-Berechnungen, Netzdiagnoseaufgaben,
Sicherheitsfunktionen, etc. durchzuführen.
-
Obwohl
das System, das in 8 gezeigt ist, eine spezifische
Netzvorrichtung der vorliegenden Erfindung veranschaulicht, ist
dies auf keinen Fall die einzige Netzvorrichtungsarchitektur, in
der die vorliegende Erfindung implementiert werden kann. Zum Beispiel
wird oftmals eine Architektur verwendet, die einen einzigen Prozessor
aufweist, der Kommunikationen sowie auch Routing-Berechnungen etc.
handhabt. Des Weiteren können
auch andere Typen von Schnittstellen und Medien mit der Netzvorrichtung verwendet
werden.
-
Ungeachtet
der Konfiguration der Netzvorrichtung kann diese einen oder mehrere
Speicher oder Speichermodule (wie etwa zum Beispiel den Speicherblock 1565)
verwenden, die so konfiguriert sind, dass sie Daten, Programmanweisungen
für die Altzweck-Netzoperationen
und/oder andere Informationen speichern können, die sich auf die Funktionalität der hier
beschriebenen Techniken beziehen. Die Programmanweisungen können zum
Beispiel die Operation eines Betriebssystems und/oder einer oder
mehrerer Anwendungen steuern.
-
Da
solche Informationen und Programmanweisungen verwendet werden können, um
die hier beschriebenen Systeme/Verfahren zu implementieren, bezieht
sich die vorliegende Erfindung auch auf maschinenlesbare Medien,
die Programmanweisungen, Zustandsinformationen, etc. für die Durchführung verschiedener,
hier beschriebener Operationen enthalten. Beispiele für maschinenlesbare
Medien umfassen, sind aber nicht beschränkt auf magnetische Medien
wie etwa Magnetplatten, Magnetdisketten und Magnetbänder; optische
Medien wie etwa CD-ROMs; magnetooptische Medien wie etwa optisch
gesteuerte Disketten; und Hardware-Vorrichtungen, die speziell für die Speicherung
und Durchführung
von Programmanweisungen konfiguriert sind, wie etwa Festspeicher-Vorrichtungen
(ROM) und Direktzugriffsspeicher (RAM). Die Erfindung kann auch in
einer Trägerwelle
verkörpert
sein, die über
ein geeignetes Medium wandert, wie etwa Luftwellen, optische Leitungen,
elektrische Leitungen, etc.. Beispiele für Programmanweisungen umfassen
sowohl einen Maschinencode, wie dieser etwa von einem Compiler erzeugt
wird, als auch Dateien, die Codes höherer Ebene enthalten, die
von dem Computer mittels eines Interpreters ausgeführt werden
können.
-
Obwohl
veranschaulichende Ausführungsbeispiele
und Anwendungen der vorliegenden Erfindung im vorliegenden Dokument
gezeigt und beschrieben worden sind, sind viele Variationen und Modifikationen
möglich,
die innerhalb des Konzepts und des Schutzumfangs der Erfindung bleiben,
und diese Variationen würden
den Fachleuten auf diesem Gebiet nach der genauen Durchsicht der
vorliegenden Anwendung klar werden. Die Erfindung ist zum Beispiel
als so implementiert beschrieben, dass sie es einem Mobile Node
ermöglicht,
dass ihm dynamisch ein Home Agent auf der Basis seiner Gesundheitszustand-
und/oder Belastungsinformationen zugewiesen wird. Aber es sollte
klar sein, dass die Erfindung nicht auf solche Implementierungen
beschränkt
ist, sondern dass sie ohne Berücksichtigung des
Kontextes und des Systems, in dem sie implementiert ist, ebenso
zutreffen würde.
Deshalb können die
oben beschriebenen Operationen im Allgemeinen verwendet werden,
um eine dynamische Zuweisung im Hinblick auf andere Mobilitätsagenten,
wie etwa Foreign Agents, zu ermöglichen.
Außerdem
kann die oben beschriebene Erfindung auf einem Diskettenlaufwerk,
einem Magnetplattenlaufwerk, einer Magendiskette, einem Servercomputer
oder einem fern vernetzten Computer gespeichert werden. Dem gemäß sind die
vorliegenden Ausführungsbeispiele
als veranschaulichend und nicht als beschränkend zu betrachten, und die
Erfindung soll nicht auf die hier gegebenen Einzelheiten beschränkt sein,
sondern kann innerhalb des Schutzumfangs und von Äquivalenten
der beigefügten
Ansprüche
modifiziert werden.