6LoWPAN

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

6LoWPAN ist ein Akronym für „IPv6 over Low power Wireless Personal Area Network“ (engl.: IPv6 für WPAN mit niedrigem Energieverbrauch).[1] 6LoWPAN ist ein Kommunikationsprotokoll zur Funkdatenübertragung und eine Arbeitsgruppe der IETF, die für diesen Standard zuständig ist.

Der Standard umfasst dabei auch Header-Kompressionsverfahren, die es effizienter machen, IPv6-Pakete über IEEE-802.15.4-basierende Netzwerke zu übermitteln. Das Internet-Protokoll ist dabei Grundlage für die Netzstrukturen des Internets und für lokale Netze. 6LoWPAN verfolgt das Ziel, drahtlose PANs mit möglichst geringem Aufwand in bestehende Netze integrieren zu können.

Die Basisspezifikation des Protokolls, die von der 6LoWPAN-Arbeitsgruppe der IETF entwickelt wurde, ist im RFC 4944 festgehalten. Einige Probleme des 6LoWPAN sind im RFC 4919 aufgeführt. Da die Header-Komprimierung aus dem ursprünglichen Entwurf (HC1) nur in wenigen Fällen zu guten Ergebnissen führt, wurde in RFC 6282 eine neue Methode eingeführt (IPHC) und die alte soll nicht mehr verwendet werden.

6LoWPAN-Adaption-Layer[Bearbeiten]

6LoWPAN-Stack im OSI-Modell

Die Hauptkomponente des 6LoWPAN-Protokolls ist der 6LoWPAN-Adaption-Layer, der auf der Vermittlungs Ebene des OSI-Modells arbeitet und Aufgaben wie Header-Komprimierung, Paket-Fragmentierung und -defragmentierung, sowie Routing in Mesh-Netzwerken übernimmt.

Header-Komprimierung[Bearbeiten]

Von den 127 Byte der Maximum Transmission Unit (MTU) werden 25 für den MAC-Layer verwendet. Durch einen optionalen weiteren Layer, der für AES-CCM-128 Verschlüsselung weitere 21 Byte belegt, bleiben nur 81 Byte für die darüber liegenden Layer. Der IPv6-Header benötigt 40 Byte, der UDP-Header weitere 8 Byte, wodurch für Nutzdaten nur noch 33 Byte zur Verfügung stehen. Durch die Komprimierung der IPv6- und UDP-Header von 6LoWPAN können diese beiden Header im Idealfall bis auf 7 Byte komprimiert werden.

Paket-Fragmentierung und -defragmentierung[Bearbeiten]

IPv6 erfordert eine MTU von mindestens 1280 Bytes. IEEE 802.15.4 sieht jedoch nur eine Paketgröße von 127 Byte vor. Der 6LoWPAN-Adaption-Layer ermöglicht eine transparente Fragmentierung der IP-Pakete, so dass diesen virtuell eine größere MTU zur Verfügung steht.

Routing[Bearbeiten]

Mesh mit Internetanbindung (6LoWPAN-Gateway)

Bei Routing in dynamischen Vermaschten Netzen (Meshs) mit beweglichen Netzwerkknoten tauchen spezielle Probleme auf:

  • Beweglichkeit der Knoten
  • Erreichbarkeit der einzelnen Knoten über IPv6 oder IPv4
  • potentiell große Anzahl von Knoten
  • Knotenfluktuation (neu integrierte Knoten, Verlust von Knoten, verwaiste Knoten)
  • ...

Traditionelle Routing-Protokolle wie RIP, OSPF, IGRP oder EIGRP sind deshalb für dynamische Vermaschte Netze nur eingeschränkt geeignet.

Für dynamische Meshs werden spezielle Routing-Protokolle entwickelt, die auf zwei grundsätzlichen Ansätzen basieren:

Mesh-Routing (mesh-under) und IP-Routing (route-over)

Welches Routing eingesetzt wird (mesh-under oder route-over) hängt unter anderem von den Anforderungen für die das Mesh konzipiert ist ab, beide Varianten haben Vor- und Nachteile. [2] Einer der verbreitetsten Algorithmen für Routing in Vermaschten Netzen ist der Distanzvektoralgorithmus.

Mesh-Routing[Bearbeiten]

In 6LoWPAN wird bei Mesh-Routing vor die Fragmentierungs- und Komprimierungs-Header ein Mesh-Header gesetzt, der die Start- und Ziel-ID der Knoten sowie die Anzahl der übrigen Sprünge enthält. Diese Form des Routings wird mesh-under genannt.

Die Start- und Ziel-ID der Knoten ist bei mesh-under keine IP-Adresse, sondern z.B. die MAC-Adresse der einzelnen Knoten. Für die Identifizierung der Knoten beim Routing werden Informationen (MAC-Adresse) aus der Data Link Layer und damit dem Bereich der Netzwerktechnologie (IEEE 802.15.4) verwendet. Darum auch der Name 'mesh-under-Routing'.

Viele der mesh-under-Protokolle in IEEE 802.15.4 verwenden Varianten des Distanzvektoralgorithmus. In 6LoWPAN wird im 6LoWPAN Ad hoc Routing Protocol (LOAD) eine vereinfachte Form des AODV-Protokolls (RFC 3561) verwendet. Weitere 6LoWPAN-spezifische Mesh-Routing-Protokolle sind DYMO (Dynamisches MANET On Demand) und HiLow (hierarchisches Routingprotokoll für 6LoWPAN).

IP-Routing[Bearbeiten]

Ein Routing auf IP-Basis (Network Layer) wird route-over (IP) genannt. RPL ist ein 6LoWPAN-spezifisches route-over-Protokoll. [2]

Weiterentwicklungen Hardware[Bearbeiten]

Ein Fokus der Entwicklung von Transceiver-Chips für IEEE 802.15.4 ist zurzeit (05/2014) die Distanzermittlung zwischen zwei Transceiver-Einheiten über die Messung der Signallaufzeit (RF ranging).[3] Nach jetzigem Stand sind Messungen mit Genauigkeiten im Zentimeter- bis Millimeterbereich möglich. [4]

Diese Entwicklung wird sehr wahrscheinlich auch die zukünftigen Routing-Protokolle beeinflussen.

Ein Chip mit dieser Funktion ist z.B. der AT86RF233 [5] von Atmel, die Forschung auf diesem Gebiet wird aber von allen Herstellern vorangetrieben. [4]

Implementierungen[Bearbeiten]

Im Bereich Open-Source:

Als proprietäre Implementierungen:

  • NanoStack und NanoRouter von Sensinode [10]

Siehe auch[Bearbeiten]

  • RPL Routing Protokoll, das für 6LoWPAN konzipiert wurde.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. In 6LoWPAN: The Wireless Embedded Internet (Wiley, 2009), Shelby and Bormann redefine the 6LoWPAN acronym as "IPv6 over lowpower wireless area networks," arguing that "Personal" is no longer relevant to the technology.
  2. a b Route-over vs mesh-under routing in 6LoWPAN
  3. [1] - RF ranging for location awareness
  4. a b [2] Distanzmessung über RF
  5. [3] AT86RF233
  6. 6lowpan.c - Linux Kernel
  7. Contiki-OS
  8. BLIP: An 6loWPAN-implementation in TinyOS (PDF; 764 kB)
  9. RIOT-OS
  10. Sensinode's 6LoWPAN-Implementierungen