説明

プライベートIPネットワークとパブリックIPネットワークの間の通信システム

プライベートIPネットワーク(7)にある第一の情報端末(1)と、パブリックIPネットワークにある第二の情報端末(5)との間における、ネットワーク端部の機器(3)を備えた通信システムである。本発明によると、前記通信システムはまた、プライベートIPネットワーク内に、前記第一の端末(1)に関連づけられ、前記第二の端末(5)がIPインターフェイスを利用できるようにすることに適した中間システム(2)を備え、また、パブリックIPネットワーク内には、ネットワーク端部の前記機器(3)を通過する通信トンネル(6)を介して前記中間システム(2)を制御することに適した制御サーバ(4)も備えている。パブリックネットワークおよびプライベートネットワークの間におけるIP通信への応用。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プライベートIPネットワーク内にある第一の情報端末と、パブリックIPネットワーク内にある第二の情報端末との間における通信システムに関するものである。
【0002】
一般的には、本発明は、パブリックネットワークとプライベートネットワークの間におけるIP通信の分野で特に有利な応用を、また特に、パブリックIPネットワークがプライベートIPネットワークと通信しなければならないときに有利な応用を見出すものである。
【背景技術】
【0003】
バージョン4におけるIPアドレスの数に限界があることを補うために、IANA(Internet Assigned Number Authority)はRFC(Request For Comments)1918において、プライベートネットワークとプライベートアドレスの概念を規格化している。これらのプライベートアドレスは特定の範囲に割り当てられており、たとえばインターネットのような、パブリックネットワークのルータによってルーティングすることができない。この解決法によって、大量の情報端末を同一のプライベートネットワークに接続することが可能になる。
【0004】
パブリックネットワークのその他の情報端末と交信する必要があるこのネットワークの端末は、ネットワークの端部にある機器を介さなくてはならない。これらの機器のいくつかは、ゲートウェイという名称で知られている(すなわち英語の用語での「gateway」)。ゲートウェイは、パブリックネットワークのIPアドレスとプライベートネットワークのIPアドレスを有している。該ゲートウェイは、プライベートネットワークの端末がパブリックネットワークへリクエストを行うときの代理機構である。該ゲートウェイは、プライベートIPアドレスを介してプライベート端末のリクエストを受信し、これらのリクエストを、パブリックIPアドレスを用いてパブリックネットワーク上で再作成する。このリクエストに対する応答がゲートウェイに到達し、該ゲートウェイは、プライベートアドレスを用いて、リクエストを行ったプライベートネットワークの端末に該応答を再送信する。NAT(Network Address Translation)と名付けられたこのメカニズムは、RFC3022で規格化されている。
【0005】
これらのゲートウェイと組み合わされている、ファイアウォール(すなわち英語の用語での「firewall」)と呼ばれるネットワーク端部の別の機器はセキュリティ用のエンティティであり、該エンティティによって、インターネットからのおよびインターネットへのアクセスを制御することが可能になっている。これらファイアウォールは、多かれ少なかれ制限的なルールの対象となっている。
【0006】
ある種のアプリケーションについては、プロキシ(すなわち英語の用語での「proxy」)と呼ばれる要素がある。これらプロキシは、特定のプロトコルに対する個別の代理機構であり、最も知られているのはHTTPプロキシおよびFTP(File Transfer Protocol)プロキシである。該プロキシはプライベートネットワークの端末からリクエストを受信し、該プロキシの名でパブリックネットワークに対してリクエストを行う。該プロキシは、ゲートウェイの後ろに配置することができる。所定のプロトコルによる通信を支配するポイントであるため、httpプロトコルのプロキシにはキャッシュメカニズムのような、特定のサービスが該プロキシに加えられている。
【0007】
NATメカニズムの主要な特徴の一つは、該メカニズムが非対称的であることである。IPパケットはプライベートネットワークからパブリックネットワークへ自由に通過することができる。逆に、パケットはパブリックネットワークからプライベートネットワークへは、パケットが逆に進んでいたときしか通過できない。このことは、プライベートネットワークの端末がすべての通信のイニシアチブを有することになっていることを意味している。
【0008】
根底にあるメカニズムは経路の概念に基づいている。経路は、NATの操作を行う機器にとって、「IPアドレス−ポート」のペアの3つ組である。パケットがプライベートネットワークからネットワーク端部の機器に到達すると、この機器は、該パケットを発信したプライベートネットワークの情報端末の「IPアドレス−ポート」のペアを登録し、このペアはペア1と名付けられることになる。パブリックネットワーク内にある目的地の「IPアドレス−ポート」のペアはペア2と呼ばれることになるものであり、同様に、該パケットを送信することになる、ネットワーク端部の機器にあるパブリックインターフェイスの「IPアドレス−ポート」のペアはペア3と呼ばれることになるものである。パケットがパブリックネットワークからパブリックインターフェイスに到達すると、ネットワーク端部の機器は対応する経路、つまり、ソースがペア2に対応し、目的地が事前に選択された経路のペア3に対応する経路を探す。そのような経路が存在していれば、該パケットは選択された経路のペア1に送信されることになる。選択された経路が存在しなければ、該パケットはプライベートネットワークに送信されない。このように、パブリックネットワークからきたパケットは、プライベートネットワークからのパケットが事前にそのための経路を作成しておいた場合にだけプライベートネットワークに送信できるようになっている。これがNATメカニズムの非対称性である。
【発明の開示】
【発明が解決しようとする課題】
【0009】
このメカニズムの限界は複数あり、インターネット上のアプリケーションの多様化とプライベートネットワークの重層化に伴って、次第に明白になってきている。今日では、実際、プライベートネットワークの利用はもはや企業に限定されるものではなくなっており、広い層の一般公衆、最も多くの場合にはADSLで接続された公衆にも利用されている。
【0010】
サポートの介入を例に考えてみよう。大部分の情報端末は、今日、設定を可能にする内蔵HTTPサーバを備えている。たとえば、今日では、技術者が単純なHTTP接続によって、パブリックネットワーク越しにデフォルトの機器設定とその修正を検証するようなサポートを受けることはできない。よくても、技術者はクライアントに、自分で経路を作成することでゲートウェイのポートを対象となっている機器に向け直すように要求することができるだろうが、これは、クライアント自身で設定の修正を行うことが実現不可能であるのと同じように、クライアントには実現不可能な操作である。
【0011】
ファイアウォールの作動を支配するルールは最も単純なものから最も複雑なものにまでおよんでいる。最も単純なものはすべてを許可すること、または何も許可しないことである。より整合的なセキュリティ方法を得るために、今日では、ファイアウォールはアプリケーションのタイプに基づいて作動する。あるアプリケーションがインターネットに移動することを許可することで、実際は、このタイプのアプリケーションに関連づけられたポートに向けたパケットが、インターネットに移動することが許可される(HTTPについてはポート80、FTPについてはポート21)。新しいアプリケーションの中には複数のポートを用いるものがあり、多くの場合、該ポートは動的である。たとえば、ゲームのアプリケーションまたは電話やテレビ電話のアプリケーションを挙げることができる。ポートの動的な割り当てでは適切なルールを定めることができない。すべてのパケットを通過させる必要性、あるいは、良くてもポートのある範囲すべてを開く必要性に再び直面することになるが、これらは、セキュリティの観点から不十分な方法である。
【課題を解決するための手段】
【0012】
したがって、本発明の対象によって解決すべき技術的問題は、ネットワーク端部の機器を備えている、プライベートIPネットワーク内にある第一の情報端末とパブリックIPネットワーク内にある第二の情報端末との間における通信システムを提案することであり、該通信システムによって、プライベートネットワークへ入る接続の問題を解決し、また、プライベートネットワークの端部へ適用されるセキュリティの戦略を、危険にさらすことなく、端部機器上にある要素、すなわちゲートウェイおよびファイアウォールの最小の構成で、あるいはそれらを構成することなく単純化することが可能になるものである。
【0013】
技術的課題に対する解決法は、本発明によると、前記通信システムがまた、プライベートIPネットワーク内に、前記第一の端末に関連づけられ、前記第二の端末にIPインターフェイスを利用可能にさせることに適した中間システムと、パブリックIPネットワーク内に、ネットワーク端部の前記機器を通過する通信トンネルを介し、前記中間システムを制御することに適した制御サーバとを備えていることから構成される。
【発明を実施するための最良の形態】
【0014】
非制限的例示として示された添付図面を参照する以下の説明によって、本発明を構成するものおよび本発明を実施可能にする方法がよりよく理解されるものである。
【0015】
図1は、本発明にしたがった通信システムの概略図である。
【0016】
図2は、図1の通信システムの詳細な図である。
【0017】
図1では、プライベートIPネットワーク7の中にある第一の情報端末1と、パブリックIPネットワークの中にある第二の情報端末5との間における通信システムが示されており、前記システムは、ゲートウェイおよび/またはファイアウォールのタイプの、ネットワーク端部の機器3を備えている。図1の通信システムによって、良好な性能を保持しながら、この機器を通過することと、その構成を単純にすることが可能になっている。システムは、TCP(Transmission Control Protocol)およびUDP(User Datagram Protocol)の上にあるプロトコルからは独立している。ゲートウェイおよびファイアウォールの通過という問題を効果的に解決しようとするすべてのタイプの用途に対して該システムを用いることができる。
【0018】
一般的には、端末5は、制御サーバ4の利用を介して、またプライベートネットワーク7に中間システム2が存在することによって、中間システム2のTCP/UDP/IPインターフェイスを利用し、該端末が提供するサービスを行うことができるようになっている。このように、中間システム2は端末5が制御サーバ4を介して中間システム2のTCP/UDP/IPインターフェイスを使用できるようにしている。
【0019】
そのために、ゲートウェイ/ファイアウォール3を通って、中間システム2と制御サーバ4の間に通信トンネル6が作成される。
【0020】
要素2および要素4は完全に汎用性であり、情報端末5だけがプライベートネットワーク7の端末1に提供されるサービスを行う能力がある。
【0021】
外部のIP端末5と通信するために、内部のIP端末1は中間システム2とコンタクトをとる。同様に、外部のIP端末5も制御サーバ4とコンタクトをとる。トンネル6は、NATメカニズムとファイアウォールの一般的な通過ルールに応じて、システム2によってサーバ4に対して、一意の固定ポートに向かって確立される。このことによって、ルータ構成のレベルでの影響を最小化し、クライアントによるサーバへの接続を効果的に管理することが可能になっている。
【0022】
以後は、制御サーバ4の一意の固定ポートを「サービス・ポート」と呼ぶこととする。
【0023】
トンネル6が示すものは、任意のポートによるシステム2と、前記サービス・ポートによるサーバ4との間におけるTCPチャネル、および、UDPチャネルがないことまたは複数あることである。
【0024】
本発明にしたがった通信システムの作動の詳細な説明は、これより図2を参照しつつ行うこととする。
【0025】
初期化するために、中間システム2はTCPチャネルを介して制御サーバ4の固定ポートに接続される。該中間システムは、サーバ4に自身の状態ならびに環境を伝えるためにこの接続を利用する。これらの情報は、認証または識別によって、プライベートネットワーク7における構成(IPアドレス、サブネットマスクなど)から、利用しようとしているサービスの記述にまで及ぶことがある。
【0026】
いったん初期化が実施されると、システム2とサーバ4の間の操作は3つのタイプに分かれる。
・ポートの開放命令、出力先変更命令、接続命令、リスニング命令および閉止命令。
・パケットおよびイベントの中継。
・チャネルの維持。
【0027】
これらのさまざまな操作を通知し、記述するために、システム2とサーバ4の間では軽いプロトコルが用いられることになる。このプロトコルの意味だけをここでは示すこととし、シンタクスはサービスを実施する人の判断に委ねられる。
【0028】
1.ポートの開放命令、出力先変更命令および閉止命令
ポートの開放命令、出力先変更命令および閉止命令は、サーバ4によって中間システム2に対して行われる。
【0029】
・開放
サーバ4は、ポートの開放を、IPアドレスおよび開放対象のポート番号(中間システム2はローカルネットワークのマシン上に存在することができ、該マシンはこのネットワーク上で複数のIPアドレスを有する)、サービスのタイプ(TCPまたはUDP)そしてポート番号に与えられた重要性(義務的ではない、希望のポート番号を要求することができ、要求された番号から第一のフリーのポートが割り当てられることになる。逆に、義務的なポート番号を要求することもできる)を送信することで要求する。
【0030】
開放要求に対する応答は、開放されたポートの識別子および割り当てられたポート番号、あるいは、失敗した場合にはエラー・コードを送信することで行われる。
【0031】
・出力先変更
ポートの出力先変更は特定の制約に応えるものである。
【0032】
上述したサービス・チャネルはTCPに基づいている。定義されているとおり、該サービス・チャネルは、中間システム2の内部インターフェイスに到達するパケットをTCPまたはUDPで送信することができる。
【0033】
TCPチャネルにUDPを超えて到達したパケットをスルーさせることで、該パケットに特別な特徴が加えられる。実際、TCPはUDPに比べて信頼性があると言われるプロトコルであり、つまり、TCPをスルーしたパケットは受信者によって承認される。承認されていないパケットは送信者によって再送信される。この信頼性のあるメカニズムは遅延時間があることを意味する。いくつかのアプリケーションは、信頼性によって引き起こされる遅延時間を避けるためにUDPを用いることを選択している。ポートの出力先変更のメカニズムは、本発明を実施するアプリケーションが、背後にあるトランスポート層としてUDPを保持できるようにすることを目的としている。
【0034】
サーバ4は、IPアドレスおよび出力先変更対象のポート番号(システム2はローカルネットワークのマシン上に存在することができ、該マシンはこのネットワーク上で複数のIPアドレスを有する)、および、ポート番号に与えられた重要性(義務的ではない、希望のポート番号を要求することができ、要求された番号から第一のフリーのポートが割り当てられることになる。逆に、義務的なポート番号を要求することもできる)を送信することでポートの出力先変更を要求する。
【0035】
出力先変更の要求に対する応答は、出力先変更されたポートの識別子と割り当てられたポート番号、あるいは、失敗した場合にはエラー・コードを送信することで行われる。
【0036】
いったん出力先変更が行われると、出力先変更されたポートに到達するすべてのパケットはサーバ4の固定ポートにUDPを用いて系統的に中継されることになる。
【0037】
・接続
サーバ4は中間システム2に、事前に開放されているTCPポートを、IPアドレスと、プライベートネットワーク7のシステムIPのポートに接続するように要求する。サーバ4は、自身の要求に、事前に開放されたポートの識別子、ならびに、IPアドレスおよび該サーバが接続されることになるポートを加えることになる。
【0038】
接続要求に対する応答は、承認コードを、または失敗した場合にはエラー・コードを送信することで行われる。
【0039】
・リスニング
TCPポートは2タイプあり、これらのタイプとは、
−サーバのポートすなわちサービス・ポートであり、その他のポートからの接続を受け入れ、したがって、リスニングしているポートであり、典型的には、HTTPサーバのポート80の場合のポートと、
−クライアントのポートすなわち接続用ポートであり、サーバのポートに接続されることになっているポートである。
【0040】
TCPポートの開放時(上述したメカニズム)、このポートはまだ特定されていない。サーバ4が該ポートをその他のポートに接続することを要求するとすぐ、該ポートはクライアントのポート(システム2)になる。
【0041】
開放されたTCPポートをサーバのポートとして特化するために、本発明のサーバ部分はクライアント部分(システム2)に、関係している、開放されたポートの識別子を明確にすることでリスニング命令を送信する。
【0042】
リスニングの要求に対する応答は、承認コードを、または失敗した場合にはエラー・コードを送信することで行われる。
【0043】
・閉止
サーバ4は、開放または出力先変更の際に受信したポートの識別子を送信することで、ポートの閉止を要求する。
【0044】
閉止の要求に対する応答は、承認コードを、または失敗した場合にはエラー・コードを送信することで行われる。
【0045】
2.パケットおよびイベントの中継
・パケットの中継
この操作は二方向性である。サーバ4はシステム2に、パケットをプライベートネットワーク7に送信するように要求することができる。該サーバは、この要求に、パケットを送信するために用いるべきポートの識別子(ポートの開放時に受信した識別子)、IPアドレス、目的地のポートの番号および送信対象のパケットを加えるようになっている。
【0046】
もう一つの方向において、中間システム2は、サーバ4によって事前に開放されたポートで自身が受信したパケットを、受信ポートの識別子、IPアドレス、送信ポート番号ならびに受信したパケットを指定することで中継するようになっている。
【0047】
・イベントの中継
クライアント(システム2)によってサーバ4へ中継されるイベントは、開放されたポートでのイベントである。これらのイベントは、
−内部ネットワーク7のIPシステムを開放されたTCPサーバのポートに接続すること(SYN、SYN/ACK、ACKのシーケンスに対応する)と、
−TCP接続の閉止要求(TCP FINメッセージ)または破棄要求(TCP RSTメッセージ)である。
【0048】
3.チャネルの維持
クライアント(システム2)およびサーバ4の間のトンネル6が通過するネットワーク機器の全体に、有効な経路をポーリングするメカニズムがあってもよい。これらのメカニズムは、使われなくなっていない経路、つまり、「IPアドレス−ポート」の3つのペアを検証する。ソースと目的地の対応としてこれらのペアのいずれも有しているパケットが、一定時間の間(「有効期限(Time To Live)」という意味でTTLと呼ばれる)に機器3を通過しなければ、経路は破棄されることになる。これにより、たとえば、サーバ4からクライアント2に向かうパケットが機器3を通過することが妨げられることになる。トンネル6はこのように破棄される。
【0049】
この問題を避けるために、クライアント2は、問題となっているチャネルのTTLが起こる前に、開放されたチャネル上でサーバ4に向けてパケット(チャネルの維持用と呼ばれる)を送信するようになっている。
【図面の簡単な説明】
【0050】
【図1】本発明にしたがった通信システムの概略図である。
【図2】図1の通信システムの詳細な図である。
【符号の説明】
【0051】
1 第一の情報端末
2 中間システム
3 ネットワークの端部機器
4 制御サーバ
5 第二の情報端末
6 通信トンネル
7 プライベートIPネットワーク

【特許請求の範囲】
【請求項1】
プライベートIPネットワーク(7)の中にある第一の情報端末(1)と、パブリックIPネットワークの中にある第二の情報端末(5)との間における、ネットワーク端部の機器(3)を備えた通信システムであって、前記通信システムがまた、プライベートIPネットワークにおいて、前記第一の端末(1)に関連づけられ、前記第二の端末(5)にIPインターフェイスを利用可能にさせることに適した中間システム(2)を備え、パブリックIPネットワークには、ネットワーク端部の前記機器(3)を通過する通信トンネル(6)を介して前記中間システム(2)を制御することに適した制御サーバ(4)を備えていることを特徴とする通信システム。
【請求項2】
前記IPインターフェイスがTCP/UDP/IPインターフェイスであることを特徴とする、請求項1に記載の通信システム。
【請求項3】
前記通信トンネル(6)が、中間システム(2)の内部インターフェイスに到達するパケットをTCPまたはUDPで送信することに適したTCPチャネルであることを特徴とする、請求項2に記載のシステム。
【請求項4】
中間システム(2)が、制御サーバ(4)によって事前に開放されたポートで受信したパケットを、受信ポートの識別子、IPアドレス、送信ポートの番号ならびに受信したパケットを指定することで中継することに適していることを特徴とする、請求項1〜請求項3のいずれか一つに記載のシステム。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2007−519333(P2007−519333A)
【公表日】平成19年7月12日(2007.7.12)
【国際特許分類】
【出願番号】特願2006−548330(P2006−548330)
【出願日】平成16年12月24日(2004.12.24)
【国際出願番号】PCT/FR2004/003387
【国際公開番号】WO2005/079014
【国際公開日】平成17年8月25日(2005.8.25)
【出願人】(591034154)フランス テレコム (290)
【Fターム(参考)】