Guía de lectura rápida:
Características del protocolo CoAP
(4) Bajo consumo de energía y bajo consumo de ancho de banda
Protocolo CoAP VS protocolo MQTT
Áreas de aplicación del protocolo CoAP
CoAP (Protocolo de aplicación restringido) es un protocolo de capa de aplicación diseñado para dispositivos de Internet de las cosas (IoT) y redes con recursos limitados. Su nacimiento también se debe al hecho de que la mayoría de los dispositivos IoT tienen recursos limitados, como CPU, RAM, Flash, banda ancha de red, etc.; para dichos dispositivos, quieren usar directamente TCP y HTTP de la red existente para intercambiar dispositivos. información. No es realista. Para permitir que estos dispositivos accedan con éxito a la red, nació el protocolo CoAP.
Como se muestra en la figura anterior, el protocolo CoAP es un protocolo de capa de aplicación desarrollado en base a la capa de transporte UDP, mientras que el protocolo MQTT/HTTP se desarrolla en base a TCP. Adopta características similares a HTTP al tiempo que compensa la falta de confiabilidad de la transmisión UDP. Para dispositivos IoT pequeños, el protocolo CoAP es una excelente opción. CoAP, un protocolo liviano, puede adaptarse bien a dispositivos y escenarios con recursos limitados.
CoAP se refiere a muchas ideas de diseño HTTP y también mejora muchos detalles de diseño de acuerdo con las condiciones específicas de dispositivos con recursos limitados y agrega muchas funciones prácticas. La siguiente es una breve introducción a sus características.
El diseño del protocolo CoAP es muy simple: utiliza menos encabezados y campos de opción y ocupa menos ancho de banda y recursos de la red. Esto lo hace ideal para su uso en redes y dispositivos con recursos limitados.
CoAP normalmente se ejecuta sobre UDP, no sobre TCP. Esto lo hace más adecuado para comunicaciones eficientes, de baja latencia y sin conexión. Además, CoAP también admite la transmisión confiable de mensajes a través de los mensajes CON (Confirmable) y ACK (Reconocimiento) de CoAP.
CoAP adopta un estilo arquitectónico RESTful y utiliza un modelo de solicitud-respuesta similar a HTTP. Admite métodos HTTP comunes como GET, POST, PUT y DELETE para leer, crear, actualizar y eliminar recursos.
Nota: Arquitectura RESTful*: REST (Transferencia de Estado Representacional) es un estilo de diseño más que un estándar. Si una arquitectura se ajusta a los principios REST, la llamamos arquitectura RESTful. REST se puede traducir literalmente como transformación del estado de la capa de presentación. capa en realidad se refiere a Es la capa de presentación de recursos.
(4) Bajo consumo de energía y bajo consumo de ancho de banda
El protocolo CoAP está optimizado para dispositivos y redes con recursos limitados y tiene las características de bajo consumo de energía y bajo consumo de ancho de banda. Utiliza mecanismos como la observación y la agrupación para reducir la sobrecarga de comunicación.
CoAP utiliza un Identificador uniforme de recursos (URI) para identificar recursos de modo que los clientes puedan localizar y operar recursos específicos a través del URI. Esto es similar a las URL HTTP.
Permite la comunicación de uno a muchos, lo cual es útil para que múltiples dispositivos en el Internet de las cosas reciban actualizaciones simultáneamente.
El protocolo CoAP admite una transmisión confiable mediante el uso de mecanismos de retransmisión y reconocimiento para garantizar la entrega confiable de mensajes.
El protocolo CoAP se puede utilizar junto con DTLS (Datagram Transport Layer Security) para proporcionar seguridad de un extremo a otro. DTLS es un protocolo de transporte seguro basado en UDP que se utiliza para proteger la confidencialidad y la integridad de las comunicaciones CoAP.
CoAP permite la inclusión de opciones personalizadas en los encabezados de los mensajes para satisfacer las necesidades de aplicaciones específicas, lo que lo hace muy flexible y extensible.
Tanto CoAP como MQTT son protocolos livianos que son más adecuados para dispositivos integrados. La siguiente es una comparación simple entre los protocolos CoAP y MQTT.
El protocolo MQTT no admite tipo u otra información de etiqueta para ayudar al cliente a comprender. Todos los clientes MQTT necesitan conocer el formato del mensaje. El protocolo CoAP es todo lo contrario, porque CoAP tiene soporte de descubrimiento y negociación de contenido integrados, lo que permite que los dispositivos se espíen entre sí para encontrar formas de intercambiar datos.
MQTT es una conexión larga y CoAP no tiene conexión. El Cliente y el Broker MQTT mantienen una conexión TCP larga. Esta situación no causará problemas en un entorno NAT. Si utiliza CoAP en un entorno NAT, debe tomar algunas medidas de penetración de NAT.
MQTT es un protocolo de muchos a muchos para que varios clientes pasen mensajes a través de un intermediario central. Es decir, los mensajes no se envían directamente de un cliente a otro, sino que el cliente los publica en temas almacenados en el intermediario MQTT. Los clientes pueden suscribirse por Uno o más temas para recibir mensajes. CoAP es básicamente un protocolo uno a uno para transferir información de estado entre el Servidor y el Cliente.
El protocolo CoAP se ha utilizado ampliamente en casi todas las industrias. Proporciona una forma liviana y eficiente de comunicación y control, es adecuado para diversos entornos con recursos limitados y facilita nuestra vida y trabajo.
Por ejemplo: CoAP se usa ampliamente para conectar y administrar dispositivos de IoT porque es liviano y puede operar de manera eficiente en condiciones de red y recursos limitados. Esto incluye dispositivos domésticos inteligentes, sensores, sistemas urbanos inteligentes y más. Los dispositivos médicos y los sistemas de seguimiento de la salud pueden utilizar CoAP para la transmisión de datos y el seguimiento remoto. Esto es útil para la atención de telesalud y el seguimiento remoto de pacientes con enfermedades crónicas. Además, el protocolo CoAP también es aplicable en escenarios como la automatización industrial, los sistemas de transporte inteligentes, la agricultura y el monitoreo ambiental.
Artículos relacionados recomendados:
Explicación detallada del protocolo HTTP
Explicación detallada del protocolo MQTTComparación de rendimiento
UDP versus TCP: la velocidad no es el único criterio¿Puede UDP lograr
una transmisión confiable como TCP?