Windows での TCP 受信確認 (ACK) 動作を制御するための新しいレジストリ エントリ

この記事では、TCP 受信確認 (ACK) の数を決定する新しいレジストリ エントリである TcpAckFrequency について説明します。

適用対象: Windows 10 - すべてのエディション、Windows Server 2012 R2
元の KB 番号: 328890

概要

TcpAckFrequency は、遅延した ACK タイマーが無視される前に未処理となる TCP 受信確認 (ACK) の数を決定するレジストリ エントリです。

詳細

RFC 1122 で指定されているように、TCP は遅延受信確認を使用して、メディアに送信されるパケットの数を減らします。 Windows の TCP では、受信した TCP セグメントごとに受信確認を送信する代わりに、遅延受信確認を実装するための一般的なアプローチが採用されています。 特定の接続で TCP によって受信されるデータは、次のいずれかの条件に該当する場合にのみ受信確認を返します。

  • 受信した前のセグメントに対して受信確認が送信されませんでした。
  • セグメントは受信されますが、その接続に対して 200 ミリ秒以内に他のセグメントは到着しません。

通常、遅延 ACK タイマー (200 ミリ秒) が期限切れでない限り、接続で受信された他のすべての TCP セグメントに対して受信確認が送信されます。 遅延した ACK タイマーは、次のレジストリ エントリを編集することで調整できます。

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法

サブキー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<インターフェイス GUID>
エントリ: TcpAckFrequency
値の種類: REG_DWORD、数値
有効な範囲: 0 から 255
既定値: 2
説明: 遅延 ACK タイマーが無視される前に未処理になる ACK の数を指定します。 Microsoft では、環境を慎重に調査せずに既定値を変更することはお勧めしません。

値を 1 に設定すると、セグメントが受信した直後に未処理の TCP ACK が 1 つしかないため、すべてのパケットがすぐに確認されます。 0 (ゼロ) の値は有効ではなく、既定値の 2 として扱われます。 セグメントが受信されておらず、ホストがデータを確認しない場合、ACK 番号が 0 になるのは唯一の時間です。