Protocolo MQTT
Enviado por Alejiyfer1990 • 18 de Junio de 2019 • Informe • 692 Palabras (3 Páginas) • 117 Visitas
UNIVERSIDAD POLITÉCNICA SALESIANA
INGENIERÍA ELECTRÓNICA
ELECTIVA 3
DECIMO GRUPO 2
NOMBRE: Alejandro Flores
FECHA: 2019-06-08
TEMA: QOS 2
Protocolo MQTT
Es un protocolo simple y muy ligero para la transmisión de mensajes cortos de telemetría y de control, desde/hacía una red de sensores/actuadores, que tenga limitaciones evidentes en cuanto al consumo, velocidad de transmisión y procesamiento. MQTT administra la retransmisión de mensajes y garantiza la entrega.
Calidad de servicio
El nivel de Calidad de servicio (QoS) es un acuerdo entre el remitente de un mensaje y el receptor de un mensaje que define la garantía de entrega de un mensaje específico. Hay 3 niveles de QoS en MQTT:
- Como máximo una vez (QoS 0)
- Al menos una vez (QoS 1)
- Exactamente una vez (QoS 2)
Cuando se habla de QoS en MQTT, debe considerar los dos lados de la entrega de mensajes:
- Entrega de mensajes desde el cliente de publicación al intermediario.
- Entrega de mensajes del agente al cliente suscrito.
QoS 2 - exactamente una vez
QoS 2 es el nivel más alto de servicio en MQTT. Este nivel garantiza que cada mensaje sea recibido solo una vez por los destinatarios previstos. QoS 2 es el nivel de calidad de servicio más seguro y más lento. La garantía es proporcionada por al menos dos flujos de solicitud / respuesta (un acuerdo de cuatro partes) entre el remitente y el receptor. El remitente y el destinatario utilizan el identificador de paquete del mensaje PUBLISH original para coordinar la entrega del mensaje.
[pic 1]
Fig1.Flujo QoS 2
Cuando un receptor obtiene un paquete de PUBLISH QoS 2 de un remitente, procesa el mensaje de publicación en consecuencia y responde al remitente con un paquete PUBREC que reconoce el paquete PUBLISH. Si el remitente no obtiene un paquete PUBREC del receptor, envía el paquete PUBLISH nuevamente con un indicador duplicado (DUP) hasta que reciba un acuse de recibo.
Una vez que el remitente recibe un paquete PUBREC del receptor, el remitente puede descartar de forma segura el paquete PUBLISH inicial. El remitente almacena el paquete PUBREC desde el receptor y responde con un paquete PUBREL.
Una vez que el receptor recibe el paquete PUBREL, puede descartar todos los estados almacenados y responder con un paquete PUBCOMP (lo mismo ocurre cuando el remitente recibe el PUBCOMP). Hasta que el receptor complete el procesamiento y envíe el paquete PUBCOMP al remitente, el receptor almacena una referencia al identificador del paquete del paquete PUBLISH original. Este paso es importante para evitar procesar el mensaje por segunda vez. Una vez que el remitente recibe el paquete PUBCOMP, el identificador de paquete del mensaje publicado queda disponible para su reutilización.
...