Zum Hauptinhalt springen

RFC 7252 - The Constrained Application Protocol (CoAP)

  • Status: Proposed Standard
  • Veröffentlicht: June 2014
  • Stream: IETF
  • Errata: Keine Errata

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.