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

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

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

概要

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

詳細

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

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

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

重要

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

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

値を 1 に設定すると、セグメントが受信された直後に未処理の TCP ACK が 1 つしか存在しないので、すべてのパケットが即座に確認されます。 値 0 (ゼロ) は無効で、既定値 2 として扱います。 セグメントが受信され、ホストがデータを確認しない場合に、ACK 番号が 0 の場合のみ。