次の方法で共有


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

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

元の KB 番号: 328890

まとめ

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

詳細

RFC 1122 で指定されているように、TCP は遅延受信確認を使用して、メディアで送信されるパケットの数を減らします。 受信した TCP セグメントごとに受信確認を送信する代わりに、Windows の TCP では、遅延受信確認を実装するための一般的なアプローチを採用しています。 特定の接続で 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 になるのは唯一の時間です。