Thread-Protokoll: Drahtlose Vernetzung der Zukunft

Wireless Networking für das Zeitalter des IoT

| Autor / Redakteur: David Egan / Franz Graser / Andreas Donner

Knotentypen im Thread-Netzwerk (weiß: Endgerät, orange: Router, blau: Leader)
Knotentypen im Thread-Netzwerk (weiß: Endgerät, orange: Router, blau: Leader) (Bilder: Silicon Labs)

Das Internet der Dinge (IoT) kann von einem Funk-Kommunikationsprotokoll profitieren, das native IP-Adressierbarkeit, Mesh Networking und geringen Stromverbrauch kombiniert.

In vernetzten Haushalten (Connected Home) finden sich heute eine Vielzahl von Wireless-/Funk-Kommunikationsstandards, um Einrichtungen wie Computer, Mobilgeräte, Media Player und Drucker miteinander zu verbinden. Bis jetzt ist Wi-Fi die Grundlage aller Heim-Netzwerke, vor allem wenn es um digitale Inhalte geht. Haus- und Wohnungsbesitzer gehen nun den nächsten Schritt und wollen mehr Komfort, Lebensqualität und Energieeffizienz in ihren eigenen vier Wänden.

Vernetzte Heizungsregler, Lichtsensoren, Schalter und Sicherheitsdetektoren werden im gesamten Haus installiert und sind mit dem Internet verbunden. Das Internet der Dinge (IoT) nimmt Einzug in das vernetzte Heim.

Wie viele andere IoT-Einrichtungen müssen auch die Sensoren und Aktoren im vernetzten Heim äußerst stromsparend sein. Sie sollen mehrere Jahre mit einer kleinen Batterie auskommen und müssen hohe Anforderungen in Sachen Rechenleistung, Speicher und Baugröße erfüllen. Die Wahl des Funkstandards bestimmt dann, ob alle Leistungs- und Verbindungsanforderungen erfüllt werden.

Standards für die Funkanbindung

Die heute etablierten Funktechniken erfordern Kompromisse bei der Vernetzung von „Dingen“ im Haus und zum Internet. Obwohl Wi-Fi einen hohen Durchsatz beim Transport von Audio, Video und Daten zuhause garantiert, ist der Stromverbrauch für kleine batteriebetriebene Geräte zu hoch. Andererseits erlaubt nativer Support für das Internet-Protokoll (IP) eine einfache und unkomplizierte Anbindung an das Internet.

Im Gegensatz dazu weist Bluetooth Smart einen sehr geringen Stromverbrauch auf, wurde aber als Punkt-zu-Punkt-Kommunikation und für den Transfer großer Datenmengen zwischen Smartphones und Zubehör konzipiert. Die neueste Bluetooth-Core-Spezifikation 4.2 bietet eine Grundlage für native IP-Anbindung in der Zukunft, indem IPv6 und 6LoWPAN unterstützt werden.

Stromsparende Mesh-Netzwerke, die IEEE 802.15.4 als Funkplattform nutzen, sind für Steuerungs- und Automatisierungsanwendungen mit geringer Bandbreite ausgelegt. ZigBee PRO ist seit über einem Jahrzehnt das dominierende Protokoll und eignet sich zur Vernetzung Hunderter von Sensoren und Aktoren im ganzen Haus. ZigBee-PRO-Netzwerke können mit Datenraten von bis zu 250 KBit/s kommunizieren. Der Stromverbrauch ist so gering, dass eine Batterie den Betrieb mehrere Jahre aufrecht erhalten kann. Allerdings bietet ZigBee PRO keinen nativen IP-Support.

Eine neue IP-basierte Mesh-Netzwerktechnik steht jetzt zur Verfügung: das Thread-Protokoll erfüllt die speziellen Anforderungen vernetzter Heimanwendungen und überwindet die Einschränkungen derzeitiger Funkstandards. Die Spezifikation wurde im April 2015 von der Thread Group veröffentlicht, die sich aus führenden Halbleiter- und Consumerelektronik-Herstellern sowie Anbietern von Connected-Home-Produkten zusammensetzt.

Wie ZigBee PRO nutzt Thread die IEEE-802.15.4-Funkplattform. Im Gegensatz zu ZigBee PRO bietet es jedoch native IP-Adressierbarkeit. Der geringe Stromverbrauch des Thread-Protokolls und das robuste, selbstheilende Mesh-Netzwerk sind Funktionen, die weder WiFi noch Bluetooth Smart bieten können. Die Tabelle auf der übernächsten Seite vergleicht zentrale Funktionen von WiFi, Bluetooth Smart, ZigBee PRO und Thread.

Native IP-Adressierbarkeit für mehr Effizienz

Bild 2: Anschluss an ein Thread-Netzwerk
Bild 2: Anschluss an ein Thread-Netzwerk (Bild: Silicon Labs)

Native IP-Adressierbarkeit ist eine wertvolle Funktion für Connected-Home-Anwendungen. Das Internet Protocol stellt den Mechanismus zur Weiterleitung von Datagrammen über IP-Netzwerke bereit und weist Routing-Funktionen für das Internetworking auf.

Netzwerktechniken, die IP nicht nativ unterstützen, müssen an einem Gateway zuerst an das IP angepasst werden. Dieser Vorgang umfasst ein Mapping der lokalen Netzwerkadressen und ein Umformen der Nutzlast auf Netzwerkebene in ein IP-Datagramm. Im Gegensatz dazu können lokale Netzwerke, die IP nativ unterstützen (wie Thread und Wi-Fi) Nutzlasten ohne Intervention weiterleiten und routen. Im lokalen Netzwerk verschlüsselte Datenpakete bleiben dann durchgehend sicher.

Mesh-Netzwerktechnik mit einem Kniff

Durch die Kombination aus geringem Stromverbrauch und nativem IP-Support bietet Thread einzigartige Funktionen, die eine nahtlose Anbindung zwischen „Dingen“ und dem Internet ermöglichen. Thread nutzt 6LowPAN-Funktionen (IPv6 über Low Power Wireless Personal Area Networks), damit IPv6-Datagramme effizient über IEEE-802.15.4-Verbindungen übertragen werden können. Dazu zählen Paketgrößenanpassung, Header-Komprimierung und Layer-2 Forwarding, um IP-Routing zur Paketweiterleitung nutzen zu können.

Thread vereinfacht die Gerätekonfiguration und Bereitstellung, da nur zwei verschiedene Knotentypen unterstützt werden: Router Eligible und End Device. Router-Eligible-Knoten werden Router, wenn sie das Mesh-Netzwerk unterstützen sollen. Der erste Router-Eligible-Knoten, der das Netzwerk bildet, wird autonom als Router sowie als Leader ausgewiesen . Ein Leader erledigt zusätzliche Verwaltungsaufgaben und trifft Entscheidungen im Namen des Netzwerks. Andere Router-Eligible-Knoten im Netzwerk können die Rolle eines Leaders annehmen; es gibt aber nur einen Leader pro Netzwerk zu einem festgelegten Zeitpunkt.

Knoten, die als End Devices hinzukommen, unterstützen keine Routing-Funktionen. Stattdessen senden sie Nachrichten an einen Router, der als dessen „Parent“ ausgewiesen ist. Dieser Parent führt Routing-Operationen im Namen seines „Child“ durch. End Devices routen die Kommunikation über Parents und lassen sich in einen Sleep-Modus versetzten, um Strom einzusparen. End Devices, die nach mehreren Versuchen nicht mit ihrem Parent kommunizieren können, suchen autonom einen neuen Parent und verbinden sich mit diesem. Das Aufmacherbild zeigt ein Thread-Knotennetzwerk mit Router Eligible End Devices (REEDs), einem Leader und Thread Routern.

Leichtgewichtige Messaging-Struktur

Alle Geräte in einem Thread-Netzwerk verfügen über eine IPv6-Adresse und sind über lokale Geräte im Home Area Network (HAN) direkt oder über Thread-fähige IP-Router (Border Router) von außen zugreifbar. Bild 2 beschreibt einen typischen Aufbau eines Thread-Netzwerks.

Für die Nachrichtenübermittlung (Messaging) verwendet Thread das User-Datagram-Protokoll (UDP) anstelle des Transmission-Control-Protokolls (TCP). UDP unterstützt nicht alle TCP-Funktionen wie Fehlerkontrolle, Paketsequenzierung und erneute Übertragung. Dieser optimierte Ansatz ermöglicht eine schnellere und effizientere Übertragung, womit sich UDP besser für batteriebetriebene, ressourcenbeschränkte Geräte eignet. Thread nutzt das Constrained-Application-Protokoll (CoAP), um einige der UDP-Einschränkungen zu überwinden. Diese Kombination aus einfachen (Lightweight) Protokollen ermöglicht die schnelle Umwandlung in HTTP und die direkte Abfrage von IoT-Geräten über einen Browser.

Wie bei Wi-Fi konzentriert sich Thread auf den sicheren und zuverlässigen Transport von Informationen und spezifiziert keine Anwendungsschicht. Stattdessen bietet es grundlegende Unicast- und Multicast-Messaging-Services, die eine Vielzahl von IP-Anwendungsschichten unterstützen. Um die Nutzung dieser Dienste zu vereinfachen und die Code-Entwicklung zu optimieren, bietet Silicon Labs das AppBuilder Tool an. Es abstrahiert Details auf Stack-Ebene und bietet eine grafische Benutzeroberfläche (GUI) zur Konfiguration von Geräten und Netzwerkparametern.

Thread bietet umfangreiche Unterstützung für einen stromsparenden Betrieb und nutzt Endknoten im Sleep-Modus, die den Großteil der Zeit in einem Low-Power-Zustand verbringen. Nachrichten für Endknoten im Sleep-Modus werden im entsprechenden Parent-Knoten gepuffert und erst dann übertragen, wenn der Knoten seinen Parent aktiviert und abgefragt hat.

Thread kann Netzwerke mit über 250 Knoten unterstützen. Die maximale Zahl aktiver Router beträgt 32, was eine effiziente Verteilung der Routing-Information über das Netzwerk erlaubt. Alle Router haben damit Zugriff auf alle Routen innerhalb des Netzwerks. Werden Knoten zum Netzwerk hinzugefügt, passt sich das Netzwerk an, indem MLE-Nachrichten (Mesh Link Establishment) ausgetauscht werden. Auch die Topologie kann sich ändern. Endgeräte, die Router Eligible sind, können den Leader auffordern, ein Router zu werden, um die Gesamtleistung des Netzwerks zu erhöhen.

Als Mesh-Netzwerk ist Thread selbstheilend und bietet keine einzelne Fehlerstelle. Fällt ein Router aus, führt das Netzwerk dynamisch ein neues Routing des Datenverkehrs um den ausgefallenen Knoten herum aus. Fällt ein Leader aus, wählt ein anderer Router im Netzwerk automatisch einen neuen Leader. Mehrere Border Router sorgen für ausfallsichere Redundanz für die Kommunikation außerhalb des Netzwerks.

Jeder Verbindungsstandard, der für das IoT vorgesehen ist, muss robuste Sicherheit bieten. Thread verwendet AES-128, um sämtliche Netzwerktransaktionen auf MAC-Ebene (Media Access Control) zu schützen. Standardbasierte IP-Sicherheitsprotokolle wie DTLS können auf Anwendungsebene verwendet werden, um Anwendungsnutzlasten zusätzlich zu schützen. Eine Kombination aus ECC- und J-PAKE-Algorithmen ermöglicht das sichere Hinzufügen neuer Geräte zum Netzwerk.

Um ein Gerät zum Netzwerk hinzuzufügen, ist ein Inbetriebnahme-Gerät erforderlich. Das kann ein Gerät außerhalb des Netzwerks sein, z.B. ein Smartphone oder ein Computer, oder ein Thread-Gerät innerhalb des Netzwerks.

Geräte außerhalb des Netzwerks müssen zuerst durch einen sicheren DTLS-Handshake authentifiziert werden. Nach der Authentifizierung wird der aktive Commissioner dem gesamten Netzwerk bekannt gemacht. Wird ein neues Gerät hinzugefügt, weist ein Nutzer den Commissioner an und gibt ein einzigartiges Passwort für das neu hinzuzufügende Geräte ein. Damit wird eine sichere DTLS-Sitzung für die Authentifizierung und Autorisierung eröffnet. Das neue Gerät erhält dann Zugriff auf das Thread-Netzwerk, und das Inbetriebnahme-Gerät wird anschließend inaktiv.

Über den Autor

David Egan ist Senior Product Manager für IoT-Produkte bei Silicon Labs.

Dieser Beitrag stammt von unserer Schwesterpublikation ELEKTRONIKPRAXIS.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 44384473 / Implementierung)