Reputation: 3
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.
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
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