Passa al contenuto principale

RFC 7252 - The Constrained Application Protocol (CoAP)

Pubblicato: Giugno 2014
Stato: Standards Track
Autori: Z. Shelby, K. Hartke, C. Bormann


Sommario (Abstract)

Il Constrained Application Protocol (CoAP) è un protocollo di trasferimento Web specializzato per l'uso con nodi vincolati e reti vincolate (ad esempio, a basso consumo energetico, con perdite). I nodi hanno spesso microcontrollori a 8 bit con piccole quantità di ROM e RAM, mentre le reti vincolate come IPv6 over Low-Power Wireless Personal Area Networks (6LoWPAN) hanno spesso tassi di errore di pacchetto elevati e una velocità tipica di decine di kbit/s. Il protocollo è progettato per applicazioni machine-to-machine (M2M) come l'energia intelligente e l'automazione degli edifici.

CoAP fornisce un modello di interazione richiesta/risposta tra endpoint applicativi, supporta la scoperta integrata di servizi e risorse e include concetti chiave del Web come URI e tipi di media Internet. CoAP è progettato per interfacciarsi facilmente con HTTP per l'integrazione con il Web, soddisfacendo al contempo requisiti specializzati come il supporto multicast, un overhead molto basso e la semplicità per ambienti vincolati.


Contenuti (Contents)


Risorse correlate


Riferimento rapido

Cos'è CoAP?

CoAP (Constrained Application Protocol) è un protocollo Web specializzato progettato per dispositivi Internet delle cose (IoT) e ambienti vincolati.

Caratteristiche chiave

  • Leggero - Adatto per dispositivi con risorse limitate
  • Basato su UDP - Utilizza trasporto UDP con sicurezza DTLS opzionale
  • RESTful - Modello richiesta/risposta simile a HTTP
  • Risorse osservabili - Supporta il pattern publish/subscribe
  • Scoperta integrata - Meccanismi di scoperta risorse e servizi
  • Supporto multicast - Scoperta efficiente dei dispositivi

CoAP vs HTTP

CaratteristicaHTTPCoAP
TrasportoTCPUDP
Overhead headerGrande (centinaia di byte)Piccolo (4 byte fissi)
MetodiGET/POST/PUT/DELETE...GET/POST/PUT/DELETE
Codici risposta3 cifre2 cifre
CachingSupportatoSupportato
ProxyingSupportatoSupportato
SicurezzaTLSDTLS
Casi d'usoApplicazioni WebDispositivi IoT

Scenari applicativi

  • 🏠 Casa intelligente - Luci, termostati, sensori
  • 🏭 Automazione industriale - Monitoraggio e controllo dispositivi
  • Smart Grid - Gestione energia
  • 🏢 Automazione edifici - Sistemi HVAC, illuminazione
  • 📡 Reti a basso consumo - 6LoWPAN, LoRa, ecc.