1
0
mirror of https://github.com/skywind3000/kcp.git synced 2025-04-28 16:10:14 +08:00

Updated EN_KCP Feature (markdown)

winlin 2017-02-21 14:48:31 +08:00
parent aa996551e9
commit a5994e196e

@ -4,11 +4,11 @@ The design of TCP focus on transport bandwidth, to transmit as more data as poss
#### Exponential backoff or Not
When retransmission, TCP use exponential backoff(Karn/Partridge Algorithm) for congestion avoidance, which means the RTOx2, so the timeout will be very large when network is heavy, for example, the RTO will change to RTOx8 for just drop 3 packets. KCP use different algorithm, use RTOx1.5(not RTOx2), it's better in practice.
When retransmission, TCP use exponential backoff(Karn/Partridge Algorithm) for congestion avoidance, which means the RTOx2, so the timeout will be very large when network is heavy, for example, the RTO will change to RTOx8 for just drop 3 segments. KCP use different algorithm, use RTOx1.5(not RTOx2), it's better in practice.
#### Retransmit All or Partial
When retransmission packets, TCP will retransmit the whole packet, while KCP only the dropped part of packet.
For retransmission in TCP, all the data after the lost packet will be retransmitted, while KCP only retransmit the really dropped part of segment.
#### Fast Retransmission