Internet der Dinge

Zwei Protokolle zur Auswahl

17. Dezember 2015, 13:22 Uhr | Von James Stansberry
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Die Stärken und Schwächen von CoAP

Die Stärken von CoAP

Mit der wachsenden Bedeutung des Internets der Dinge hat die Internet Engineering Task Force eine abgespeckte Nachrichtenübertragung eingeführt und CoAP definiert, für den „Betrieb mit eingeschränkten Knoten und eingeschränkten, d.h. stromsparenden, verlustbehafteten Netzwerken“. Die ­Eclipse Community unterstützt ebenfalls CoAP als offenen Standard, und wie MQTT wird CoAP kommerziell durch immer mehr IoT-Anbieter unterstützt.

CoAP ist ein Client/Server-Protokoll und bietet ein Punkt-zu-Punkt-„Abfrage/Meldung“-Interaktionsmodell – vorbereitet für Multicast, obwohl sich Multicast noch in einem frühen Stadium der IETF-Standardisierung befindet. Im Gegensatz zu MQTT, das von einem Jahrzehnte alten Protokoll an die IoT-Anforderungen angepasst wurde, hat die IETF CoAP von vornherein für das IoT spezifiziert – mit abgespeckter Nachrichtenübertragung für eingeschränkte Geräte, die in einer eingeschränkten Umgebung arbeiten. CoAP eignet sich durch einfache Proxies für HTTP und für Web-Dienste nach REST (Representational State Transfer, [3]) und ist somit von Grund auf kompatibel zum Internet.

Netzwerkprotokoll

CoAP läuft über das User Datagram Protocol (UDP), das absichtlich weniger zuverlässig ist als TCP und dessen Zuverlässigkeit von wiederholender Nachrichtenübertragung abhängt statt von konstanten Verbindungen. So kann beispielsweise ein Temperatursensor alle paar Sekunden aktuelle Messwerte senden, selbst wenn sich zwischen zwei Übertragungen die Temperatur nicht verändert hat. Fehlt einem Empfangsknoten eine Aktualisierung, kommt der nächste Messwert bereits in wenigen Sekunden an und wird sich nicht wesentlich vom vorherigen Temperaturwert unterscheiden.

Die verbindungslosen UDP-Datenpakete ermöglichen auch kürzere Weck- und Sendezyklen sowie kleinere Pakete mit geringerem Protokollballast. Die Geräte können damit länger im Ruhezustand verweilen und somit Energie sparen.

Multicast

Ein CoAP-Netzwerk ist ursprünglich für Punkt-zu-Punkt-Verbindungen ausgelegt, unterstützt aber auch Punkt-zu-Mehrpunkt- oder Mehrpunkt-zu-Mehrpunkt-Verbindungen. CoAP ist auf IPv6 aufgebaut, das zusätzlich zur normalen IPv6-Adresse auch eine Multicast-Adressierung für Geräte erlaubt. Zu beachten ist, dass eine Multicast-Nachricht an Geräte im Ruhezustand unzuverlässig ist oder die Batterielebensdauer beeinträchtigen kann, wenn das Gerät regelmäßig aktiviert werden muss, um diese Nachrichten zu empfangen.

Sicherheit

CoAP nutzt DTLS (Datagram Transport Layer Security) oberhalb seines UDP-Transportprotokolls. Wie TCP ist UDP unverschlüsselt und kann – und sollte – mit DTLS ergänzt werden.

Ressourcen-/Dienste-Erkennung

CoAP nutzt URI (Uniform Resource Identifier) als einheitliches Format zur Beschreibung von Netzwerkknoten und der erwarteten Interaktionen. Dies ermöglicht eine gewisse Autonomie in den Nachrichtenpaketen, da die Fähigkeiten des Zielknotens teilweise durch seine URI-Details bekannt sind. Anders gesagt: Ein batteriebetriebener Sen­sorknoten kann eine Art von URI haben, ein netzbetriebener Durchflussmesser eine andere. Knoten, die mit dem batteriebetriebenen Sensorknoten kommunizieren, können so programmiert werden, dass längere Antwortzeiten, sich wiederholende Informationen und begrenzte Nachrichtentypen zu erwarten sind. Knoten, die dagegen mit dem netzbetriebenen Durchflussmesser kommunizieren, können so programmiert werden, dass sie umfangreiche, detaillierte Nachrichten sehr schnell erhalten.

Asynchrone Kommunikation

Innerhalb des CoAP-Protokolls werden die meisten Nachrichten mit dem „Abfrage/Meldung“-Modell gesendet und empfangen. Es gibt jedoch auch andere Betriebsmodi, die eine gewisse Entkopplung von Knoten erlauben. So bietet CoAP einen vereinfachten Beobachtungsmechanismus, der dem Pub/Sub-Modell von MQTT ähnelt, bei dem Knoten andere Knoten beobachten können, ohne sie aktiv zu beteiligen.

Zum Beispiel kann Knoten 1 im Beobachtungsmodus einen Knoten 2 bei bestimmten Übertragungsarten beobachten. Jedes Mal, wenn Knoten 2 eine entsprechende Nachricht ausgibt, erhält sie Knoten 1, sobald er aktiv wird und einen anderen Knoten abfragt. Dabei ist zu beachten, dass einer der Knoten im Netzwerk Nachrichten für Beobachter vorhalten muss. Dies funktioniert ähnlich dem Makler-Modell in MQTT, außer dass für CoAP kein Makler gefordert wird und damit auch nicht erwartet werden kann, dass für Beobachter Nachrichten gehalten oder in einer Warteschlange gespeichert werden. Derzeit werden noch Entwürfe zur Erweiterung des Standards geprüft, die kurz- bis mittelfristig eine ähnliche CoAP-Funktion wie das Pub/Sub-Modell in MQTT bereitstellen sollen. Die interessanteste Erweiterung ist bisher der von Michael Koster [4] vorgeschlagene Entwurf, der es CoAP-Netzwerken ermöglicht, ein Pub/Sub-Modell zu implementieren wie in MQTT.

Die Schwächen von CoAP

MQTT ist derzeit ausgereifter und stabiler als CoAP. Silicon Labs hat die Erfahrung gemacht, dass es einfacher ist, ein MQTT-Netzwerk schnell aufzubauen und zu betreiben als ein CoAP-Netzwerk. CoAP verfügt über eine enorme Marktdynamik und entwickelt sich rasch weiter, um eine standardisierte Grundlage zu bilden, mit wichtigen Erweiterungen in der Ratifizierungs-Pipeline. CoAP wird in naher Zukunft wahrscheinlich eine ähnliche Stabilität und Reife wie MQTT erreichen. Doch der Standard entwickelt sich gerade, was zu einigen Interoperationsproblemen führen kann.

Nachrichtenzuverlässigkeit

„Zuverlässigkeit“ bei CoAP entspricht der Dienstgüte bei MQTT. Sie bietet eine sehr einfache Methode in Form von „bestätigten“ und „unbestätigten“ Nachrichten. Eine bestätigte Nachricht wird vom beabsichtigten Empfänger mit einer Nachricht (ACK) quittiert. Damit wird garantiert, dass die Nachricht eingegangen ist, aber nicht, ob deren Inhalt richtig decodiert wurde. Eine unbestätigte Nachricht entspricht der QoS-Stufe 0 in MQTT.

 

Literatur

[1] Howard, Ph. N.: How big is the Internet of Things and how big will it get? Brookings, 8.6.2015, www.brookings.edu/blogs/techtank/posts/2015/06/8-future-of-iot-part-1.
[2] Core Protocols in the Internet Protocol Suite. Internet Engineering Task Force, tools.ietf.org/id/draft-baker-ietf-core-04.html.
[3] Tikov, S.: REST – Der bessere Web Service? JAXenter, 12.3.2009, https://jaxenter.de/rest-der-bessere-web-service-8988.
[4] Koster, M.: Publish-Subscribe in the Constrained Application Protocol (CoAP). Internet Engineering Task Force (IETF), 27.10.2014, https://tools.ietf.org/html/draft-koster-core-coap-pubsub-00.
[5] MQTT Version 3.1.1. OASIS, 29.10.2014, docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html.
[6] MQTT Essentials Wrap-Up. DC-square GmbH, www.hivemq.com/mqtt-essentials-wrap-up.
[7] Shelby, Z.: The Constrained Application Protocol (CoAP). Internet Engineering Task Force (IETF), Juni 2014, https://tools.ietf.org/html/rfc7252.
[8] http://coap.technology.
[9] MQTT for Sensor Networks – MQTT-SN. MQTT.ORG, 2.12.103,mqtt.org/2013/12/mqtt-for-sensor-networks-mqtt-sn.
[10] Forster, A.: Messaging Technologies for the Industrial Internet and the Internet of Things. PrismTech Corp., 25.11.2013, www.prismtech.com/sites/default/files/documents/MessagingComparsionNov2013USROW_vfinal.pdf.

 

Der Autor

James Stansberry
ist als Senior Vice President und General Manager bei Silicon Laboratories Inc. für die IoT-geeigneten Mikrocontroller, Empfänger- und Funk-ICs verantwortlich. Zuvor war er für die Rundfunk-ICs zuständig und machte das Unternehmen zum führenden Anbieter von integrierten Tunern für Radio- und Fernsehgeräte. Stansberry kam 2009 von Motorolas Halbleitersparte zu Silicon Labs. Er studierte Elektrotechnik an der University of Minnesota (Bachelor) und machte anschließend ein Master-Fernstudium in Elektrotechnik/Mixed-Signal-Kommunikations-ICs an der National Technological University.

james.stansberry@silabs.com



  1. Zwei Protokolle zur Auswahl
  2. Die Stärken und Schwächen von MQTT
  3. Die Stärken und Schwächen von CoAP

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Silicon Laboratories GmbH

Weitere Artikel zu Bus-,Leitungs-undNetzwerktester