tcp_congestion_control = bbr な環境を試してみました。
まずは結果から
net.ipv4.tcp_congestion_control = bbr と指定できました。デフォルトでは cubic になっていました。
横着なワタシの grep コマンドをお許しください。
$ sysctl -a | grep -i congestion_control sysctl: permission denied on key 'kernel.apparmor_display_secid_mode' sysctl: permission denied on key 'kernel.apparmor_restrict_unprivileged_unconfined' sysctl: permission denied on key 'kernel.cad_pid' sysctl: permission denied on key 'kernel.unprivileged_userns_apparmor_policy' sysctl: permission denied on key 'kernel.usermodehelper.bset' sysctl: permission denied on key 'kernel.usermodehelper.inheritable' sysctl: permission denied on key 'net.core.bpf_jit_harden' sysctl: permission denied on key 'net.core.bpf_jit_kallsyms' sysctl: permission denied on key 'net.core.bpf_jit_limit' sysctl: permission denied on key 'net.ipv4.tcp_fastopen_key' net.ipv4.tcp_allowed_congestion_control = reno bbr net.ipv4.tcp_available_congestion_control = reno bbr cubic net.ipv4.tcp_congestion_control = bbr sysctl: permission denied on key 'net.ipv6.conf.all.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.default.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.docker0.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.eno1.stable_secret' sysctl: permission denied on key 'net.ipv6.conf.lo.stable_secret' sysctl: permission denied on key 'vm.mmap_rnd_bits' sysctl: permission denied on key 'vm.mmap_rnd_compat_bits' sysctl: permission denied on key 'vm.stat_refresh'
そして測定結果です。
![]() |
こちらは変更前の cubic の結果 |
![]() |
こちらは変更後の bbr の結果 |
左側の IPv4 の測定結果が向上し、IPv6 と同等な速度になっています。わぉ。
試したこと
LMDE 6 で Linux Kernel 6.11 を使っています。bbr を選択するためには Linux Kernel をカスタムビルドする必要があります。(ちょっとハードルが高いですね)
Windows11 だと PowerShell からのコマンド発行で BBR を選択できるようです。
以下は make nconfig の画面サンプルです。
![]() |
TCP: advanced congestion control |
![]() |
Default TCP congestion control |
「M」だとビルドにモジュール化されるだけなので、「*」に変えてあげることで選択できるようになります。ついでにデフォルト値も「Cubic」から「BBR」に変更してみました。
変更を .config に保存して Linux Kernel を再ビルドし、その Linux Kernel をインストールしてPC を再起動します。
PC を再起動後、冒頭の横着な grep コマンドで反映を確認して完了です。
ちなみに、BBR は Bottleneck Bandwidth and Round-trip propagation time の略で、Google が 2016 年に発表した比較的新しい輻輳制御アルゴリズムです。