Zum Hauptinhalt springen

RFC 7252 - The Constrained Application Protocol (CoAP)

Veröffentlicht: Juni 2014
Status: Standards Track
Autoren: Z. Shelby, K. Hartke, C. Bormann


Zusammenfassung (Abstract)

Das Constrained Application Protocol (CoAP) ist ein spezialisiertes Web-Übertragungsprotokoll für die Verwendung mit eingeschränkten Knoten und eingeschränkten (z.B. stromsparenden, verlustbehafteten) Netzwerken. Die Knoten verfügen oft über 8-Bit-Mikrocontroller mit geringen ROM- und RAM-Mengen, während eingeschränkte Netzwerke wie IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) häufig hohe Paketfehlerraten und typische Durchsätze von zehn kbit/s aufweisen. Das Protokoll ist für Machine-to-Machine (M2M)-Anwendungen wie intelligente Energie und Gebäudeautomation konzipiert.

CoAP bietet ein Request/Response-Interaktionsmodell zwischen Anwendungsendpunkten, unterstützt die integrierte Entdeckung von Diensten und Ressourcen und umfasst Schlüsselkonzepte des Webs wie URIs und Internet-Medientypen. CoAP ist so konzipiert, dass es leicht mit HTTP für die Integration ins Web verbunden werden kann und gleichzeitig spezialisierte Anforderungen wie Multicast-Unterstützung, sehr geringer Overhead und Einfachheit für eingeschränkte Umgebungen erfüllt.


Inhalt (Contents)


Verwandte Ressourcen


Schnellreferenz

Was ist CoAP?

CoAP (Constrained Application Protocol) ist ein spezialisiertes Webprotokoll, das für Internet der Dinge (IoT)-Geräte und eingeschränkte Umgebungen entwickelt wurde.

Hauptmerkmale

  • Leichtgewichtig - Geeignet für ressourcenbeschränkte Geräte
  • UDP-basiert - Verwendet UDP-Transport mit optionaler DTLS-Sicherheit
  • RESTful - HTTP-ähnliches Anfrage/Antwort-Modell
  • Beobachtbare Ressourcen - Unterstützt Publish/Subscribe-Muster
  • Integrierte Entdeckung - Ressourcen- und Dienstentdeckungsmechanismen
  • Multicast-Unterstützung - Effiziente Geräteentdeckung

CoAP vs HTTP

MerkmalHTTPCoAP
TransportTCPUDP
Header-OverheadGroß (hunderte Bytes)Klein (4-Byte fest)
MethodenGET/POST/PUT/DELETE...GET/POST/PUT/DELETE
Antwortcodes3-stellig2-stellig
CachingUnterstütztUnterstützt
ProxyingUnterstütztUnterstützt
SicherheitTLSDTLS
AnwendungsfälleWebanwendungenIoT-Geräte

Anwendungsszenarien

  • 🏠 Smart Home - Beleuchtung, Thermostate, Sensoren
  • 🏭 Industrieautomation - Geräteüberwachung und -steuerung
  • Smart Grid - Energiemanagement
  • 🏢 Gebäudeautomation - HVAC-, Beleuchtungssysteme
  • 📡 Stromsparende Netzwerke - 6LoWPAN, LoRa, usw.