Wird CoAP noch für IoT-Geräte verwendet?

23

Ich habe vor einigen Jahren ein Prototypprojekt für die Arbeit durchgeführt, bei dem das Constrained Application Protocol (CoAP) für die Kommunikation mit einer Arduino-Platine über ein Mesh-Netzwerk verwendet wurde. Wir haben das Projekt jedoch aufgrund eines schwerwiegenden Mangels an Sicherheit für unsere Geräte gebremst. Schließlich haben wir CoAP für unser Projekt aufgegeben, um ein firmeninternes Protokoll zu entwickeln, das wir an unsere Bedürfnisse angepasst haben.

Ich habe ein bisschen herumgesucht und es sieht so aus, als ob noch ein paar Implementierungen im Umlauf sind, aber ich war neugierig, ob tatsächlich jemand CoAP in irgendwelchen Produkten verwendet.

Ist CoAP noch immer ein gutes Protokoll oder hat sich die Branche auf einen De-facto-Standard festgelegt?

Jarren Long
quelle
Es gibt DTLS für CoAP, haben Sie das versucht?
Cromax
2
Entschuldigung für das Warten, habe gerade deinen Kommentar gesehen. Ja, ich habe tatsächlich eine der ersten DTLS-Implementierungen für CoAP entwickelt, als CoAP noch recht jung war. Das Problem war damals, dass DTLS ein zustandsbehaftetes Protokoll ist, CoAP war zustandslos. Die einzige Möglichkeit, die DTLS-Sitzung zu verfolgen, bestand darin, eine Bridge-Schicht zwischen CoAP und DTLS hinzuzufügen, um die DTLS-Sitzung am Leben zu erhalten und das Gerät zu verfolgen, zu dem sie gehört, auch wenn keine CoAP-Aktivität stattgefunden hat (angemessen, aber anfällig für Sitzungsentführungen), oder Erstellen einer neuen DTLS-Sitzung für jede CoAP-Anforderung (sehr viel Overhead und sehr langsam).
Jarren Long
Ich habe in den letzten Jahren weder mit CoAP noch mit DTLS Schritt gehalten, daher weiß ich nicht, ob jemand diese Probleme behoben hat, seit ich sie zuletzt berührt habe (ich hoffe es).
Jarren Long

Antworten:

13

Der Grund, warum Sie nur wenige Implementierungen finden, ist höchstwahrscheinlich, dass CoAP ein relativ junges Protokoll ist. Es wurde erstmals im Jahr 2010 vorgeschlagen und die aktuelle Version stammt aus dem Jahr 2014: RFC 7252 .

Bei Protokollen auf Anwendungsebene sind die beliebtesten Alternativen HTTP, das für eingeschränkte Geräte sehr umfangreich ist, und MQTT, für das ein Brokergerät erforderlich ist und das unter TCP ausgeführt wird. Beide gibt es seit den späten 90ern. Ich denke, CoAP braucht nur etwas Zeit.

Eirik M
quelle
1
Eine Alternative für Constraint-Geräte wäre die leichtgewichtigere Version von MQTT: MQTT-SN, die über UDP ausgeführt wird
xwoker