Meaning
Reliable data transfer over a communication link is achieved by maintaining dedicated memory regions to store copies of transmitted packets until the receiving node acknowledges their arrival. The size and management of retransmission buffers dictate how much unacknowledged data can remain in transit across the communication channel. This storage prevents data loss by ensuring that the transmitter can re-send any packet that was corrupted or dropped during transit.
Data Retention
Packets are stored in these buffers immediately before transmission and are kept in a queue until the protocol layer processes the acknowledgement. When a communication link uses retransmission buffers, the sending node holds the packet until a positive acknowledgement is received. Once the receipt is confirmed, the allocated memory block is freed and made available for new outgoing data.
Memory Overhead
Embedded communication modules are constrained by the amount of physical RAM that can be dedicated to storing unacknowledged packets. If the allocated retransmission buffers are too large, they reduce the memory available for host application code and processing tasks. This constraint requires a balance between the network throughput and the available RAM on the microcontroller.
Protocol Performance
The interaction between the round trip time of the link and the buffer size defines the maximum achievable speed of the connection. In networks with high latency, small retransmission buffers force the transmitter to pause and wait for acknowledgements before sending more data. This behavior causes the communication channel to remain idle, which significantly reduces the effective data rate of the system.
Ensuring that the buffers are large enough to hold all packets sent during one round trip time prevents this throughput degradation, allowing the transmitter to maintain a continuous stream of data.