Anhang A. Beispielbetrieb
Dieser Anhang enthält einige Beispiele, um die Verbreitung von Adressierungsinformationen und Präfixen mit RPL zu veranschaulichen. Die Beispiele zeigen Informationen, die mit PIOs und RIOs verteilt werden, sowie die Verwendung von DIO- und DAO-Nachrichten. Beachten Sie, dass dieser Anhang nicht normativ ist und dass die spezifischen Details eines RPL-Adressierungsplans und der Autokonfiguration je nach spezifischen Implementierungen variieren können. RPL bietet lediglich ein Vehikel zur Verbreitung von Informationen, auf denen andere Mechanismen aufbauen und die sie nutzen können.
Beachten Sie, dass diese Beispiele die Verwendung von Adress-Autokonfigurationsschemata veranschaulichen, die durch Informationen unterstützt werden, die innerhalb von RPL verteilt werden. Wenn eine Implementierung jedoch ein anderes Adress-Autokonfigurationsschema enthält, könnten RPL-Knoten so konfiguriert werden, dass sie das 'A'-Flag in PIO-Optionen nicht setzen, obwohl die PIO weiterhin zur Verteilung von Präfix- und Adressierungsinformationen verwendet werden kann.
A.1. Beispielbetrieb im Speichermodus mit knoteneigenen Präfixen
Abbildung 32 veranschaulicht die logische Adressierungsarchitektur eines einfachen RPL-Netzwerks, das im Speichermodus arbeitet. In diesem Beispiel besitzt jeder Knoten A, B, C und D sein eigenes Präfix und stellt dieses Präfix für die Adress-Autokonfiguration durch On-Link-Geräte zur Verfügung. (Dies wird durch Setzen des 'A'-Flags und des 'L'-Flags in der PIO der DIO-Nachrichten vermittelt). Knoten A besitzt das Präfix A::/64, Knoten B besitzt B::/64 und so weiter. Knoten B konfiguriert automatisch eine On-Link-Adresse in Bezug auf Knoten A, A::B. Knoten C und D konfigurieren in ähnlicher Weise On-Link-Adressen aus dem Präfix von Knoten B, B::C bzw. B::D. Knoten haben die Möglichkeit, das 'R'-Flag zu setzen und ihre Adresse im Präfixfeld der PIO zu veröffentlichen.
+-------------+
| Root |
| |
| Node A |
| |
| A::A |
+------+------+
|
|
|
+------+------+
| A::B |
| |
| Node B |
| |
| B::B |
+------+------+
|
|
|
.--------------+--------------.
/ \
/ \
+------+------+ +------+------+
| B::C | | B::D |
| | | |
| Node C | | Node D |
| | | |
| C::C | | D::D |
+-------------+ +-------------+
Abbildung 32: Speichermodus mit knoteneigenen Präfixen
A.1.1. DIO-Nachrichten und PIO
Knoten A sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gesetzt
- 'R'-Flag: Gelöscht
- Präfixlänge: 64
- Präfix: A::
Knoten B sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gesetzt
- 'R'-Flag: Gesetzt
- Präfixlänge: 64
- Präfix: B::B
Knoten C sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gesetzt
- 'R'-Flag: Gelöscht
- Präfixlänge: 64
- Präfix: C::
Knoten D sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gesetzt
- 'R'-Flag: Gesetzt
- Präfixlänge: 64
- Präfix: D::D
A.1.2. DAO-Nachrichten
Knoten B sendet DAO-Nachrichten an Knoten A mit den folgenden Informationen:
- Ziel B::/64
- Ziel C::/64
- Ziel D::/64
Knoten C sendet DAO-Nachrichten an Knoten B mit den folgenden Informationen:
- Ziel C::/64
Knoten D sendet DAO-Nachrichten an Knoten B mit den folgenden Informationen:
- Ziel D::/64
A.1.3. Routing-Informationsbasis
Knoten A sammelt konzeptionell die folgenden Informationen in seiner Routing-Informationsbasis (RIB):
- A::/64 verbunden
- B::/64 über Link-Local von B
- C::/64 über Link-Local von B
- D::/64 über Link-Local von B
Knoten B sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von A
- B::/64 verbunden
- C::/64 über Link-Local von C
- D::/64 über Link-Local von D
Knoten C sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von B
- C::/64 verbunden
Knoten D sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von B
- D::/64 verbunden
A.2. Beispielbetrieb im Speichermodus mit Subnetz-weitem Präfix
Abbildung 33 veranschaulicht die logische Adressierungsarchitektur eines einfachen RPL-Netzwerks, das im Speichermodus arbeitet. In diesem Beispiel stellt der Wurzelknoten A ein Präfix bereit, das für die Adress-Autokonfiguration über das gesamte RPL-Subnetz verwendet wird. (Dies wird durch Setzen des 'A'-Flags und Löschen des 'L'-Flags in der PIO der DIO-Nachrichten vermittelt.) Die Knoten A, B, C und D konfigurieren sich alle automatisch auf das Präfix A::/64. Knoten haben die Möglichkeit, das 'R'-Flag zu setzen und ihre Adresse im Präfixfeld der PIO zu veröffentlichen.
+-------------+
| Root |
| |
| Node A |
| A::A |
| |
+------+------+
|
|
|
+------+------+
| |
| Node B |
| A::B |
| |
+------+------+
|
|
.--------------+--------------.
/ \
/ \
+------+------+ +------+------+
| | | |
| Node C | | Node D |
| A::C | | A::D |
| | | |
+-------------+ +-------------+
Abbildung 33: Speichermodus mit Subnetz-weitem Präfix
A.2.1. DIO-Nachrichten und PIO
Knoten A sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gelöscht
- 'R'-Flag: Gelöscht
- Präfixlänge: 64
- Präfix: A::
Knoten B sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gelöscht
- 'R'-Flag: Gesetzt
- Präfixlänge: 64
- Präfix: A::B
Knoten C sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gelöscht
- 'R'-Flag: Gelöscht
- Präfixlänge: 64
- Präfix: A::
Knoten D sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gelöscht
- 'R'-Flag: Gesetzt
- Präfixlänge: 64
- Präfix: A::D
A.2.2. DAO-Nachrichten
Knoten B sendet DAO-Nachrichten an Knoten A mit den folgenden Informationen:
- Ziel A::B/128
- Ziel A::C/128
- Ziel A::D/128
Knoten C sendet DAO-Nachrichten an Knoten B mit den folgenden Informationen:
- Ziel A::C/128
Knoten D sendet DAO-Nachrichten an Knoten B mit den folgenden Informationen:
- Ziel A::D/128
A.2.3. Routing-Informationsbasis
Knoten A sammelt konzeptionell die folgenden Informationen in seiner RIB:
- A::A/128 verbunden
- A::B/128 über Link-Local von B
- A::C/128 über Link-Local von B
- A::D/128 über Link-Local von B
Knoten B sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von A
- A::B/128 verbunden
- A::C/128 über Link-Local von C
- A::D/128 über Link-Local von D
Knoten C sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von B
- A::C/128 verbunden
Knoten D sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von B
- A::D/128 verbunden
A.3. Beispielbetrieb im Nicht-Speichermodus mit knoteneigenen Präfixen
Abbildung 34 veranschaulicht die logische Adressierungsarchitektur eines einfachen RPL-Netzwerks, das im Nicht-Speichermodus arbeitet. In diesem Beispiel besitzt jeder Knoten A, B, C und D sein eigenes Präfix und stellt dieses Präfix für die Adress-Autokonfiguration durch On-Link-Geräte zur Verfügung. (Dies wird durch Setzen des 'A'-Flags und des 'L'-Flags in der PIO der DIO-Nachrichten vermittelt). Knoten A besitzt das Präfix A::/64, Knoten B besitzt B::/64 und so weiter. Knoten B konfiguriert automatisch eine On-Link-Adresse in Bezug auf Knoten A, A::B. Knoten C und D konfigurieren in ähnlicher Weise On-Link-Adressen aus dem Präfix von Knoten B, B::C bzw. B::D. Knoten haben die Möglichkeit, das 'R'-Flag zu setzen und ihre Adresse im Präfixfeld der PIO zu veröffentlichen.
+-------------+
| Root |
| |
| Node A |
| |
| A::A |
+------+------+
|
|
|
+------+------+
| A::B |
| |
| Node B |
| |
| B::B |
+------+------+
|
|
|
.--------------+--------------.
/ \
/ \
+------+------+ +------+------+
| B::C | | B::D |
| | | |
| Node C | | Node D |
| | | |
| C::C | | D::D |
+-------------+ +-------------+
Abbildung 34: Nicht-Speichermodus mit knoteneigenen Präfixen
A.3.1. DIO-Nachrichten und PIO
Die PIO, die in den DIO-Nachrichten im Nicht-Speichermodus mit knoteneigenen Präfixen enthalten ist, kann als identisch mit denen im Fall des Speichermodus mit knoteneigenen Präfixen (Anhang A.1.1) angesehen werden.
A.3.2. DAO-Nachrichten
Knoten B sendet DAO-Nachrichten an Knoten A mit den folgenden Informationen:
- Ziel B::/64, Transit A::B
Knoten C sendet DAO-Nachrichten an Knoten A mit den folgenden Informationen:
- Ziel C::/64, Transit B::C
Knoten D sendet DAO-Nachrichten an Knoten A mit den folgenden Informationen:
- Ziel D::/64, Transit B::D
A.3.3. Routing-Informationsbasis
Knoten A sammelt konzeptionell die folgenden Informationen in seiner RIB. Beachten Sie, dass Knoten A über genügend Informationen verfügt, um Quellrouten durch rekursive Suchvorgänge in der RIB zu konstruieren:
- A::/64 verbunden
- B::/64 über A::B
- C::/64 über B::C
- D::/64 über B::D
Knoten B sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von A
- B::/64 verbunden
Knoten C sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von B
- C::/64 verbunden
Knoten D sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von B
- D::/64 verbunden
A.4. Beispielbetrieb im Nicht-Speichermodus mit Subnetz-weitem Präfix
Abbildung 35 veranschaulicht die logische Adressierungsarchitektur eines einfachen RPL-Netzwerks, das im Nicht-Speichermodus arbeitet. In diesem Beispiel stellt der Wurzelknoten A ein Präfix bereit, das für die Adress-Autokonfiguration über das gesamte RPL-Subnetz verwendet wird. (Dies wird durch Setzen des 'A'-Flags und Löschen des 'L'-Flags in der PIO der DIO-Nachrichten vermittelt.) Die Knoten A, B, C und D konfigurieren sich alle automatisch auf das Präfix A::/64. Knoten müssen das 'R'-Flag setzen und ihre Adresse im Präfixfeld der PIO veröffentlichen, um ihre Kinder darüber zu informieren, welche Adresse in der Transitoption verwendet werden soll.
+-------------+
| Root |
| |
| Node A |
| A::A |
| |
+------+------+
|
|
|
+------+------+
| |
| Node B |
| A::B |
| |
+------+------+
|
|
.--------------+--------------.
/ \
/ \
+------+------+ +------+------+
| | | |
| Node C | | Node D |
| A::C | | A::D |
| | | |
+-------------+ +-------------+
Abbildung 35: Nicht-Speichermodus mit Subnetz-weitem Präfix
A.4.1. DIO-Nachrichten und PIO
Knoten A sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gelöscht
- 'R'-Flag: Gesetzt
- Präfixlänge: 64
- Präfix: A::A
Knoten B sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gelöscht
- 'R'-Flag: Gesetzt
- Präfixlänge: 64
- Präfix: A::B
Knoten C sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gelöscht
- 'R'-Flag: Gesetzt
- Präfixlänge: 64
- Präfix: A::C
Knoten D sendet beispielsweise DIO-Nachrichten mit einer PIO wie folgt:
- 'A'-Flag: Gesetzt
- 'L'-Flag: Gelöscht
- 'R'-Flag: Gesetzt
- Präfixlänge: 64
- Präfix: A::D
A.4.2. DAO-Nachrichten
Knoten B sendet DAO-Nachrichten an Knoten A mit den folgenden Informationen:
- Ziel A::B/128, Transit A::A
Knoten C sendet DAO-Nachrichten an Knoten A mit den folgenden Informationen:
- Ziel A::C/128, Transit A::B
Knoten D sendet DAO-Nachrichten an Knoten A mit den folgenden Informationen:
- Ziel A::D/128, Transit A::B
A.4.3. Routing-Informationsbasis
Knoten A sammelt konzeptionell die folgenden Informationen in seiner RIB. Beachten Sie, dass Knoten A über genügend Informationen verfügt, um Quellrouten durch rekursive Suchvorgänge in der RIB zu konstruieren:
- A::A/128 verbunden
- A::B/128 über A::A
- A::C/128 über A::B
- A::D/128 über A::B
Knoten B sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von A
- A::B/128 verbunden
Knoten C sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von B
- A::C/128 verbunden
Knoten D sammelt konzeptionell die folgenden Informationen in seiner RIB:
- ::/0 über Link-Local von B
- A::D/128 verbunden
A.5. Beispiel mit externen Präfixen
Betrachten Sie das in Abbildung 36 dargestellte einfache Netzwerk. In diesem Beispiel gibt es eine Gruppe von Routern, die an einem RPL-Netzwerk teilnehmen: eine DODAG-Wurzel, Knoten A, Y und Z. Die DODAG-Wurzel und Knoten Z haben auch Konnektivität zu verschiedenen externen Netzwerkdomänen (d. h. außerhalb des RPL-Netzwerks). Beachten Sie, dass diese externen Netzwerke RPL-Netzwerke oder ein völlig anderer Netzwerktyp sein könnten.
RPL Network +-------------------+
RPL::/64 | |
| External |
[RPL::Root] (Root)----------+ Prefix |
| | EXT_1::/64 |
| | |
| +-------------------+
[RPL::A] (A)
:
:
:
[RPL::Y] (Y)
| +-------------------+
| | |
| | External |
[RPL::Z] (Z)------------+ Prefix |
: | EXT_2::/64 |
: | |
: +-------------------+
Abbildung 36: Einfaches Netzwerkbeispiel
In diesem Beispiel stellt die DODAG-Wurzel dem RPL-Subnetz ein Präfix für die Adress-Autokonfiguration zur Verfügung. Hier verwendet das gesamte RPL-Subnetz dasselbe Präfix, RPL::/64, für die Adress-Autokonfiguration, obwohl in anderen Implementierungen komplexere/hybride Schemata eingesetzt werden könnten.
Die DODAG-Wurzel hat Konnektivität zu einem externen (in Bezug auf dieses RPL-Netzwerk) Präfix EXT_1::/64. Die DODAG-Wurzel könnte von der Konnektivität zu diesem Präfix beispielsweise über explizite Konfiguration oder IPv6 ND auf einer Nicht-RPL-Schnittstelle erfahren haben. Die DODAG-Wurzel ist so konfiguriert, dass sie Informationen über die Konnektivität zu diesem Präfix ankündigt.
In ähnlicher Weise hat Knoten Z Konnektivität zu einem externen Präfix EXT_2::/64. Knoten Z hat auch einen Sub-DODAG unter sich.
-
Die DODAG-Wurzel fügt ihren DIO-Nachrichten ein RIO hinzu. Das RIO enthält das externe Präfix EXT_1::/64. Diese Informationen können in den DIO-Nachrichten wiederholt werden, die von den anderen Knoten innerhalb des DODAG ausgegeben werden. Somit wird die Erreichbarkeit des Präfixes EXT_1::/64 den DODAG hinunter verbreitet.
-
Knoten Z kann die Erreichbarkeit des Zielnetzwerks EXT_2::/64 bewerben, indem er DAO-Nachrichten sendet, die EXT_2::/64 als Ziel in der Zieloption und sich selbst (Knoten Z) als Elternteil in der Transitinformationsoption verwenden. (Im Speichermodus muss diese Transitinformationsoption die Adresse von Knoten Z nicht enthalten). Eine Nicht-Speicher-Wurzel wird dann auf den 1-Hop-Link (Knoten Z -- EXT_2::/64) aufmerksam, der beim Aufbau von Quellrouten verwendet wird. Knoten Z kann zusätzlich seine Erreichbarkeit zu EXT_2::/64 an Knoten in seinem Sub-DODAG bewerben, indem er DIO-Nachrichten mit einer PIO sendet, wobei das 'A'-Flag gelöscht ist.