(57)【要約】プライベートＩＰネットワーク（７）にある第一の情報端末（１）と、パブリックＩＰネットワークにある第二の情報端末（５）との間における、ネットワーク端部の機器（３）を備えた通信システムである。本発明によると、前記通信システムはまた、プライベートＩＰネットワーク内に、前記第一の端末（１）に関連づけられ、前記第二の端末（５）がＩＰインターフェイスを利用できるようにすることに適した中間システム（２）を備え、また、パブリックＩＰネットワーク内には、ネットワーク端部の前記機器（３）を通過する通信トンネル（６）を介して前記中間システム（２）を制御することに適した制御サーバ（４）も備えている。パブリックネットワークおよびプライベートネットワークの間におけるＩＰ通信への応用。
2007519333.tif 000002
【特許請求の範囲】
【請求項１】
プライベートＩＰネットワーク（７）の中にある第一の情報端末（１）と、パブリックＩＰネットワークの中にある第二の情報端末（５）との間における、ネットワーク端部の機器（３）を備えた通信システムであって、前記通信システムがまた、プライベートＩＰネットワークにおいて、前記第一の端末（１）に関連づけられ、前記第二の端末（５）にＩＰインターフェイスを利用可能にさせることに適した中間システム（２）を備え、パブリックＩＰネットワークには、ネットワーク端部の前記機器（３）を通過する通信トンネル（６）を介して前記中間システム（２）を制御することに適した制御サーバ（４）を備えていることを特徴とする通信システム。
【請求項２】
前記ＩＰインターフェイスがＴＣＰ／ＵＤＰ／ＩＰインターフェイスであることを特徴とする、請求項１に記載の通信システム。
【請求項３】
前記通信トンネル（６）が、中間システム（２）の内部インターフェイスに到達するパケットをＴＣＰまたはＵＤＰで送信することに適したＴＣＰチャネルであることを特徴とする、請求項２に記載のシステム。
【請求項４】
中間システム（２）が、制御サーバ（４）によって事前に開放されたポートで受信したパケットを、受信ポートの識別子、ＩＰアドレス、送信ポートの番号ならびに受信したパケットを指定することで中継することに適していることを特徴とする、請求項１〜請求項３のいずれか一つに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プライベートＩＰネットワーク内にある第一の情報端末と、パブリックＩＰネットワーク内にある第二の情報端末との間における通信システムに関するものである。
【０００２】
一般的には、本発明は、パブリックネットワークとプライベートネットワークの間におけるＩＰ通信の分野で特に有利な応用を、また特に、パブリックＩＰネットワークがプライベートＩＰネットワークと通信しなければならないときに有利な応用を見出すものである。
【背景技術】
【０００３】
バージョン４におけるＩＰアドレスの数に限界があることを補うために、ＩＡＮＡ（Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒ  Ａｕｔｈｏｒｉｔｙ）はＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）１９１８において、プライベートネットワークとプライベートアドレスの概念を規格化している。これらのプライベートアドレスは特定の範囲に割り当てられており、たとえばインターネットのような、パブリックネットワークのルータによってルーティングすることができない。この解決法によって、大量の情報端末を同一のプライベートネットワークに接続することが可能になる。
【０００４】
パブリックネットワークのその他の情報端末と交信する必要があるこのネットワークの端末は、ネットワークの端部にある機器を介さなくてはならない。これらの機器のいくつかは、ゲートウェイという名称で知られている（すなわち英語の用語での「ｇａｔｅｗａｙ」）。ゲートウェイは、パブリックネットワークのＩＰアドレスとプライベートネットワークのＩＰアドレスを有している。該ゲートウェイは、プライベートネットワークの端末がパブリックネットワークへリクエストを行うときの代理機構である。該ゲートウェイは、プライベートＩＰアドレスを介してプライベート端末のリクエストを受信し、これらのリクエストを、パブリックＩＰアドレスを用いてパブリックネットワーク上で再作成する。このリクエストに対する応答がゲートウェイに到達し、該ゲートウェイは、プライベートアドレスを用いて、リクエストを行ったプライベートネットワークの端末に該応答を再送信する。ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）と名付けられたこのメカニズムは、ＲＦＣ３０２２で規格化されている。
【０００５】
これらのゲートウェイと組み合わされている、ファイアウォール（すなわち英語の用語での「ｆｉｒｅｗａｌｌ」）と呼ばれるネットワーク端部の別の機器はセキュリティ用のエンティティであり、該エンティティによって、インターネットからのおよびインターネットへのアクセスを制御することが可能になっている。これらファイアウォールは、多かれ少なかれ制限的なルールの対象となっている。
【０００６】
ある種のアプリケーションについては、プロキシ（すなわち英語の用語での「ｐｒｏｘｙ」）と呼ばれる要素がある。これらプロキシは、特定のプロトコルに対する個別の代理機構であり、最も知られているのはＨＴＴＰプロキシおよびＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロキシである。該プロキシはプライベートネットワークの端末からリクエストを受信し、該プロキシの名でパブリックネットワークに対してリクエストを行う。該プロキシは、ゲートウェイの後ろに配置することができる。所定のプロトコルによる通信を支配するポイントであるため、ｈｔｔｐプロトコルのプロキシにはキャッシュメカニズムのような、特定のサービスが該プロキシに加えられている。
【０００７】
ＮＡＴメカニズムの主要な特徴の一つは、該メカニズムが非対称的であることである。ＩＰパケットはプライベートネットワークからパブリックネットワークへ自由に通過することができる。逆に、パケットはパブリックネットワークからプライベートネットワークへは、パケットが逆に進んでいたときしか通過できない。このことは、プライベートネットワークの端末がすべての通信のイニシアチブを有することになっていることを意味している。
【０００８】
根底にあるメカニズムは経路の概念に基づいている。経路は、ＮＡＴの操作を行う機器にとって、「ＩＰアドレス−ポート」のペアの３つ組である。パケットがプライベートネットワークからネットワーク端部の機器に到達すると、この機器は、該パケットを発信したプライベートネットワークの情報端末の「ＩＰアドレス−ポート」のペアを登録し、このペアはペア１と名付けられることになる。パブリックネットワーク内にある目的地の「ＩＰアドレス−ポート」のペアはペア２と呼ばれることになるものであり、同様に、該パケットを送信することになる、ネットワーク端部の機器にあるパブリックインターフェイスの「ＩＰアドレス−ポート」のペアはペア３と呼ばれることになるものである。パケットがパブリックネットワークからパブリックインターフェイスに到達すると、ネットワーク端部の機器は対応する経路、つまり、ソースがペア２に対応し、目的地が事前に選択された経路のペア３に対応する経路を探す。そのような経路が存在していれば、該パケットは選択された経路のペア１に送信されることになる。選択された経路が存在しなければ、該パケットはプライベートネットワークに送信されない。このように、パブリックネットワークからきたパケットは、プライベートネットワークからのパケットが事前にそのための経路を作成しておいた場合にだけプライベートネットワークに送信できるようになっている。これがＮＡＴメカニズムの非対称性である。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このメカニズムの限界は複数あり、インターネット上のアプリケーションの多様化とプライベートネットワークの重層化に伴って、次第に明白になってきている。今日では、実際、プライベートネットワークの利用はもはや企業に限定されるものではなくなっており、広い層の一般公衆、最も多くの場合にはＡＤＳＬで接続された公衆にも利用されている。
【００１０】
サポートの介入を例に考えてみよう。大部分の情報端末は、今日、設定を可能にする内蔵ＨＴＴＰサーバを備えている。たとえば、今日では、技術者が単純なＨＴＴＰ接続によって、パブリックネットワーク越しにデフォルトの機器設定とその修正を検証するようなサポートを受けることはできない。よくても、技術者はクライアントに、自分で経路を作成することでゲートウェイのポートを対象となっている機器に向け直すように要求することができるだろうが、これは、クライアント自身で設定の修正を行うことが実現不可能であるのと同じように、クライアントには実現不可能な操作である。
【００１１】
ファイアウォールの作動を支配するルールは最も単純なものから最も複雑なものにまでおよんでいる。最も単純なものはすべてを許可すること、または何も許可しないことである。より整合的なセキュリティ方法を得るために、今日では、ファイアウォールはアプリケーションのタイプに基づいて作動する。あるアプリケーションがインターネットに移動することを許可することで、実際は、このタイプのアプリケーションに関連づけられたポートに向けたパケットが、インターネットに移動することが許可される（ＨＴＴＰについてはポート８０、ＦＴＰについてはポート２１）。新しいアプリケーションの中には複数のポートを用いるものがあり、多くの場合、該ポートは動的である。たとえば、ゲームのアプリケーションまたは電話やテレビ電話のアプリケーションを挙げることができる。ポートの動的な割り当てでは適切なルールを定めることができない。すべてのパケットを通過させる必要性、あるいは、良くてもポートのある範囲すべてを開く必要性に再び直面することになるが、これらは、セキュリティの観点から不十分な方法である。
【課題を解決するための手段】
【００１２】
したがって、本発明の対象によって解決すべき技術的問題は、ネットワーク端部の機器を備えている、プライベートＩＰネットワーク内にある第一の情報端末とパブリックＩＰネットワーク内にある第二の情報端末との間における通信システムを提案することであり、該通信システムによって、プライベートネットワークへ入る接続の問題を解決し、また、プライベートネットワークの端部へ適用されるセキュリティの戦略を、危険にさらすことなく、端部機器上にある要素、すなわちゲートウェイおよびファイアウォールの最小の構成で、あるいはそれらを構成することなく単純化することが可能になるものである。
【００１３】
技術的課題に対する解決法は、本発明によると、前記通信システムがまた、プライベートＩＰネットワーク内に、前記第一の端末に関連づけられ、前記第二の端末にＩＰインターフェイスを利用可能にさせることに適した中間システムと、パブリックＩＰネットワーク内に、ネットワーク端部の前記機器を通過する通信トンネルを介し、前記中間システムを制御することに適した制御サーバとを備えていることから構成される。
【発明を実施するための最良の形態】
【００１４】
非制限的例示として示された添付図面を参照する以下の説明によって、本発明を構成するものおよび本発明を実施可能にする方法がよりよく理解されるものである。
【００１５】
図１は、本発明にしたがった通信システムの概略図である。
【００１６】
図２は、図１の通信システムの詳細な図である。
【００１７】
図１では、プライベートＩＰネットワーク７の中にある第一の情報端末１と、パブリックＩＰネットワークの中にある第二の情報端末５との間における通信システムが示されており、前記システムは、ゲートウェイおよび／またはファイアウォールのタイプの、ネットワーク端部の機器３を備えている。図１の通信システムによって、良好な性能を保持しながら、この機器を通過することと、その構成を単純にすることが可能になっている。システムは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）およびＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）の上にあるプロトコルからは独立している。ゲートウェイおよびファイアウォールの通過という問題を効果的に解決しようとするすべてのタイプの用途に対して該システムを用いることができる。
【００１８】
一般的には、端末５は、制御サーバ４の利用を介して、またプライベートネットワーク７に中間システム２が存在することによって、中間システム２のＴＣＰ／ＵＤＰ／ＩＰインターフェイスを利用し、該端末が提供するサービスを行うことができるようになっている。このように、中間システム２は端末５が制御サーバ４を介して中間システム２のＴＣＰ／ＵＤＰ／ＩＰインターフェイスを使用できるようにしている。
【００１９】
そのために、ゲートウェイ／ファイアウォール３を通って、中間システム２と制御サーバ４の間に通信トンネル６が作成される。
【００２０】
要素２および要素４は完全に汎用性であり、情報端末５だけがプライベートネットワーク７の端末１に提供されるサービスを行う能力がある。
【００２１】
外部のＩＰ端末５と通信するために、内部のＩＰ端末１は中間システム２とコンタクトをとる。同様に、外部のＩＰ端末５も制御サーバ４とコンタクトをとる。トンネル６は、ＮＡＴメカニズムとファイアウォールの一般的な通過ルールに応じて、システム２によってサーバ４に対して、一意の固定ポートに向かって確立される。このことによって、ルータ構成のレベルでの影響を最小化し、クライアントによるサーバへの接続を効果的に管理することが可能になっている。
【００２２】
以後は、制御サーバ４の一意の固定ポートを「サービス・ポート」と呼ぶこととする。
【００２３】
トンネル６が示すものは、任意のポートによるシステム２と、前記サービス・ポートによるサーバ４との間におけるＴＣＰチャネル、および、ＵＤＰチャネルがないことまたは複数あることである。
【００２４】
本発明にしたがった通信システムの作動の詳細な説明は、これより図２を参照しつつ行うこととする。
【００２５】
初期化するために、中間システム２はＴＣＰチャネルを介して制御サーバ４の固定ポートに接続される。該中間システムは、サーバ４に自身の状態ならびに環境を伝えるためにこの接続を利用する。これらの情報は、認証または識別によって、プライベートネットワーク７における構成（ＩＰアドレス、サブネットマスクなど）から、利用しようとしているサービスの記述にまで及ぶことがある。
【００２６】
いったん初期化が実施されると、システム２とサーバ４の間の操作は３つのタイプに分かれる。
・ポートの開放命令、出力先変更命令、接続命令、リスニング命令および閉止命令。
・パケットおよびイベントの中継。
・チャネルの維持。
【００２７】
これらのさまざまな操作を通知し、記述するために、システム２とサーバ４の間では軽いプロトコルが用いられることになる。このプロトコルの意味だけをここでは示すこととし、シンタクスはサービスを実施する人の判断に委ねられる。
【００２８】
１．ポートの開放命令、出力先変更命令および閉止命令
ポートの開放命令、出力先変更命令および閉止命令は、サーバ４によって中間システム２に対して行われる。
【００２９】
・開放
サーバ４は、ポートの開放を、ＩＰアドレスおよび開放対象のポート番号（中間システム２はローカルネットワークのマシン上に存在することができ、該マシンはこのネットワーク上で複数のＩＰアドレスを有する）、サービスのタイプ（ＴＣＰまたはＵＤＰ）そしてポート番号に与えられた重要性（義務的ではない、希望のポート番号を要求することができ、要求された番号から第一のフリーのポートが割り当てられることになる。逆に、義務的なポート番号を要求することもできる）を送信することで要求する。
【００３０】
開放要求に対する応答は、開放されたポートの識別子および割り当てられたポート番号、あるいは、失敗した場合にはエラー・コードを送信することで行われる。
【００３１】
・出力先変更
ポートの出力先変更は特定の制約に応えるものである。
【００３２】
上述したサービス・チャネルはＴＣＰに基づいている。定義されているとおり、該サービス・チャネルは、中間システム２の内部インターフェイスに到達するパケットをＴＣＰまたはＵＤＰで送信することができる。
【００３３】
ＴＣＰチャネルにＵＤＰを超えて到達したパケットをスルーさせることで、該パケットに特別な特徴が加えられる。実際、ＴＣＰはＵＤＰに比べて信頼性があると言われるプロトコルであり、つまり、ＴＣＰをスルーしたパケットは受信者によって承認される。承認されていないパケットは送信者によって再送信される。この信頼性のあるメカニズムは遅延時間があることを意味する。いくつかのアプリケーションは、信頼性によって引き起こされる遅延時間を避けるためにＵＤＰを用いることを選択している。ポートの出力先変更のメカニズムは、本発明を実施するアプリケーションが、背後にあるトランスポート層としてＵＤＰを保持できるようにすることを目的としている。
【００３４】
サーバ４は、ＩＰアドレスおよび出力先変更対象のポート番号（システム２はローカルネットワークのマシン上に存在することができ、該マシンはこのネットワーク上で複数のＩＰアドレスを有する）、および、ポート番号に与えられた重要性（義務的ではない、希望のポート番号を要求することができ、要求された番号から第一のフリーのポートが割り当てられることになる。逆に、義務的なポート番号を要求することもできる）を送信することでポートの出力先変更を要求する。
【００３５】
出力先変更の要求に対する応答は、出力先変更されたポートの識別子と割り当てられたポート番号、あるいは、失敗した場合にはエラー・コードを送信することで行われる。
【００３６】
いったん出力先変更が行われると、出力先変更されたポートに到達するすべてのパケットはサーバ４の固定ポートにＵＤＰを用いて系統的に中継されることになる。
【００３７】
・接続
サーバ４は中間システム２に、事前に開放されているＴＣＰポートを、ＩＰアドレスと、プライベートネットワーク７のシステムＩＰのポートに接続するように要求する。サーバ４は、自身の要求に、事前に開放されたポートの識別子、ならびに、ＩＰアドレスおよび該サーバが接続されることになるポートを加えることになる。
【００３８】
接続要求に対する応答は、承認コードを、または失敗した場合にはエラー・コードを送信することで行われる。
【００３９】
・リスニング
ＴＣＰポートは２タイプあり、これらのタイプとは、
−サーバのポートすなわちサービス・ポートであり、その他のポートからの接続を受け入れ、したがって、リスニングしているポートであり、典型的には、ＨＴＴＰサーバのポート８０の場合のポートと、
−クライアントのポートすなわち接続用ポートであり、サーバのポートに接続されることになっているポートである。
【００４０】
ＴＣＰポートの開放時（上述したメカニズム）、このポートはまだ特定されていない。サーバ４が該ポートをその他のポートに接続することを要求するとすぐ、該ポートはクライアントのポート（システム２）になる。
【００４１】
開放されたＴＣＰポートをサーバのポートとして特化するために、本発明のサーバ部分はクライアント部分（システム２）に、関係している、開放されたポートの識別子を明確にすることでリスニング命令を送信する。
【００４２】
リスニングの要求に対する応答は、承認コードを、または失敗した場合にはエラー・コードを送信することで行われる。
【００４３】
・閉止
サーバ４は、開放または出力先変更の際に受信したポートの識別子を送信することで、ポートの閉止を要求する。
【００４４】
閉止の要求に対する応答は、承認コードを、または失敗した場合にはエラー・コードを送信することで行われる。
【００４５】
２．パケットおよびイベントの中継
・パケットの中継
この操作は二方向性である。サーバ４はシステム２に、パケットをプライベートネットワーク７に送信するように要求することができる。該サーバは、この要求に、パケットを送信するために用いるべきポートの識別子（ポートの開放時に受信した識別子）、ＩＰアドレス、目的地のポートの番号および送信対象のパケットを加えるようになっている。
【００４６】
もう一つの方向において、中間システム２は、サーバ４によって事前に開放されたポートで自身が受信したパケットを、受信ポートの識別子、ＩＰアドレス、送信ポート番号ならびに受信したパケットを指定することで中継するようになっている。
【００４７】
・イベントの中継
クライアント（システム２）によってサーバ４へ中継されるイベントは、開放されたポートでのイベントである。これらのイベントは、
−内部ネットワーク７のＩＰシステムを開放されたＴＣＰサーバのポートに接続すること（ＳＹＮ、ＳＹＮ／ＡＣＫ、ＡＣＫのシーケンスに対応する）と、
−ＴＣＰ接続の閉止要求（ＴＣＰ  ＦＩＮメッセージ）または破棄要求（ＴＣＰ  ＲＳＴメッセージ）である。
【００４８】
３．チャネルの維持
クライアント（システム２）およびサーバ４の間のトンネル６が通過するネットワーク機器の全体に、有効な経路をポーリングするメカニズムがあってもよい。これらのメカニズムは、使われなくなっていない経路、つまり、「ＩＰアドレス−ポート」の３つのペアを検証する。ソースと目的地の対応としてこれらのペアのいずれも有しているパケットが、一定時間の間（「有効期限（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）」という意味でＴＴＬと呼ばれる）に機器３を通過しなければ、経路は破棄されることになる。これにより、たとえば、サーバ４からクライアント２に向かうパケットが機器３を通過することが妨げられることになる。トンネル６はこのように破棄される。
【００４９】
この問題を避けるために、クライアント２は、問題となっているチャネルのＴＴＬが起こる前に、開放されたチャネル上でサーバ４に向けてパケット（チャネルの維持用と呼ばれる）を送信するようになっている。
【図面の簡単な説明】
【００５０】
【図１】本発明にしたがった通信システムの概略図である。
【図２】図１の通信システムの詳細な図である。
【符号の説明】
【００５１】
１  第一の情報端末
２  中間システム
３  ネットワークの端部機器
４  制御サーバ
５  第二の情報端末
６  通信トンネル
７  プライベートＩＰネットワーク
【図１】
2007519333.tif 000003
【図２】
2007519333.tif 000004
【国際調査報告】
2007519333.tif 000005
2007519333.tif 000006
2007519333.tif 000007
2007519333.tif 000008
2007519333.tif 000009
2007519333.tif 000010