📅  最后修改于: 2023-12-03 15:11:00.532000             🧑  作者: Mango
比例速率降低 - TCP 丢失恢复算法(Proportional Rate Reduction for TCP, PRR)是一种网络拥塞控制算法,用于当 TCP 数据包丢失时自适应地调整发送速率,减少网络拥塞。
在传统的 TCP 丢失恢复算法中,当 TCP 数据包丢失时,TCP 发送方会进入慢启动状态,将发送速率降低到原始值的一半。但是,这种算法可能导致网络中出现更多的拥塞,造成更多的数据包丢失。
PRR 算法则不同,它通过在丢失数据包后对发送速率进行动态调整,降低拥塞程度,避免进一步的数据包丢失。
PRR 算法的主要思想是在 TCP 发送方收到 Acknowledgment(ACK)时测量带宽并相应地调整发送速率。
当 TCP 数据包丢失时,TCP 发送方将发送速率降低到最小速率,并等待与丢失数据包相应的 ACK。当发送方接收到 Acknowledgment 时,它将测量从丢失点到 Acknowledgment 点的带宽并根据测量结果相应地调整发送速率。
PRR 算法的具体步骤如下:
PRR 算法可以在大多数现代 TCP 实现中找到。例如,在 Linux 内核中,TCP PRR 算法已经成为默认的 TCP 丢失恢复算法。
在 Linux 中,可以使用 sysctl
命令配置 PRR 算法。例如,要启用 PRR 算法,可以使用以下命令:
sysctl -w net.ipv4.tcp_congestion_control=prreno
比例速率降低 - TCP 丢失恢复算法是一种有效的网络拥塞控制算法,可以避免数据包丢失和网络拥塞。该算法已经被广泛应用于现代 TCP 实现中,并已成为默认的 TCP 丢失恢复算法。