このチュートリアルでは、UbuntuでTCPBBRを有効にする方法を示します。 TCP BBRは、Googleが開発したTCP輻輳制御アルゴリズムです。従来のTCP輻輳制御アルゴリズム(RenoまたはCUBIC)の欠点に対処します。グーグルによれば、それは桁違いに高い帯域幅と低い待ち時間を達成することができます。 TCP BBRはすでにGoogle.com、YouTube、Google Cloud Platformで使用されており、インターネット技術特別調査委員会(IETF)は2017年7月からこのアルゴリズムを標準化しています。BBRはBottleneck BandwidthandRTTの略です。
BBRは、送信側での変更のみを必要とします。 LinuxデスクトップでTCPBBRを有効にして、全体的なWebサーフィン体験を向上させることができます。 Linux Webサーバーを使用している場合、TCP BBRを使用すると、Webサイト訪問者のWebページのダウンロードを高速化できます。
ステップ1:LinuxでのTCP輻輳制御アルゴリズムの確認
デフォルトでは、LinuxはReno
を使用します およびCUBIC
輻輳制御アルゴリズム。使用可能な輻輳制御アルゴリズムを確認するには、次のコマンドを実行します。
sysctl net.ipv4.tcp_available_congestion_control
出力:
net.ipv4.tcp_available_congestion_control = cubic reno
使用中の現在の輻輳制御アルゴリズムを確認するには、
を実行します。sysctl net.ipv4.tcp_congestion_control
出力:
net.ipv4.tcp_congestion_control = cubic
ステップ2:Linuxカーネル4.9以降をインストールする
TCP BBRは、カーネルバージョン4.9以降のLinuxでサポートされています。次のコマンドを使用して、Linuxカーネルのバージョンを確認します。
uname -r
Ubuntu18.04にはカーネル4.13があります。
4.13.0-16-generic
Linuxカーネル4.10のインストールは非常に簡単です Ubuntu16.04で。 UbuntuのWebサイトからカーネルを手動でダウンロードする必要はありません。 ハードウェア有効化スタックをインストールするだけです (HWE)、UbuntuLTSリリース用の新しいカーネルを提供します。
sudo apt update sudo apt install --install-recommends linux-generic-hwe-16.04
VPSプロバイダーは、Ubuntuが提供するカーネルの代わりにカスタムLinuxカーネルを使用する場合があります。 Linode VPSを使用している場合は、Linode VPSコントロールペナルティに移動し、構成プロファイルを編集する必要があります。
起動設定で、カーネルを GRUB2に設定します 。
変更を保存します。次に、再起動して新しい4.10カーネルを使用します。
sudo shutdown -r now
ステップ3:UbuntuでTCPBBRを有効にする
カーネル4.9以降を入手したら、sysctl.conf
を編集します。 ファイル。
sudo nano /etc/sysctl.conf
ファイルの最後に次の2行を追加します。
net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
ファイルを保存して閉じます。次に、sysctl構成をリロードします。
sudo sysctl -p
上記の2行をファイルに正しく追加すると、以下のように出力に含まれます。
[email protected]:~$ sudo sysctl -p net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
次に、使用中の輻輳制御アルゴリズムを確認します。
sysctl net.ipv4.tcp_congestion_control
出力:
net.ipv4.tcp_congestion_control = bbr
おめでとうございます! UbuntuでTCPBBRが正常に有効になりました。
速度の向上
ローエンドVPSでShadowsocksプロキシを使用してTCPBBRをテストしました。速度の向上は非常に大きいです。次のスクリーンショットは、プロキシサーバーでTCPBBRを有効にする前のYouTube接続速度を示しています。ご覧のとおり、速度は約400Kb / s(50KB / s)です。
これは、プロキシサーバーでTCPBBRを有効にした後のYouTube接続速度です。 9878 Kb/sは約1234KB/sです。私のプロキシサーバーは24倍速くなりました!
2番目のShadowsocksプロキシサーバーでは、TCP BBRを有効にした後、速度が約10Mbit/sから約62Mbit/s(64172Kbit / s)になりました。
TCPウィンドウスケーリングを無効にしないでください
問題を修正するためにTCPウィンドウスケーリングを無効にする必要があるかもしれませんが、そうするとネットワークパフォーマンスが大幅に低下する可能性があります。 /etc/sysctl.conf
に次の行を追加します TCPウィンドウスケーリングを有効にするファイル。
net.ipv4.tcp_window_scaling = 1
次に、変更を適用します。
sudo sysctl -p
それでおしまい!このチュートリアルがUbuntuでTCPBBRを有効にするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、より役立つヒントやコツを入手してください。