RackShareRackShareラックを、シェアしよう

TCPの再送とウィンドウ制御|スループットが出ない時に見る所

ネスぺ社長 ・ 公開 2026-07-04 ・ 更新 2026-09-04 ・ 閲覧 160
技術解説 #障害対応

「回線は太いのに転送が遅い」。原因の多くはTCPの挙動にあります。再送とウィンドウ制御の基本を押さえると、遅延の正体が見えてきます。

TCPは「届いたか」を確認しながら送る

TCPは信頼性のため、送ったデータに対する確認応答(ACK)を受け取りながら進みます。ACKが返らなければ、一定時間後に再送します。この「確実さ」が、裏返すと遅延の原因にもなります。

ウィンドウ制御:まとめて送る工夫

1つ送ってACKを待って、また1つ…では遅すぎます。そこでTCPは「ウィンドウサイズ」の分だけ、ACKを待たずにまとめて送れます。ウィンドウが大きいほど、一度に送れる量が増え、スループットが上がります。

帯域遅延積という壁

ここが肝心です。遅延(RTT)が大きい回線では、ウィンドウが小さいと帯域を使い切れません

最大スループット ≒ ウィンドウサイズ ÷ RTT

例えば東京〜海外のような高遅延回線では、ウィンドウが足りず「回線は太いのに遅い」が起きます。長距離・高遅延ほど、ウィンドウサイズ(とその拡張機能)が効いてきます。

再送が起きると急減速する

TCPは、パケットロスを「輻輳(混雑)」のサインと解釈し、ウィンドウを一気に絞ります(輻輳制御)。つまり、わずかなパケットロスでもスループットが大きく落ちます。「たまに遅い」の裏で、ロスと再送が起きていることは珍しくありません。

遅い時に見る所

  • RTT(遅延): ping の値。距離や経路が想定通りか。
  • パケットロス: 継続pingやキャプチャでロス率を確認。わずかでも効く。
  • 再送の有無: Wiresharkで tcp.analysis.retransmission を見ると再送が可視化できる。
  • ウィンドウサイズ: ゼロウィンドウ(受信側が処理しきれず0通知)が出ていないか。

まとめ

「太い回線=速い」ではありません。スループットは、ウィンドウサイズ・RTT・ロス率の掛け算で決まります。遅延調査では、帯域だけでなくこの3つを見る——これがネスペでも実務でも効く視点です。

♥ 0(いいねはログイン後)

コメント 0 件

コメントするにはログインしてください。