Zum Hauptinhalt springen

5. RPL-Instanz

Innerhalb eines gegebenen LLN kann es mehrere logisch unabhängige RPL-Instanzen geben. Ein RPL-Knoten kann zu mehreren RPL-Instanzen gehören und in einigen als Router und in anderen als Leaf (Blatt) fungieren. Dieses Dokument beschreibt, wie sich eine einzelne Instanz verhält.

Es gibt zwei Arten von RPL-Instanzen: Lokal und Global. RPL unterteilt den RPLInstanceID-Raum in globale und lokale Instanzen, um sowohl eine koordinierte als auch eine unilaterale Zuweisung von RPLInstanceIDs zu ermöglichen. Globale RPL-Instanzen sind koordiniert, haben einen oder mehrere DODAGs und sind typischerweise langlebig. Lokale RPL-Instanzen sind immer ein einzelner DODAG, dessen singuläre Wurzel die entsprechende DODAGID besitzt und die lokale RPLInstanceID auf unilaterale Weise zuweist. Lokale RPL-Instanzen können beispielsweise verwendet werden, um DODAGs zur Unterstützung einer zukünftigen On-Demand-Routing-Lösung zu konstruieren. Der Betriebsmodus lokaler RPL-Instanzen liegt außerhalb des Geltungsbereichs dieser Spezifikation und kann in anderen Begleitspezifikationen beschrieben werden.

Die Definition und Bereitstellung von RPL-Instanzen liegt außerhalb des Geltungsbereichs dieser Spezifikation. Richtlinien können anwendungs- und implementierungsspezifisch sein, und es wird erwartet, dass sie in zukünftigen Begleitspezifikationen ausgearbeitet werden. Diese Operationen sollen so gestaltet sein, dass Datenpakete, die von außerhalb des RPL-Netzwerks kommen, eindeutig mindestens einer RPL-Instanz zugeordnet und sicher über jede Instanz geleitet werden können, die dem Paket entsprechen würde.

Steuer- und Datenpakete innerhalb des RPL-Netzwerks werden markiert, um eindeutig zu identifizieren, zu welcher RPL-Instanz sie gehören.

Jede RPL-Steuernachricht verfügt über ein RPLInstanceID-Feld. Einige RPL-Steuernachrichten können, wenn sie sich auf eine lokale RPLInstanceID beziehen, wie unten definiert, auch eine DODAGID enthalten.

Datenpakete, die innerhalb des RPL-Netzwerks fließen, machen die RPLInstanceID als Teil der von RPL benötigten RPL-Paketinformationen sichtbar, wie in Abschnitt 11.2. Bei Datenpaketen, die von außerhalb des RPL-Netzwerks kommen, bestimmt der Eingangsrouter die RPLInstanceID und platziert sie in dem resultierenden Paket, das er in das RPL-Netzwerk einspeist.

5.1. RPL-Instanz-ID

Eine globale RPLInstanceID MUSS für das gesamte LLN eindeutig sein. Mechanismen zur Zuweisung und Bereitstellung globaler RPLInstanceIDs liegen außerhalb des Geltungsbereichs dieser Spezifikation. Es kann bis zu 128 globale Instanzen im gesamten Netzwerk geben. Lokale Instanzen werden immer in Verbindung mit einer DODAGID verwendet (die in einigen Fällen entweder explizit oder implizit angegeben wird), und es können bis zu 64 lokale Instanzen pro DODAGID unterstützt werden. Lokale Instanzen werden von dem Knoten, der die DODAGID besitzt, ohne explizite Koordination mit anderen Knoten zugewiesen und verwaltet, wie unten näher erläutert.

Eine globale RPLInstanceID wird in einem RPLInstanceID-Feld wie folgt codiert:

     0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|0| ID | Global RPLInstanceID in 0..127
+-+-+-+-+-+-+-+-+

Figure 4: RPLInstanceID Field Format for Global Instances

Eine lokale RPLInstanceID wird von dem Knoten, der die DODAGID besitzt, automatisch konfiguriert und MUSS für diese DODAGID eindeutig sein. Die zur Konfiguration der lokalen RPLInstanceID verwendete DODAGID MUSS eine erreichbare IPv6-Adresse des Knotens sein und MUSS als Endpunkt aller Kommunikationen innerhalb dieser lokalen Instanz verwendet werden.

Eine lokale RPLInstanceID wird in einem RPLInstanceID-Feld wie folgt codiert:

     0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|1|D| ID | Local RPLInstanceID in 0..63
+-+-+-+-+-+-+-+-+

Figure 5: RPLInstanceID Field Format for Local Instances

Das 'D'-Flag in einer lokalen RPLInstanceID ist in RPL-Steuernachrichten immer auf 0 gesetzt. Es wird in Datenpaketen verwendet, um anzugeben, ob die DODAGID die Quelle oder das Ziel des Pakets ist. Wenn das 'D'-Flag auf 1 gesetzt ist, MUSS die Zieladresse des IPv6-Pakets die DODAGID sein. Wenn das 'D'-Flag gelöscht ist, MUSS die Quelladresse des IPv6-Pakets die DODAGID sein.

Betrachten Sie beispielsweise einen Knoten A, der die DODAG-Wurzel einer lokalen RPL-Instanz ist und eine lokale RPLInstanceID zugewiesen hat. Per Definition wird der gesamte Verkehr, der diese lokale RPL-Instanz durchquert, entweder am Knoten A entspringen oder dort enden. In diesem Fall ist die DODAGID die erreichbare IPv6-Adresse von Knoten A. Der gesamte Verkehr enthält die Adresse von Knoten A und somit die DODAGID entweder in der Quell- oder in der Zieladresse. Somit kann die lokale RPLInstanceID angeben, dass die DODAGID entweder der Quelladresse oder der Zieladresse entspricht, indem das 'D'-Flag entsprechend gesetzt wird.