GL.iNetルーターでSQMを使ってバッファブロートを軽減する方法
バッファブロートとは?
バッファブロートとは、ルーターが一度に大量のデータを処理しようとして負荷がかかり、インターネット接続が遅くなったり、遅延を感じたりする状態です。ビデオ通話、ゲーム、NetflixやHuluなどのストリーミングサービスで遅延が発生することがあります(出典:www.bufferbloat.net)。
バッファブロートを軽減する有効な方法の一つが、Smart Queue Management (SQM)の使用です。SQMはインターネットトラフィックをより適切に管理し、特に複数のデバイスがネットワークを使用しているときに、アップロードをスムーズにしてレイテンシーを軽減します。
注意:
編集上の免責事項:Smart Queue Management(SQM)は、上りまたは下りのバッファリングがボトルネックとなっている場合に、レイテンシーを軽減する有効なツールです。ただし、十分なアップロード帯域幅を備えた大容量かつ低レイテンシーの光回線では、SQMによる実用上の効果がほとんどないことも少なくありません。まず通常のインターネット速度テストを実行し、実際の使用中(ゲーム中や大容量の同時アップロード/ダウンロード時など)にレイテンシーの悪化が見られる場合にのみSQMを有効にすることをおすすめします。
最良の結果を得るには、GL.iNetルーターをインターネットプロバイダーに直接接続するメインルーターとして使用してください(ISPまたはセルラー回線)。ISPから提供されたルーターなど、上流側に別のルーターがある場合や、パブリックWi-Fiに接続している場合は、上流側ルーターがトラフィックキューを管理するため、SQMの効果があまり得られないことがあります。
1. バッファブロートをテストする
バッファブロートが実際に問題となっているかを確認するには、Waveformのオンラインバッファブロートツールでテストを実行できます。速度を確認し、バッファブロートが問題を引き起こしているかを確認できます。「A-F」の評価をあまり気にする必要はありません。重要なのは、アップロード速度とレイテンシーを改善できるかどうかです。すでに「A+」評価を取得している場合は、変更する必要はほとんどありません。アップロード速度と、アップロードがアクティブな際のレイテンシーを記録してください。後ほど設定値のおおよその目安として使用します。
2. GL.iNetルーターにSQMをインストールする
テストが完了したら、メインのGL.iNetルーターでSQMをインストールします。GL.iNet管理パネル(デフォルト:192.168.8.1)を開いてログインし、System -> Advanced Settingsに進み、LuCIへのリンクをクリックします。同じルーターのパスワードで再度ログインしてください。
次に、Network > Interfacesへ進み、WANが表示されるまで下にスクロールします。その下に表示されているインターフェース名(例:「eth0」)を記録します。これがインターネットへの接続です。
a. System > Softwareへ進み、緑色のUpdate Lists…ボタンをクリックします。
b. opkgの更新が完了したら、「Download and install package」の横にあるテキストボックスをクリックし、「luci-app-sqm」と入力してOKをクリックします。
c. luci-app-sqmのインストールが完了したら、「sqm-scripts」パッケージもインストールします。
d. SQMを開始するには、System > Startupへ進み、下にスクロールしてsqmを見つけます。「Enabled」と表示されていることを確認してから「Start」をクリックします。画面上の変化はありませんが、サービスは実行されます。
e. SQMを設定するには、Network > SQM QoSへ進みます。SQMインスタンスを有効にし、Interface nameを先ほどNetwork > Interfacesで確認したWANの値に設定します。
ダウンロード速度を0に設定します。
アップロード速度に0.9を掛け、kbpsに変換して、Basic Settingsタブのボックスに入力します。(これにより、接続に負荷をかけずトラフィックをスムーズに流すために、わずかな帯域幅のバッファーを確保します。)
f. Save and Applyをクリックしてから、ルーターを再起動します(System > Reboot)。
3. SQMやAQLなどのQoS機能と併用できないため、Network Accelerationをオフにします。
4. バッファブロートテストを再実行し、アップロード速度と、負荷時に関連するレイテンシーが改善されていることを確認します。
ダウンロード速度を設定しなかった理由
SQMでダウンロード速度(インバウンドシェーピング)を整形すると、特にダウンロード速度が大きく変動しやすいLTE接続(例:SIMカードを使用したSpitz AX)では、かえってパフォーマンスが低下したように見える場合があります。インバウンドトラフィック(ダウンロード)はISPのサーバーから発生し、ルーターに向かって流れます。ISPがルーターにパケットを送信する速度を決定します。ルーターはパケットの到着速度を直接制御できず、パケットを破棄するか確認応答を遅らせることで、間接的にフローを抑制することしかできません。速度に人為的な上限を設けるべきではありません。一方、ルーターは、特にネットワーク上に複数のデバイスがある場合、エグレスシェーピング(アップロード)を直接制御できます。
実際の使用例
ネットワークのアップロード速度が10 Mbpsだとします。
- SQMなし:1台のデバイスが大容量ファイル(例:クラウドバックアップ)をアップロードすると、アップロード帯域幅を使い切ります。他のデバイスからのTCP ACKが遅延し、ダウンロード速度も低下します。
- SQMあり:ファイルのアップロードに上限(例:9 Mbps)を設定することで、ACKやその他の重要なトラフィック用に1 Mbpsを確保します。他のデバイスでのダウンロードもスムーズかつ高速に保たれます。
SQMを使用するこのヒントはアップロードのパフォーマンスを直接改善するものですが、トラフィックの優先順位付けと管理により、間接的にダウンロードにもメリットがあります。ACKやその他の小さく重要なパケットが遅延しないようにすることで、SQMはネットワーク全体の安定性と応答性を大幅に向上させることができます。
著者について
国際旅行をこよなく愛するバージニア州出身のAdamは、Virginia Techで電気工学の学位を取得しました。GL.iNetのソリューションエンジニア兼コールセンター支店長であり、デジタルノマド向け情報サイト「The Wired Nomad」の創設者でもあります。ウェブサイトで彼とつながれます。
GL.iNetについて
2010年に設立されたGL.iNetは、OpenWrtベースのルーターと革新的なリモートネットワークソリューションを提供するリーディングカンパニーです。コンパクトなトラベルルーターから最先端のリモートKVMまで、パフォーマンスとセキュリティを追求した受賞歴のあるネットワーク技術を提供しています。
GL.iNetは、人々と組織が安心して接続できる力を提供します。ユーザー自身がコントロールできるようにすることで、Good Lifeを形づくる生産性とコラボレーションを支援します。