After reading all these answers, studying other implementations, and reading some articles, I write / share what is most appropriate. First, let me talk about flow control, and later I will talk about reliability.
There are two types of flow control -
- Rate based - Packets Transfer is done on time.
- Window - a standard window, can be static or dynamic (sliding window).
, RTT ( - , ping RTT). , , . , , .
, , , . , . ( ) , .
...
, /. , , , . .
. , , MAX [ , ], , .
, - , , .
, , , - , , , . , , , ( + ) (uDT).