什么是Linux中当前流行的TCP拥塞控制算法

bil*_*ian 0 linux tcp congestion-control

TCP Reno,HSTCP,STCP还是Fast TCP?或者我们可以用当前流行的内核改变算法?

Sam*_*ine 5

任何最新的内核(3.14.0是我正在查看的源版本),提供了一些拥塞控制算法:

  1. 二进制增加拥塞(BIC)控制
  2. BIC-TCP 2.0版
  3. TCP Westwood +(里诺的修改)
  4. H-TCP(里诺的另一个修改)
  5. Sally Floyd的高速TCP(RFC 3649)拥塞控制
  6. TCP-Hybla
  7. TCP Vegas
  8. 可扩展的TCP
  9. TCP低优先级(TCP-LP)
  10. TCP Veno
  11. YeAH-TCP(我认为这是Reno修改)
  12. TCP-Illinois(Reno的改编)

您实际使用或可用的内容取决于编译内核时选择的选项.您可以查看可用的内容cat /proc/sys/net/ipv4/tcp_available_congestion_control并通过摆弄文件来控制实际使用的内容/proc/sys/net/ipv4/tcp_congestion_control.

如果您已将内核配置包含到正在运行的内核中,您还可以查看已编译的内容zcat /proc/config.gz | grep CONG.内核配置,例如make menuconfig,每个算法都有更详细的描述,但当然没有什么能比阅读源,在你的内核源代码树下可用net/ipv4/(参见文件tcp_*.c,文件名是不言自明的).