ネットワーク経路上のパケットの損失が頻繁に発生する環境において、大幅な通信の遅延が発生する

現象
パケットの損失が発生する環境では、再送処理をおこなう影響で通信に遅延が生じます。
そのような環境において、下記の条件を満たしている場合に、大幅な通信の遅延 (通常の所要時間の数倍から数十倍以上) が発生することがあります。
 
・ Windows Vista 以降の OS バージョンをデータ送信元のコンピューターとして使用しています。
・ WAN 回線などの、経路上でパケットの損失が発生しやすいネットワークを経由して、データの送受信を行います。
原因
この現象は、Windows Vista 以降の OS バージョンで導入された Forward RTO-Recovery (F-RTO) 機能の影響で発生します。
 
F-RTO は RTT (Round Trip Time: ネットワークの往復遅延時間) に一時的な増加があった状況を想定し、不要な再送を防ぐことを目的としております。
 
RTT が一時的に増加した場合には、送信済みであった多数の TCP セグメントの再送タイマー (RTO) が一斉に切れることで、受信側に到着していたにも関わらず、多数の TCP セグメントについて不要な再送が発生してしまう状況が懸念されます。F-RTO はこのような状況下で不要な再送を防ぐことを意図しており、再送タイマー切れの TCP セグメントを一斉には再送せずに、最初のセグメントのみを再送し、Ack を受信すると順次新しいセグメントの送信を開始するという動作を行います。
 
上記のような F-RTO 機能により、ワイヤレスのように一時的に RTT が増加し得る環境や、一時的にパケットロストが発生するような環境では、不要な再送を防ぐことができ、通信パフォーマンスを向上させることができます。
 
一方で、クライアント -> サーバー間の通信において、ある送信レートを超過した際に輻輳によってパケットが一斉にロストするような低帯域の回線を使用している場合、実際に全てのパケットがロストしている状況であるため、RTO 切れのパケットについては一斉に再送するような動作が必要となります。しかしながら、上述の F-RTO による再送抑止機能の影響により、パケットロスト発生後に通信が速やかに回復されず、大幅な遅延が発生する場合があります。
解決方法
Windows Vista、Windows 7 において F-RTO 機能を無効化する方法はありません。
 
通信先のサーバーが Windows Server 2003 の場合、Selective Acknowledgement (SACK) 機能を無効化することができます。
SACK が無効である場合、 F-RTO の制御が機能しなくなり、即座に再送処理を行う動作となるため、結果として現象を回避できる場合があります。
SACK は、受信したデータに対する TCP Ack 応答の対象となっているパケットのシーケンス番号が連続的なものか、非連続的なものかを解釈して、どのように返すかを選択して応答できる機能です。
 
Windows Server 2003 にて SACK を無効にするためには、以下のレジストリを追加し、OS を再起動します。
 
- レジストリ設定値
キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
名前 : SackOpts
種類 : DWORD
設定値 : 0
 
- Windows Server 2008/Vista 以降の SACK 無効化について
Windows Server 2008 / Vista 以降では、上述のレジストリ設定は機能せず、SACK 機能は無効化することができません。
そのため、通信先のサーバーとして、Windows Server 2008 以降を使用する場合には、ネットワーク品質を向上するか、データ送信側の端末の送信速度を調整して帯域にあわせるなどで、ネットワーク経路上のパケット損失が発生しないようにする以外には本現象を回避する方法はありません。

Windows Vista 以降の OS バージョンでは、送信データの帯域制限を行うために、ポリシー ベースの QoS の機能を使用することができます。

ポリシー ベースの QoS の概要
http://technet.microsoft.com/ja-jp/library/dd759093.aspx

回避策
状況
詳細
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2810220 - 最終更新日: 09/29/2016 09:51:00 - リビジョン: 3.0

Windows Vista Business, Windows Vista Enterprise, Windows Vista Ultimate, Windows 7 Enterprise, Windows 7 Professional, Windows 7 Ultimate, Windows Server 2008 Standard, Windows Server 2008 Enterprise, Windows Server 2008 Datacenter, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter

  • KB2810220
フィードバック