Over the past couple of weeks the picoTCP team integrated the stack into a prototype for a customer.
For this particular project, sensor information from several underwater devices had to be collected on a central server to be able to do data analytics. picoTCP’s task was to forward all the data from the modules to this server. A FlyPortPro evaluation board with our stack running on top of it was used to realize this project in a short amount of time.
In order to get the optimal performance in this very specific environment, we explicitly deviated from the original TCP specifications. The stack was easily adapted in such a way that the exponential retransmission timeout was replaced by a linear one. Next to that, the behaviour of TCP SYN packet retransmission was optimized in the same way. Modifying TCP functionality was not done without reason: due to the very unreliable environment these devices are in, but also due to the need for very low latency feedback, the data had to arrive faster. Because of these changes, retransmissions happened a lot faster which had a positive impact on the throughput and the reliability of the connection.