Definition Was ist das Constrained Application Protocol (CoAP)?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Das Constrained Application Protocol ist ein von der Standardisierungsorganisation IETF speziell für Geräte mit geringer Leistung und für schmalbandige Netzwerke mit eingeschränkter Verbindungsqualität entwickeltes Web-Transfer-Protokoll. Es eignet sich für das Internet der Dinge (IoT) und die Machine-to-Machine-Kommunikation (M2M). CoAP basiert auf den Funktionsprinzipien der REST-Architektur und verwendet standardmäßig UDP für den Transport der Daten.

Firma zum Thema

(Bild: © aga7ta - stock.adobe.com)

Das Akronym für Constrained Application Protocol lautet CoAP. Es handelt sich um ein von der Internet Engineering Task Force (IETF) und von der Constrained RESTful Environments Working Group (CoRE) entwickeltes Web-Transfer-Protokoll. Es ist im RFC 7252 und einigen weiteren RFCs spezifiziert. Veröffentlicht wurde der Standard im Jahr 2014. Das Protokoll eignet sich für Geräte mit wenig Leistung und schmalbandige Netzwerke mit geringer Verbindungsqualität. CoAP basiert auf den Funktionsprinzipien von REST (Representational State Transfer) und verwendet für die zu übertragenden Informationen ein robust arbeitendes Request-/Response-Format.

Typischer Einsatzbereich des Constrained Application Protocols ist die Vernetzung von Maschinen (M2M-Kommunikation) und Geräten im Internet der Dinge (IoT). Beispielsweise lassen sich eingebettete Geräte wie Sensoren mit wenig Rechenleistung und Speicherressourcen zuverlässig und energieeffizient über in ihrer Qualität eingeschränkte drahtlose Verbindungen vernetzen. Als Transportprotokoll verwendet CoAP das User Datagram Protocol (UDP). Es lässt sich aber auch mit anderen Transportprotokollen wie TCP (Transmission Control Protocol) oder dem Short Message Service (SMS) von Mobilfunknetzen einsetzen. Zu den von CoAP unterstützten Funktionalitäten zählen die Transportverschlüsselung, Multicast-Nachrichten, Discovery-Mechanismen, Uniform Resource Identifier (URI), HTTP-Interprotokoll-Interfaces und der asynchrone Nachrichtenaustausch.

Technische Merkmale und Funktionsweise

Wesentliche Merkmale des Constrained Application Protocols sind die einfache Architektur und die Eignung für Geräte mit wenig Performance sowie schmalbandige Netzwerke mit geringer Verbindungsqualität. Das Constrained Application Protocol basiert auf dem Architekturmodell für verteilte Webservices Representational State Transfer (REST). Ressourcen lassen sich über Uniform Resource Identifier (URI) identifizieren und ansprechen. Die Kommunikation findet über Anfragen und Antworten im Request/Response-Format statt. Die Nachrichten haben kaum Protokoll-Overhead und lassen sich sehr kurz halten. Die kürzeste mögliche CoAP-Nachricht hat lediglich eine Länge von vier Byte. Aufgrund geringer Nachrichtenlängen müssen die mit UDP transportierten Nachrichten nur selten fragmentiert werden.

Dank einer gewissen Ähnlichkeit mit HTTP (Hypertext Transfer Protocol) und der Anwendung des REST-Architekturmodells ist eine einfache Interoperabilität zwischen HTTP- und CoAP-Endpunkten wie Clients und Server gegeben. Es lassen sich Interprotokoll-Proxys einsetzen. Ähnlich wie HTTP ist CoAP in der Lage, viele verschiedene Nutzdatenformate zu transportieren. Eine CoAP-Nachricht kann beispielsweise Nutzlasten im JSON- oder im XML-Format beinhalten.

Um die Ressourcen, Services und Fähigkeiten der CoAP-Nodes zu identifizieren, integriert das Protokoll Discovery-Funktionen und Ressourcen-Verzeichnisse. Die Verschlüsselung der ausgetauschten Informationen ist über die auf dem Verschlüsselungsprotokoll TLS basierende Datagram Transport Layer Security (DTLS), spezifiziert im RFC 6347, möglich. Auf Anwendungsebene kann zur Absicherung der Kommunikation der Standard Object Security for Constrained RESTful Environments (OSCORE), spezifiziert im RFC 8613, zum Einsatz kommen.

Ein weiteres Merkmal des Constrained Application Protocols ist die Unterstützung von Multicast-Nachrichten. Indem das Protokoll auf IP-Ebene IPv4- und IPv6-Multicastadressen anspricht, lässt sich eine Nachricht eines Nodes an mehrere Empfänger einer Multicast-Gruppe gleichzeitig versenden. Ebenfalls möglich ist der Versand von Anfragen an eine Gruppen-URI.

Anwendungsmöglichkeiten und Einsatzbereiche des Constrained Application Protocols

Die Vernetzung von Geräten im Internet der Dinge und die Machine-to-Machine-Kommunikation erfordert Protokolle, die mit einer hohen Anzahl von Kommunikationsendpunkten, mit schmalbandigen Netzwerken mit eingeschränkter Verbindungsqualität und mit Geräten mit geringer Rechenleistung zurechtkommen. Genau für diese Anforderungen wurde das Constrained Application Protocol entwickelt. Es ist prädestiniert für die zuverlässige Vernetzung einer Vielzahl eingebetteter Geräte (beispielsweise Sensoren), wie sie in Automatisierungssystemen, in der Industrie 4.0 oder im Internet der Dinge zum Einsatz kommen. Typische Anwendungsbereiche sind Wireless Sensor Networks (WSN), die intelligente Gebäudeautomatisierung oder die Smart City. Unter anderem wird CoAP als Anwendungsprotokoll für den Informationsaustausch per Lightweight M2M (LWM2M) der Open Mobile Alliance (OMA) verwendet.

Vorteile des Constrained Application Protocols

Vorteile des Constrained Application Protocols sind:

  • Eignet sich für die Vernetzung leistungsschwacher Geräte,
  • unterstützt Netzwerke mit einer hohen Anzahl von Nodes,
  • ermöglicht eine zuverlässige Kommunikation über Netzwerke mit geringer Bandbreite und eingeschränkter Verbindungsqualität,
  • ressourcenschonende Nachrichten mit kurzer Nachrichtenlänge und geringem Overhead,
  • über Proxy-Services ist die Interoperabilität mit HTTP gegeben,
  • Verschlüsselung der transportierten Daten möglich,
  • transportiert Nachrichten in unterschiedlichen Datenformaten,
  • neben UDP auch für andere Transportprotokolle geeignet,
  • Unterstützung von Multicast-Nachrichten und
  • Unterstützung von Discovery-Funktionen.

(ID:47526767)