(57)【要約】インターネットのようなパブリック又はグローバルネットワークから、家庭用ホームネットワークのようなプライベート又はローカルネットワークに、パブリックネットワーク及びプライベートネットワークに接続するゲートウェイ装置(18)を介して通信を開始する機能を提供する方法が提供される。ゲートウェイ装置は、ネットワークアドレス変換(NAT:Network  Address  Translation)機能を有し、パブリックネットワークに対してプライベートネットワークのアドレス体系を隠すと共に、パブリックネットワークからのセッションの開始を通常はブロックする。提供される方法によれば、パブリックネットワークに接続されたクライアント装置(10)は、クライアントとゲートウェイとサーバ装置との間でリモートアクセス要求メッセージ(20、22)の交換を含み、サーバ装置に対して明示的なリモートアクセス要求を実行することにより、プライベートネットワークに接続されたサーバ装置(14)へのセッションを開始する機能を提供することができる。サーバ装置では、その要求は、同様に装置間でのリモートアクセス応答メッセージ(24、26)の交換を含み、クライアント装置に対して関連のリモートアクセス応答を起動する。これらのメッセージ交換の結果、ゲートウェイ装置で適切なNATアドレス結合が確立され、クライアント装置によるセッションのその後の開始を可能にする。
2006505992.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークを介して通信する第１の装置から、第２のネットワークに接続された第２の装置に、前記第１のネットワークと前記第２のネットワークとの間に接続されたインタフェース装置を介して通信セッションを開始する機能を提供する方法であって、
前記第１のネットワークは第１のアドレス体系を有し、前記第２のネットワークは第２のアドレス体系を有し、
前記第１の装置は前記第１のアドレス体系の第１のアドレスを介して通信し、前記第２の装置は前記第２のアドレス体系の第２のアドレスを有し、前記インタフェース装置は前記第１のアドレス体系の第３のアドレスを有し、
前記方法は、
インタフェース装置が、前記セッションを開始する機能を提供する要求を前記第１の装置から受信し、前記要求は前記第２の装置の指定とセッション仕様とを有するステップと、
前記セッションを開始する機能を提供する応答を決定するステップと、
前記インタフェース装置が、前記セッションを開始する結合を確立し、前記結合は指定のセッションについて前記第１のアドレスと前記第２のアドレスとの結合を有するステップと、
前記インタフェース装置が、前記第３のアドレスを有するように前記応答を適合させ、前記応答を前記第１の装置に送信するステップと
を有することを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
前記応答を決定するステップは、
前記インタフェース装置が前記要求を前記第２の装置に送信するステップと、
前記第２の装置が前記要求を受信するステップと、
前記第２の装置が前記応答を準備するステップと、
前記第２の装置が前記応答を前記インタフェース装置に送信するステップと、
前記インタフェース装置が前記応答を受信するステップと
を有する方法。
【請求項３】
請求項１に記載の方法であって、
前記応答を決定するステップは、
前記インタフェース装置が前記要求を前記第２の装置に送信するステップと、
前記インタフェース装置が、前記要求を送信した後の所定の期間内に前記第２の装置から応答を受信しないときに、前記応答を準備するステップと
を有する方法。
【請求項４】
請求項１ないし３のうちいずれか１項に記載の方法であって、
前記セッション仕様は、前記第１のアドレスに関係する第１のポート番号と、サービスに関係する第２のポート番号とを有し、
前記方法は、
前記第１及び第２のポート番号を既に結合した第１と第２のアドレスに結合するステップと、
前記第２のポート番号を前記第３のアドレスに関連付けるステップと
を更に有する方法。
【請求項５】
請求項１ないし３のうちいずれか１項に記載の方法であって、
前記セッション仕様は、前記第１のアドレスに関係する第１のポート番号と、サービスの指定とを有し、
前記方法は、
前記サービスに関係する第２のポート番号を決定するステップと、
前記第１及び第２のポート番号を既に結合した第１と第２のアドレスに結合するステップと、
前記第２のポート番号を前記第３のアドレスに関連付けるステップと、
前記第２のポート番号を前記応答に含めるステップと
を更に有する方法。
【請求項６】
第１のネットワークと第２のネットワークとの間を接続するインタフェース装置であって、
前記インタフェース装置は、前記第１のネットワークを介して通信する第１の装置から、前記第２のネットワークに接続された第２の装置に、前記インタフェース装置を介して通信セッションを開始する機能を提供し、
前記第１のネットワークは第１のアドレス体系を有し、前記第２のネットワークは第２のアドレス体系を有し、
前記第１の装置は前記第１のアドレス体系の第１のアドレスを介して通信し、前記第２の装置は前記第２のアドレス体系の第２のアドレスを有し、前記インタフェース装置は前記第１のアドレス体系の第３のアドレスを有し、
前記インタフェース装置は、
前記第１のネットワークに接続され、前記セッションを開始する機能を提供する要求を前記第１の装置から受信し、前記要求は前記第２の装置の指定とセッション仕様とを有する第１の入力と、
前記第１のネットワークに接続され、前記第１の装置に応答を送信する第１の出力と、
結合テーブルと、
前記第１の入力から前記要求を受信し、
前記セッションを開始する機能を提供する応答を決定し、
指定されたセッションについて前記第１のアドレスを前記第２のアドレスと結合し、その結果を前記結合テーブルに格納し、
前記第３のアドレスを有するように前記応答を適合させ、前記応答を前記第１の出力から送信する
ように構成された制御ユニットと
を有することを特徴とするインタフェース装置。
【請求項７】
請求項６に記載のインタフェース装置であって、
前記第２のネットワークに接続され、前記第２の装置に前記要求を送信する第２の出力と、
前記第２のネットワークに接続され、前記第２の装置から前記応答を受信する第２の入力と
を更に有し、
前記制御ユニットは、前記第２の出力から前記要求を送信し、前記第２の入力から前記要求を受信するように構成されたインタフェース装置。
【請求項８】
請求項６に記載のインタフェース装置であって、
前記第２のネットワークに接続され、前記第２の装置に前記要求を送信する第２の出力と、
前記第２のネットワークに接続され、前記第２の装置から前記応答を受信する第２の入力と
を更に有し、
前記制御ユニットは、前記第２の出力から前記要求を送信し、前記要求を送信した後の所定の期間内に前記第２の装置から応答を受信しないときに、前記応答を準備するように構成されたインタフェース装置。
【請求項９】
第１のネットワークに接続された第１の装置であって、
前記第１の装置は、前記第１のネットワークを介して、前記第１の装置から第２の装置に通信セッションを開始する機能を提供し、
前記第１のネットワークは第１のアドレス体系を有し、
前記第１の装置は、
前記第１のネットワークに接続され、前記セッションを開始する機能を提供する要求を前記第２の装置に対して送信し、前記要求は前記第２の装置の指定とセッション仕様とを有する第１の出力と、
前記第１のネットワークに接続され、前記セッションを開始するために介する前記第１のアドレス体系に第３のアドレスを有する応答を受信する第１の入力と、
前記要求を準備し、
前記第１の出力から前記要求を送信し、
前記第１の入力から前記応答を受信する
ように構成された制御ユニットと
を有することを特徴とする第１の装置。
【請求項１０】
第２のネットワークに接続された第２の装置であって、
前記第２の装置は、前記第２のネットワークを介して、第１の装置から前記第２の装置に通信セッションを開始する機能を提供し、
前記第２のネットワークは第１のアドレス体系を有し、
前記第２の装置は前記第２のアドレス体系の第２のアドレスを有し、
前記第２の装置は、
前記第２のネットワークに接続され、前記セッションを開始する機能を提供する前記第１の装置から生じた要求を受信し、前記要求は前記第２の装置の指定とセッション仕様とを有する第１の入力と、
前記第２のネットワークに接続され、前記第２のアドレスを有する応答を前記第１の装置に送信する第１の出力と、
前記第１の入力から前記要求を受信し、
前記前記応答を準備し、
前記第１の出力から前記応答を送信する
ように構成された制御ユニットと
を有することを特徴とする第２の装置。
【請求項１１】
第１のネットワークと第２のネットワークとの間に接続されたコンピュータで使用されるコンピュータ読取可能媒体を有するコンピュータプログラム製品であって、
前記コンピュータは、前記第１のネットワークを介して通信する第１の装置から、前記第２のネットワークに接続された第２の装置に、前記コンピュータを介して通信セッションを開始する機能を提供し、
前記第１のネットワークは第１のアドレス体系を有し、前記第２のネットワークは第２のアドレス体系を有し、
前記第１の装置は前記第１のアドレス体系の第１のアドレスを介して通信し、前記第２の装置は前記第２のアドレス体系の第２のアドレスを有し、前記コンピュータは前記第１のアドレス体系の第３のアドレスを有し、
前記コンピュータ読取可能媒体は、
プログラムコードが前記コンピュータにロードされると、
前記セッションを開始する機能を提供する要求を前記第１の装置から受信し、前記要求は前記第２の装置の指定とセッション仕様とを有し、
前記セッションを開始する機能を提供する応答を決定し、
前記セッションを開始する結合を確立し、前記結合は指定のセッションについて前記第１のアドレスと前記第２のアドレスとの結合を有し、
前記第３のアドレスを有するように前記応答を適合させ、前記応答を前記第１の装置に送信することを
前記コンピュータに実行させるコンピュータプログラムコード手段を有することを特徴とするコンピュータプログラム製品。
【請求項１２】
第１のネットワークに接続されたコンピュータで使用されるコンピュータ読取可能媒体を有するコンピュータプログラム製品であって、
前記コンピュータは、前記コンピュータから第２の装置に前記第１のネットワークを介して通信セッションを開始する機能を提供し、
前記第１のネットワークは第１のアドレス体系を有し、
前記コンピュータ読取可能媒体は、
プログラムコードが前記コンピュータにロードされると、
前記セッションを開始する機能を提供する要求を準備し、前記要求は前記第２の装置の指定とセッション仕様とを有し、
前記要求を前記第２の装置に送信し、
前記セッションを開始するために介する前記第１のアドレス体系の第３のアドレスを有する応答を受信することを
前記コンピュータに実行させるコンピュータプログラムコード手段を有することを特徴とするコンピュータプログラム製品。
【請求項１３】
第２のネットワークに接続されたコンピュータで使用されるコンピュータ読取可能媒体を有するコンピュータプログラム製品であって、
前記コンピュータは、第１の装置から前記コンピュータに前記第２のネットワークを介して通信セッションを開始する機能を有し、
前記第２のネットワークは第２のアドレス体系を有し、
前記コンピュータは前記第２のアドレス体系の第２のアドレスを有し、
前記コンピュータ読取可能媒体は、
プログラムコードが前記コンピュータにロードされると、
前記セッションを開始する機能を提供する前記第１の装置から生じた要求を受信し、前記要求は前記コンピュータの指定とセッション仕様とを有し、
前記第２のアドレスを有する応答を準備し、
前記応答を前記第１の装置に送信することを
前記コンピュータに実行させるコンピュータプログラムコード手段を有することを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１のネットワークを介して通信する第１の装置から、第２のネットワークに接続された第２の装置に、第１のネットワークと第２のネットワークとの間に接続されたインタフェース装置を介して通信セッションを開始する機能を提供する方法に関するものであり、第１のネットワークは第１のアドレス体系を有し、第２のネットワークは第２のアドレス体系を有し、第１の装置は第１のアドレス体系の第１のアドレスを介して通信し、第２の装置は第２のアドレス体系の第２のアドレスを有し、インタフェース装置は第１のアドレス体系の第３のアドレスを有する。
【０００２】
本発明はまた、インタフェース装置と、第１の装置と、第２の装置と、前記方法を実行するコンピュータプログラム製品とに関するものである。
【背景技術】
【０００３】
インターネットの急激な増加は、異なる装置により使用されるパブリックインターネットプロトコル(IP)アドレスの不足をもたらしている。IPバージョン4又はIPv4と呼ばれている現在使用中のIPのバージョンは、IPアドレスを表すために32ビットを使用する。32ビットで広がるアドレス空間は約43億の異なるアドレスを有し、このアドレス数は2010年の前に使い果たされると予想されている。IPアドレスの不足の問題に対する既知の解決策は、ネットワークアドレス変換(NAT:Network  Address  Translation)である。基本的に、NATは１対１又は多対１のアドレス変換であり、ローカルネットワークとグローバルネットワークとの間にあるルータ又はゲートウェイインタフェース装置で動作する。ローカルネットワークは内部ネットワーク又はプライベートネットワークとも呼ばれ、グローバルネットワークは外部ネットワーク又はパブリックネットワークとも呼ばれる。NATは、ローカルネットワークのIPアドレスが他のローカルネットワークでも再利用できることを可能にすることにより、アドレスの再利用を通じて、限られた数のパブリックIPアドレス又はグローバルIPアドレスを失わないようにする役目をする。従って、NATを用いて、ネットワークに接続される装置にアドレス指定する場合に、ローカルネットワーク内で使用されるIPアドレスは一意である必要はない。
【０００４】
基本的なインターネットプロトコルを使用すること以外に、この種類のネットワークは、送信元装置と宛先装置のピア・エンティティ(peer  entity)が“会話”を続けることを可能にするために、上位レベルのプロトコルを使用する。送信元装置又はエンティティはクライアントとも呼ばれ、宛先装置又はエンティティはサーバとも呼ばれる。２つの重要な上位レベルのプロトコルは伝送制御プロトコル(TCP:Transmission  Control  Protocol)とユーザデータグラムプロトコル(UDP:User  Datagram  Protocol)である。装置をアドレス指定するためにIPアドレスを使用する以外に、これらの上位レベルのプロトコルはまた、ピア・ツー・ピアの相互作用に関係するデータパケットの始点と終点を示すために、16ビットの整数値として表されるポート番号を使用する。ネットワーク・アドレス・ポート・トランスレーション(NAPT:Network  Address  Port  Translation)と呼ばれるNATの特定のバージョンは、ローカルネットワークアドレス体系とグローバルネットワークアドレス体系との間でポート番号をも変換することにより、アドレス変換の概念を拡張する。従って、NAPTはローカルネットワークIPアドレス及び関連のTCP/UDPポート番号のセットが単一のグローバルネットワークIPアドレス及び関連のTCP/UDPポート番号に変換される方法である。その結果、NAPTにより、ローカル装置のセットが単一のグローバルアドレスを共有することが可能になる。近年、自宅や小規模事務所の増加により、ユーザは複数のネットワーク装置を有するが、そのインターネットサービスプロバイダによりパブリックアクセスのゲートウェイに割り当てられた単一のパブリックIPアドレスのみを有する。このようなユーザは、ローカルネットワークの複数の装置がゲートウェイに割り当てられた単一のIPアドレスを使用してパブリックネットワークに同時にアクセスすることを可能にするために、しばしばNAPTを使用する。
【０００５】
NATとNAPTでは、実行されるアドレス変換及びポート変換は、一方ではローカルアドレスとポートとの間の結合を必要とし、他方ではグローバルアドレスとポートとの間の結合を必要とする。このような結合は、ローカルネットワーク内からグローバルネットワークに対して通信セッションが開始するときに常に確立される。しかし、反対方向(グローバルネットワークからローカルネットワーク)にセッションを開始することは問題である。その理由は、このようなセッションでは、アドレスとポートとの結合が行われなければならないセッションの開始時点で、ローカルアドレスとポート情報が認識されていないからである。それと同時に、例えば、インターネットベースのゲームや、映像及び音声ストリーミングや、一般的なピア・ツー・ピアネットワーキングのため、この種類のセッションを有する機能はますます望まれるようになっている。
【０００６】
ローカルネットワークに接続された装置に対してグローバルネットワークからセッションを開始する方法は、RFC2694(1999年9月のP.Srisuresh他による“DNS  extensions  to  Network  Address  Translators(DNS_ALG)”)から既知である。ここでは、ローカルネットワークとグローバルネットワークとの間のインタフェース装置として、ゲートウェイが配置されている。ゲートウェイはNAT機能を有し、予備の複数のグローバルIPアドレスを有する。ローカルネットワークは、ローカルネットワークドメインと装置名をIPアドレスに変換してその逆も行うドメインネームサービス(DNS:Domain  Name  Service)サーバを有する。ゲートウェイはまた、DNS名クエリをグローバルネットワークからローカルネットワークに転送し、結果のDNS応答を反対方向に転送するDNSアプリケーションレベルゲートウェイ(DNS_ALG:DNS  Application  Level  Gateway)機能を有する。グローバルネットワークに接続された装置がローカルネットワークに接続された装置とセッションを開始しようとすると、それはローカル装置の名前を有するDNS名クエリを発行する。このクエリがゲートウェイに到達し、ゲートウェイはそのクエリをDNSサーバに転送する。DNSサーバはクエリを解決し、ローカル装置のローカルアドレスをゲートウェイに返信する。ゲートウェイはそのグローバルアドレスの１つとローカルアドレスを結合し、クエリへの応答としてグローバルアドレスを返信する。グローバルネットワークに接続された装置は、受信したグローバルアドレスを使用してセッションを開始することができ、結合のため、ゲートウェイはこの通信がどのローカル装置を対象としているかを直ちに知ることができる。しかし、インバウンドのセッションを有するローカル装置毎に別のグローバルアドレスが必要になるという事実のため、この解決策にはいくつかの問題が存在する。複数のローカル装置への同時セッションについては、関与するローカル装置と同じ数のグローバルアドレスがゲートウェイで利用可能である必要がある。これはNATの目標の１つ(すなわち、グローバルアドレスを失わないようにすること)と対立する。更に、NAPTの場合のように、ローカルネットワークが唯一の割り当てられたグローバルアドレスを有する場合、この１つのアドレスは、開始した最初のインバウンドのセッションでローカル装置に結合され、他の装置への更なるインバウンドのセッションの可能性がなくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
最初のパラグラフに示した形式の通信セッションを開始する機能を提供する方法を提供することが本発明の目的であり、その機能により、その方法が第１のネットワークのアドレス体系において第２のネットワーク用に単一のアドレスのみを必要とする一方で、第１のネットワークを介して通信する複数の装置から第２のネットワークに接続された装置への同時通信セッションを有することが可能になる。
【課題を解決するための手段】
【０００８】
この目的は、前記の方法が以下のステップを有することで実現される。
【０００９】
インタフェース装置が、セッションを開始する機能を提供する要求を第１の装置から受信し、その要求は第２の装置の指定とセッション仕様とを有し、
セッションを開始する機能を提供する応答を決定し、
インタフェース装置が、セッションを開始する結合を確立し、その結合は指定のセッションについて第１のアドレスと第２のアドレスとの結合を有し、
インタフェース装置が、第３のアドレスを有するように応答を適合させ、応答を第１の装置に送信する。
【００１０】
このステップで生じることは、通信セッションを実際に開始する前に、まず、第１の装置は別のリモートアクセス要求をインタフェース装置に送信し、リモートで(すなわち、第２のネットワークの外側から)第２の装置にアクセスするアドレス結合を作るようにインタフェース装置に要求する。リモートアクセス要求を受信した後に、インタフェース装置は、第１の装置に返信されるリモートアクセス応答を決定することを含む要求を処理し、アドレス結合を確立する。インタフェース装置により作られたアドレス結合は、第１の装置のアドレスと、第２の装置のアドレスと、例えば開始するセッションのポート番号のような所望の通信セッションに関連する詳細とを有する。要求は第１の装置により送信されているため、この方法における第１のアドレスに対応する第１の装置のアドレスは、リモートアクセス要求から暗にわかる。この方法における第２のアドレスに対応する第２の装置のアドレスは、要求に含まれる第２の装置の指定を介して取り出される。例えば、この指定が第２の装置のDNS名である場合、対応するアドレスを取り出すために、第２のネットワークにあるDNSサーバが使用され得る。結合が作られた後で、インタフェース装置はリモートアクセス応答を第１の装置に送信し、それによって、結合が作られて通信セッションを開始することができるという事実を第１の装置に通知する。応答に含まれるものは、第１のネットワークのインタフェース装置のアドレスであり、そのアドレスはこの方法における第３のアドレスである。応答を受信した後に、第１の装置はこの第３のアドレスを介してセッションを開始することができる。第１の装置以外に、第１のネットワークを介して通信する他の装置もまた、第２のネットワークに接続された装置に対してリモートアクセス要求を実行することができる。これらの要求は基本的に同じように処理され、同様の結合を生じる。リモートアクセス要求及び応答を有する明示的なリモートアクセスプロトコルを導入することにより、本発明は、第１のネットワークで通信する装置から、第２のネットワークに接続された装置に対して同時通信セッションを有することを可能にする。
【００１１】
請求項２に記載の手段は、インタフェース装置以外に、第２の装置自体もリモートアクセス要求の処理及びリモートアクセス応答の準備に関与するという利点を有する。これにより、例えば第２の装置がリモートアクセス要求の装置特有の処理を実行し、又は開始されるセッションについて準備することが可能になる。
【００１２】
請求項３に記載の手段は、第２の装置が本発明によるリモートアクセスプロトコルに対応しない場合、インタフェース装置自体が第２の装置に代わりにリモートアクセス要求を完全に処理できることがあるという利点を有する。
【００１３】
請求項４に記載の手段は、リモートアクセス要求のセッション仕様に含まれるポート番号の対が第１の装置により完全に決定され、結合の確立で容易に使用され得るという利点を有する。その対の第１のポート番号は、第１の装置がセッションを開始するポートを示す。第２のポート番号は、第２の装置から利用可能であると予想される例えばHTTPサービスのようなサービスを示す。セッション仕様はポート番号の単一の対に限られる必要はなく、その代わりにポート番号の複数の対を有してもよく、そのそれぞれについて結合が確立され得ることが当業者に明らかである。更に、例えばポート番号の範囲を有する形式のような、多数の更なる形式のセッション仕様も可能である。
【００１４】
請求項５に記載の手段は、第２の装置から利用可能であると予想されるサービスを示す明示的なポート番号が必要なく、そのため、第１の装置で最初に認識されている必要がないという利点を有する。その代わりに、例えばHTTPサービスのようなサービス自体がセッション仕様で指定され、第２の装置又はインタフェース装置はこのサービスに対応するポート番号を決定する。このポート番号は、セッションを開始するときに第１の装置により使用されるリモートアクセス要求に含まれる。セッション仕様はポート番号とサービスの指定との単一の組み合わせに限られる必要はなく、その代わりに複数のそのような組み合わせを有してもよく、そのそれぞれについて結合が確立され得ることが当業者に明らかである。更に、多数の更なる形式のそのようなセッション仕様も可能である。
【００１５】
ローカルネットワークに接続された装置に対してグローバルネットワークからセッションを開始するその他の方法は、RFC3022(2001年1月のP.SrisureshとK.Egevangによる“Traditional  IP  Network  Address  Translator(Traditional  NAT)”)から既知である。ここでは、ローカルネットワークに接続された予め選択された装置について静的結合を使用して、ゲートウェイ装置により例外的にインバウンドのセッションが認められ得る。静的結合は、ゲートウェイ装置のグローバルポートと、ローカル装置の予め定められたローカルIPアドレス及びポート番号とを結合する。このことにより、ゲートウェイのグローバルポートを介して、予め選択されたローカル装置に１つ以上のセッションを開始することが可能になる。しかし、ローカル装置を予め選択する必要があることは、この方法の欠点であると考えられる。更に、例えば追加又は除去される装置のため、本来は、静的結合はローカルネットワークの構成の変化に適応性があまりない。更に、静的結合はまた、その設定又は変更についてネットワーキング領域の専門家の支援を通常必要とする。
【００１６】
更なる方法は、WO-0215014から既知である。ここでは、グローバルネットワークに接続された装置は、DNSサーバを介してローカルネットワークのゲートウェイのグローバルアドレスを受信し、ゲートウェイに連絡する。ゲートウェイは、ローカルネットワークで連絡される装置のローカルアドレスを返信する。グローバルネットワークに接続された装置は、グローバルアドレスとローカルアドレスの双方を使用して、ゲートウェイと通信することによりセッションを開始することができる。この方法は、通信セッションを開始する装置とゲートウェイとの間でグローバルアドレスとローカルアドレスの双方の交換に適応するために、TCP及びUDPプロトコルの変更を必要とする。
【００１７】
本発明によるインタフェース装置は請求項６に記載されている。
【００１８】
本発明による第１の装置は請求項９に記載されている。
【００１９】
本発明による第２の装置は請求項１０に記載されている。
【００２０】
本発明によるコンピュータプログラム製品は請求項１１、１２及び１３に記載されている。
【発明を実施するための最良の形態】
【００２１】
本発明について、添付図面を参照して更に解明及び説明する。
【００２２】
図１は、本発明による実施例とその周囲の概略図を示している。その図面は、パブリックネットワーク12に接続されたクライアント装置10と、プライベートネットワーク16に接続されたサーバ装置14とを示しており、２つのネットワークは本発明によるゲートウェイ装置18を介して接続されている。ゲートウェイ装置18は、プライベートネットワーク16とパブリックネットワーク12との間のNAPTアドレス変換機能を有しており、サーバ装置14をパブリックネットワーク及びその向こうから隠している。この構成において、クライアント装置10はサーバ装置14と通信セッションを開始しようとする。本発明に関して、クライアント装置10は第１の装置に対応し、パブリックネットワーク12は第１のネットワークに対応し、サーバ装置14は第２の装置に対応し、プライベートネットワーク16は第２のネットワークに対応し、ゲートウェイ装置18はインタフェース装置に対応する。パブリックネットワーク12は第１のアドレス体系を有し、プライベートネットワーク16は第２のアドレス体系を有する。双方のアドレス体系は、ここではIPアドレス体系(例えばIPv4)である。第１のアドレス体系はグローバルに使用されるが、第２のアドレス体系はプライベートネットワーク16の内部で使用されるローカルアドレス体系である。好ましい実施例では、パブリックネットワーク12はインターネットであり、プライベートネットワーク16はプライベートホームネットワークである。しかし、本発明はプライベートホームネットワークに限定されず、例えば小規模事務所や企業のネットワークでも使用され得ることに留意すべきである。クライアント装置10はまたCとして示されており、サーバ装置14はまたSとして示されており、ゲートウェイ装置18はまたGとして示されている。このように、異なる装置は、異なるアドレス体系の異なるアドレスを有する。クライアント装置10はパブリックネットワーク12のアドレス体系の第１のアドレスAcを有し、ゲートウェイ装置18はパブリックネットワーク12のアドレス体系の第３のアドレスAgを有し、サーバ装置14はプライベートネットワーク16のアドレス体系の第２のアドレスAsを有する。ゲートウェイ装置18はプライベートネットワーク16のアドレス体系のアドレスも有することに留意すべきである。しかし、このアドレスは本発明の本質的な部分ではないため、このことについてここでは更に記載しない。サーバ装置14は標準のコンピュータでもよいが、これに限定されない。それは、ピア・ツー・ピアの音声又は映像サーバや、プリンタや、スキャナや、アドレスを使用してコンピュータネットワークに接続され得るその他の種類のコンピュータ装置のように、他の計算装置でもよい。通常は、第２のネットワーク16に接続されているいくつかの装置が更に存在することがわかる。クライアント装置10はゲートウェイを介してグローバルネットワーク12と通信するプライベートネットワーク又はローカルネットワーク上の装置でもよいこともわかる。このことについて、以下に詳細に説明する。本発明をより良く説明するために、クライアント装置10はパブリックネットワーク12に直接接続された装置として図示されている。
【００２３】
図２は、時間上で、クライアントとゲートウェイとサーバ装置との間でのリモートアクセス要求及びリモートアクセス応答の交換を概略的に示したメッセージシーケンスチャートを示している。クライアント装置10がサーバ装置14と通信セッションを開始し得る前に、まずクライアント装置10は本発明による方法を用いてセッションを開始する機能を提供する。従って、クライアント装置10はリモートアクセス要求を準備し、それをリモートアクセス要求メッセージ10としてサーバ装置14に送信する。しかし、ここではリモートアクセス要求メッセージ20は最初にゲートウェイ装置18により受信される。メッセージ20を受信した後に、ゲートウェイ装置18は、その要求をリモートアクセス要求メッセージ22としてサーバ装置14に転送することを含み、この要求を処理し始める。メッセージ22を受信した後に、サーバ装置14はこの要求を処理し、リモートアクセス応答を準備し、それをリモートアクセス応答24としてゲートウェイ装置18に返信する。メッセージ24を受信した後に、ゲートウェイ装置18は、開始されるセッションの結合を作ることと、リモートアクセス応答メッセージ26としてクライアント装置に応答を転送することとを含み、リモートアクセス要求を処理することを検討する。応答メッセージ26を受信した後に、応答メッセージ26で得られた結果に基づいて、クライアント装置10は通信セッションを開始することができる(図示なし)。クライアント装置とサーバ装置は双方とも同じネットワークに接続されてもよく、セッションを開始する機能を提供するために依然としてリモートアクセスプロトコルを使用してもよいことに留意すべきである。しかし、それはNAT/NAPTアドレス変換機能を備えたゲートウェイ装置の使用を含まないため、そのことについてここでは更に説明しない。
【００２４】
図３は、ゲートウェイ装置18の簡略化版のブロック図を示している。ゲートウェイ装置18は、例えばリモートアクセス要求メッセージ20のようなデータパケットを受信するためにパブリックネットワーク12に接続された第１の入力30と、例えばリモートアクセス応答26のようなデータパケットを送信するためにパブリックネットワーク12に接続された第１の出力32とを有する。ゲートウェイ装置18はまた、例えばリモートアクセス要求メッセージ22のようなデータパケットを送信するためにプライベートネットワーク16に接続された第２の出力34と、例えばリモートアクセス応答24のようなデータパケットを受信するためにプライベートネットワーク16に接続された第２の入力36とを有する。第１のレジスタ38は第１の入力30と第２の出力34との間に接続されており、第２のレジスタ40は第２の入力36と第１の出力32との間に接続されている。データパケットが進む方向は矢印で示している。第１と第２のレジスタ38と40は、双方とも制御ユニット42に接続されており、その制御ユニット42は結合テーブル44と名前解決ユニット46とに接続されている。結合テーブルは通信セッション用のアドレス結合を含むテーブルである。名前解決ユニット46はドメインネームをアドレス(ここではプライベートネットワーク16のアドレス体系のアドレス)にマップするDNSサーバである。
【００２５】
図４Ａは、リモートアクセス要求メッセージ50の内容を一般的に示している。ほとんどのIPベースのメッセージと同様に、リモートアクセス要求メッセージ50は送信元アドレス及び宛先アドレスに関係するアドレス情報を有する。送信元アドレス情報はメッセージの送信者のことを指し、IPアドレスフィールド52とポート番号フィールド54とを有する。同様に、宛先アドレス情報はメッセージの対象受信者のことを指し、同様にIPアドレスフィールド56とポート番号フィールド58とを有する。この共通のIPアドレス情報以外に、リモートアクセス要求メッセージ50は、一般的にメッセージのペイロードと呼ばれるメッセージ形式特有のデータを有する。リモートアクセス要求メッセージ50の場合、ペイロードは、セッションが開始されるサーバ装置の名前についてのドメインネームフィールド60と、ポート番号フィールド62と64の対を有するセッション仕様とを有する。ポート番号フィールド62はクライアント装置により使用されるポート番号を指し、ポート番号フィールド64はサーバ装置により使用されるポート番号を指す。図４Ｂは、クライアント装置10とゲートウェイ装置18との間で交換される図２のリモートアクセス要求メッセージ20の内容を示している。同様に、図４Ｃは、ゲートウェイ装置18とサーバ装置14との間で交換されるリモートアクセス要求メッセージ22の内容を示している。図４Ｂと図４Ｃについては、以下に更に詳細に説明する。
【００２６】
図５Ａは、リモートアクセス応答メッセージ70の内容を一般的に示している。図４Ａのリモートアクセス要求メッセージ50と同様に、リモートアクセス応答メッセージ70は、送信元アドレス及び宛先アドレスに関係するアドレス情報を有する。リモートアクセス応答メッセージ70のペイロードは、セッションが開始されるサーバ装置のアドレスについてのIPアドレスフィールド72と、リモートアクセス要求メッセージ50にも存在するセッション仕様とを有する。図５Ｂは、サーバ装置14とゲートウェイ装置18との間で交換される図２のリモートアクセス応答メッセージ24の内容を示している。同様に、図５Ｃは、ゲートウェイ装置18とクライアント装置10との間で交換されるリモートアクセス応答メッセージ26の内容を示している。図５Ｂと図５Ｃについては、以下に更に詳細に説明する。
【００２７】
図６Ａは、ゲートウェイ装置18の結合テーブル44のエントリー80の内容を概略的に示している。結合テーブル44の各エントリーは、進行中のセッション、すなわちセッションを開始する機能がリモートアクセス要求を用いて提供されるセッションのために設けられている。簡潔さのため、個々のエントリーのみがここに示されているが、異なる装置の間のセッションについていくつかのエントリーが存在してもよく、同じ２つの装置間の異なるセッションについていくつかのエントリーが存在してもよいことがわかる。セッション仕様についてポート番号の単一の対に限定されず、単一のセッションについて複数のエントリーが存在してもよいこともわかる。図６Ａは、エントリー80の内容を一般的に示している。各エントリーにおいて、３つのIPアドレスとポート番号の組み合わせが存在する。第１のカラム82はパブリックネットワーク12に接続された装置のアドレスを対象としており、第２のカラム84はパブリックネットワーク12のそのアドレスに関係するポート番号を対象としている。第３のカラム86はパブリックネットワーク12のアドレス体系でのゲートウェイ装置18のアドレスを対象としている。NAPT変換機能の場合、１つのみのこのようなアドレスが存在するため、このカラムの内容は常に同じである。第４のカラム88はゲートウェイ装置18のアドレスに関係するポート番号を対象としている。第５のカラム90はプライベートネットワーク16の装置のアドレスを対象としており、第６のカラム92はプライベートネットワーク16のそのアドレスに関係するポート番号を対象としている。図６Ｂは、クライアント装置10とゲートウェイ装置18とサーバ装置14との間でセッションを開始する機能が提供された後に確立されたエントリー94を示している。このエントリーについては、以下に詳細に説明する。
【００２８】
図７は、本発明の方法の実施例について、クライアント装置10とゲートウェイ装置18とサーバ装置14での処理ステップを概略的に示したフローチャートを示している。図２、４Ｂ、４Ｃ、５Ｂ、５Ｃの関連のリモートアクセスメッセージ20、22、24、26の内容と、図６Ｂの結合テーブルエントリー94と共に、この処理ステップについて説明する。クライアント装置10がサーバ装置14と通信セッションを開始しようとする状況で、処理が開始する。このセッションを開始する機能を提供するため、ステップ100において、クライアント装置10はリモートアクセス要求を使用するため、リモートアクセス要求メッセージ20を準備する。クライアント装置10はメッセージ20の送信元及び送信者として動作するため、メッセージ20の送信元アドレス情報は、フィールド52にクライアント装置10のアドレスAcを含み、フィールド54にポート番号Pxを含む。ポート番号Pxは、クライアント装置10がこのリモートアクセス要求のリモートアクセス応答を受信することを予期するポートを特定する。メッセージ20の宛先アドレス情報は、フィールド56にゲートウェイ装置18のアドレスAgを含み、フィールド58にポート番号Praを含む。ポート番号Praは、リモートアクセス要求メッセージを受信するために、リモートアクセスプロトコルでの使用について事前に予約されている周知のポート番号である。リモートアクセスプロトコルに対応する装置は、他の装置からの入力リモートアクセス要求メッセージに対してポートPraで受信する必要がある。前述のことを更に詳細に検討すると、以下のことが追加され得る。セッションを開始する機能を提供するために、クライアント装置10がリモートアクセス要求メッセージを準備及び送信し得る前に、まず、それはサーバ装置に到達するために介するアドレスを認識する必要がある。このために使用され得る通常の手順は、クライアント装置10がサーバ装置14に対するDNS名クエリを実行することである。この場合、サーバ装置14のDNS名は最終的に第２のネットワークにあるDNSサーバに送信される。ここでは、それはゲートウェイ装置18に含まれるDNSサーバ46である。このDSNサーバはDNS名に属するアドレスを含むDNS応答を返信する。最初に、それはプライベートネットワーク16のアドレス体系におけるサーバ装置のアドレスAsである。しかし、NAPT変換機能を有するゲートウェイ装置18がクライアント装置10とDNSサーバ46との間のパスにあり、サーバ装置14を隠しているため、クライアント装置10に返信されるDNS応答に含まれるアドレスはゲートウェイ装置18のアドレスAgである。DNS応答のこのアドレスの置換は、ゲートウェイ装置18のDNS_ALG機能により実行される。DNS名クエリを使用する以外に、サーバ装置に到達するために介するアドレスを得る他の方法が使用されてもよい。
【００２９】
ステップ100のリモートアクセス要求メッセージ20の準備に戻ると、クライアント装置10はまた、メッセージにペイロードを追加する。ここでは、ネームフィールド60にプライベート装置14のドメインネーム(記号で“Server”で示す)を追加し、ポート番号フィールド62にセッションでクライアント装置10により使用されるポート番号Pcを追加し、ポート番号フィールド64にセッションでサーバ装置14により使用されるポート番号Psを追加する。その後、ステップ102において、クライアント装置10はリモートアクセス要求メッセージ20をゲートウェイ装置18に送信する。
【００３０】
ステップ104でリモートアクセス要求メッセージ20を受信した後に、ゲートウェイ装置18は、その要求をリモートアクセス要求メッセージ22としてサーバ装置14に転送することを含み、この要求を処理し始める。このため、ゲートウェイ装置18は、アドレスフィールド56の宛先アドレス情報をAgからAs(サーバ装置14のアドレス)に変更することにより、受信したリモートアクセス要求メッセージを変更する。ステップ106において、アドレスAsは、メッセージ20のネームフィールド60に含まれるサーバ名を使用して、DNSサーバ46を介して、ローカルDNS名ルックアップを実行することによりゲートウェイ装置18で決定され得る。変更されたリモートアクセス要求は、メッセージ22としてサーバ装置に転送され得る。
【００３１】
ステップ110でリモートアクセス要求メッセージ22を受信すると、サーバ装置14はその要求を処理する。このことは、ステップ112におけるリモートアクセス応答メッセージ24の準備と、ステップ114におけるリモートアクセス応答メッセージ24の送信とを主に含む。この時点でサーバ装置14は応答メッセージ24の送信元及び送信者として動作するため、メッセージ24の送信元アドレス情報は、アドレスフィールド52にサーバ装置のアドレスAsを含み、ポート番号フィールド54に要求メッセージ22の宛先アドレス情報にも対応するポート番号Praを含む。応答メッセージ24の宛先アドレス情報は、要求メッセージ22の送信元アドレス情報(すなわち、クライアント装置のアドレスAcとポート番号Px)から得られる。更に、応答メッセージ24のペイロードには、サーバ装置のアドレスAsがアドレスフィールド72に含まれ、要求メッセージ22の対応するフィールドから得られたセッション仕様がポート番号フィールド62と64に含まれる。ステップ114において、応答メッセージ24はゲートウェイ装置に送信され、そのゲートウェイ装置はクライアント装置10へのルーティングを実行する。
【００３２】
ゲートウェイ装置18において、ステップ116でリモートアクセス応答メッセージ24を受信した後に、ステップ118において、応答メッセージ24に含まれる情報を使用して、開始されるセッションの結合が作られる。作られた結合テーブルのエントリー94は、それぞれパブリックネットワークフィールド82と84にクライアント装置10のアドレスAcとポート番号Pcとを含む。ゲートウェイ関連のパブリックネットワークフィールド86と88は、それぞれゲートウェイ装置18のアドレスAgとポート番号Psで埋められる。プライベートネットワーク関連のフィールド90と92は、同様にサーバ装置14のアドレスAsとポート番号Psで埋められる。その結果、アドレスAcとポート番号Pcとを使用して、ゲートウェイ装置18のアドレスAgとポート番号Psを対象として、クライアント装置10により開始されるその後のセッションは、NAPTアドレス変換機能により、サーバ装置14のアドレスAsとポート番号Psにルーティングされる。結合を作った後に、ゲートウェイ装置18はリモートアクセス応答をクライアント装置10に転送することができる。この動作の一部として、送信元アドレスフィールド52と応答メッセージのペイロード部分のサーバアドレスフィールド72とのプライベートネットワークアドレスAsを、ゲートウェイ装置18のパブリックネットワークアドレスAgに置換することにより、応答メッセージが変更される。ステップ120において、結果のリモートアクセス応答メッセージ26は、クライアント装置10に転送され得る。
【００３３】
ステップ122でリモートアクセス応答メッセージ26を受信した後に、ステップ124において、クライアント装置10は通信セッションを開始することができる。このセッションでは、クライアント装置10は、リモートアクセス応答メッセージ26のサーバアドレスフィールド72から得られた宛先アドレスAgと、リモートアクセス応答メッセージ26のサーバ装置ポート番号フィールド64から得られた宛先ポート番号Psとを使用する。クライアント装置10は送信元アドレスAcと送信元ポート番号Pcとを更に使用する。
【００３４】
この実施例の可能性のある更なる拡張(図示なし)では、ゲートウェイ装置18は、リモートアクセス応答メッセージ24がサーバ装置14から受信されることを必要とせずに、リモートアクセス応答メッセージ26を完全に準備してもよい。これは、サーバ装置14がリモートアクセスプロトコルに対応せず、それ自体で応答メッセージ24を準備及び送信しない場合に、ゲートウェイ装置18により使用されてもよい。リモートアクセス要求メッセージ22を送信した後の所定の期間内にサーバ装置14から応答メッセージ24を受信していない場合に、ゲートウェイ装置18はそれ自体で応答メッセージ26を準備する。
【００３５】
前述のように、クライアント装置は、それ自体、プライベートネットワークの装置でもよい。これは図８に概略的に示してあり、図８では、クライアント装置130はプライベートネットワーク132に接続されており、プライベートネットワーク132はゲートウェイ装置134を介してパブリックネットワーク12に接続されている。クライアント装置130はまたC2として示されており、ゲートウェイ装置134はG2として示されている。ゲートウェイ装置134は、NAPTアドレス変換機能を有し、リモートアクセスプロトコルに対応するという点で、ゲートウェイ装置18と非常に類似している。また、ゲートウェイ装置18がサーバ装置14に対して行っているように、ゲートウェイ装置134は、パブリックネットワーク12及びその向こうに対してクライアント装置130を隠している。クライアント装置10の代わりにゲートウェイ装置134がパブリックネットワーク12のアドレス体系におけるアドレスAc及びポート番号Pcを使用することを考えると、前述のリモートアクセス要求及び応答の処理に関して、ゲートウェイ装置18とサーバ装置14で何も変更されないことを意味する。
【００３６】
次に図９は、図２と同様に、時間上で、クライアントとゲートウェイとサーバ装置との間でのリモートアクセス要求及びリモートアクセス応答の交換を概略的に示した対応するメッセージシーケンスチャートを示している。ここでは、クライアント装置130はリモートアクセス要求を準備し、それをリモートアクセス要求メッセージ136としてサーバ装置14に送信する。しかし、サーバ装置14に到達する前に、その要求は最初にゲートウェイ装置134により受信されて処理され、リモートアクセス要求メッセージ20の転送を生じ、次にそのリモートアクセス要求メッセージ20はゲートウェイ装置18により受信されて処理され、リモートアクセス要求メッセージ22の転送を生じる。要求メッセージ22を受信した後に、サーバ装置14は要求を処理し、リモートアクセス応答を準備し、それをリモートアクセス応答24としてゲートウェイ装置18に返信する。そこから、応答が応答メッセージ26として最初にゲートウェイ装置134に転送され、そこからクライアント130に対して応答メッセージ138として転送される。応答メッセージ138を受信した後に、クライアント装置130は通信セッションを開始することができる(図示なし)。ここでは、ゲートウェイ装置134は単なる転送装置であり、リモートアクセスプロトコルの終点ではないが、リモートアクセス要求及び関連の応答の関連の処理は、IPアドレス及びポート番号に対する変更を含み、周知のNAPT処理に非常に類似している。この点についての例外は、リモートアクセス要求及び応答メッセージ136、20、26、138のペイロード部分のポート番号フィールド62のクライアント装置のポート番号の適合である。クライアント装置がプライベートネットワーク132のアドレス体系のアドレスAc2を更に有し、開始されるセッションについてポート番号Pc2を使用しようとすることを考えると、メッセージ136と138はポート番号フィールド62にポート番号Pc2を含む。ゲートウェイ装置134はリモートアクセスメッセージでポート番号Pc2をポート番号Pcにマップし、その逆も行わなければならない。ポート番号Pc2とPcはまた、ゲートウェイ装置134における開始されるセッションについての結合テーブルのエントリーの一部である。
【００３７】
図１０は、図９のリモートアクセス要求メッセージ136の内容を概略的に示している。同様に、図１１は、図９のリモートアクセス応答メッセージ138の内容を概略的に示している。図１２は、セッションを開始する機能がリモートアクセスプロトコルを介して提供された後に確立されたゲートウェイ装置134の結合テーブル44における結合テーブルのエントリー140の内容を概略的に示している。
【００３８】
クライアント装置とサーバ装置との間に２つより多いゲートウェイ装置を含む更なる拡張も可能であることが、当業者に明らかである。このような場合には、ローカルネットワークと、クライアント装置、サーバ装置又は双方の装置に関して他のローカルネットワークに組み込まれた対応するアドレス体系とが含まれる。クライアント装置とパブリックネットワークとの間にあるゲートウェイ装置について、必要な処理は、ゲートウェイ装置134について前述したものと本質的に同様である。サーバ装置とパブリックネットワークとの間にあるゲートウェイ装置について必要な処理は、ゲートウェイ装置18について前述したものと本質的に同様である。その他の拡張において、クライアントのセッション仕様はポート番号の単一の対に限定される必要はなく、その代わりにポート番号の複数の対を有してもよく、そのそれぞれについて結合が確立され得ることが当業者に明らかである。例えば仕様がポート番号の範囲を有するような、他の形式のセッション仕様も可能である。
【００３９】
図１３から１７は、本発明による方法の更なる実施例について、リモートアクセス要求及び応答メッセージのいくつかの態様を概略的に示している。図１３は、リモートアクセスメッセージのIPデータパケット150の全体フォーマットを示している。データパケット150は、20バイトのIPヘッダ152と、20バイトのTCPヘッダ154と、可変長のリモートアクセスメッセージ部分156とを有する。IPヘッダ152は、送信元及び宛先IPアドレス(図示なし)を有し、TCPヘッダ156は、送信元及び宛先ポート番号(図示なし)を有する。IPヘッダ152とTCPヘッダ154のフォーマットの詳細は、例えば1994年のW.Stevensによる“TCP/IP  Illustrated,  Volume  1-The  Protocols”にある。
【００４０】
図１４は、リモートアクセスメッセージ部分156の一般フォーマットを示している。メッセージ部分156は、固定長の8バイトのヘッダ部分158と、それに続いて２つの可変長の部分160及び162とを有する。ヘッダ部分158は、2バイトの識別フィールド164と、2ビットのバージョンフィールド166と、8ビットのフラグフィールド168と、6ビットの予備フィールド170と、2バイト数のクエリフィールド172と、2バイト数の応答フィールド174とを有する。識別フィールド164の値は、クライアント装置により設定され、サーバ装置により返信され、それにより、クライアント装置がリモートアクセス応答をリモートアクセス要求にマッチすることが可能になる。バージョンフィールド166は、リモートアクセスプロトコルのこの特定のバージョンの場合は1の値を有する。フラグフィールド168については以下に説明する。最初の32ビットの境界までヘッダ部分を埋めるため、全てゼロを含む予備フィールド170が追加される。このフィールドは将来の拡張のために使用され得る。クエリフィールド172の数は、リモートアクセス要求メッセージの場合はセッションアクセスクエリの数の値で埋められ(以下参照のこと)、リモートアクセス応答メッセージの場合は0の値で埋められる。同様に、応答フィールド174の数は、リモートアクセス要求メッセージの場合は0の値で埋められ、リモートアクセス応答メッセージの場合はセッションアクセス応答の数の値で埋められる(以下参照のこと)。現在のバージョンのリモートアクセスプロトコルでは、セッションアクセスクエリ及び応答は、常にポート番号の対を示す。また、要求メッセージのセッションアクセスクエリの数は、関連する応答メッセージのセッションアクセス応答の数に等しい。クライアント装置とサーバ装置との間で指定の多様なポート番号の対でセッションを開始する機能を提供するために、１より大きい値を含む複数のクエリフィールド172が使用され得る。代替として、対応する数の個々のセッションアクセスクエリが、別個のリモートアクセス要求を介して行われてもよい。
【００４１】
図１５は、フラグフィールド168のフォーマットを示している。このフィールドは５つの部分に更に分割される。1ビットの要求／応答フィールド180と、1ビットのサーバ応答フィールド182と、1ビットのゲートウェイ存在フィールド184と、1ビットの複数ゲートウェイ存在フィールド186と、4ビットのリターンコードフィールド188である。要求／応答フィールド180は、0の値でメッセージがリモートアクセス要求であるか、1の値で応答であるかを示す。３つのその後のフィールド182-186は、リモートアクセス応答メッセージの場合にのみ関連がある。サーバ応答フィールド182の0の値は、(メッセージのサーバ名フィールド176で得られる(以下参照のこと))サーバ装置の代わりに中間のゲートウェイ装置が応答していることを示す。1の値は、応答がサーバ装置から生じていることを示す。原則として、要求は常にサーバ装置を対象とするが、サーバ装置がリモートアクセスプロトコルを実装しない場合、サーバ装置が接続されているネットワークで機能するゲートウェイ装置が、所定のタイムアウト期間の後に、代わりに応答メッセージを返信してもよい。このように、応答は適当な時間にクライアント装置に返信されることが確保される。ゲートウェイ存在フィールド184の0の値は、クライアント装置とサーバ装置との間のパスにゲートウェイが存在しないことを示す。1の値は、そのパスに少なくとも１つのゲートウェイが存在することを示す。複数ゲートウェイ存在フィールド186の0の値は、クライアント装置とサーバ装置との間のパスに単一のみのゲートウェイ装置が存在すること、又はゲートウェイ装置が存在しないことを示す。1の値は、そのパスに複数のゲートウェイ装置が存在することを示す。このフィールドの目的は、メッセージに続いてパスについてのある程度の情報を得ることである。リターンコードフィールド188の0の値は、メッセージの処理にエラーが存在しなかったことを示す。他のリターンコードの値が、必要に応じて後で追加されてもよい。
【００４２】
図１４に戻ると、リモートアクセスメッセージ部分156の第１の可変長の部分160は、可変長のサーバ名フィールド176と、4バイトのサーバIPアドレスフィールド178とで構成される。サーバ名フィールド176は、例えば前述の参考文献“TCP/IP  Illustrated”に記載されているように、DNSクエリメッセージのドメインネームと同じフォーマットを使用する。サーバ名フィールド176の例が図１６に示されている。このフィールドは１つ以上のラベルの連続を有し、各ラベルはそれに続く1バイトの文字の数を指定する1バイトのカウントフィールド190で始まる。サーバ名フィールド176は、1バイトの終端フィールド192で終了し、その終端フィールド192は0の値を有し、これはサーバ名のルートを示す。ラベルが63バイトに制限されているため、各カウントフィールド190の値は0から63の範囲でなければならない。サーバ名フィールド176を32ビットの境界で終了させるために、それは0で埋められたパディングフィールド(padding  field)194を有してもよい。サーバIPアドレスフィールド178は、リモートアクセス要求メッセージでは全てゼロを有する。リモートアクセス応答メッセージでは、サーバIPアドレスフィールド178はサーバ装置のIPアドレス、又は多くの場合には先行のゲートウェイ装置のIPアドレスを有する。リモートアクセスメッセージ部分156の第２の可変長の部分162は、セッション仕様を有し、現在のバージョンのリモートアクセスプロトコルでは、そのセッション仕様はクライアント装置とサーバ装置とのポート番号の複数の対で構成される。その実際の対の数は、前述のクエリフィールド172の数又は応答フィールド174の数で指定される。
【００４３】
図１７は、セッション仕様フィールド162に含まれる単一のポート番号の対のフォーマット200を示している。このフォーマットは、2バイトのクライアント装置ポート番号フィールド202と、2バイトのサーバ装置ポート番号フィールド204とで構成される。サーバ装置がサーバ装置ポート番号フィールド204に存在するポート番号の仕様を認めない場合又はそれに対応しない場合、サーバ装置は、リモートアクセス応答メッセージにおいて、このフィールドの内容を全てゼロに設定する。将来のバージョンのリモートアクセスプロトコルは、他の形式のセッション仕様を有してもよい。
【００４４】
図１８は、クライアント装置10の簡略化版のブロック図を示している。クライアント装置10は、例えばリモートアクセス要求メッセージ20のようなデータパケットを送信するためにパブリックネットワーク12に接続された第１の出力210と、例えばリモートアクセス応答メッセージ26のようなデータパケットを受信するためにパブリックネットワーク12に接続された第１の入力212とを有する。データパケットが進む方向は矢印で示している。第１の出力210と第１の入力212は、共に制御ユニット214に接続されており、クライアント装置10の動作を制御する。
【００４５】
図１９は、サーバ装置14の簡略化版のブロック図を示している。サーバ装置14は、例えばリモートアクセス要求メッセージ22のようなデータパケットを受信するためにプライベートネットワーク16に接続された第１の入力220と、例えばリモートアクセス応答メッセージ24のようなデータパケットを送信するためにプライベートネットワーク16に接続された第１の出力222とを有する。データパケットが進む方向は矢印で示している。第１の入力220と第１の出力222は、共に制御ユニット224に接続されており、サーバ装置14の動作を制御する。
【００４６】
異なるリモートアクセス要求について単一の装置がクライアント装置とサーバ装置との双方として同時に動作することができることを含み、更なる拡張も可能であることが当業者に明らかである。
【００４７】
ゲートウェイ装置18の異なるユニットは、通常は本発明による方法を実行する適切なプログラムコードを有するプログラムメモリを備えて、１つ以上のプロセッサの形式で備えられる。結合テーブル44はまた、通常はメモリの形式で備えられる。ソフトウェア又はプログラムコードはまた、コンピュータ読取可能媒体の形式のコンピュータプログラム製品で備えられてもよく、そのコンピュータプログラム製品は、実際にはコンピュータの一種であるゲートウェイ装置18にロードされると、本発明による方法を実行する。CD-ROM230の形式のそのようなコンピュータ読取可能媒体の１つが図２０に示されているが、ディスクのような他の媒体も可能である。プログラムコードはまた、プライベートネットワークの外側のサーバ装置からリモートでダウンロードされてもよい。本発明による方法を実行する適切なプログラムコードに関して、同様の状況がクライアント装置10とサーバ装置14とに存在することが当業者に明らかである。
【００４８】
本発明は以下のようにまとめることができる。
【００４９】
インターネットのようなパブリック又はグローバルネットワークから、家庭用ホームネットワークのようなプライベート又はローカルネットワークに、パブリックネットワーク及びプライベートネットワークに接続するゲートウェイ装置(18)を介して通信を開始する機能を提供する方法が提供される。ゲートウェイ装置は、ネットワークアドレス変換(NAT:Network  Address  Translation)機能を有し、パブリックネットワークに対してプライベートネットワークのアドレス体系を隠すと共に、パブリックネットワークからのセッションの開始を通常はブロックする。提供される方法によれば、パブリックネットワークに接続されたクライアント装置(10)は、クライアントとゲートウェイとサーバ装置との間でリモートアクセス要求メッセージ(20、22)の交換を含み、サーバ装置に対して明示的なリモートアクセス要求を実行することにより、プライベートネットワークに接続されたサーバ装置(14)へのセッションを開始する機能を提供することができる。サーバ装置では、その要求は、同様に装置間でのリモートアクセス応答メッセージ(24、26)の交換を含み、クライアント装置に対して関連のリモートアクセス応答を起動する。これらのメッセージ交換の結果、ゲートウェイ装置で適切なNATアドレス結合が確立され、クライアント装置によるセッションのその後の開始を可能にする。
【図面の簡単な説明】
【００５０】
【図１】本発明によるインタフェース(ゲートウェイ)装置を介して接続された２つのネットワークを備えた、パブリックネットワークに接続された第１の(クライアント)装置と、プライベートネットワークに接続された第２の(サーバ)装置の概略図である。
【図２】本発明による方法のリモートアクセス要求及び応答について、クライアントとゲートウェイとサーバ装置との間での交換を概略的に示したメッセージシーケンスチャートである。
【図３】本発明によるゲートウェイ装置の簡略化版のブロック図である。
【図４Ａ】一般的なリモートアクセス要求メッセージの内容の概略表示である。
【図４Ｂ】クライアント装置とゲートウェイ装置との間で交換されるリモートアクセス要求メッセージの内容の概略表示である。
【図４Ｃ】ゲートウェイ装置とサーバ装置との間で交換されるリモートアクセス要求メッセージの内容の概略表示である。
【図５Ａ】一般的なリモートアクセス応答メッセージの内容の概略表示である。
【図５Ｂ】サーバ装置とゲートウェイ装置との間で交換されるリモートアクセス応答メッセージの内容の概略表示である。
【図５Ｃ】ゲートウェイ装置とクライアント装置との間で交換されるリモートアクセス応答メッセージの内容の概略表示である。
【図６Ａ】一般的なゲートウェイ装置の結合テーブルのエントリーの内容の概略表示である。
【図６Ｂ】クライアントとゲートウェイとサーバ装置との間でセッションを開始する機能が提供された後に確立されたゲートウェイ装置の結合テーブルのエントリーの内容の概略表示である。
【図７】本発明の方法による実施例について、クライアントとゲートウェイとサーバ装置での処理ステップを概略的に示したフローチャートである。
【図８】各プライベートネットワークに接続され、次に各ゲートウェイ装置を介してパブリックネットワークに接続された２つのネットワークに接続されているクライアント及びサーバ装置の概略図である。
【図９】本発明による方法のリモートアクセス要求及び応答メッセージについて、クライアントとゲートウェイとサーバ装置との間の交換を概略的に示したメッセージシーケンスチャートである。
【図１０】更なるリモートアクセス要求メッセージの内容の概略表示である。
【図１１】更なるリモートアクセス応答メッセージの内容の概略表示である。
【図１２】更なる結合テーブルのエントリーの内容の概略表示である。
【図１３】本発明による方法の実施例について、リモートアクセスメッセージ用のIPデータパケットの全体フォーマットの概略表示である。
【図１４】リモートアクセスメッセージの一般フォーマットの概略表示である。
【図１５】リモートアクセスメッセージのフラグフィールドのフォーマットの概略表示である。
【図１６】リモートアクセスメッセージのサーバ名フィールドのフォーマットの概略表示である。
【図１７】リモートアクセスメッセージのポート番号の対のフィールドのフォーマットの概略表示である。
【図１８】本発明によるクライアント装置の簡略化版のブロック図である。
【図１９】本発明によるサーバ装置の簡略化版のブロック図である。
【図２０】本発明による方法を実行するコンピュータプログラムコードが格納されたコンピュータ読取可能媒体の概略図である。
【図１】
2006505992.tif 000003
【図２】
2006505992.tif 000004
【図３】
2006505992.tif 000005
2006505992.tif 000006
2006505992.tif 000007
2006505992.tif 000008
【図７】
2006505992.tif 000009
【図８】
2006505992.tif 000010
【図９】
2006505992.tif 000011
【図１０】
2006505992.tif 000012
【図１１】
2006505992.tif 000013
【図１２】
2006505992.tif 000014
【図１３】
2006505992.tif 000015
【図１４】
2006505992.tif 000016
【図１５】
2006505992.tif 000017
【図１６】
2006505992.tif 000018
【図１７】
2006505992.tif 000019
【図１８】
2006505992.tif 000020
【図１９】
2006505992.tif 000021
【図２０】
2006505992.tif 000022
【国際調査報告】
2006505992.tif 000023
2006505992.tif 000024