(57)【要約】【課題】ファイヤウォールやＨＴＴＰトンネリングサーバによってＨＴＴＰ通信がなされているネットワークにおいて、クライアントモジュールが接続元のＩＰアドレスを取得した場合に、サーバモジュールのＩＰアドレスを正しく取得すること。【解決手段】本発明の通信装置２０は送信部２２と返信部２４とを備えている。送信部２２は、ＷＡＮノード１４（ＷＡＮ）が、ＷＡＮのアドレスと、送信要求先のＬＡＮノード１６（ＬＡＮ）のアドレスとを通知してパケットの送信要求と送信元アドレスの変換要求とを行った場合には、ＮＡＴルータ１８（ＮＡＴ）に対して仮想アドレスを送信要求元ＷＡＮのアドレスとしてパケットを送信要求先ＬＡＮへと送信させる。返信部２４は、送信要求先ＬＡＮから仮想アドレスを返信要求先アドレスとしてパケットの返信要求がなされた場合には、ＮＡＴに対して仮想アドレスに対応するＷＡＮのアドレスに基づいて、ＬＡＮからのパケットを送信要求元ＷＡＮへと返信させる。【選択図】    図２
2004222181.tif 000002
【特許請求の範囲】
【請求項１】
サーバモジュールとクライアントモジュールとの間の双方向通信を、前記サーバモジュールと前記クライアントモジュールとの間に介挿されたファイヤウォールと、前記ファイヤウォールと前記サーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、前記ＨＴＴＰトンネリングサーバと前記サーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御する通信方法であって、
前記クライアントモジュールが、前記ファイヤウォールを介して前記ＨＴＴＰトンネリングサーバに対し、前記クライアントモジュールのアドレスと、送信要求先のサーバモジュールのアドレスとを通知することによってこのサーバモジュールに対するパケットの送信要求と、送信元アドレスの変換要求とを行った場合には、前記ＨＴＴＰトンネリングサーバは、前記ＮＡＴルータに対して、仮想アドレスを前記送信要求元のクライアントモジュールのアドレスとして、前記送信要求元のクライアントモジュールからのパケットを前記送信要求先のサーバモジュールへと送信させ、
前記送信要求先のサーバモジュールから、前記ＮＡＴルータに対して、前記仮想アドレスを返信要求先のアドレスとしてパケットの返信要求がなされた場合には、前記ＨＴＴＰトンネリングサーバは、前記ＮＡＴルータに対して、前記仮想アドレスに対応するクライアントモジュールのアドレスに基づいて、前記送信要求先のサーバモジュールからのパケットを前記送信要求元のクライアントモジュールへと返信させるようにした通信方法。
【請求項２】
サーバモジュールとクライアントモジュールとの間の双方向通信を、前記サーバモジュールと前記クライアントモジュールとの間に介挿されたファイヤウォールと、前記ファイヤウォールと前記サーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、前記ＨＴＴＰトンネリングサーバと前記サーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御する通信方法であって、
前記サーバモジュールが、前記ＮＡＴルータを介して前記ＨＴＴＰトンネリングサーバに対し、送信先アドレス変換要求を行った場合には、前記ＨＴＴＰトンネリングサーバは、前記ＮＡＴルータに対して、前記サーバモジュールに対して仮想アドレスを設定させ、
前記クライアントモジュールが、前記ファイヤウォールを介して前記ＨＴＴＰトンネリングサーバに対し、前記クライアントモジュールのアドレスと、前記仮想アドレスとを通知することによって前記サーバモジュールに対するパケットの送信要求を行った場合には、前記ＨＴＴＰトンネリングサーバは、前記ＮＡＴルータに対して、前記通知された仮想アドレスに対応する前記サーバモジュールのアドレスを送信要求先のサーバモジュールのアドレスとして、前記送信要求元のクライアントモジュールからのパケットを前記送信要求先のサーバモジュールへと送信させ、
前記送信要求先のサーバモジュールから、前記送信要求元のクライアントのアドレスを返信要求先のアドレスとして前記ＮＡＴルータに対してパケットの返信要求がなされた場合には、前記ＨＴＴＰトンネリングサーバは、前記ＮＡＴルータに対して、前記送信要求元のアドレスに対応するクライアントモジュールのアドレスに基づいて、前記送信要求先のサーバモジュールからのパケットを前記送信要求元のクライアントモジュールへと返信させるようにした通信方法。
【請求項３】
サーバモジュールとクライアントモジュールとの間の双方向通信を、前記サーバモジュールと前記クライアントモジュールとの間に介挿されたファイヤウォールと、前記ファイヤウォールと前記サーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、前記ＨＴＴＰトンネリングサーバと前記サーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御する通信装置であって、
前記クライアントモジュールが、前記ファイヤウォールを介して前記ＨＴＴＰトンネリングサーバに対し、前記クライアントモジュールのアドレスと、送信要求先のサーバモジュールのアドレスとを通知することによってこのサーバモジュールに対するパケットの送信要求と、送信元アドレスの変換要求とを行った場合には、前記ＮＡＴルータに対して、仮想アドレスを前記送信要求元のクライアントモジュールのアドレスとして、前記送信要求元のクライアントモジュールからのパケットを前記送信要求先のサーバモジュールへと送信させる送信手段と、
前記送信要求先のサーバモジュールから、前記ＮＡＴルータに対して、前記仮想アドレスを返信要求先のアドレスとしてパケットの返信要求がなされた場合には、前記ＮＡＴルータに対して、前記仮想アドレスに対応するクライアントモジュールのアドレスに基づいて、前記送信要求先のサーバモジュールからのパケットを前記送信要求元のクライアントモジュールへと返信させる返信手段と
を備えた通信装置。
【請求項４】
サーバモジュールとクライアントモジュールとの間の双方向通信を、前記サーバモジュールと前記クライアントモジュールとの間に介挿されたファイヤウォールと、前記ファイヤウォールと前記サーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、前記ＨＴＴＰトンネリングサーバと前記サーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御する通信装置であって、
前記サーバモジュールが、前記ＮＡＴルータを介して前記ＨＴＴＰトンネリングサーバに対し、送信先アドレス変換要求を行った場合には、前記ＮＡＴルータに対して、前記サーバモジュールに対して仮想アドレスを設定させる仮想アドレス設定手段と、
前記クライアントモジュールが、前記ファイヤウォールを介して前記ＨＴＴＰトンネリングサーバに対し、前記クライアントモジュールのアドレスと、前記仮想アドレスとを通知することによって前記サーバモジュールに対するパケットの送信要求を行った場合には、前記ＮＡＴルータに対して、前記通知された仮想アドレスに対応する前記サーバモジュールのアドレスを送信要求先のサーバモジュールのアドレスとして、前記送信要求元のクライアントモジュールからのパケットを前記送信要求先のサーバモジュールへと送信させる送信手段と、
前記送信要求先のサーバモジュールから、前記送信要求元のクライアントのアドレスを返信要求先のアドレスとして前記ＮＡＴルータに対してパケットの返信要求がなされた場合には、前記ＮＡＴルータに対して、前記送信要求元のアドレスに対応するクライアントモジュールのアドレスに基づいて、前記送信要求先のサーバモジュールからのパケットを前記送信要求元のクライアントモジュールへと返信させる返信手段と
を備えた通信装置。
【請求項５】
サーバモジュールとクライアントモジュールとの間の双方向通信を、前記サーバモジュールと前記クライアントモジュールとの間に介挿されたファイヤウォールと、前記ファイヤウォールと前記サーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、前記ＨＴＴＰトンネリングサーバと前記サーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて、前記双方向通信を制御するコンピュータ読み取り可能なプログラムであって、
前記クライアントモジュールが、前記ファイヤウォールを介して前記ＨＴＴＰトンネリングサーバに対し、前記クライアントモジュールのアドレスと、送信要求先のサーバモジュールのアドレスとを通知することによってこのサーバモジュールに対するパケットの送信要求と、送信元アドレスの変換要求とを行った場合には、前記ＮＡＴルータに対して、仮想アドレスを前記送信要求元のクライアントモジュールのアドレスとして、前記送信要求元のクライアントモジュールからのパケットを前記送信要求先のサーバモジュールへと送信させる送信機能、
前記送信要求先のサーバモジュールから、前記ＮＡＴルータに対して、前記仮想アドレスを返信要求先のアドレスとしてパケットの返信要求がなされた場合には、前記ＮＡＴルータに対して、前記仮想アドレスに対応するクライアントモジュールのアドレスに基づいて、前記送信要求先のサーバモジュールからのパケットを前記送信要求元のクライアントモジュールへと返信させる返信機能
をコンピュータに実現させるためのプログラム。
【請求項６】
サーバモジュールとクライアントモジュールとの間の双方向通信を、前記サーバモジュールと前記クライアントモジュールとの間に介挿されたファイヤウォールと、前記ファイヤウォールと前記サーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、前記ＨＴＴＰトンネリングサーバと前記サーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御するコンピュータ読み取り可能なプログラムであって、
前記サーバモジュールが、前記ＮＡＴルータを介して前記ＨＴＴＰトンネリングサーバに対し、送信先アドレス変換要求を行った場合には、前記ＮＡＴルータに対して、前記サーバモジュールに仮想アドレスを設定させる仮想アドレス設定機能、
前記クライアントモジュールが、前記ファイヤウォールを介して前記ＨＴＴＰトンネリングサーバに対し、前記クライアントモジュールのアドレスと、前記仮想アドレスとを通知することによって前記サーバモジュールに対するパケットの送信要求を行った場合には、前記ＮＡＴルータに対して、前記通知された仮想アドレスに対応する前記サーバモジュールのアドレスを送信要求先のサーバモジュールのアドレスとして、前記送信要求元のクライアントモジュールからのパケットを前記送信要求先のサーバモジュールへと送信させる送信機能、
前記送信要求先のサーバモジュールから、前記送信要求元のクライアントのアドレスを返信要求先のアドレスとして前記ＮＡＴルータに対してパケットの返信要求がなされた場合には、前記ＮＡＴルータに対して、前記送信要求元のアドレスに対応するクライアントモジュールのアドレスに基づいて、前記送信要求先のサーバモジュールからのパケットを前記送信要求元のクライアントモジュールへと返信させる返信機能
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファイヤウォールやＨＴＴＰトンネリングサーバによってＨＴＴＰ通信がなされているネットワークにおいて、このネットワークを構成しているクライアントモジュールとサーバモジュールとの間の通信をリアルタイムで行う通信方法および通信装置、プログラムに関する。
【０００２】
【従来の技術】
通常、図９に示すように、ＨＴＴＰトンネリングサーバ１２やファイヤウォール１０を通過するような通信しか許されていないネットワークでは、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）側に存在しファイヤウォール１０によってアクセス制限を受け、ＨＴＴＰ通信ライブラリ１５を利用して通信を行うＷＡＮノード１４が、ＨＴＴＰトンネリングサーバ１２に接続している。
【０００３】
更に、ＨＴＴＰトンネリングサーバ１２がＴＣＰ／ＩＰでＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）に存在するノード１６（以下、「ＬＡＮノード」と称する）とＴＣＰコネクションを確立することによって、通信が行われている。このＬＡＮノード１６は、ＬＡＮ側に存在し、ファイヤウォール１０によってＷＡＮ側から守られており、通常の通信ライブラリ１５を用いて通信を行うとともに、デフォルトゲートウェイとしてＮＡＴルータ１８が設定されている。
【０００４】
このＨＴＴＰ通信ライブラリ１５とは、ＷＡＮノード１４の通常の通信ライブラリに代わるものであり、パケットのＨＴＴＰカプセル化を行う。そして、ＨＴＴＰ通信ライブラリ１５とＬＡＮノード１６との間のプロトコル変換を行うＨＴＴＰトンネリングサーバ１２と通信するものである。なお、ＨＴＴＰ通信ライブラリ１５では、デフォルトゲートウェイとしてＮＡＴルータ１８が設定されている。
【０００５】
ＮＡＴルータ１８とは、ＨＴＴＰトンネリングサーバ１２とＬＡＮノード１６との間のＩＰパケットヘッダの宛先または送信元情報を変換するものである。ＮＡＴルータ１８の機能は、変換対象によって後述するような送信元ＮＡＴ機能または宛先ＮＡＴ機能に区別されている。
【０００６】
まず、送信元ＮＡＴ機能について、図１０を用いて説明する。
【０００７】
すなわち、送信元ＮＡＴ機能では、図１０（ａ）に示すように、ノードＡからノードＢへのパケットの送信元情報（ＩＰアドレス、ＴＣＰポート番号）が、ＮＡＴルータ１８によってノードＣに書き換えられ、ノードＢに向けてパケットが送信される。つまり、図１０（ｂ）に示すように、送信元ノードがノードＡ、宛先ノードがノードＢであった送信元情報が、送信元ノードがノードＣ、宛先ノードがノードＢである送信元情報に書き換えられてノードＢに送信される。ここで示すノードとは、ＴＣＰ／ＩＰのノードであり、ＩＰアドレスとＴＣＰポート番号を持つものである。
【０００８】
このようにしてノードＢに送信されたパケットに対して、ノードＢからパケットが返信される場合、図１０（ｃ）に示すように、ノードＢからは、送信元のノードであるノードＣへとパケットが返信される。この宛先ノードは、ＮＡＴルータ１８によってノードＡに書き換えられ、ノードＡに向けてパケットが返信される。
【０００９】
このような送信元ＮＡＴ機能によって、図１０（ｄ）に示すように、ノードＡはノードＢと通信しているにもかかわらず、図１０（ｅ）示すように、ノードＢはノードＡとではなくノードＣと通信しているかのように見える。これらの変換情報は、ＮＡＴルータ１８内に備えられている図示しない変換用テーブルに格納されている。このような送信元ＮＡＴ機能は、ＮＡＴルータ１８に、「ＳＮＡＴ  Ａ  ｔｏ  Ｃ」（ここで、Ａは送信元ノード、Ｃは送信先ノード）という命令を送ることによって実現される。
【００１０】
次に、宛先ＮＡＴ機能について、図１１を用いて説明する。
【００１１】
すなわち、宛先ＮＡＴ機能では、図１１（ａ）に示すように、ノードＡからノードＢへのパケットの宛先情報（ＩＰアドレス、ＴＣＰポート番号）が、ＮＡＴルータ１８によってノードＣに書き換えられ、ノードＣに向けてパケットが送信される。つまり、図１１（ｂ）に示すように、送信元ノードがノードＡ、宛先ノードがノードＢであった送信元情報が、送信元ノードがノードＡ、宛先ノードがノードＣであった送信元情報に書き換えられてノードＣに送信される。
【００１２】
このようにしてノードＣに送信されたパケットに対して、ノードＣからパケットが返信される場合、図１１（ｃ）に示すように、ノードＣからは、送信元のノードであるノードＡへとパケットが返信される。この送信元ノードは、ＮＡＴルータ１８によってノードＣからノードＢへと書き換えられ、ノードＡに向けてパケットが返信される。
【００１３】
このような宛先ＮＡＴ機能によって、図１１（ｅ）に示すように、ノードＣはノードＡと通信しているにもかかわらず、図１１（ｄ）に示すように、ノードＡはノードＣとではなくノードＢと通信しているかのように見える。これらの変換情報もまた、ＮＡＴルータ１８内に備えられている図示しない変換用テーブルに格納されている。このような宛先ＮＡＴ機能は、ＮＡＴルータ１８に、「ＤＮＡＴ  Ｂｔｏ  Ｃ」（ここで、Ｂは変換元ノード、Ｃは送信先ノード）という命令を送ることによって実現される。
【００１４】
なお、本発明に関する関連文献の一例としては、特許文献１および特許文献２がある。
【００１５】
【特許文献１】
特開２００１−１６０８２８号公報
【００１６】
【特許文献２】
特開２００１−３５２３４４号公報
【００１７】
【発明が解決しようとする課題】
しかしながら、このような従来の通信方法では、以下のような問題がある。
【００１８】
すなわち、このような従来の通信方法では、ＨＴＴＰでカプセル化したデータの、例えばＷＡＮノード１４からなるクライアントモジュールと、例えばＬＡＮノード１６からなるサーバモジュールとの間の通信を行う際に、ＨＴＴＰトンネリングサーバ１２からサーバモジュールにＴＣＰコネクションを確立するために、ＬＡＮノード１６は、ソケットから例えばＷＡＮノード１４からなるクライアントモジュールのＩＰアドレスとポート番号とを正しく取得することができず、ＨＴＴＰトンネリングサーバ１２のＩＰアドレスとポート番号とを取得してしまう。
【００１９】
これにより、例えばＷＡＮノード１４からなるクライアントモジュールをＩＰアドレスで識別しているようなアプリケーションは正しく動作しないという問題点がある。
【００２０】
また、例えばＷＡＮノード１４からなるクライアントモジュールが接続を受け付け、例えばＬＡＮノード１６からなるサーバモジュールとの接続を確立することができないという問題点がある。
【００２１】
本発明はこのような事情に鑑みてなされたものであり、その第１の目的は、クライアントモジュールのＩＰアドレスとポート番号とをＨＴＴＰトンネリングサーバがサーバモジュールに通知するようにし、もって、クライアントモジュールが接続元のＩＰアドレスを取得した場合に、サーバモジュールのＩＰアドレスを正しく取得することが可能な通信方法および通信装置、プログラムを提供することにある。
【００２２】
また、その第２の目的は、クライアントモジュールが接続を受け付け、サーバモジュールとの接続を確立することが可能な通信方法および通信装置、プログラムを提供することにある。
【００２３】
【課題を解決するための手段】
上記の目的を達成するために、本発明では、以下のような手段を講じる。
【００２４】
すなわち、請求項１の発明は、サーバモジュールとクライアントモジュールとの間の双方向通信を、サーバモジュールとクライアントモジュールとの間に介挿されたファイヤウォールと、ファイヤウォールとサーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、ＨＴＴＰトンネリングサーバとサーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御する通信方法であって、クライアントモジュールが、ファイヤウォールを介してＨＴＴＰトンネリングサーバに対し、クライアントモジュールのアドレスと、送信要求先のサーバモジュールのアドレスとを通知することによってこのサーバモジュールに対するパケットの送信要求と、送信元アドレスの変換要求とを行った場合には、ＨＴＴＰトンネリングサーバは、ＮＡＴルータに対して、仮想アドレスを送信要求元のクライアントモジュールのアドレスとして、送信要求元のクライアントモジュールからのパケットを送信要求先のサーバモジュールへと送信させる。そして、送信要求先のサーバモジュールから、ＮＡＴルータに対して、仮想アドレスを返信要求先のアドレスとしてパケットの返信要求がなされた場合には、ＨＴＴＰトンネリングサーバは、ＮＡＴルータに対して、仮想アドレスに対応するクライアントモジュールのアドレスに基づいて、送信要求先のサーバモジュールからのパケットを送信要求元のクライアントモジュールへと返信させる。
【００２５】
請求項２の発明は、サーバモジュールとクライアントモジュールとの間の双方向通信を、サーバモジュールとクライアントモジュールとの間に介挿されたファイヤウォールと、ファイヤウォールとサーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、ＨＴＴＰトンネリングサーバとサーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御する通信方法であって、サーバモジュールが、ＮＡＴルータを介してＨＴＴＰトンネリングサーバに対し、送信先アドレス変換要求を行った場合には、ＨＴＴＰトンネリングサーバは、ＮＡＴルータに対して、サーバモジュールに対して仮想アドレスを設定させる。そして、クライアントモジュールが、ファイヤウォールを介してＨＴＴＰトンネリングサーバに対し、クライアントモジュールのアドレスと、仮想アドレスとを通知することによってサーバモジュールに対するパケットの送信要求を行った場合には、ＨＴＴＰトンネリングサーバは、ＮＡＴルータに対して、通知された仮想アドレスに対応するサーバモジュールのアドレスを送信要求先のサーバモジュールのアドレスとして、送信要求元のクライアントモジュールからのパケットを送信要求先のサーバモジュールへと送信させる。更に、送信要求先のサーバモジュールから、送信要求元のクライアントのアドレスを返信要求先のアドレスとしてＮＡＴルータに対してパケットの返信要求がなされた場合には、ＨＴＴＰトンネリングサーバは、ＮＡＴルータに対して、送信要求元のアドレスに対応するクライアントモジュールのアドレスに基づいて、送信要求先のサーバモジュールからのパケットを送信要求元のクライアントモジュールへと返信させる。
【００２６】
請求項３の発明は、サーバモジュールとクライアントモジュールとの間の双方向通信を、サーバモジュールとクライアントモジュールとの間に介挿されたファイヤウォールと、ファイヤウォールとサーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、ＨＴＴＰトンネリングサーバとサーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御する通信装置であって、送信手段と、返信手段とを備えている。この送信手段は、クライアントモジュールが、ファイヤウォールを介してＨＴＴＰトンネリングサーバに対し、クライアントモジュールのアドレスと、送信要求先のサーバモジュールのアドレスとを通知することによってこのサーバモジュールに対するパケットの送信要求と、送信元アドレスの変換要求とを行った場合には、ＮＡＴルータに対して、仮想アドレスを送信要求元のクライアントモジュールのアドレスとして、送信要求元のクライアントモジュールからのパケットを送信要求先のサーバモジュールへと送信させ、この返信手段は、送信要求先のサーバモジュールから、ＮＡＴルータに対して、仮想アドレスを返信要求先のアドレスとしてパケットの返信要求がなされた場合には、ＮＡＴルータに対して、仮想アドレスに対応するクライアントモジュールのアドレスに基づいて、送信要求先のサーバモジュールからのパケットを送信要求元のクライアントモジュールへと返信させる。
【００２７】
請求項４の発明は、サーバモジュールとクライアントモジュールとの間の双方向通信を、サーバモジュールとクライアントモジュールとの間に介挿されたファイヤウォールと、ファイヤウォールとサーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、ＨＴＴＰトンネリングサーバとサーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御する通信装置であって、仮想アドレス設定手段と、送信手段と、返信手段とを備えている。仮想アドレス設定手段は、サーバモジュールが、ＮＡＴルータを介してＨＴＴＰトンネリングサーバに対し、送信先アドレス変換要求を行った場合には、ＮＡＴルータに対して、サーバモジュールに対して仮想アドレスを設定させる。送信手段は、クライアントモジュールが、ファイヤウォールを介してＨＴＴＰトンネリングサーバに対し、クライアントモジュールのアドレスと、仮想アドレスとを通知することによってサーバモジュールに対するパケットの送信要求を行った場合には、ＮＡＴルータに対して、通知された仮想アドレスに対応するサーバモジュールのアドレスを送信要求先のサーバモジュールのアドレスとして、送信要求元のクライアントモジュールからのパケットを送信要求先のサーバモジュールへと送信させる。返信手段は、送信要求先のサーバモジュールから、送信要求元のクライアントのアドレスを返信要求先のアドレスとしてＮＡＴルータに対してパケットの返信要求がなされた場合には、ＮＡＴルータに対して、送信要求元のアドレスに対応するクライアントモジュールのアドレスに基づいて、送信要求先のサーバモジュールからのパケットを送信要求元のクライアントモジュールへと返信させる。
【００２８】
請求項５の発明は、サーバモジュールとクライアントモジュールとの間の双方向通信を、サーバモジュールとクライアントモジュールとの間に介挿されたファイヤウォールと、ファイヤウォールとサーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、ＨＴＴＰトンネリングサーバとサーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御するコンピュータ読み取り可能なプログラムであって、送信機能と、返信機能とをコンピュータに実現させる。送信機能では、クライアントモジュールが、ファイヤウォールを介してＨＴＴＰトンネリングサーバに対し、クライアントモジュールのアドレスと、送信要求先のサーバモジュールのアドレスとを通知することによってこのサーバモジュールに対するパケットの送信要求と、送信元アドレスの変換要求とを行った場合には、ＮＡＴルータに対して、仮想アドレスを送信要求元のクライアントモジュールのアドレスとして、送信要求元のクライアントモジュールからのパケットを送信要求先のサーバモジュールへと送信させる。返信機能では、送信要求先のサーバモジュールから、ＮＡＴルータに対して、仮想アドレスを返信要求先のアドレスとしてパケットの返信要求がなされた場合には、ＮＡＴルータに対して、仮想アドレスに対応するクライアントモジュールのアドレスに基づいて、送信要求先のサーバモジュールからのパケットを送信要求元のクライアントモジュールへと返信させる。
【００２９】
請求項６の発明は、サーバモジュールとクライアントモジュールとの間の双方向通信を、サーバモジュールとクライアントモジュールとの間に介挿されたファイヤウォールと、ファイヤウォールとサーバモジュールとの間に介挿されたＨＴＴＰトンネリングサーバと、ＨＴＴＰトンネリングサーバとサーバモジュールとの間に介挿されたＮＡＴルータとによって制御されている通信ネットワークにおいて制御するコンピュータ読み取り可能なプログラムであって、仮想アドレス設定機能と、送信機能と、返信機能とをコンピュータに実現させる。仮想アドレス設定機能では、サーバモジュールが、ＮＡＴルータを介してＨＴＴＰトンネリングサーバに対し、送信先アドレス変換要求を行った場合には、ＮＡＴルータに対して、サーバモジュールに仮想アドレスを設定させる。送信機能では、クライアントモジュールが、ファイヤウォールを介してＨＴＴＰトンネリングサーバに対し、クライアントモジュールのアドレスと、仮想アドレスとを通知することによってサーバモジュールに対するパケットの送信要求を行った場合には、ＮＡＴルータに対して、通知された仮想アドレスに対応するサーバモジュールのアドレスを送信要求先のサーバモジュールのアドレスとして、送信要求元のクライアントモジュールからのパケットを送信要求先のサーバモジュールへと送信させる。返信機能では、送信要求先のサーバモジュールから、送信要求元のクライアントのアドレスを返信要求先のアドレスとしてＮＡＴルータに対してパケットの返信要求がなされた場合には、ＮＡＴルータに対して、送信要求元のアドレスに対応するクライアントモジュールのアドレスに基づいて、送信要求先のサーバモジュールからのパケットを送信要求元のクライアントモジュールへと返信させる。
【００３０】
従って、請求項１乃至６の発明においては、以上のような手段を講じることにより、クライアントモジュールのアドレスをＨＴＴＰトンネリングサーバがサーバモジュールに通知することができる。以上により、クライアントモジュールが接続元のアドレスを取得した場合に、サーバモジュールのアドレスを正しく取得することが可能となる。また、クライアントモジュールが接続を受け付け、サーバモジュールとの接続を確立することが可能となる。
【００３１】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照しながら説明する。
【００３２】
なお、以下の実施の形態の説明に用いる図中の符号は、図９から図１１と同一部分については同一符号を付して示すことにする。
【００３３】
図１は、本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法を適用した通信装置が適用されるネットワーク構成例を示す概念図である。
【００３４】
図１に示すネットワーク構成概念図は、図９のネットワーク構成概念図におけるＨＴＴＰトンネリングサーバ１２に、本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法を適用した通信装置を備えた点が異なっている。また、図１にその一例を示すネットワーク構成においては、必要に応じてルータを介した多数のサブネット等を適宜備えても良いが、ここではその図示及び詳細説明を省略している。
【００３５】
図２は、本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法を適用した通信装置の構成例を示す機能構成図である。
【００３６】
すなわち通信装置２０は、サーバモジュールであるＬＡＮノード１６と、クライアントモジュールであるＷＡＮノード１４との間の双方向通信が、ＬＡＮノード１６とＷＡＮノード１４との間に介挿されたファイヤウォール１０と、ファイヤウォール１０とＬＡＮノード１６との間に介挿されたＨＴＴＰトンネリングサーバ１２と、ＨＴＴＰトンネリングサーバ１２とＬＡＮノード１６との間に介挿されたＮＡＴルータ１８とによって制御されている通信ネットワークにおける双方向通信を制御するものである。この通信装置２０は、ＨＴＴＰトンネリングサーバ１２に備えており、例えば磁気ディスク等の記録媒体に記録された、あるいはインターネット等を介してダウンロードされたプログラムを読み込み、このプログラムによって動作が制御されるコンピュータによって実現されるものである。そして、図２に示すように、送信部２２と、返信部２４と、仮想アドレス設定部２６とを備えている。
【００３７】
送信部２２は、ＷＡＮノード１４（＃１〜＃ｎ）のうちの何れかが、ファイヤウォール１０を介してＨＴＴＰトンネリングサーバ１２に対し、ＷＡＮノード１４のＩＰアドレスおよびポート番号と、送信要求先のＬＡＮノード１６のＩＰアドレスおよびポート番号とを通知することによってＬＡＮノード１６に対するパケットの送信要求と、送信元ＮＡＴ機能の指定とを行った場合には、ＮＡＴルータ１８に対して、仮想アドレスを送信要求元のＷＡＮノード１４のＩＰアドレスおよびポート番号として、送信要求元のＷＡＮノード１４のＨＴＴＰ通信ライブラリ１５からのパケットを、送信要求先のＬＡＮノード１６へと送信させる。
【００３８】
また、送信部２２は、ＷＡＮノード１４（＃１〜＃ｎ）のうちの何れかが、ファイヤウォール１０を介してＨＴＴＰトンネリングサーバ１２に対し、自己のＷＡＮノード１４のＩＰアドレスおよびポート番号と、仮想アドレスおよび仮想ポート番号とを通知することによってＬＡＮノード１６（＃１〜＃ｎ）のうちの何れかに対するパケットの送信要求を行った場合には、ＮＡＴルータ１８に対して、通知された仮想アドレスおよび仮想ポート番号に対応するＬＡＮノード１６のＩＰアドレスおよびポート番号を送信要求先のＬＡＮノード１６のＩＰアドレスおよびポート番号として、送信要求元のＷＡＮノード１４のＨＴＴＰ通信ライブラリ１５からのパケットを送信要求先のＬＡＮノード１６へと送信させる。
【００３９】
返信部２４は、送信部２２によってパケットが送信されたＬＡＮノード１６から、仮想アドレスおよび仮想ポート番号を返信要求先のＩＰアドレスおよびポート番号としてＮＡＴルータ１８に対してパケットの返信要求がなされた場合には、ＮＡＴルータ１８に対して、仮想アドレスおよび仮想ポート番号に対応するＷＡＮノード１４のＩＰアドレスおよびポート番号に基づいて、送信要求先のＬＡＮノード１６からのパケットを、ＨＴＴＰ通信ライブラリ１５を介して送信要求元のＷＡＮノード１４へと返信させる。
【００４０】
また、返信部２４は、送信要求先のＬＡＮノード１６から、送信要求元のＷＡＮノード１４のＩＰアドレスおよびポート番号を返信要求先のＩＰアドレスおよびポート番号としてＮＡＴルータ１８に対してパケットの返信要求がなされた場合には、ＮＡＴルータ１８に対して、送信要求元のＩＰアドレスおよびポート番号に対応するＷＡＮノード１４のＩＰアドレスおよびポート番号に基づいて、送信要求先のＬＡＮノード１６からのパケットを、ＨＴＴＰ通信ライブラリ１５を介して送信要求元のＷＡＮノード１４へと返信させる。
【００４１】
仮想アドレス設定部２６は、ＬＡＮノード１６（＃１〜＃ｎ）のうちの何れかが、ＮＡＴルータ１８を介してＨＴＴＰトンネリングサーバ１２に対し、宛先ＮＡＴ機能を要求した場合には、ＮＡＴルータ１８に対して、このＬＡＮノード１６に対して仮想アドレスおよび仮想ポート番号を設定させる。
【００４２】
次に、以上のように構成した本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法の作用について説明する。
【００４３】
まず、図３および図４を用いて、ＷＡＮノード１４（＃１〜＃ｎ）のうちの何れかからＬＡＮノード１６（＃１〜＃ｎ）のうちの何れかへの接続開始処理時における動作について説明する。
【００４４】
すなわち、ＬＡＮノード１６への接続要求するＷＡＮノード１４のＨＴＴＰ通信ライブラリ１５は、アプリケーションから、ＬＡＮノード１６のＩＰアドレス（Ｌ＿ａｄｄｒ）およびポート番号（Ｌ＿ｐｏｒｔ）のソケットを生成する要求を受ける（Ｓ１）。そして、ステップＳ１で生成要求を受けたＩＰアドレス（Ｌ＿ａｄｄｒ）およびポート番号（Ｌ＿ｐｏｒｔ）への接続要求をＨＴＴＰ通信ライブラリ１５でカプセル化して、ＨＴＴＰトンネリングサーバ１２へと送信する（Ｓ２）。そして、ＨＴＴＰ通信ライブラリ１５は、後述するステップＳ１６の処理が行われるまで、リプライを待つ（Ｓ１３）。
【００４５】
ステップＳ２においてＨＴＴＰ通信ライブラリ１５からなされた接続要求は、ＨＴＴＰトンネリングサーバ１２によって受信される（Ｓ３）。そして、ＨＴＴＰトンネリングサーバ１２では、ＷＡＮノード１４のＩＰアドレスをＨＴＴＰ通信ライブラリ１５の送信元ＩＰアドレス（Ｗ＿ａｄｄｒ）として取得する。また、ＷＡＮノード１４のポート番号（ＷＡＮ＿ｐｏｒｔ）を決定する（Ｓ４）。次に、ソケットを生成し、空いているポート番号（Ｔ＿ｐｏｒｔ）をｂｉｎｄする（Ｓ５）。
【００４６】
更に、ＨＴＴＰトンネリングサーバ１２は、通信装置２０を動作させることによって、ＮＡＴルータ１８に対して送信元ＮＡＴ機能（ＳＮＡＴ  Ｔ＿ａｄｄｒ：Ｔ＿ｐｏｒｔ  ｔｏ  Ｗ＿ａｄｄｒ：Ｗ＿ｐｏｒｔ）の要求を送信する（Ｓ６）。すると、ＮＡＴルータ１８が通信装置２０からの要求を受け、送信元ＮＡＴ機能の実行を開始する（Ｓ７）。一方、ＨＴＴＰトンネリングサーバ１２は、後述するステップＳ８の処理がなされるまで待機する（Ｓ９）。次に、ＮＡＴルータ１８は、送信元ＮＡＴ機能の開始確認をＨＴＴＰトンネリングサーバ１２に対して通知する（Ｓ８）。
【００４７】
そして、ＨＴＴＰトンネリングサーバ１２は、送信元ＮＡＴ機能の開始確認をＮＡＴルータ１８から受信する（Ｓ９）と、ポート番号（Ｔ＿ｐｏｒｔ）にｂｉｎｄしていたソケットを用いて、ＩＰアドレス（Ｌ＿ａｄｄｒ）、ポート番号（Ｌ＿ｐｏｒｔ）のＬＡＮノード１６とのコネクションを確立し（Ｓ１０）、接続ＩＤ番号（ａａａａ）を決定し、この接続番号（ａａａａ）をキーにソケットをテーブルに登録する（Ｓ１１）。次に、通信装置２０がＩＤ番号（ａａａａ）とＷＡＮノード１４に割り当てたポート番号（Ｌ＿ｐｏｒｔ）をＨＴＴＰ通信ライブラリ１５のリプライとしてＷＡＮノード１４に送信する（Ｓ１２）。
【００４８】
そして、ステップＳ１２でポート番号（Ｌ＿ｐｏｒｔ）が送信されると、ステップＳ１３においてこのリプライを待っていたＨＴＴＰ通信ライブラリ１５は、ＩＤ番号と送信元ポート番号（Ｗ＿ｐｏｒｔ）を保存する（Ｓ１４）。
【００４９】
一方、ステップＳ１０においてＨＴＴＰトンネリングサーバ１２が、ポート番号（Ｔ＿ｐｏｒｔ）にｂｉｎｄしていたソケットを用いて、ＩＰアドレス（Ｌ＿ａｄｄｒ）、ポート番号（Ｌ＿ｐｏｒｔ）のＬＡＮノード１６とのコネクションを確立すると、ＮＡＴルータ１８では、送信元ＮＡＴ機能（ＳＮＡＴ  Ｔ＿ａｄｄｒ：Ｔ＿ｐｏｒｔ  ｔｏ  Ｗ＿ａｄｄｒ：Ｗ＿ｐｏｒｔ）を実行する（Ｓ１５）。
【００５０】
一方、ＬＡＮノード１６では、ポート番号（２０００）をｂｉｎｄし、ｌｉｓｔｅｎし（Ｓ１６）、ａｃｃｅｐｔで接続が来るまで待機する（Ｓ１７）。この状態で、ステップＳ１５の処理がなされると、接続を受け、コネクションを開始する（Ｓ１８）。
【００５１】
本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法では、上述したように作用することによって、ＷＡＮノード１４（＃１〜＃ｎ）のうちの何れかからＬＡＮノード１６（＃１〜＃ｎ）のうちの何れかへの接続開始処理がなされる。
【００５２】
次に、図５および図６を用いて、ＷＡＮノード１４（＃１〜＃ｎ）のうちの何れかが、ＬＡＮノード１６（＃１〜＃ｎ）のうちの何れかからの接続を受け付けた場合における処理について説明する。
【００５３】
すなわち、ＬＡＮノード１６からの接続を受け付けるＷＡＮノード１４のＨＴＴＰ通信ライブラリ１５は、アプリケーションから、自己のポート番号（Ｗ＿ｐｏｒｔ）をｂｉｎｄする要求を受ける（Ｓ２１）。そして、ステップＳ２１で要求を受けたポート番号（Ｗ＿ｐｏｒｔ）をｂｉｎｄする要求をＨＴＴＰ通信ライブラリ１５でカプセル化して、ＨＴＴＰトンネリングサーバ１２へと送信する（Ｓ２２）。
【００５４】
そして、ＨＴＴＰトンネリングサーバ１２は、ＨＴＴＰ通信ライブラリ１５から、ポート番号（Ｗ＿ｐｏｒｔ）をｂｉｎｄする要求を受け（Ｓ２３）、ＷＡＮノード１４のＩＰアドレスをＨＴＴＰ通信ライブラリ１５の送信元アドレス（Ｗ＿ａｄｄｒ）として取得する（Ｓ２４）。次に、ソケットを生成後、ｂｉｎｄし、空いているポート番号（Ｔ＿ｐｏｒｔ１）を得る（Ｓ２５）。そして、通信装置２０がＮＡＴルータ１８に対して、宛先ＮＡＴ機能（ＤＮＡＴ  Ｗ＿ａｄｄｒ：Ｗ＿ｐｏｒｔ  ｔｏ  Ｔ＿ａｄｄｒ：Ｔ＿ｐｏｒｔ１）の要求を送信する（Ｓ２６）。
【００５５】
このようにしてＨＴＴＰトンネリングサーバ１２から送信された要求は、ＮＡＴルータ１８によって受信され（Ｓ２７）、ＮＡＴルータ１８は、宛先ＮＡＴ機能の開始確認をＨＴＴＰトンネリングサーバ１２に対して通知する（Ｓ２８）。
【００５６】
ステップＳ２８にて通知された開始確認がＨＴＴＰトンネリングサーバ１２によって受信される（Ｓ２９）と、ＨＴＴＰトンネリングサーバ１２は、接続ＩＤ番号（ｂｂｂｂ）を決定し、接続ＩＤ番号（ｂｂｂｂ）をキーにソケットをテーブルに登録する（Ｓ３０）。更に、接続ＩＤ番号（ｂｂｂｂ）をＨＴＴＰ通信ライブラリ１５のリプライとしてＷＡＮノード１４に送信する（Ｓ３１）。
【００５７】
ステップＳ３１にて送信されたリプライがＨＴＴＰ通信ライブラリ１５によって受信される（Ｓ３２）と、ＨＴＴＰ通信ライブラリ１５によって接続ＩＤ番号（ｂｂｂｂ）が保存される（Ｓ３３）。次に、ＨＴＴＰ通信ライブラリ１５は、アプリケーションから、ソケットをｌｉｓｔｅｎする要求が来たら、接続ＩＤ番号（ｂｂｂｂ）のソケットをｌｉｓｔｅｎする要求をカプセル化して、ＨＴＴＰトンネリングサーバ１２へと送信し（Ｓ３４）、後述するステップＳ３６の処理が行われるまでＨＴＴＰ通信ライブラリ１５のリプライを待つ（Ｓ３７）。
【００５８】
このようにしてＨＴＴＰトンネリングサーバ１２へとｌｉｓｔｅｎする要求が送信されると、ＨＴＴＰトンネリングサーバ１２は、接続ＩＤ番号（ｂｂｂｂ）のソケットをｌｉｓｔｅｎし（Ｓ３５）、ｌｉｓｔｅｎ要求受信確認をＨＴＴＰ通信ライブラリ１５のリプライとしてＷＡＮノード１４に通知する（Ｓ３６）。
【００５９】
ステップＳ３６においてｌｉｓｔｅｎ要求受信確認が通知され、更に、ＷＡＮノード１４のＨＴＴＰ通信ライブラリ１５に、アプリケーションからソケットをａｃｃｅｐｔする要求が送信されたら、ＨＴＴＰ通信ライブラリ１５は、接続ＩＤ番号（ｂｂｂｂ）のソケットをａｃｃｅｐｔする要求をカプセル化して、ＨＴＴＰトンネリングサーバ１２へと送信し（Ｓ３８）、後述するステップＳ４３の処理が行われ、ＷＡＮノード１４は、ＨＴＴＰ通信ライブラリ１５のリプライが来るまで待つ（Ｓ４４）一方、ＨＴＴＰトンネリングサーバ１２は、接続ＩＤ番号（ｂｂｂｂ）のソケットをａｃｃｅｐｔする要求を受信すると、接続ＩＤ番号（ｂｂｂｂ）のソケットをａｃｃｅｐｔし、ＬＡＮノード１６が接続するまで待機する（Ｓ３９）。
【００６０】
一方、ＬＡＮノード１６は、ＩＰアドレス（Ｗ＿ａｄｄｒ）およびポート番号（Ｗ＿ｐｏｒｔ）へ接続するソケットを生成し、送信元ポート番号（Ｌ＿ｐｏｒｔ）を割り当てる（Ｓ４０）と、ＮＡＴルータ１８は、パケットを書き換え、接続先のＩＰアドレスおよびポート番号をＴ＿ａｄｄｒおよびＴ＿ｐｏｒｔに変更する（Ｓ４１）。すると、ＨＴＴＰトンネリングサーバ１２は、接続ＩＤ番号（ｂｂｂｂ）のソケットをａｃｃｅｐｔ後、接続ＩＤ番号（ｃｃｃｃ）を決定し、この接続ＩＤ番号（ｃｃｃｃ）をキーとしてａｃｃｅｐｔで得たソケットをテーブルに登録する（Ｓ４２）。更に、ＨＴＴＰトンネリングサーバ１２は、ソケットの送信元アドレス（Ｌ＿ａｄｄｒ）、および送信元ポート番号（Ｌ＿ｐｏｒｔ）を接続ＩＤ番号（ｃｃｃｃ）のソケットから獲得し、ＨＴＴＰ通信ライブラリ１５のリプライとしてＷＡＮノード１４に通知する（Ｓ４３）。
【００６１】
ステップＳ４３で通知されたリプライがＨＴＴＰ通信ライブラリ１５に対してなされる（Ｓ４４）と、ＨＴＴＰ通信ライブラリ１５では、リプライ情報に基づいて宛先アドレス（Ｌ＿ａｄｄｒ）および宛先ポート番号（Ｌ＿ｐｏｒｔ）、送信元アドレス（Ｗ＿ａｄｄｒ）および送信元ポート番号（Ｗ＿ｐｏｒｔ）、ならびに接続ＩＤ番号（ｃｃｃｃ）のソケットを生成する（Ｓ４５）。
【００６２】
本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法では、上述したように作用することによって、ＬＡＮノード１６からの接続受付に対する処理が、ＷＡＮノード１４によって行われる。
【００６３】
次に、図７を用いて、ＷＡＮノード１４（＃１〜＃ｎ）のうちの何れかからＬＡＮノード１６（＃１〜＃ｎ）のうちの何れかになされるデータ通信時における動作について説明する。
【００６４】
すなわち、ＨＴＴＰ通信ライブラリ１５がアプリケーションからデータ送信要求を受ける（Ｓ５１）と、ＨＴＴＰ通信ライブラリ１５は、ソケットの接続ＩＤ番号（ａａａａ）と、送信するデータをカプセル化してＨＴＴＰトンネリングサーバ１２へと送信する（Ｓ５２）。その後、ＨＴＴＰ通信ライブラリ１５は、後述するステップＳ５７の処理がなされ、ＨＴＴＰ通信ライブラリ１５に対してリプライがなされるまで待機する（Ｓ５８）。
【００６５】
一方、ステップＳ５２において送信されたデータは、ＨＴＴＰトンネリングサーバ１２によって受信され、更に接続ＩＤ番号（ａａａａ）のソケットが検索され、ソケットからＮＡＴルータ１８に対してデータが送信される（Ｓ５３）。
【００６６】
更に、ステップＳ５３でＮＡＴルータ１８に送信されたデータは、ＮＡＴルータ１８において変換テーブルに従って書き換えられ、ＬＡＮノード１６へと送信される（Ｓ５４）。ＬＡＮノード１６では、ＷＡＮノード１４から送信されたデータが届くのを待ち（Ｓ５５）、いずれはこのデータを受信する（Ｓ５６）。
【００６７】
一方、ＨＴＴＰトンネリングサーバ１２では、ステップＳ５３においてデータを送信した後に、送信確認をＨＴＴＰ通信ライブラリ１５のリプライとしてＷＡＮノード１４に通知する（Ｓ５７）。そして、ＨＴＴＰ通信ライブラリ１５では、リプライが通知される（Ｓ５８）と、このリプライを受信することによってデータの送信を完了する（Ｓ５９）。
【００６８】
本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法では、上述したように作用することによって、ＷＡＮノード１４からＬＡＮノード１６へとデータ通信がなされる。
【００６９】
次に、図８を用いて、ＬＡＮノード１６（＃１〜＃ｎ）のうちの何れかからＷＡＮノード１４（＃１〜＃ｎ）のうちの何れかになされるデータ通信時における動作について説明する。
【００７０】
すなわち、ＨＴＴＰ通信ライブラリ１５がアプリケーションからデータ受信要求を受ける（Ｓ６１）と、ＨＴＴＰ通信ライブラリ１５は、ソケットの接続ＩＤ番号（ａａａａ）と受信要求とをカプセル化してＨＴＴＰトンネリングサーバ１２へと送信する（Ｓ６２）。その後、ＨＴＴＰ通信ライブラリ１５は、後述するステップＳ６６の処理がなされ、ＨＴＴＰ通信ライブラリ１５に対してリプライがなされるまで待機する（Ｓ６７）。
【００７１】
一方、ステップＳ６２において送信されたカプセルは、ＨＴＴＰトンネリングサーバ１２によって受信され、更に接続ＩＤ番号（ａａａａ）のソケットが検索され、ソケットからデータを受信する（Ｓ６３）。この場合、データがなければ、データが届くまで待機する。
【００７２】
一方、ＬＡＮノード１６が、ＷＡＮノード１４へ向けてデータを送信する（Ｓ６４）と、そのデータはＮＡＴルータ１８によって受信され、ＮＡＴルータ１８が、変換テーブルに従ってパケットを書き換え、ＨＴＴＰトンネリングサーバ１２へと送信する（Ｓ６５）。
【００７３】
このようにして送信されたデータがＨＴＴＰトンネリングサーバ１２によって受信されると、ＨＴＴＰトンネリングサーバ１２は、受信したデータをＨＴＴＰ通信ライブラリ１５に対するリプライとしてＷＡＮノード１４へ送信する（Ｓ６６）。
【００７４】
そして、ＨＴＴＰ通信ライブラリ１５では、リプライが通知される（Ｓ６７）と、このリプライを受信することによってデータの受信を完了する（Ｓ６８）。
【００７５】
本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法では、上述したように作用することによって、ＬＡＮノード１６からＷＡＮノード１４へとデータ通信がなされる。
【００７６】
なお、上述したように、本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法を実現するためのプログラムは、計算機（コンピュータ）に実行させることができるソフトウエア手段として、例えば磁気ディスク（フロッピー（登録商法）ディスク、ハ一ドディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含むものである。計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。
【００７７】
上述したように、本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法においては、上記のような作用により、ＷＡＮノード１４のＩＰアドレスとポート番号とをＨＴＴＰトンネリングサーバ１２がＬＡＮノード１６に通知することができる。
【００７８】
以上により、ＷＡＮノード１４が接続元のＩＰアドレスを取得した場合に、ＬＡＮノード１６のＩＰアドレスを正しく取得することが可能となる。
【００７９】
また、ＷＡＮノード１４が接続を受け付け、ＬＡＮノード１６との接続を確立することが可能となる。
【００８０】
以上、本発明の好適な実施の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲に記載された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
【００８１】
【発明の効果】
以上説明したように、本発明のＨＴＴＰトンネリングサーバを用いた通信方法および通信装置、プログラムによれば、クライアントモジュールのＩＰアドレスとポート番号とをＨＴＴＰトンネリングサーバがサーバモジュールに通知することができる。
【００８２】
以上により、クライアントモジュールが接続元のＩＰアドレスを取得した場合に、サーバモジュールのＩＰアドレスを正しく取得することが可能となる。
【００８３】
また、クライアントモジュールが接続を受け付け、サーバモジュールとの接続を確立することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法を適用した通信装置が適用されるネットワーク構成例を示す概念図
【図２】本発明の実施の形態に係るＨＴＴＰトンネリングサーバを用いた通信方法を適用した通信装置の構成例を示す機能構成図
【図３】ＷＡＮノードからＬＡＮノードへの接続開始処理時における動作を示すフローチャート（その１）
【図４】ＷＡＮノードからＬＡＮノードへの接続開始処理時における動作を示すフローチャート（その２）
【図５】ＷＡＮノードのＬＡＮノードからの接続受付処理時における動作を示すフローチャート（その１）
【図６】ＷＡＮノードのＬＡＮノードからの接続受付処理時における動作を示すフローチャート（その２）
【図７】ＷＡＮノードからＬＡＮノードになされるデータ通信時における動作を示すフローチャート
【図８】ＬＡＮノードからＷＡＮノードになされるデータ通信時における動作を示すフローチャート
【図９】ＨＴＴＰトンネリングサーバやファイヤウォールを通過するような通信しか許されていないネットワークの一例を示す構成図
【図１０】ＮＡＴルータの送信元ＮＡＴ機能を説明するための概念図
【図１１】ＮＡＴルータの宛先ＮＡＴ機能を説明するための概念図
【符号の説明】
１０…ファイヤウォール、１２…ＨＴＴＰトンネリングサーバ、１４…ＷＡＮノード、１５…ＨＴＴＰ通信ライブラリ、１６…ＬＡＮノード、１８…ＮＡＴルータ、２０…通信装置、２２…送信部、２４…返信部、２６…仮想アドレス設定部
【図１】
2004222181.tif 000003
【図２】
2004222181.tif 000004
【図３】
2004222181.tif 000005
【図４】
2004222181.tif 000006
【図５】
2004222181.tif 000007
【図６】
2004222181.tif 000008
【図７】
2004222181.tif 000009
【図８】
2004222181.tif 000010
【図９】
2004222181.tif 000011
【図１０】
2004222181.tif 000012
【図１１】
2004222181.tif 000013