Introduction of the application
We have an application which it receive data from a TCP protocol (IOT device) to our Ubuntu server. Both end send it's data receive confirmation to each other, in order maintain it's communication and accept the next respective message.
Problem
Often times we noticed the server receive duplicate data. This only happens if the IOT device lost or got interrupted the connection with the server. Basically if the device didn't receive any information from the server it keep retransmitting the duplicate data.
What we found
We took a tcpdump from the server and examined with the Wire Shark software. We noticed before the device sends duplicate data at that time period, there were few entries of server keep trying TCP Retransmission/TCP DUP ACK (see the attached - black highlighted rows). We think this was the cause of the problem to receive duplicate data from the device because according to the Wire Shark logs device didn't properly receive the confirmation from the server.
Queston
Is there a way we can eliminate the TCP Retransmission/TCP DUP ACK from the serer end? I mean by increasing the waiting time interval of each transmission? or any other?
Or this problem purely relies on the device connectivity?
Any other method to investigate this problem?
