バッファブロート:速い回線のラグ病
誰かがダウンロードを始めると、あなたのビデオ会議が崩壊する——帯域はたっぷりのプランなのに。それは速度の問題ではありません。行列の問題です。
実際に起きていること
すべてのルーターとモデムはバッファ——回線が一瞬満杯になったときのパケットの待合室——を持っています。少量のバッファは健全です。しかし家庭用機器の多くは、何百倍も大きすぎるバッファを積んで出荷されます。
大きな転送が回線を満たすと、その過大なバッファも満たされます。以後、すべてのパケット——通話・ゲーム・クリックを支える小さくて急ぎのものも含めて——が、何メガバイトものバルクデータの後ろに並ばされます。レイテンシは20 msから300、600、ときに1000 ms超へ。これがバッファブロートです。
典型的な症状
普段は快調。ところが誰かが写真をアップロードし、ゲームが更新を始め、クラウドバックアップが動き出した途端——通話が途切れ、動画がくるくる回り、ページが這い、ゲームがワープします。転送を止めれば即座に全快。
引き金が「自分自身のトラフィック」なので、バッファブロートはアイドル状態のスピードテストからは隠れられます。下り・上り・アイドルPingのすべてが完璧に見えることさえあります。
測り方
回線を飽和させながらレイテンシを測ること。私たちのテストはまさにそれをします——測定パケットが下り・上りの各フェーズと競走し、それぞれの負荷時レイテンシと、A〜Fのバッファブロート評価が出ます。C以下なら、回線が混むたびリアルタイム系アプリは必ず苦しみます。
対策、効果の高い順に
本当の治療薬はルーターのスマートキュー管理(SQM)です。fq_codelやCAKEといったアルゴリズムは、設計からして行列を極小に保ちます。設定でSQM/Smart Queue/fq_codel・CAKE付きQoSを探し、シェーパーを実測値よりわずかに低く設定してください。評価がDからAへ跳ぶのは日常茶飯事です。
ルーターにSQMがない場合:内蔵の「アンチバッファブロート」やゲーミングQoSを試す(効果はまともからプラセボまで);SQM対応ルーターに買い替える(OpenWrtが動くものを含む);またはISPの機器をブリッジモードにして、対応ルーターの後ろに置く。
効かない対策:帯域を買い増すこと。太いパイプに同じ肥大バッファでは、満たされるのが速くなるだけです。