BBR (Bottleneck Bandwidth ve RTT), Google tarafından yayınlanan TCP için yeni bir tıkanıklık kontrolü algoritması dır. Linux çekirdeğine 4.9’dan itibaren eklenmiştir. Tıkanıklık sinyali olarak paket kaybına bakmak yerine, BBR sıralı olarak devam eden dar boğaz bant genişliğini ve RTT’yi takip eder.
Kernel sürümünü kontrol ediyoruz. 4.9 olduğundan emin olduğumuza göre devam edebiliriz.
uname -r # kernel >= 4.9
ShellScriptBundan sonra bbr
kelimesine sahip olup olmadığını test etmek için lsmod | grep bbr
kullanın farklı bir değer ile karşılaşılırsa aşağıdaki şekilde bbr
aktif hale getirilir.
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
ShellScriptDaha sonra aşağıdaki komutlar sırasıyla çalıştırılır.
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
ShellScriptAyarların geçerli olup olmadığının kontrolü için aşağıdaki komutları kullanabilirsiniz.
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
ShellScriptPeki ayarlamaları yaptım ama ben IPv6 da kullanıyorum diyor olabilirsiniz. Evet IPv4 için ayarlı gözüken bu ayarlar IPv6 içinde aktif olarak çalışmaktadır. IPv6’nın tcp_* gibi global değişkenleri yoktur. tcp_* ipv4 altındaki ayarlar olmakla birlikte IPv6’ya da uygulanır. Kernel dokümanlarında detaylara bakabilirsiniz.