김성진
김성진

Reputation: 3

What is the reason for PUBACK retransmission when QoS level 1 is set in MQTT?

A student studying MQTT.

To test the MQTT, the broker used mosquitto, the publisher and subscriber used the paho library.

From publishers to brokers, the experiment of sending a message with a payload size of 1000 bytes continuously We have proceeded.

I set the QoS level to 1 in the publisher, and when I sent the data to the broker, I got a question about checking the data through wireshark.

enter image description here

The above picture captures wireshark. (354) In response to the PUBLISH message, the broker sends a (355) PUBLISH ACK message. The broker then sends a (356) retransmission message, such as 355.

I have verified that publish ack occurs in piggybacked ack form in TCP, but I do not know why 356 is occurring.

Why does 356 occur? I do not know the mechanism for retransmissions in piggybacked ack if it's a TCP problem.

Upvotes: 0

Views: 1015

Answers (1)

hardillb
hardillb

Reputation: 59751

The broker isn't sending the retransmission, the TCP stack on the machine hosting the broker sent it because it did not receive a TCP sync response for the original in the required timeout (https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Timeout_based_retransmission).

If you check the actual content of 356 it should be exactly the same as 355

Upvotes: 1

Related Questions