低遅延バックグラウンドトランスポート(LEDBAT )は、ネットワークを詰まらせることなくインターネット上でデータを高速に転送する方法です。 [ 1 ] LEDBATはスタニスラフ・シャルノフによって発明され[ 2 ] [ 3 ] 、 Appleのソフトウェアアップデート、BitTorrentのほとんどの転送[ 4 ]、MicrosoftのSCCMソフトウェア配布ポイント[ 5 ]で使用されています。一時期、LEDBATはインターネットトラフィックの13~20%を担っていたと推定されていました。[ 4 ] [ 6 ] [ 3 ]
LEDBATは、利用可能な帯域幅をすべて使用しながら遅延の増加を制限する遅延ベースの輻輳制御アルゴリズムです。 [ 2 ] [ 7 ]これは、片道の遅延を測定し、測定値の変化を使用して、LEDBATフロー自体がネットワークに引き起こす輻輳を制限することによって行われます。LEDBATはRFC 6817で説明されています。
LEDBAT輻輳制御には以下の目標があります。[ 2 ]
主な実装は、 BitTorrentのuTPとAppleのTCPの一部です。BitTorrentはほとんどのトラフィックにuTPを使用し、コードをオープンソースライセンスの下で公開しています。[ 8 ] AppleはソフトウェアアップデートにLEDBATを使用しているため、macOSコンピュータやiOSデバイスへの大規模なソフトウェアダウンロードが通常のユーザーアクティビティを妨げません。また、Appleはソースコードも公開しています。[ 9 ]
上記の実装はどちらも、ネットワークキューイング遅延を100ミリ秒に制限することを目的としています。これは標準化されたプロトコルで許容される最大値です。一方がこれより低い値を使用すると、もう一方が使用されているときにリソースが不足することになります。[ 2 ] [ 9 ]
Windows 10 Anniversary Updateでは、実験的なWindows TCP輻輳制御モジュールとWindows Server 2019として、文書化されていないソケットオプションを介してLEDBATのサポートが導入されました。[ 10 ] [ 11 ] [ 12 ]
前提条件
送信側は10クロックカウントごとに5つのデータパケットを送信します:10、20、30、40、50。単位は重要ではありません。受信側は、この特定の送信側だけでなく、他のソースからもデータを受信します。送信された5つのパケットは、受信側が以下のクロックカウントで受信します:112、135、176、250、326。受信クロックカウントと送信クロックカウントの最初の差(片道遅延)は、102、115、146、210、276です。2番目の差(片道遅延の変化)は、13(115 - 102)、31、64、66です。受信側は、片道遅延の増加から輻輳が増加していると推測し、それに応じて転送速度を調整します。