Windows XP/Vista などクライアント OS の同時接続制限について

投稿日:

前エントリで書いたように、面倒を見ているファイルサーバが復旧不能になったため、その辺に転がっている余剰端末にて仮のファイルサーバを構築することになりました。手持ちには Windows 2000 Server, Vista Ultimate, XP の3つしか OS を持ち合わせていないため、あれこれチャレンジしてみた結果を書き残しておきたいと思います。ひょっとすると単に僕の知識不足もあるかもしれないので、誤ったことを記述しているかもしれませんが、ひとつの情報として参考になればと思います。

まず結論から。TCPIP.SYS の制限等々を解除しても基本的にクライアント OS は同時クライアント接続数は 10 までという壁は突破できない(できなかった)ということです。

■ 接続する端末数が 11 端末以上
  Windows 2000, 2003, 2008 Server を使う必要があります。

■ 接続する端末数が 10 端末以下
  − Windows 7(x86/x64), Vista SP2(x86/x64)
    そのままで、実用上問題なく動作

  − それ以外のクライアント OS
    TCPIP.SYS へパッチを適用してハーフオープン(SYN_SENT) TCP接続数の制限を解除することにより、実用上問題なく動作

- スポンサーリンク -

さて、以下詳細というか備忘録。

端末台数が 11 以上あるなら Server OS じゃないと実用上耐えられないので、当然ながら Server OS のライセンスを購入しなくてはなりません。とりあえず最新の OS 試用版はいつも公開されているので試用してみて判断することが可能です。僕も今回は今購入手続きをしているファイルサーバが納入されるまでの間の仮サーバでは、試用版を用いて急場を凌いでいます。ダウンロードには TechNet もしくは MSDN のアカウントが必要です。TechNet の方は無料でアカウント取得可能です。

Window Server 2008 評価版のダウンロード

Windows Server 2008 では下記 5 エディションでの評価版を提供しております。
• Windows Server 2008 Standard (x86、x64)
• Windows Server 2008 Enterprise (x86、x64)
• Windows Server 2008 Datacenter (x86、x64)
• Windows Web Server 2008 (x86、x64)
• Windows Server 2008 for Itanium Based-Systems
本評価版は初期インストールから 60 日間の期間限定で評価いただけます。また、こちらの評価期間は最大で 240 日まで延長することができます。
(延長方法の詳細は KB948472 をご参照ください)
製品をご購入いただき、プロダクトキーを入手された後にライセンス認証をしていただくことにより正式版としてもご利用いただけます。

さて、次にマイクロソフトのページにあるクライアント同時接続数に関する記述。どうやら TCPIP.SYS の制限とは別の接続数を指している模様(・・・と理解しています)。

Windows Vista Service Pack 1 (SP1) における主要な変更内容

ファイルの共有。Windows Vista のファイル共有サブシステムでは、同時着信接続数は 10 までです。Windows Server 2008 では、数千の同時接続をサポートするよう拡張する必要があります。Windows Server 2008 開発のテストとカスタマ フィードバックの段階で、ファイル共有サブシステムが調整され、ファイル共有スタックのパフォーマンス、スケーラビリティ、および信頼性を最適化するよう強化されています。このレベルの調整と強化は、同時接続数が 10 に制限されているクライアントには一般に適用されませんが、ファイル サーバーの役割にとっては重要です。このような変更は、Windows Vista SP1 にとっても有益ですが、主にサーバー シナリオに対して行われます。

上記と同様のまとめは、「Windows Vistaのネットワーク同時接続は何台まで?」にも記載があります。
情報収集の過程で、僕と同じようにクライアント OS でのファイルサーバ構築を試みた「Windows Vistaのパソコンを「ファイルサーバ」にするのは、、、: 九尾の仕事日記」なんてページを見つけたが、記述が間違えているような気がします。


ちなみに、同時接続数が制限をオーバーしたときのエラーメッセージをまとめたページを見つけました。OS によりコメントが異なるようです。僕の検証結果では、共有フォルダーのパス直打ちの場合と、リモートコンピュータ名を打ち込んだ場合でもメッセージが異なるようでした。なんかコレとは別のメッセージも見た記憶(xxxx が見つかりません、だったかなぁ・・・)がありますが、思い出せません。

Windows NT/2000/XP/2003 リモートアクセス数の制限

Windows 95/98/Me の場合:
 \\コンピュータ名にアクセスできません。
 この要求はネットワークが受け付けません。しばらく待ってからやり直してください。
Windows NT 4.0 の場合:
 \\コンピュータ名
 これ以上このリモートコンピュータに接続できません。
Windows 2000/XP/2003 の場合:
 \\コンピュータ名
 コンピュータへの接続数が最大値に達しているため、これ以上このリモートコンピュータに接続できません。
リモートコンピュータ側での共有設定でユーザー数制限を無制限あるいは動作に支障のない数に設定していても、上記症状が出る場合がある。
共有リソースへのアクセスを含めたワークステーションコンピュータへの接続に対しては、以下のように最大接続数が設定されており、この制限を超えた数の接続は拒否される。この制限には、すべての転送およびバインドされているリソース共有プロトコルが含まれる。
Windows NT Workstation 4.0、Windows 2000 Professional、Windows XP Professional : 同時接続数は10
Windows XP Home Edition : 同時接続数は5
この制限値は、システムがホストすることを許可されている他のコンピュータからの同時接続数であり、リモートコンピュータからシステムに接続する管理ツールの使用には適用されない。
上記制限を超える接続を行う場合は、Windows Server 2003 などの Server 製品の導入が推奨される。


つぎに TCPIP.SYS の制限についての情報のまとめ。

WindowsXP SP2 質問スレッドpart007
Windows XP SP2 tcpip.sys の挙動

WindowsXPSP2 では、SYN_SENT状態のTCPコネクションがシステム全体で合計10個に制限されるようになっていて、これは、ランダムに IPアドレスをスキャンするワーム対策のようだが、SYN_SENT状態 (つまり指定したポートに接続するためにSYN を送ったがACKが帰ってこない状態)のソケットが10個
を超えると、その後の connect関数がブロッキングするんだよな。
まぁ、最近は50個に増えたという噂もあるけどw

TCPIP.SYS の接続数制限の影響範囲は、主に P2P など同時にネットに接続が必要になるソフト(=Winny, BitTorrent などが代表例)です。ソフト使用中にブラウザでページを表示できなかったり、極端に表示に時間がかかったりするようになります。

そのような不具合を解消する目的なら、TCPIP.SYS の制限解除が有効に機能するようです。


最後に TCPIP.SYS の書き換え方法についてのまとめです。そもそも違法かもしれないので解説方法へのリンクにとどめておきます。少なくとも僕の検証結果では、ファイルサーバ構築のために 10 接続を解除する目的では TCPIP.SYS の書き換えは旨く機能しませんでした。

tcpip.sys 同時接続数 - Google 検索
vista xp 25 10 接続数 TCPIP.SYS ハーフオープン - Google 検索
TCPIP.SYSの同時接続数制限を解除する方法
TCPIP.SYSの同時接続数制限を解除する方法 2
Half-open limit fix (patch) for Windows - Download
http://wiki.xworks.org/windows:vista#tcpipsys_制限解除
クラシカルDays:最大同時接続数を変更できるフリーソフト - livedoor Blog(ブログ)
Windows7/Vista/XPのリモートデスクトップのセッション数制限を解除する「Universal Termsrv.dll Patch」 - GIGAZINE

- スポンサーリンク -