PRR
also: Proportional Rate Reduction
PRR (Proportional Rate Reduction) is a TCP congestion control algorithm that improves recovery from packet loss by reducing the sending rate proportionally rather than using aggressive window reduction.
PRR is a congestion control mechanism implemented in the Linux kernel's TCP stack to handle packet retransmission more efficiently. When the sender detects packet loss (via duplicate ACKs or timeout), instead of drastically cutting the congestion window in half as traditional algorithms do, PRR reduces the sending rate proportionally based on the number of acknowledged and retransmitted packets.
This approach helps the sender recover from congestion events more smoothly while maintaining better network utilization. For example, if a sender has 100 packets in flight and detects loss, PRR might reduce the effective sending rate gradually as ACKs arrive, rather than immediately halving the window to 50 packets.
PRR was introduced in RFC 6937 and is now the default congestion control algorithm in modern Linux kernels, particularly beneficial for networks with moderate to high packet loss rates and for improving performance during congestion events.