# Network

github quic topic

https://github.com/topics/quic?l=rust&o=desc&s=stars (opens new window)

Instead of waiting for the client to request for assets like JS and CSS, the server can “push” the resources it believes would be required by the client. Avoids the round trip.

CUBIC Congestion Control

This implementation is based on the following draft: https://tools.ietf.org/html/draft-ietf-tcpm-rfc8312bis-02 (opens new window)

Note that Slow Start can use HyStart++ when enabled.

Delivery rate estimation.

This implements the algorithm for estimating delivery rate as described in https://tools.ietf.org/html/draft-cheng-iccrg-delivery-rate-estimation-01 (opens new window)

HyStart++

This implementation is based on the following I-D:

https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-hystartplusplus-04 (opens new window)

Proportional Rate Reduction

This implementation is based on the following RFC:

https://datatracker.ietf.org/doc/html/rfc6937 (opens new window)

PRR 算法(Proportional Rate Reduction)决定在丢包恢复(Loss Recovery)期间,对应于每个 ACK 报文,可发送的报文数量。 目的是:1)快速平稳的从 Loss 中恢复;2)恢复之后拥塞窗口收敛与 ssthresh

Reno Congestion Control

Note that Slow Start can use HyStart++ when enabled.

# TCP state transition diagram

TCP state transition diagram