ACK は、送信する 2 つのセグメントごとにおよそ 1 回到着します (すべて問題がない場合)。クライアントがデータを受け入れたことを伝えます。したがって、クライアントからサーバーへの移動時間が同じであると仮定すると、deltaAckNum/deltaT は、平均速度がどれくらい大きいかについて妥当な見積もりを与えるはずです。明らかに、これら 2 つの ACK セグメントがまたがるパケットが多ければ多いほど、より良い結果が得られます。
Timestampオプションを見ると、さまざまな時点でのRTTの推定値を取得できます.一方がTSValでタイムスタンプを送信すると、もう一方はそれを返信パケットのTSEcrフィールドにエコーします. クライアントからサーバーへの遅延だけではありませんが、感覚をつかむのに役立ちます.
ただし、言及すべき「しかし」がいくつかあります。
1) 誰かが文句を言ったために特に巨大なファイルの転送のパフォーマンスを向上させようとしない限り、ボトルネックはスタックのどこかにある可能性があります。(たとえば、常に表示されるようにするにはすべてをダウンロードする必要がある要素同士の依存関係など)。デバッグにはYSlowが役立ちます。
2) 問題のクライアントは、TCP レベルでデータに ACK を送信するプロキシのようなミドルボックスの背後にある可能性がありますが、それ自体でいくつかの「賢い」こと (シェーピング/コンテンツ フィルタリング/など) を行います。