サーバ機能とクライアント機能両方を設定時、サーバ機能が働いてないようにみえる


デバイスサーバと通信するサーバプログラムが動作するパソコンでファイヤーウォールが動作している場合についての注意事項です。

特にデバイスサーバの接続の設定を「サーバ機能」「クライアント機能」の両方を設定した場合に問題が発生します。
(この設定の場合、サーバ機能とクライアント機能は交互に動作いたします)

デバイスサーバはクライアント機能によって任意のパソコンへTCPの接続を行いますが、ファイヤーウォールが有効なパソコンで接続対象のサーバプログラムが動作していないとファイヤーウォールによって通信が阻止されるため、デバイスサーバはクライアント機能の通常の通信手順が行えなくなり、結果サーバ機能へ動作を遷移できなくなる可能性があります。
具体的には、以下のような現象が発生します。

1) デバイスサーバは、接続先パソコンに対してTCP接続要求(SYN)を出します。
2) パソコンで動作するプログラムが動作していない(任意のポートでの接続を受付ていない)場合、本来デバイスサーバからの接続要求 に対してTCP接続拒否(RST)が発行される筈ですが、同じパソコンで動作するファイヤーウォールによって阻害されます。
3) TCP接続拒否(RST)がデバイスサーバまで届かないため、デバイスサーバは自身の接続ポートを開放することが出来ない。
4) デバイスサーバに来た接続要求(SYN)に対して返答が得られないため、ポートが開放されず、サーバ接続を確立できない。













もし、本現象が発生した場合には、接続相手側のファイヤーウォール設定にてデバイスサーバから接続する「ポート番号」を開放してください。

(Windows XP SP2 以降 や Vista にて基本動作しているファイヤーウォールの場合、「ポート番号の例外」に加えるか、ファイヤーウォール機能そのものを「無効」にすることで現象を回避できます。)

最終更新:
2008-08-22 10:30
改訂:
1.6
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.