Updated EN_KCP Feature (markdown)

winlin 2017-02-21 15:08:34 +08:00
parent c842f58d68
commit 00ce208c8b

@ -20,7 +20,7 @@ TCP will try to reply ACK as late as possible(even TCP_NODELAY), which will caus
#### UNA vs ACK+UNA
ARQ(Automatic Repeat reQuest) includes UNA and ACK responding mode. UNA specifies the last completely series(group) of received packet number, while ACK specifies the received packet number; when use UNA, all packets will retransmit the whole group when any packet dropped; when use ACK, it cost a lot when packets dropped. Other protocols use either UNA or ARQ, but KCP use a mix model of UNA and ACK, each packet contains UNA and there is also ACK packets.
There are two kinds of ARQ(Automatic Repeat reQuest) model responses: UNA (All segments before this number received, such as TCP) and ACK (The segment with this number received). All segments will be retransmit for UNA, for example, sender send 1,2,3,4,5 while receiver got 1,2,4,5, receiver will reply UNA 3 two times when got 4,5, and sender will retransmit 3,4,5. It cost too much when only use ACK, for example, sender send 1,2,3,4,5 while receiver got 1,2,4,5, receiver will reply ACK 1,2,4,5 for each received segment. KCP use better model of UNA and ACK, each packet use UNA but there is ACK packet when segment loss occurs.
#### Flow Control