TCP/IP イベント ID 4227 に関する対策について

現象
クライアント アプリケーションが、Windows Socket を使用して通信を開始しようとした時に、再利用可能なポートが存在するにも関わらず、動的ポートを割り当てることができないために接続が失敗することがあります。この時、システム イベントログにイベント ID 4227 (警告) が記録され、クライアント アプリケーションには、WinSock エラー 10048 (WSAEADDRINUSE) が返されます。

Windows ソケットのエラー コード、値、および意味
原因
解決方法
利用できるポートが存在しているのにも関わらず、このイベントログが出力される問題が修正されています。
それぞれの OS において、適用すべき修正プログラムが異なります。

Windows Server 2008 SP2
以下の修正プログラムを適用します。
Event ID 4227 when a client application tries to connect to a Windows Server 2008 SP2-based server during a dynamic port allocation process (2901197)

Windows Server 2008 RTM(SP1) に対する修正プログラムはありません。SP2 にアップグレードして、上記の修正プログラムを適用してください。


Windows Vista RTM/SP1/SP2
本現象を対策した修正プログラムはありません。
Windows Server 2008 SP2 用の KB2901197 を Windows Vista SP2 に適用することはできません。
対策としては、Windows 7 にアップグレードして、下記の KB2826167 を適用してください。または Windows 8 以降の OS にアップグレードしてください。


Windows Sever 2008 R2 SP1 および Windows 7 SP1

以下の修正プログラムを適用します。
Cannot reuse Wildcard TCP ports on multiple IP addresses in Windows 7 SP1 or Windows Server 2008 R2 SP1 (2826167)

Windows Server 20008 R2 RTM および Windows 7 RTM に対する修正プログラムはありません。SP1 にアップグレードして、上記の修正プログラムを適用してください。


Windows Server 2012 および Windows 8
この問題は製品出荷時までに対策されています。


Windows Server 2012 R2 および Windows 8.1
この問題は製品出荷時までに対策されています。

上述の修正プログラムを適用した後も、イベント ID 4227 が記録され、アプリケーションにエラー 10048 が返ってくる場合、Windows Socket を利用するアプリケーション側で、接続をリトライするか、時間を空けてポートを割り当てるようにしてください。

動的ポートの範囲を変更している場合、拡張することで再現頻度を下げることが可能です。以下のサポート技術情報を参考に、動的ポート範囲を調整してください。この情報は Windows Server 2008 R2 および Windows 7 以降の OS でも有効な方法です。
Windows Vista および Windows Server 2008 では TCP/IP の既定の動的ポート範囲が変更されている

ネットワーク接続を一時的に無効化後、すぐに有効化する方法が採用できるならば、以下の資料にある対策をご検討ください。この方法の場合、既存の接続はすべて切断されてしまいます。
イベント ID 4227-TCP/IP ネットワーク接続
回避策
状況
再利用可能なポートが存在しているのにも関わらず、イベント ID 4227 が記録される現象は弊社製品の不具合です。
上記の修正プログラムを適用することにより回避できます。
それでもイベント ID 4227 が記録される場合は、大量のポートを使用しないことや、ポートのオープンとクローズを繰り返さないなどの、アプリケーション側での対策を検討してください。
詳細
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2916780 - 最終更新日: 12/10/2013 08:59:00 - リビジョン: 1.0

Windows Server 2008 Service Pack 2, Windows Server 2008 R2 Service Pack 1, Windows 7 Service Pack 1

  • KB2916780
フィードバック