5000 を超える TCP ポートから接続しようとすると、エラー 'WSAENOBUFS (10055)' が表示されます

この記事は、5000 を超える TCP ポートから接続しようとすると、エラー 'WSAENOBUFS (10055)' を修正するのに役立ちます。

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

現象

5000 を超えるポートからの TCP 接続を設定しようとすると、ローカル コンピューターは次の WSAENOBUFS (10055) エラー メッセージで応答します。

ソケットに対する操作を実行できませんでした。システムに十分なバッファー領域がなかったか、キューがいっぱいだったためです。

解決方法

重要

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

エフェメラル TCP ポートの既定の最大数は、"適用対象" セクションに含まれる製品では 5000 です。 これらの製品に新しいパラメーターが追加されました。 エフェメラル ポートの最大数を増やすには、次の手順に従います。

  1. レジストリ エディターを起動します。

  2. レジストリで次のサブキーを見つけて、[**パラメーター] をクリックします。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. [ 編集 ] メニューの [ 新規] をクリックし、次のレジストリ エントリを追加します。
    値名: MaxUserPort
    値の種類: DWORD 値データ: 65534 有効範囲: 5000-65534 (10 進数) 既定値: 0x1388 (10 進数 5000) 説明: このパラメーターは、プログラムがシステムから使用可能なユーザー ポートを要求するときに使用される最大ポート番号を制御します。 通常、エフェメラル (有効期間が短い) ポートは、1024 と 5000 の値の間で割り当てられます。 セキュリティ情報 MS08-037 のリリース後、Windows Server 2003 の動作が Windows Server 2008 と Windows Vista の動作とより密接に一致するように変更されました。 Microsoft セキュリティ情報 MS08-037 の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。

    951746 MS08-037: Windows Server 2008、Windows Server 2003、Windows 2000 Server (DNS サーバー側): 2008 年 7 月 8 日

    951748 MS08-037: Windows Server 2003、Windows XP、および Windows 2000 Server (クライアント側) の DNS のセキュリティ更新プログラムの説明: 2008 年 7 月 8 日

    953230 MS08-037: DNS の脆弱性により、なりすましが発生する可能性がある

  4. レジストリ エディターを終了し、コンピューターを再起動します。

    注:

    TCPTimedWaitDelay レジストリ パラメーターを追加すると、閉じたポートを再利用できるようになるまで、閉じたポートが待機する時間が決まります。

詳細

関連トピックの詳細については、次の Microsoft Web サイトを参照してください。

https://technet.microsoft.com/library/bb726981.aspx
関連トピックの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示します。

Windows XP の TCP/IP および NBT 構成パラメーターの314053

x64 ベースの Microsoft Windows のテクニカル サポート

ハードウェアにあらかじめ Microsoft Windows x64 エディションがインストールされていた場合、Windows x64 エディションのテクニカル サポートと支援はハードウェアの製造元から提供されます。 つまり、Windows x64 エディションをハードウェアにインストールしたハードウェアの製造元がサポートを提供します。 ハードウェアの製造元は、独自のコンポーネントを使用して Windows x64 エディションのインストール環境をカスタマイズしている場合があります。 独自のコンポーネントとして特定のデバイス ドライバーが組み込まれていることや、ハードウェアのパフォーマンスを最大限に発揮させるためのオプション設定が組み込まれていることがあります。 Windows x64 エディションに関する技術的なヘルプが必要な場合、Microsoft は合理的な労力の支援を提供します。 しかし、製造元がハードウェアにインストールして提供するソフトウェアについては製造元によるサポートが最適であるため、 ハードウェアの製造元に直接お問い合わせいただくことが必要な場合があります。 Windows Server 2003 x64 エディションなどの Windows x64 エディションを別途購入した場合は、テクニカル サポートについて Microsoft にお問い合わせください。