6LoWPAN-Open-Source-Projekt:

emb::6 mit Thread-Erweiterung

2. März 2017, 11:37 Uhr | M. Schappacher, L. Zimmermann, N. Mars und A. Sikora
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Mesh-Link-Establishment (MLE)

MLE ist ein Protokoll zur dynamischen Konfiguration und Sicherung von Funkverbindungen. Durch den periodischen Austausch von Verbindungsparametern können Rückschlüsse auf die Qualität einer Verbindung gezogen werden. Beim Empfangen eines Datenpakets wird die Signalstärke (RSSI – Received Signal Strength Indicator) gemessen und mit dem entsprechenden Nachbarknoten ausgetauscht. Auf diese Weise verfügt jeder Knoten über Informationen zur aus- und eingehenden Signalqualität und kann dadurch unzuverlässige Verbindungen erkennen. Darüber hinaus werden so genannte MLE Advertisements zur Verbreitung von Routing-Informationen zwischen den Routern im Netzwerk gesendet. Verlorene Verbindungen werden mittels Zeitüberschreitung periodischer Nachrichten detektiert.

Netzwerkschicht

Die Thread Netzwerkschicht stellt vereinheitlichte Funktionen wie Adressierung, Routing und Partitionierung bereit. Grundsätzlich kann diese Ebene als Trennschicht zwischen den physischen Kommunikationsschnittstellen und den applikationsspezifischen Protokollen gesehen werden. Durch die Zusammenführung der physischen Schnittstellen in der Netzwerkschicht findet ein Übergang vom nach außen hin heterogen wirkenden Multi-Schnittstellensystem zu einem für Applikationen homogen erscheinenden Kommunikationsprotokoll statt. Für das Routing wird in Thread eine Trennung von Identität (Identity) und Aufenthaltsort (Location) umgesetzt, ähnlich dem Locator/Identifier Separation Protocol (LISP). Grundsätzlich sind geschlossene Thread-Netzwerke in sogenannten Partitionen organisiert, welche einen eigenen IPv6-Adressraum definieren. Netzwerkkonfigurationsnachrichten werden über das Constrained Application Protocol (CoAP) ausgetauscht.

Weiterentwicklung in der Community

emb::6-Community
Bild 2. Portal für die emb::6-Community auf den GitHub-Internetseiten.
© Hochschule Offenburg

Die existierende Implementierung der beschriebenen Bausteine in emb::6 ermöglicht bereits heute den prinzipiellen Aufbau eines Thread-Netzwerks, sowie die Kommunikation zwischen den Knoten. Für eine vollständige Thread-Unterstützung fehlen allerdings noch einige Bestandteile, wie zum Beispiel die Implementierung und Integration der Sicherheitsmechanismen, die Übermittlung und Verarbeitung der Thread-spezifischen Netzwerkdaten (Network Data) zur dynamischen Konfiguration des Netzwerks, sowie die Umsetzung des MeshCop-Kommissionierungsprotokolls, um neue Geräte zur Laufzeit in das Netzwerk aufnehmen zu können. Gern möchten wir weitere Entwickler einladen, sich an diesem Open-Source-Projekt zu beteiligen.

Die derzeitige Entwicklung der Thread-Erweiterung findet in der mit emb::6 bereitgestellten Virtualisierungsumgebung statt. Dies ermöglicht eine plattformunabhängige, skalierbare Entwicklung ohne Hardwarebedarf, so dass Netzwerk-Topologien einfach definiert und getestet werden können.

 

Literatur

[1] Thread Group, www.threadgroup.org.
[2] emb::6 Community, https://github.com/hso-esk/emb6.
[3] Sikora, A.: Protocol Stack für IoT-Funknetzwerk: ANSI-C-Implementierung von 6LoWPAN. Elektronik wireless 2015, S. 24–28.


  1. emb::6 mit Thread-Erweiterung
  2. Mesh-Link-Establishment (MLE)

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!