Kriterien zur Auswahl des Webprotokolls • Welchen Beschränkungen unterliegen die Geräte? • Ist das Netzwerk zuverlässig oder unzuverlässig? • Wie hoch ist die Nachrichtenrate? • Auf welche Weise erfolgt die Weiterverarbeitung von Daten? • Push oder Pull? • Welche Sicherheitsanforderungen bestehen? • Welche Antwortzeit wird gewünscht?
MQTT – Message Queuing Telemetry Transport
Simples Broker-basiertes Veröffentlichen/Abonnieren-Nachrichtenprotokoll: Offen, einfach, leicht und umsetzungsfreundlich
• Ideale Einsatzgebiete
-
– Teure Netzwerke, Netzwerke mit geringer
Bandbreite oder unzuverlässige Netzwerke
-
– Eingebettete Geräte mit beschränkten Prozessor- oder Arbeitsspeicherressourcen
Eigenschaften
-
– Veröffentlichen/Abonnieren-Nachrichtenmuster
für Nachrichten an mehrere Empfänger
-
– Verteilung und Entkopplung von Anwendungen
-
– Nachrichtentransport unabhängig vom Inhalt der Nutzlast
-
– Einsatz von TCP/IP für grundlegende Netzwerkkonnektivität
-
– Nachrichtenzustellung in drei Dienstgütestufen
-
– Geringer Transport-Overhead: mit fester Länge (2 Byte)
Vorteile von MQTT
Verbessertes Anwendererlebnis
-
Informationsübertragung nahezu in Echtzeit
-
Minimaler Akkuverbrauch
-
Speichern und Weiterleiten von Nachrichten
-
Exakt eine Zustellung (sofern erforderlich)
Flexibilität und Skalierbarkeit
Ein einzelner ereignisgesteuerter Server unterstützt
bis zu einer Million verbundener Benutzer oder
GeräteAufgrund der Veröffentlichen/Abonnieren-Architektur lassen sich weitere Funktionen mühelos und unter Beibehaltung des vorhandenen Codes integrieren
Geringere Ausführungskosten
Äußerst kompakte Verkabelung sorgt für geringe Netzwerkkosten
Geringer Energieverbrauch: Das Protokoll wird auf energiesparenden Geräten ausgeführtGeringer Akkuverbrauch im Vergleich zu HTTP
Geringe Bereitstellungskosten
MQTT-Implementierungen unterstützen Wiederherstellung, Speichern und Weiterleiten sowie Veröffentlichen/Abonnieren.
Es ist keine Codierung in Anwendungslogik erforderlich.
Einfache, für Entwickler leicht zu lernende Verben.
Mühelose Integration in das Aufzeichnungssystem
CoAP – Constrained Application Protocol
CoAP ist ein spezielles Webtransferprotokoll für eingeschränkte Knoten und eingeschränkte Netzwerke (z. B. mit geringer Leistung oder hoher Verlustrate)
• Ideale Einsatzgebiete
– Eingeschränkte Knoten (z. B. 8-Bit-Mikrocontroller mit RAM- und ROM-Beschränkungen) sowie WSN-Netzwerke mit sehr geringem Overhead
• Haupteigenschaften
-
– Webprotokoll, das die M2M-Anforderungen in eingeschränkten Umgebungen erfüllt
-
– UDP-Bindung [RFC0768] mit optionaler Zuverlässigkeit; Unterstützung von Unicast- und Multicast-Anforderungen.
-
– Asynchroner Nachrichtenaustausch
-
– Geringer Header-Overhead und geringe Analysekomplexität
-
– Unterstützung von URI (Uniform Resource Identifier) und Inhaltstyp
-
– Einfache Proxy- und Zwischenspeicherungsfunktionen
-
– Sicherheitsbindung an DTLS (Datagram Transport Layer Security)
Vorteile von CoAP
-
Offener IETF-Standard
-
Geringer Overhead; ideal für eingeschränkte Anwendungen
-
Ideal für laute und verlustbehaftete Umgebungen
-
Integrierte Erkennung
-
Verstärkte DTLS-Sicherheit
-
Asynchrones Abonnement
XMPP – Extensible Messaging and Presence Protocol
XMPP ist ein offenes Instant-Messaging-Protokoll, das in der Regel über eine Client/Server-Architektur implementiert wird, in der ein Client mithilfe von XMPP über eine TCP-Verbindung auf einen Server zugreift. Auch die Server untereinander kommunizieren über TCP-Verbindungen
• Ideale Einsatzgebiete
– Geräteverbindungen für Benutzer. Beispiel: Herstellen einer Verbindung zwischen einem Thermostat und einem Webserver, sodass die Daten über ein Telefon abgerufen werden können
• Haupteigenschaften
-
– Direkte Kommunikation zwischen beliebigen Peers. Über das Adressschema "name@domäne.com" sind Verbindungen zwischen entfernten, voneinander unabhängigen Endpunkten möglich
-
– Beliebige Übertragungsart zu Endknoten (IP, ZigBee, Bluetooth...)
-
– XML-basiert; leicht erweiterbare Sprache mit beliebiger Nutzlast. Verteiltes Netzwerk, bestehend aus Webdiensten
-
– Sicherheit: Sehr hoch; Verschlüsselung, Clientauthentifizierung und Clientautorisierung verbindlich
-
– Kommunikation nahezu in Echtzeit
XMPP-Erweiterungsprotokolle (XEP) für IoT
Stellt die zugrundeliegende Architektur, grundlegende Operationen sowie Datenstrukturen für Sensordatenverbindungen über XMPP-Netzwerke bereit
Vorteile von XMPP
• Echtzeit-Messaging im großen Maßstab: Über 100.000 Knoten
• Sicher: XMPP-Server können vom öffentlichen Netzwerk isoliert werden; hohe Sicherheit durch SASL und TSL
-
Offen: XMPP-Protokolle sind kostenfrei, offen, öffentlich und weit verbreitet
-
Dezentral: Die Architektur eines XMPP-Netzwerks ähnelt einer E-Mail-Umgebung; jeder Benutzer kann einen eigenen XMPP-Server ausführen
Data Distribution Service (DDS)
Erster offener internationaler Middleware-Standard, der Veröffentlichen/Abonnieren-Verbindungen direkt adressiert und sich somit für Echtzeit- und eingebettete Systeme
eignet
• Ideale Einsatzgebiete
– Sichere Kommunikation in Echtzeitzwischen Geräten
• Haupteigenschaften
-
– DDS ist dezentral und lässt sich ohne Server und Brokers bereitstellen
-
– Veröffentlichen/Abonnieren-Architektur
-
– Skalierbare Leistung
-
Mehrere Millionen von Datenelementen
-
0,5 Mio. Aktualisierungen/Sek.
-
Latenzzeit: 10 µs
-
1.000 Verbraucher/Aktualisierung
-
-
– Verwaltung mit QoS
-
– Zuverlässig: Kein Single Point of Failure
-
– Integrierte Anwendungserkennung
Vorteile des DDS-Protokolls
-
Plattformneutral im Hinblick auf Betriebssysteme und Programmiersprachen
-
Flexibel, zuverlässig und leistungsstark für komplexe Echtzeitanwendungen
-
Echtzeitkontrolle der Dienstgüte (Quality of Service, QoS)
-
Dezentrale Architektur für häufige Überwachung von Änderungen und effiziente Nutzung von Netzwerkressourcen
-
Dynamische Erkennung von Veröffentlichern und Abonnenten
AMQP – Advanced Messaging Queuing Protocol
Das Advanced Message Queuing Protocol (AMQP) ist ein offenes Internetprotokoll für Business-Messaging-Anwendungen. Es definiert ein binäres Protokoll auf Wire-Ebene, das den zuverlässigen Austausch von geschäftlichen Nachrichten zwischen zwei Parteien ermöglicht
• Ideale Einsatzgebiete
– Verbindung zwischen verschiedenen Unternehmenssystemen und Bereitstellung der Informationen, die für Geschäftsprozesse erforderlich sind
• Haupteigenschaften
-
– Mehrere für die Nachrichtenverarbeitung relevante Funktionen: Zuverlässiges Queuing, themenbasiertes Veröffentlichen und Abonnieren, flexible Weiterleitung usw.
-
– Sitzungs- und transaktionsbasierte Nachrichtenübermittlung
-
– Effizienz: Paketgröße 60 Byte
-
– Sicherheit: TLS, SASL
-
– Dienstgüte: best effort (größte Bemühung), at least once (mindestens einmal), exactly once (exakt einmal)
Alle AMQP-Clients sind mit allen AMQP-Servern interoperabel
Verschiedene Programmiersprachen sind miteinander kompatibel
Ältere Nachrichten-Broker lassen sich durch Entfernung proprietärer Protokolle umrüsten
Messaging als Cloud-Dienst
Vorteile von AMQP
• Flexibel, offen und interoperabel. Über AMQP können unter Wahrung der Dienstgüte und der Sicherheit organisations- und technologieübergreifend Verbindungen hergestellt werden
– Erzielen von Einsparungen; Kommerzialisierung; Festlegung auf einen einzigen Anbieter entfällt
– Plattformübergreifende Verbindung von Anwendungen; Auswahl der entsprechenden Plattform für den Auftrag
-
– Verbindung zu Geschäftspartnern über einen offenen Standard mit großem Funktionsumfang; Beseitigung von technischen Hindernissen, die einer Vermarktung im Wege stehen könnten
-
– Zuverlässiger Betrieb über längere Distanzen oder bei schlechter Netzwerkqualität
-
-
-
-
-
-
-