-
Die
vorliegende Erfindung betrifft automatische Konfiguration von Netz-Endgeräten, um
eine geeignete Netzadresse zu identifizieren. Insbesondere betrifft
die vorliegende Erfindung die automatische Konfiguration in Mobilfunk-Ad-hoc-Netzen
unter Verwendung von IPv6.
-
Wenn
ein Endgerät
an ein Netz anbindet, insbesondere ein Ad-hoc-Netz wie ein Netz
von mobilen Vorrichtungen, muss es eine geeignete Netzadresse bestimmen,
um die Kommunikation mit anderen Endgeräten oder Knoten, die mit dem
Netz verbunden sind, zu erleichtern. Beim IP (Internet-Protokoll)
gibt es verschiedene Einrichtungen, um einem Endgerät zu gestatten,
eine geeignete Netzadresse zu bestimmen. Beim IPv4 (Internet-Protokoll
Version 4) werden Adressen aufgrund der Weise, in der Adressen zugewiesen
werden, und des steigenden Bedarfs an neuen Adressen knapp. Die
Zuweisung muss sorgfältig
kontrolliert werden, und daher werden Adressen entweder manuell
durch einen Administrator einem Endgerät zugewiesen oder sie können unter
Verwendung von DHCP (dynamisches Host-Konfigurationsprotokoll) zugewiesen
werden. DHCP erfordert einen DHCP-Server, der eine Datenbank von
verfügbaren
Adressen pflegt. Wenn ein Endgerät
an das Netz anbindet, fordert es eine verfügbare Adresse vom DHCP-Server
an. Der DHCP-Server weist dem Netz-Endgerät dann eine IP-Adresse zu.
Diese Technik erfordert jedoch, dass ein DHCP-Server für das neu
anbindende Endgerät verfügbar ist,
und erfordert außerdem,
dass der DHCP-Server eine Liste von verfügbaren Adressen pflegt. Zur
Bereitstellung einer hohen Flexibilität und der Fähigkeit, dass ein neues Endgerät frei an
Netze anbindet, wäre
eine große
Zahl von DHCP-Servern erforderlich, jeder mit einem Vorrat an eindeutigen verfügbaren Adressen.
Ein Ad-hoc-Netz ist im Wesentlichen eines ohne Infrastruktur, so
dass in diesem Fall DHCP nicht möglich
ist. Einen DHCP-Server verfügbar
zu machen, würde
Infrastruktur erfordern und dadurch die Flexibilität eines
Ad-hoc-Netzes einschränken.
-
In
IPv6, einer späteren
Version des Internet-Protokolls, ist die potenzielle Zahl der verfügbaren Adressen
weitaus größer als
unter IPv4. Während
dadurch das Problem der Beschränkung
der Zahl der potenziell verfügbaren
Adressen überwunden
wird, ist es immer noch unpraktisch, dass ein getrennter Server
verfügbare
Adressen speichert, die einem Endgerät auf Anforderung zugeordnet
werden. Es ist daher wünschenswert,
einem Endgerät
zu gestatten, sich selbst mit einer IP-Adresse zu konfigurieren,
ohne dass ein getrennter Server zur Zuweisung von Adressen erforderlich
ist.
-
Verschiedene
Systeme wurden vorgeschlagen, um die automatische Konfiguration
von IP-Adressen
in Ad-hoc-Netzen zu gestatten. „MANETconf: Configuration
of Hosts in a Mobile Ad Hoc Network" von Sanket Nesargi und Ravi Prakash
aus INFOCOM 2002 beschreibt ein verteiltes, dynamisches Host-Konfigurationsprotokoll,
das vorgesehen ist, um Knoten in einem Mobilfunk-Ad-hoc-Netz (MANET) zu konfigurieren.
Netzaufteilung und -vereinigung werden auf der Grundlage von Partitionskennungen
gehandhabt. Zur Identifizierung von miteinander in Konflikt stehenden
Adressen muss jeder Knoten jedoch einen Satz Allocated pflegen,
der alle die IP-Adressen umfasst, die mit seiner Partition assoziiert
sind. In dieser Weise werden Sätze
Allocated ausgetauscht, wenn zwei vorher entfernte Knoten in den
gegenseitigen Kommunikationsbereich kommen. Der Nachteil davon ist
der zusätzliche
Speicher und Overhead, die erforderlich sind.
-
Im
Papier mit dem Titel „IP
Address Autoconfiguration for Ad Hoc Networks" von Charles E. Perkins et al für die „Mobile
Ad Hoc Networking Group" der
Internet Engineering Task Force (IETF) [14. November 2001] wird
ein Mechanismus beschrieben, nach dem ein Endgerät oder Knoten in einem Ad-hoc-Netz sich selbst
automatisch mit einer IP-Adresse konfigurieren kann, die im gesamten
angebundenen Abschnitt des Ad-hoc-Netzes eindeutig ist.
-
Das
Dokument von Perkins et al beschreibt ein System, in dem ein Endgerät, das automatische Konfiguration
durchführt,
sich zwei Adressen nimmt, eine temporäre und die vorläufige Adresse,
die es verwenden möchte.
Die temporäre
Adresse wird nur kurz verwendet, um die Eindeutigkeit der vorläufigen Adresse
zu bestimmen. Um zu bestimmen, ob die vorläufige Adresse eindeutig ist,
sendet das Endgerät
eine Adressanforderung (AREQ) aus. Wenn es eine Adressantwort (AREP)
empfängt,
weiß es,
dass die vorläufige
Adresse nicht eindeutig ist. Wird keine AREP empfangen, wird die
vorläufige
Adresse als eindeutig angesehen. Für IPv6 ist die AREQ eine modifizierte
Nachbarabruf-(NS)-Nachricht. Die Nachbarabrufnachricht wird mit
einer Markierung modifiziert, die angibt, dass sie als Teil einer
Duplikatadressdetektionsprozess-(DAD)-Operation und nicht in ihrer normalen
Funktion als eine Nachbarkommunikationsnachricht fungiert. Daher
wird, wenn eine Nachbarabrufnachricht empfangen wird, in der die
Markierung gesetzt ist, die Nachricht von einem Knoten weitergeleitet
im Gegensatz zum Normalfall, in dem die Nachricht nur zu Nachbarn
gelangt, die einen Sprung von ihm entfernt sind.
-
Ein
Endgerät,
das eine Nachbarabrufnachricht empfängt, die eine vorläufige Adresse
angibt, die mit seiner eigenen Adresse korrespondiert, gibt eine
Adressantwort-(AREP)-Nachricht in der Form einer modifizierten Nachbarankündigungs-(NA)-Nachricht
aus. Die Nachbarankündigungsnachricht
wird mit einem Markierungszeichen ähnlich der Nachbarabrufnachricht
modifiziert, um anzuzeigen, dass die Nachbarankündigungsnachricht als Teil
eines Duplikatadressdetektions-(DAD)-Prozesses fungiert. Die NA-Nachricht wird
gleichermaßen
von Knoten zu Knoten weitergegeben, anstatt nur einen Sprung zu
ihren unmittelbaren Nachbarn zu gelangen. In dieser Weise wird die modifizierte
NA-Nachricht zurück
zum ursprünglichen
Absender der NS-Nachricht verteilt, so dass er weiß, dass
die vorläufige
Adresse nicht eindeutig ist. Die vorläufige Adresse wird eingangs
ausgewählt,
indem ein geeignetes Präfix
von einem standortlokalen Präfix
bereitgestellt und daran eine Zahl von dem Endgerät selbst
angefügt
wird. Dies kann eine zufällige
Zahl sein oder eine Zahl, die auf gewissen Eigenschaften des Endgeräts beruht,
wie seine MAC-Nummer oder seine erweiterte universelle Kennnummer (EUI-64).
Während
diese Zahlen für
ein Endgerät oder
seine Netzkarte eindeutig sind, besteht trotzdem eine Möglichkeit,
dass eine in dieser Weise gebildete Adresse nicht eindeutig ist.
-
Perkins
et al geben an, dass, wenn ein Netz sich mit einem anderen Netz
vereinigt, Duplikatadressdetektion (DAD) durchgeführt werden
müsste, obwohl
keine Technik zur Feststellung, warm Netzvereinigung erfolgt, oder
wie die Initiierung von DAD erfolgen würde, in dem Dokument angegeben
ist.
-
Das
Papier mit dem Titel „IPv6
Autoconfiguration in Large Scale Mobile Ad Hoc Networks" von Kilian Weniger
und Martina Zitterbart von der Universität Karlsruhe aus „Proceedings
of European Wireless" (2002)
schlägt
eine hierarchische Zugangsweise zur automatischen Konfiguration
von Adressen vor. Das Papier betrachtet die Anwendbarkeit von IPv6
und seiner zustandslosen Adressen-Autokonfiguration auf große Mobilfunk-Ad-hoc-Netze.
Knoten in Mobilfunk-Ad-hoc-Netzen sind integrierte Hosts und Router.
Daher führen
alle Knoten alle Routerfunktionalitäten aus. Zur Anwendung von
zustandsloser IPv6-Adressen-Autokonfiguration in anderen Umgebungen
als einzelnen Rundsendeverbindungen sind Router erforderlich, die
Routerankündigungen (RA)
ausgeben. Während
der Duplikatadressdetektion (DAD) ist es jedoch erforderlich, das
Netz mit den Nachrichten zu überschwemmen.
Diese Überschwemmung
führt zu Überlastung,
und die Überlastung
wird bei zunehmender Größe des Netzes
untragbar. Weniger et al beschreibt ein System, das versucht, Überschwemmung
zu begrenzen, indem jedes Endgerät
seine Rundsendeverbindung als die Gruppe von Knoten definiert, die
weniger als eine bestimmte Zahl von Sprüngen von ihm entfernt sind. Um
dies zu erreichen, wird eine Hierarchie unter Verwendung eines Führungsknotens
eingerichtet, der eine Gruppe seiner Nachbarknoten durch Ausgabe von
Routerankündigungen
konfiguriert. In dieser Weise müssen
die Nachbarknoten ihre Routerfunktionen und assoziierte Ausgabe
von RA-Nachrichten nicht ausführen,
so dass der erforderliche Verkehr reduziert wird. Die anfängliche
Auswahl und anschließende
Wiederauswahl der Führer
ist jedoch komplex, und Duplikatadressdetektion muss periodisch ausgeführt werden,
um Netzaufteilung und -vereinigung zu handhaben, wodurch weitere
Komplexität zum
Protokoll hinzugefügt
wird.
-
Daher
besteht ein Bedarf zur Bereitstellung eines Netzprotokolls, das
zustandslose Adressen-Autokonfiguration
gestattet, die eine komplexe hierarchische Struktur vermeidet, und
das imstande ist, mit der dynamischen Natur von Mobilfunknetzen insbesondere
dort umzugehen, wo regelmäßig Netzaufteilung
und -vereinigung vorkommen. Außerdem ist
es vorzuziehen, eine Adressenauswahltechnik bereitzustellen, die
standortlokale Adressen und keine verbindungslokalen Adressen bereitstellt,
um die Wahrscheinlichkeit von Adressduplikation zu reduzieren.
-
Daher
wird nach der vorliegenden Erfindung ein Verfahren zum Steuern eines
Knotens in einem Netz bereitgestellt, umfassend: Speichern einer Netzkennung,
die das Netz angibt, mit dem der Knoten assoziiert ist; Empfangen
einer Nachricht von einem anderen Knoten und Extrahieren einer Netzkennung
aus der Nachricht, die das Netz angibt, mit dem der sendende Knoten
assoziiert ist; Vergleichen der empfangenen Netzkennung mit der
gespeicherten Netzkennung; und Ausführen eines Duplikatadressdetektionsprozesses
in dem Fall, dass die gespeicherte Netzkennung von der empfangenen
Netzkennung verschieden ist. Der Duplikatadressdetektionsprozess
enthält
Senden einer Adressanforderungsnachricht für Empfang durch andere Knoten,
wobei die Adressanforderungsnachricht ein Markierungszeichen zur
Kennzeichnung enthält,
dass der von dem Knoten ausgeführte
Duplikatadressdetektionsprozess ein Ergebnis davon ist, dass die
empfangene Netzkennung von der gespeicherten Netzkennung verschieden
ist. Das Markierungszeichen hilft, anderen Knoten anzuzeigen, dass
Vereinigung von zwei Knoten stattgefunden hat.
-
Die
vorliegende Erfindung stellt weiterhin ein Endgerät zum Anschließen an ein
Netz bereit, um einen Knoten zu bilden, umfassend: einen Speicher zum
Speichern einer Netzkennung, die das Netz angibt, mit dem der Knoten
assoziiert ist; einen Empfänger
zum Empfangen von Nachrichten von anderen Knoten und Extrahieren
einer Netzkennung aus den Nachrichten, die das Netz angibt, mit
dem der sendende Knoten assoziiert ist; einen Komparator zum Vergleichen
einer empfangenen Netzkennung mit der gespeicherten Netzkennung;
und eine Steuerung zum Ausführen
eines Duplikatadressdetektionsprozesses in dem Fall, dass der Komparator
anzeigt, dass die gespeicherte Netzkennung von der empfangenen Netzkennung
verschieden ist. Während
des Duplikatadressdetektionsprozesses sendet die Steuerung eine
Adressanforderungsnachricht für
Empfang durch andere Knoten, wobei die Adressanforderungsnachricht ein
Markierungszeichen zur Kennzeichnung enthält, dass der von der Steuerung
ausgeführte
Duplikatadressdetektionsprozess ein Ergebnis davon ist, dass eine
empfangene Netzkennung von der gespeicherten Netzkennung verschieden
ist.
-
Es
ist daher von Vorteil, wenn ein Knoten beim Empfang einer Adressanforderungsnachricht mit
einem derartigen Markierungszeichen seinen eigenen Duplikatadressdetektions-(DAD)-Prozess
initiiert. Um jedoch einen Ansturm von DAD-Nachrichten zu vermeiden,
ist es vorzuziehen, den Beginn des Duplikatadressdetektionsprozesses
für eine
Zeitdauer aufzuschieben. Diese Zeitdauer kann zufällig oder basierend
auf einen Parameter, der gewährleistet, dass
sie von anderen Knoten im Netz verschieden ist, die möglicherweise
gleichzeitig einen DAD-Prozess beginnen, bestimmt werden.
-
Zur
Gewährleistung,
dass alle Knoten in einem Netz sich einer Vereinigungssituation
bewusst sind, ist es vorteilhaft, wenn die Adressanforderungsnachrichten,
die als Teil eines DAD-Prozesses ausgegeben werden, von Knoten zu
Knoten weitergegeben werden. Um jedoch erneute Übertragung von vorherigen Nachrichten
oder Echos zu vermeiden, können
die Knoten eine Aufzeichnung von bereits weitergeleiteten Nachrichten
führen
und Nachrichten, die von demselben Knoten stammen, nicht erneut übertragen.
Die Aufzeichnung der Nachrichten kann für eine begrenzte Dauer erhalten
bleiben, so dass zukünftige
DAD-Prozesse nicht davon beeinflusst werden.
-
Als
Teil der Initiierung eines Knotens muss dieser zuerst eine eindeutige
Adresse erstellen und dann eine Netzkennung erlangen und speichern. Wenn
der Knoten sich nicht zu nahe an anderen Knoten befindet, d. h.
wenn er nicht imstande ist, sich einem existierenden Netz anzuschließen, dann
kann er seine eigene Netzkennung bestimmen und effektiv sein eigenes
Netz einrichten. Die Netzkennung kann auf der eigenen EUI-64- oder
MAC-Adresse der Endgeräte
basieren oder sogar zufällig
ausgewählt
werden.
-
Wenn
ein Knoten sich selbst initialisiert und sich ein oder mehr Knoten
in seinem Umkreis befinden, kann er sich dem existierenden Netz
anschließen.
Die anderen Knoten sollten Nachrichten wie Begrüßungsnachrichten aussenden,
die die Netzkennung dieses Knoten identifizieren werden. Der neue Knoten
kann dann die empfangene Netzkennung als seine eigene speichern.
Dieser Prozess kann ausgeführt
werden, indem anfangs darauf gewartet wird, ob Begrüßungsnachrichten
empfangen werden, und die empfangene Netzkennung verwendet wird,
aber wenn innerhalb einer Zeitdauer keine Nachricht empfangen wird,
bestimmt der Knoten, dass er allein ist und richtet seine eigene
Netzkennung ein.
-
Zusätzlich wählt das
Endgerät
während
der anfänglichen
Adressenkonfiguration vorzugsweise seine Adresse durch Verwendung
eines standortlokalen Präfixes
aus, gefolgt von einer Teilnetzkennung, gefolgt von einem Code,
der zur Schnittstellenkennung des Endgeräts in Beziehung steht (z. B. EUI-64- oder MAC-Adresse).
Vorzugsweise ist FECO:0:0::/48 das standortlokale Präfix. Die
Teilnetzkennung ist vorzugsweise eine 16-stellige Zahl. Die Zahl
kann zufällig
erzeugt werden und schließt
vorzugsweise den Wert FFFF aus.
-
Die
Bereitstellung einer eindeutigen Netzkennung, die von jedem Knoten
im Netz geführt
und über
Begrüßungsnachrichten
zwischen Nachbarn geändert
wird, bietet die Fähigkeit
zu erkennen, wenn Netze vereinigt werden, so dass die entsprechende DAD-Prozedur
ausgeführt
werden kann, um mögliche
Adressenkonflikte zu vermeiden. Dies gestattet es, Netzvereinigung
zu handhaben, ohne dass komplexe hierarchische Strukturen erforderlich
sind, und ohne übermäßige Überschwemmung
der Netze.
-
Nach
einem alternativen Aspekt der vorliegenden Erfindung wird ein Verfahren
zum Bilden einer IPv6-Adresse bereitgestellt zur Verwendung durch
ein Endgerät,
das einen Knoten in einem Ad-hoc-Netz bildet, umfassend: Verwenden
eines standortlokalen Präfixes
zum Bilden des Präfixes
der Adresse; Erzeugen einer Zufallszahl als eine Teilnetzkennung;
Erhalten einer vorbestimmten Endgerät-Kennadresse; und Bilden der
Adresse durch Anfügen
der Teilnetzkennung an das Ende der Kombination des Präfixes und
der Teilnetzkennung. Nachdem die Adresse gebildet wurde, wird die
Adresse vorzugsweise für
anschließende
Verwendung gespeichert.
-
In
dieser gesamten Patentschrift beziehen sich Verweise auf ein Endgerät auf eine
Vorrichtung, die imstande ist, an ein Netz anzubinden und einen Knoten
zu bilden. Dies kann eine Netzkarte sein oder eine Vorrichtung,
die eine derartige Karte umfasst, oder andere Mittel zum Anbinden
an ein Netz. Verweise auf einen Knoten beziehen sich auf einen Anbindungspunkt
in einem Netz, gelten aber auch für die Situation, dass ein Endgerät nicht
imstande ist, einen Kontakt mit einem anderen Knoten herzustellen, und
daher ein einzelner Knoten in einem Ein-Knoten-Netz ist.
-
Eine
spezifische Ausführungsform
der vorliegenden Erfindung wird jetzt unter Bezugnahme auf die beigefügten Figuren
beschrieben, von denen:
-
1 die
anfängliche
Adressen-Einrichtungs- und -Konfirmationsprozedur zeigt;
-
2 Überwachung
durch ein Endgerät zeigt,
um zu bestimmen, ob Netzvereinigung stattgefunden hat;
-
3a bis 3c den
Prozess der stattfindenden Netzvereinigung zeigen;
-
4a und 4b zeigen,
wie der Prozess der Duplikatadressdetektion in zwei vereinigten
Netzen ausgeführt
wird;
-
5a das
Format einer standardmäßigen Nachbarabrufnachricht
zeigt; und
-
5b das
Format einer modifizierten Nachbarabrufnachricht zeigt, die als
eine Adressanforderungs-(AREQ)-Nachricht in der vorliegenden Erfindung
verwendet wird.
-
Der
Prozess der Initialisierung eines Endgeräts zum Bilden eines Knotens
wird unter Bezugnahme auf 1 beschrieben.
Wenn ein Endgerät
zuerst initiiert wird, um sich einem Netz anzuschließen, befindet
es sich in einer von zwei Situationen. Entweder ist ein existierendes
Netz vorhanden, dem es sich anschließen kann, oder es ist kein
existierendes Netz vorhanden, so dass es effektiv sein eigenes Netz
bildet. In beiden Fällen
muss das Endgerät
eine IPv6-Adresse (S1) zur Verwendung in dem Netz bestimmen.
-
Da
ein Ad-Hoc-Netz eine Mehrsprungumgebung ist, sollte es als ein Standort
und nicht als eine Verbindung angesehen werden. Folglich ist die IPv6-Adresse
für einen
neuen Knoten eine standortlokale Adresse. In dieser Ausführungsform
besteht die standortlokale Adresse aus vier Feldern. Diese enthalten
ein 10-stelliges standortlokales Format-Präfix (FEC0::/10), ein 38-stelliges
Feld am nur Nullen, eine 16-stellige Teilnetzkennung und eine 64-stellige
Schnittstellenkennung. Die Teilnetzkennung wird zufällig am
einem vorbestimmten Bereich von Werten ausgewählt. Im Allgemeine würde dieser Bereich
jeden 16-stelligen Wert zulassen. In der Praxis werden jedoch einige
Werte vermieden, einschließlich
des Werts FFFF (der mit dem MANET_INITIAL_PREFIX korrespondiert).
Das MANET_INITIAL_PREFIX (FEC0:0:0:FFFF::/96) dient einem speziellen
Zweck, wie nachstehend beschrieben.
-
Die
Schnittstellenkennung wird aus der Sicherungsschicht-Adresse des
Knotens erzeugt. Beispielsweise kann die Schnittstellenkennung aus
der erweiterten universellen IEEE-Kennung (EUI-64) der Netzkarte
gebildet werden, die wiederum auf der MAC-Adresse der Karte beruhen
kann. Da EUI-64- und
MAC-Adressen global eindeutig sein sollen, minimiert diese Vorgehensweise
die Möglichkeit,
dass doppelte Adressen zwei verschiedenen Knoten zugewiesen werden.
Aufgrund der Nichtübereinstimmung
von einigen Organisationen ist es jedoch möglich, dass Duplikation vorkommt.
-
Beispielsweise
würde eine
Vorrichtung mit einem EUI-64-Wert von 1:21FF:FE63:7135 eine Schnittstellenkennung
von 201:21FF:FE63:7135 bereitstellen. Eine zufällig erzeugte Teilnetzkennung wird
als ABCD bereitgestellt. Wie oben angegeben, kann ein standortlokales
Präfix
verwendet werden, um die endgültige
standortlokale IPv6-Adresse als FEC0::ABCD:201:21FF:FE63:7135 zu
erzeugen.
-
Nach
der Bestimmung einer vorläufigen Adresse
muss das Endgerät
Schritte ausführen,
um zu ermitteln, ob sie wirklich eindeutig ist. Um die Validität der vorläufigen Adresse
zu bestätigen,
die bestimmt wurde. Der Knoten muss daher einen Duplikatadressdetektions-(DAD)-Prozess
ausführen
(S2). Eine Adressanforderung (AREQ) wird in der Form einer modifizierten
Nachbarabrufnachricht ausgesandt. Damit die Nachricht über die
unmittelbaren Nachbarn hinaus weitergeleitet wird, enthält die Nachricht
ein Markierungszeichen (M), das angibt, dass sie als eine AREQ-Nachricht
und nicht als eine einfache Abrufnachricht fungiert.
-
Als
Reaktion auf den Empfang einer derartigen Nachricht wird ein benachbartes
Endgerät
die Nachricht an seine eigenen Nachbarn weiterleiten. Außerdem wird
ein Vergleich mit seiner eigenen Adresse ausgeführt, und wenn die Adresse die
gleiche wie seine eigene Adresse ist, wird eine Adressantwort-(AREP)-Nachricht
zurückgesandt,
die schließlich
an das ursprüngliche
Endgerät
geht, um dieses darauf hinzuweisen, dass seine vorläufige Adresse
nicht eindeutig ist und geändert
werden muss.
-
Die
AREP-Nachricht nutzt gleichermaßen eine
modifizierte Nachbarankündigungs-(NA)-Nachricht, die über ein
zusätzliches
Markierungszeichen verfügt,
das angibt, dass die NA-Nachricht als Teil einer Duplikatadressdetektionsoperation
verwendet wird, so dass sie von Knoten zu Knoten weitergegeben wird,
anstatt darauf beschränkt
zu sein, nur über einen
Sprung an die unmittelbaren Nachbarn gesandt zu werden. Die vorläufige Adresse
ist in der NA-Nachricht enthalten, so dass, wenn der ursprüngliche
Absender der Adressanforderung die Netzankündigungsnachricht erhält, die
seine vorläufige Adresse
enthält,
dieser weiß,
dass seine vorläufige Adresse
nicht eindeutig ist. Er kann dann den Prozess zur Bestimmung einer
alternativen vorläufigen Adresse
beginnen, beispielsweise basierend auf einer anderen zufällig ausgewählten Teilnetzkennung.
-
Nach
der Aussendung der AREQ-Nachricht muss der Knoten darauf warten,
ob eine AREP-Nachricht
als Reaktion empfangen wird (S3). Wenn eine AREP-Nachricht von einem
Knoten empfangen wird, der gegenwärtig die vorläufige Adresse verwendet,
muss eine neue vorläufige
Adresse erstellt werden, und die Duplikatadressdetektion muss mit
der neuen Adresse wiederholt werden.
-
Wenn
nach der Auswahl einer vorläufigen Adresse
keine AREP-Nachricht innerhalb einer festen Zeitdauer empfangen
wird, bestimmt das Endgerät,
dass die vorläufige
Adresse noch nicht verwendet wird, und kann daher die Adresse für sich selbst
verwenden. Der Duplikatadressdetektionsprozess wird ausführlicher
in dem oben erwähnten
Dokument von Perkins et al beschrieben.
-
Nach
der Durchführung
der Duplikatadressdetektion geht das Endgerät anfänglich davon aus, dass sich
kein Netz in dem Bereich befindet und dass es der einzige Knoten
in einem neuen Netz ist. Es konfiguriert sich dann selbst (S4) mit
der bestimmten vorläufigen
Adresse, und das Netz wird initialisiert. Wenn der Knoten keine
Nachrichten von anderen Knoten empfängt, fährt es auf der Grundlage fort, dass
es ein neues Netz eingerichtet hat und wählt anfänglich (S5) eine eindeutige
Netzkennung (UNID) für
dieses neue Netz und speichert es. Diese eindeutige Kennung hilft
bei der Identifizierung der Knoten, die an einem gegebenen Netz
angebunden sind. Dies ist insbesondere nützlich zur Bestimmung, dass Netzaufteilung
und -vereinigung stattfinden. Als Teil des normalen Operationsprozesses
des Netzes werden regelmäßig Begrüßungsnachrichten
an Nachbarn ausgesandt, und die eindeutige Kennung ist in diesen
Begrüßungsnachrichten
enthalten.
-
Die
eindeutige Kennung kann auf verschiedene Weise bestimmt werden und
kann einfach auf der EUI-64- oder MAC-Adresse des Knotens basiert werden.
-
Wenn
ein Endgerät
initialisiert wird und bereits ein Netz existiert, kann einer seiner
Nachbarn eine Begrüßungsnachricht
aussenden. Wie oben beschrieben, wird die Begrüßungsnachricht die eindeutige
Kennung für
das Netz enthalten, von dem der Nachbar einen Teil bildet. Der neue
Knoten wird diese Nachricht empfangen und bestimmen, dass er imstande
ist, sich einem existierendes Netz anzuschließen, anstatt ein neues einzurichten.
Daher entscheidet der Knoten (S5), die von seinem Nachbarn empfangene
eindeutige Kennung zu verwenden, und speichert die eindeutige Kennung,
anstatt seine eigene zu erzeugen. Wie unten erläutert, wird der Knoten in Zukunft
diese eindeutige Kennung als Bestandteil von Begrüßungsnachrichten,
die er überträgt, aussenden.
In dieser Weise erhalten alle Knoten in einem gegebenen Netz dieselbe
eindeutige Kennung.
-
Nachdem
der Knoten sich selbst mit einer IP-Adresse initialisiert und eine
eindeutige Kennung bestimmt hat, entweder von einem Nachbarn oder von
sich aus, wird der normale Betrieb (S6) fortgesetzt, aber der Zustand
des Netzes muss überwacht werden,
um zu bestimmen, ob eine Netzaufteilung oder -vereinigung stattgefunden
hat. Dies wird unter Bezugnahme auf 2 erläutert.
-
Während der
Netzaufteilung werden eine oder mehr der Knoten, die einen Teil
des Netzes bilden, von den anderen Knoten abgetrennt, die das Netz
bilden. In einem Mobilfunknetz kann dies darauf beruhen, dass die
Knoten sich voneinander weg bewegt haben oder nicht mehr imstande
sind, mit Knoten in dem anderen Teil des Netzes zu kommunizieren.
Während
der Vereinigung sind die Knoten in zwei Netzen, d. h. Netze mit
verschiedenen eindeutigen Kennungen, imstande miteinander zu kommunizieren,
wohingegen sie vorher nicht dazu imstande waren. Das Problem ist
hier, dass die zwei Knoten unter Umständen die gleiche IP-Adresse
haben, obwohl jeder Knoten die Adresse separat innerhalb seines
eigenen Netzes vor der Vereinigung der beiden Netze als eindeutig
authentifiziert hatte. Natürlich
waren die beiden Netze vor der Vereinigung nicht imstande zu kommunizieren,
so dass die AREQ-Nachrichten nicht zwischen den beiden Netzen weitergeleitet
worden wären.
Nachdem jedoch die Vereinigung stattgefunden hat, ist die Existenz
von zwei Knoten mit der gleichen Adresse problematisch.
-
In
Ad-hoc-Netzen wird die Netzkonnektivität durch den Empfang von Rundsendungs-Kontrollnachrichten
bestimmt. Diese Rundsendungs-Kontrollnachrichten dienen auch als
Begrüßungsnachrichten,
die Nachbarn die Existenz und fortgesetzte Präsenz eines Knotens anzeigen.
-
Begrüßungsnachrichten
werden periodisch unter allen benachbarten Knoten ausgetauscht.
In dieser Ausführungsform
ist die Information in den Begrüßungsnachrichten
enthalten.
-
Der
Knoten überwacht
die empfangenen Nachrichten auf den Empfang von Begrüßungsnachrichten
(S61). Wenn ein Knoten eine Begrüßungsnachricht
empfängt,
extrahiert er die eindeutige Kennung (S62). Wenn ein Knoten, wie
oben angegeben, vorher noch keine Begrüßungsnachricht empfangen hat
und nicht bestimmt hat, dass er ein einzelner Knoten ist, speichert
er die empfangene eindeutige Kennung (S64) und setzt den normalen
Betrieb fort. Hat der Knoten bereits eine eindeutige Kennung eingerichtet,
vergleicht (S65) er die empfangene eindeutige Kennung mit der gespeicherten
eindeutigen Kennung. Wenn die empfangene eindeutige Kennung von
der eigenen, vorher gespeicherten eindeutigen Kennung des Knotens
verschieden ist, bestimmt er daraus, das sein gegenwärtiges Netz
sich mit einem anderen Netz mit einer verschiedenen eindeutigen Kennung
vereinigt hat. Zur Vermeidung der Möglichkeit der Koexistenz von
zwei Knoten mit der gleichen IP-Adresse muss ein neuer DAD-Prozess
(S66) ausgeführt
werden.
-
In
diesem DAD-Prozess (S66) sendet der Knoten (S67) AREQ-Nachrichten
aus, wie er es vorher bei der Initialisierung gemacht hat, und erwartet den
Empfang einer AREP-Nachricht, wenn seine Adresse nicht eindeutig
ist. Die AREQ-Nachricht enthält
weiterhin ein Markierungszeichen NetMerge, das angibt, dass die
AREQ-Nachricht als Ergebnis einer Netzvereinigung ausgegeben wird
und nicht aufgrund dessen, dass ein neuer Knoten sich selbst initialisiert.
Während
die AREQ-Nachricht von Knoten zu Knoten innerhalb des Netzes weitergeleitet
wird, wird jeder Knoten in dieser Weise darauf aufmerksam gemacht,
dass der ausgebende Knoten sich an der Grenze zu einem anderen Netz
befindet. In der Praxis ist die Grenze unter Umständen nicht
eine streng physikalische Grenze, da ein Knoten, der mit einem Endgerät in der
physikalischen Mitte eines Mobilfunknetzes verbunden ist, auch imstande
sein kann, an Knoten anzubinden, die der Rest des Netzes nicht erreichen
kann.
-
Nach
Empfang einer AREQ-Nachricht, in der das Markierungszeichen NetMerge
gesetzt ist, wird ein Knoten bestimmen, dass er einen DAD-Prozess für seine
eigene IP-Adresse ausführen
muss. Wenn ein Netz sich mit einem anderen verbindet, kann es sein,
dass mehrere Knoten dies in einer kurzen Zeitdauer bemerken und
ihren eigenen DAD-Prozess beginnen. Dies kann darin resultieren,
dass ein Knoten mehrere AREQ-Nachrichten als ein Ergebnis derselben
Netzvereinigungsaktivität
empfängt.
Folglich wird der Knoten nur einen DAD-Prozess einmal innerhalb
einer bestimmten Zeitperiode starten. Wenn daher mehrere AREQ-Nachrichten
als ein Ergebnis der Vereinigung von zwei Netzen empfangen werden,
wird der Knoten keine wiederholten DAD-Prozesse ausführen. Um Überlastung
zu vermeiden, die dadurch verursacht wird, dass mehrere Knoten versuchen,
kurz nach der Netzvereinigung einen DAD-Prozess auszuführen, kann
zusätzlich
eine zufällige
Verzögerung
oder ein Jitter eingeführt
werden, bevor ein DAD-Prozess
begonnen wird, um den DAD-Verkehr in der Zeit zu verteilen.
-
Nachdem
die Knoten festgestellt haben, dass ihre Adressen noch eindeutig
sind, können
sie die beiden vereinigten Netze auf eine neue gemeinsame eindeutige
Kennung für
das vereinigte Netz einigen. Dies kann auf verschiedene Weise erfolgen. Beispielsweise
könnte
der erste Knoten, wenn er die Vereinigung von zwei Netzen feststellt,
sich für
eine neue eindeutige Kennung für
das kombinierte Netz entscheiden und diese als eine Erweiterung
seiner AREQ-Nachrichten während
seiner DAD aussenden.
-
Da
der DAD-Prozess Überschwemmung während der
Vereinigung von zwei Netzen verwendet, besteht die Möglichkeit,
dass ein Ansturm von DAD-Nachrichten durch die kombinierten Netze
erfolgt. Dieser kann unter Verwendung des oben erwähnten Jitters
gespreizt werden. Außerdem
kann der Knoten den Empfang von AREQ/AREP-Nachrichten aufzeichnen.
Der Knoten würde
eine Aufzeichnung davon behalten, von welcher Quelladresse die Nachrichten
stammen, und würde
keine anschließenden
Nachrichten weiterleiten, die tatsächlich redundant sind. Dies
wird helfen, die Neuübertragung
von Echos von vorher weitergeleiteten Nachrichten zu minimieren.
-
Ein
anderes Problem, das bei der Vermeidung von Adressenkonflikten auftreten
kann, betrifft die Standort-Neunummerierung. Wenn sich eine Endadresse ändert, werden
bestehende TCP-Verbindungen unterbrochen. Zur Ermöglichung
der sanften Neunummerierung der Vorrichtung eines Standorts können bevorzugte
und missbilligte Adressen eingeführt
werden. In dieser Weise wird die Adresse vor der Neunummerierung,
die missbilligte Adresse, noch verwendbar sein. Die Quelladresse
in Nachrichten, die vom Knoten ausgesandt werden, wird jedoch die
neue Adresse, die bevorzugte Adresse, enthalten. Dies wird nur für eine begrenzte
Zeit verfügbar sein,
damit etwaige ausstehende Nachrichten von dem Knoten empfangen werden
können.
-
Jetzt
wird ein ausführliches
Beispiel des Prozesses der Netzvereinigung unter Bezugnahme auf die 3a bis 3c beschrieben. 3a zeigt zwei
getrennte Netze mit eindeutigen Netzkennungen ID_A und ID_B. Das
erste Netz enthält
die Knoten 1, 2, 3, 4 und 5. Das zweite Netz enthält die Knoten
6, 7, 8 und 9. Die beiden Knoten 2 und 8 haben die gleiche IP-Adresse,
in diesem Beispiel die IP-Adresse = x. Während die Netze voneinander
getrennt sind, wie in 3a dargestellt, ist dies kein Problem.
Wenn die Knoten jedoch anschließend
vereinigt werden, wie in 3b dargestellt,
tritt ein Problem auf.
-
Bei
der Vereinigung der Netze senden die Knoten 2 und 9 Begrüßungsnachrichten
aus, die jetzt beide von Knoten 1 empfangen werden können. Knoten
1 empfängt
die Begrüßungsnachricht
von Knoten 2 und nimmt seine eindeutige Kennung ID_A gewahr. Knoten
1 empfängt
dann die Begrüßungsnachricht vom
Knoten 9 und nimmt dessen eindeutige Kennung ID_B gewahr. Da diese
eindeutigen Netzkennungen verschieden sind, bestimmt Knoten 1, dass eine
Vereinigung erfolgt ist.
-
Wie
in 3c dargestellt, beginnt Knoten 1 einen DAD-Prozess,
um festzustellen, ob seine eigene Adresse im kombinierten Netz noch
eindeutig ist. Er beginnt durch das Aussenden einer AREQ-Nachricht, in der
das Markierungszeichen NetMerge gesetzt ist. Diese Nachricht wird
von den Knoten 2, 4, 6 und 9 empfangen, wie dargestellt. Diese Knoten übertragen
die AREQ-Nachricht dann erneut, die von ihren jeweiligen Nachbarn
empfangen wird. Die AREQ-Nachricht wird an alle Knoten des kombinierten
Netzes verteilt. Da die Adresse von Knoten 1 innerhalb von beiden
Netzen eindeutig ist, wird keine AREP-Nachricht ausgegeben. Nach einer geeigneten
Zeitdauer bestimmt Knoten 1, dass seine IP-Adresse noch eindeutig
ist, und setzt den normalen Betrieb fort. Die anderen Knoten, die
die AREQ-Nachricht mit dem gesetzten Markierungszeichen NetMerge
empfangen haben, beginnen dann ihren eigenen DAD-Prozess. Wie oben
angegeben, kann eine zufällige
Verzögerung
bestehen, bis dies in einem gegebenen Knoten initiiert wird.
-
Schließlich wird
Knoten 2 seinen eigenen DAD-Prozess beginnen, wie in 4a dargestellt. Knoten
2 sendet daher AREQ-Nachrichten aus, die im gesamten Netz verteilt
werden. Diese Nachricht wird schließlich an Knoten 8 weitergeleitet.
Knoten 8 nimmt wahr, dass die Adresse von Knoten 2 die gleiche ist
wie seine eigene, und gibt eine AREP-Nachricht aus. Diese wird dann übertragen
und schließlich zurück zu Knoten
2 befördert,
wie durch die beispielhafte Route, die in 4b dargestellt
ist. Knoten 2 empfängt
schließlich
die AREP-Nachricht und bestimmt, dass seine Adresse nicht mehr eindeutig
ist. Daher bestimmt er eine neue vorläufige Adresse und wiederholt
den Initialisierungs-DAD-Prozess.
-
In
diesem Beispiel ändert
Knoten 2 seine Adresse. Es ist jedoch auch möglich, dass Knoten 8 seine
Adresse ebenfalls geändert
hat, wenn er seine eigene AREQ-Nachricht ausgesandt hat, auf die Knoten
2 geantwortet hat. In der Tat können
beide Knoten ihre Adressen geändert
haben, entweder als Reaktion darauf, dass beide AREP-Nachrichten
ausgesandt haben, und/oder durch Empfangen einer AREQ mit der gleichen
IP-Adresse.
-
Eine
standardmäßige NS-Nachricht
ist in 5a dargestellt. 5b zeigt
ein Beispiel der Struktur einer AREQ-Nachricht der oben beschriebenen
Ausführungsform.
Die AREQ-Nachricht ist eine modifizierte Nachbarankündigungs-(NS)-Nachricht mit
den zusätzlichen
Markierungszeichen M und N. Das Markierungszeichen M gibt an, dass
die NS-Nachricht eine spezielle, für DAD verwendete Ausführung ist.
Das Markierungszeichen N wird verwendet, um anzugeben, dass die
MS-Nachricht als Teil eines DAD-Prozesses
verwendet wird, der aufgrund der Vereinigung der beiden Netze erfolgt.
Die beiden Markierungszeichen sind im empfangenen Abschnitt der
standardmäßigen NS-Nachricht
enthalten. Außerdem
wird die Sprunggrenze von 255 auf einen Parameter modifiziert, der
mit dem Durchmesser des Ad-hoc-Netzes korrespondiert, um Mehrsprung-Konnektivität zu ermöglichen.
Die Zieladresse bleibt unverändert
als die „Multicast-Adresse
für alle
Knoten". Die Quelladresse
ist standortlokal und wird mit einer zufälligen Adresse mit dem standortlokalen
Präfix,
dem MANET_INITIAL_PREFIX (FEC0:0:0:FFFF::/96), gebildet. Diese Adresse
wird nur einmal während
des anfänglichen
Tests verwendet, um zu bestimmen, ob die vorläufige Adresse eindeutig ist.
Obwohl die potenzielle Zahl von verschiedenen Adressen vergleichsweise
klein ist, da die Adressen nur übergangsweise
zur Bereitstellung einer Rückkehradresse
für die
zu sendenden AREP-Nachrichten verwendet werden, besteht eine relativ
geringe Möglichkeit
einer Duplikation.
-
Wenn
ein Knoten sich von einem Netz trennt, kann er dies entweder abrupt
durchführen,
ohne die anderen Knoten über
seinen Weggang zu informieren, oder sanft mit der entsprechenden
Information. In beiden Fällen
gibt es keine Reaktion von dem Knoten auf weitere Adressanforderungen.
Als eine weitere Option kann die oben beschriebene Anordnung eine
begrenzte Dauer oder einen Leihmechanismus ähnlich dem in DHCP verwendeten
enthalten. In DHCP werden Adressen mit einer zeitlich festgelegten
Leihdauer zugewiesen, die nach einer gewissen Dauer abläuft, wenn
sie nicht erneuert wird. Dies vermeidet, dass Adressen, die nicht
verwendet werden, effektiv nicht verfügbar sind. Wenn daher die vorbestimmte
Zeit für
einen Knoten ausläuft
und keine Aktualisierungsnachrichten (z. B. Begrüßungsnachrichten) von dem Knoten
empfangen wurden, können seine
Nachbarn annehmen, dass er sich aus dem Netzbereich bewegt hat oder
dass der Knoten heruntergefahren ist.