Freebsd
FreeBSD 中不同的擁塞控制算法
有沒有辦法可以在 FreeBSD 中執行不同的(而不是預設的)TCP 擁塞控制算法?我正在嘗試使用研究論文中發表的一些想法來修改現有的 TCP 擁塞控制算法,以嘗試在無線網路上獲得更好的性能。
您可以通過查看
net.inet.tcp.cc.available
sysctl 來了解哪些 TCP 擁塞控制算法可用。預設情況下,只有 newreno 可用,所以它是使用的那個。有幾種不同的算法可用,查找cc_something
以/boot/kernel
.您可以通過 kldload 載入它們,例如
kldload cc_vegas
. 完成此操作後,新算法將顯示在net.inet.tcp.cc.available
. 您可以通過net.inet.tcp.cc.algorithm
sysctl 選擇它。這是一個完整的例子:
% sysctl -a | grep net.inet.tcp.cc net.inet.tcp.cc.available: newreno net.inet.tcp.cc.algorithm: newreno % sudo kldload cc_vegas % sysctl -a | grep net.inet.tcp.cc net.inet.tcp.cc.vegas.beta: 3 net.inet.tcp.cc.vegas.alpha: 1 net.inet.tcp.cc.available: newreno, vegas net.inet.tcp.cc.algorithm: newreno % sudo sysctl net.inet.tcp.cc.algorithm=vegas net.inet.tcp.cc.algorithm: newreno -> vegas % sudo sysctl net.inet.tcp.cc.algorithm=newreno net.inet.tcp.cc.algorithm: vegas -> newreno %