TCPスループット

Mathis 式を使用して理論上の TCP スループットを計算する

TCPスループットの使い方

  1. 1RTT(ターン時間)とドロップ率を入力します。
  2. 2MSS(最大セグメントサイズ、通常1460バイト)を入力してください。
  3. 3最大TCPのスループット率を維持するパスを読みます。

TCP のダンプ率(Mathis の方式)

ダンプ率(MSS/RTT) x C/Bump率、C ≈ 0.93

Mathis 式は TCP 接続上限を描画します。これは、投げ出し時間と戻り時間によって制限されます。

非常に小さなダンプでさえ(例えば0.1パーセント)は、長いRTTリンクに大量に飛び込むことができます。これは、高スパム衛星/WANリンクが遅く感じる理由です。

TCP は、スループットの制限が困難です。** ** ウィンドウサイズ RTT**。 これは、スライドウィンドウプロトコルの基本的な制約です - ウィンドウ内のデータは、続行するために、確認(ACK)が送信されるのを待つ必要があり、TRTT内のデータは「1つのウィンドウ」だけに送信することができます。 そのため、帯域幅が 1 Gbps であっても、ウィンドウが 64 KB と RRT が 200 ms の場合、スループットの量は 64 KB ÷ 0.2 s = 2.6 Mbps に制限されます。** これはロングファットネットワークと呼ばれています。 メニュー

ソリューションは、TCP ウィンドウ ズーム (Window Scaling, RFC 7323)**: 3 つのハンドシェイクの間にスケーリング因子が交渉され、最大 64 KB から最大 1 GB にウィンドウを拡張します。 現代のオペレーティングシステム(Windows Vista +、Linux 2.6.8 +、MacOS)はすべてデフォルトです。 そのため、通常、帯域幅を外すための他の理由です: 受信機による低読化は、より小さなウィンドウの通知、中間機器の不十分なバッファ、または高い低下率につながる(** パッケージの0.1%でさえ、TCPが嚥下する可能性があります**)。

RTTデフォルトのウィンドウ 64 KBウィンドウ 256 KBウィンドウ 1 MB必要な窓(フル1 Gbpsを実行して下さい)
1ミリ秒512 Mbps2 Gbps8 Gbps125 KB
10ms(サメシティ)52 Mbps210 Mbps838 Mbps1.25 MB
50 ms (内部提供)10.5 Mbps42 Mbps168 Mbps6.25 MB
200ミリ秒2.6 Mbps10.5 Mbps42 Mbps25 MB
300 ms (衛星)1.7 Mbps7 Mbps28 Mbps37.5 MB

TCP ウィンドウサイズによる最大スループット(差分 RTT)

よくある質問

なぜ、バッグの1%は影響を受けますか?

1/thirty-throwingの率で嘔吐率は、パッケージの1%が空の場合、容量を約10%押すことができます。

大きいウィンドウは機能しますか?

ウィンドウのサイズに関わらず、パッケージはMathisの天井を上回ります。

お問い合わせ

帯域幅だけではなく、RTT やドロップ (ベターパス、FEC、BBR など) を下げます。

なぜTCPに悪くないのですか?

TCP は、ダンプパッケージをコンバルシブ信号** として扱います。一度検出すると、大きな減速(Reno アルゴリズムは半分にウィンドウをカット)、そして線形成長テストが行われます。 理論的には、嘔吐の量は1/thirty-throwingの率とほぼ同じです:低下率は1セントあたり0.01であり、フルスピードに近く実行することができます、0.1パーセントは1セントあたり約30であり、1セントあたり約10セントです。 そのため、ロングレンジリンクはバッグの投げに非常に敏感であり、BBRやQUICなどの新しいクラウドングアルゴリズムは「スプレッド」ではなく「バンドドライ検出」を使用しています。

BDPとは? お問い合わせ

BDP(Bandwidth-Delay Project、帯域幅時間マルチプライヤー) = 帯域幅 x RRTT、つまり「パイプラインで流れるデータの量」を示します。 チェーンを埋めるために、TCP ウィンドウは少なくとも BDP を等しくしなければなりません。 1 Gbps、RRT 50 ms: BDP = 109 x 0.05 ÷ 8 = 6.25 MB。 この値よりもウィンドウが小さくなると、確認と帯域幅が無駄になるのを待ちます。 この概念は、国際線、衛星リンク、広域ネットワークの加速に不可欠です。

その他のツール