(57)【要約】【課題】  信頼性のあるプライベートネットワーク通信を可能にする。【解決手段】  通信先の端末５０を、あたかも通信元の端末４０が所属するプライベートネットワークＰＮ＃１の隣接ネットワークに存在するようにみせる仮想ネットワークＶＮ＃１を構築する。通信元の端末４０は、通信先の端末５０に対応する仮想アドレスを持つ仮想端末４０Ｖに向けて通信を開始する。ルータ２０，３０は、管理サーバ１０が管理しているアドレスに基づいて仮想端末４０Ｖ宛の通信をグローバルネットワークＧＮを介した端末５０へのプライベートネットワーク間通信に変換する。端末４０，５０は、プライベートアドレス体系が同じであっても良く、グローバルアドレスもルータ２０，３０で１つずつ保持しているだけで十分である。【選択図】      図５
2007074059.tif 000002
【特許請求の範囲】
【請求項１】
第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間で行うグローバルネットワークを介したプライベートネットワーク通信を支援する装置であって、
前記第１プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第２プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を所定のメモリに記憶するとともに、前記仮想アドレス空間における前記第２端末の仮想アドレスを前記第１端末に通知する管理手段と、
前記第１端末から送信された前記仮想アドレス宛の通信を受け付ける受付手段と、
この受付手段で受け付けた前記通信を、前記メモリに記憶された割当情報に従って、前記第２端末に向けた前記プライベートネットワーク通信に変換する変換手段と、
を有する通信支援装置。
【請求項２】
第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間で行うグローバルネットワークを介したプライベートネットワーク通信を支援する装置であって、
前記第２プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第１プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を所定のメモリに記憶する管理手段と、
前記第１端末からの前記プライベートネットワーク通信を受信する受信手段と、
この受信手段で受信した前記プライベートネットワーク通信を、前記メモリに記憶された割当情報に従って、前記仮想アドレス空間における前記第１端末の仮想アドレスから前記第２端末への通信に変換する変換手段と、
を有する通信支援装置。
【請求項３】
通信相手との間で前記プライベートネットワーク通信に使用するポート情報のネゴシエーションを行うネゴシエーション手段をさらに有する、
請求項１又は２記載の通信支援装置。
【請求項４】
第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間で行うグローバルネットワークを介したプライベートネットワーク通信を支援するシステムであって、
前記第１プライベートネットワークと前記グローバルネットワークとの間に介在する第１通信支援装置と、前記グローバルネットワークと前記第２プライベートネットワークとの間に介在し、前記第１通信支援装置との間でグローバルアドレスを伴う前記プライベート通信を行う第２通信支援装置とを含み、
前記第１通信支援装置は、
前記第１プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第２プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を第１メモリに記憶するとともに、前記仮想アドレス空間における前記第２端末の仮想アドレスを前記第１端末に通知する管理手段と、
前記第１端末から送信された前記仮想アドレス宛の通信を受け付ける受付手段と、
この受付手段で受け付けた前記通信を、前記第１メモリに記憶された割当情報に従って、前記第２端末に向けた前記プライベートネットワーク通信に変換する変換手段とを有しており、
前記第２通信支援装置は、
前記第２プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第１プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を第２メモリに記憶する管理手段と、
前記第１端末からの前記プライベートネットワーク通信を受信する受信手段と、
この受信手段で受信した前記プライベートネットワーク通信を、前記第２メモリに記憶された割当情報に従って、前記仮想アドレス空間における前記第１端末の仮想アドレスから前記第２端末への通信に変換する変換手段とを有している、
通信支援システム。
【請求項５】
前記グローバルネットワークに、前記第１通信支援装置及び前記第２通信支援装置の各々のグローバルアドレスと前記第１端末及び前記第２端末のプライベートアドレスとを取得し、取得した前記第１通信支援装置のグローバルアドレスと前記第１端末のプライベートアドレスとの対応関係情報及び前記第２通信支援装置のグローバルアドレスと前記第２端末のプライベートアドレスとの対応関係情報を保持する管理サーバが接続されており、
前記第１通信支援装置は、前記管理サーバより取得した前記第２通信支援装置のグローバルアドレスと前記第２端末のプライベートアドレスとに基づいて前記第２端末の仮想アドレスを割り当て、
前記第２通信支援装置は、前記管理サーバより取得した前記第１通信支援装置のグローバルアドレスと前記第１端末のプライベートアドレスとに基づいて前記第１端末の仮想アドレスを割り当てる、
請求項４記載の通信支援システム。
【請求項６】
前記第１通信支援装置と前記第２通信支援装置の一方は、それぞれ、他方との間で前記プライベートネットワーク通信に使用するポート情報のネゴシエーションを行うネゴシエーション手段をさらに有する、
請求項４記載の通信支援システム。
【請求項７】
第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間でグローバルネットワークを介したプライベートネットワーク通信を行う方法であって、
前記第１プライベートネットワークと前記第２プライベートネットワークとの間に介在する通信支援装置が、前記第１プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を前記グローバルネットワークに接続された前記第２プライベートネットワーク用の仮想アドレス空間に割り当てることにより、前記第２端末を、第１プライベートネットワークに隣接する仮想ネットワークに存在する仮想端末にみせかけるとともに、前記第１端末より受け付けた前記仮想端末に対する通信を前記第２端末宛の前記プライベートネットワーク通信に変換することを特徴とする、
通信方法。
【請求項８】
前記第１端末及び第２端末並びに前記仮想端末に、それぞれ前記プライベートネットワーク間通信に使用するポート情報が付加されており、
前記通信支援装置は、前記ポート情報に基づいて通信元及び通信先を特定する、
請求項７記載の通信方法。
【請求項９】
コンピュータを、第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間で行うグローバルネットワークを介したプライベートネットワーク通信を支援する通信支援装置として動作させるためのコンピュータプログラムであって、
前記コンピュータを、
前記第１プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第２プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を所定のメモリに記憶するとともに、前記仮想アドレス空間における前記第２端末の仮想アドレスを前記第１端末に通知する管理手段、
前記第１端末から送信された前記仮想アドレス宛の通信を受け付ける受付手段、
この受付手段で受け付けた前記通信を、前記メモリに記憶された割当情報に従って、前記第２端末に向けた前記プライベートネットワーク通信に変換する変換手段、として機能させるコンピュータプログラム。
【請求項１０】
コンピュータを、第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間で行うグローバルネットワークを介したプライベートネットワーク通信を支援する通信支援装置として動作させるためのコンピュータプログラムであって、
前記コンピュータを、
前記第２プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第１プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を所定のメモリに記憶する管理手段、
前記第１端末からの前記プライベートネットワーク通信を受信する受信手段、
この受信手段で受信した前記プライベートネットワーク通信を、前記メモリに記憶された割当情報に従って、前記仮想アドレス空間における前記第１端末の仮想アドレスから前記第２端末への通信に変換する変換手段、として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット等のグローバルネットワークを介して行うプライベートネットワーク間通信を支援するシステムに関する。
【背景技術】
【０００２】
企業などの組織内で、インターネットプロトコル（TCP/IP）を利用した通信を行う際に、プライベートＩＰ（Internet Protocol）アドレスを用いることが一般的になっている。プライベートＩＰアドレスは、各組織内部のプライベートネットワークにおいて自由に設定することができる。そのため、複数の組織が同じアドレス体系のプライベートネットワークを利用している場合、それらの組織間で上記の通信を行おうとすると、アドレス変換を行う必要がある。このときの従来技術として、以下の方式がある。
【０００３】
（１−１）NAT（Network Address Translator）方式
この方式では、自分の組織内でのみ通用するプライベートＩＰアドレスと、インターネット上のグローバルＩＰアドレスとをルータ内の変換テーブルに静的に定義しておき、この変換テーブルを用いてアドレスの相互変換を行うことにより、上記の通信を可能にする。
【０００４】
（１−２）ＳＴＵＮ（Simple Traversal UDP through NAT（RFC：3489))方式
ＳＴＵＮは、インターネット規格の標準化団体であるＩＥＴＦにより策定された規格である。この方式では、ルータ内に、静的な変換テーブルを定義することなく、プライベートアドレス空間同士の通信を実現することができる。しかし、同一の内部アドレスとポートのペアを異なる外部アドレスとポートのペアにマッピングするSymmetricNATと呼ばれるNAT方式には対応することができない。ＳＴＵＮ方式の具体的な内容については、インターネット上で良く紹介されている（http://www.ietf.org/rfc/rfc3489.txt)。
【０００５】
（１−３）拡張ＳＴＵＮ方式
上記のＳＴＵＮ方式を拡張し、上記のSymmetricNATの環境にも対応した方式である。この拡張ＳＴＵＮ方式については、特開２００５−１１７５８７号公報に開示されており、インターネットにも公開されている（http://newrong.com/product/natsdk/tech3.html）。
【０００６】
（１−４）ＣＩＰＡ((Communication between terminals in Independent Private. Address area)方式
この方式では、ＤＮＳ（Domain Name System Server）とルータとが協調し、プライベートＩＰアドレスを有する端末同士の通信が可能になる。この方式の詳細については、下記の文献に紹介されている。
【非特許文献１】柳沢信成、加藤尚樹、鈴木秀和、渡邊晃「異なるプライベートアドレス空間端末の通信（ＣＩＰＡ）の提案」  マルチメディア、分散、協調とモバイル（ＤＩＣＯＭＯ２００５）シンポジウム、pp３６９−３７２、July、２００５
【０００７】
上記の４つの方式を採用することにより、異なるプライベートネットワーク同士での相互通信を行うことが可能になる利点がある。しかし、以下のような問題もある。
【０００８】
（２−１）NAT方式
プライベートネットワーク内の端末にアクセスするために、プライベートアドレスとグローバルアドレスとを１対１に対応付けなければならない。そのため、割り当てるグローバルアドレスが、将来、枯渇してしまう。
【０００９】
（２−２）ＳＴＵＮ方式
UDP（User Datagram Protocol）しか使用できないため、ＴＣＰ（Transmission Control Protocol）による信頼性のある通信ができない。
【００１０】
（２−３）拡張ＳＴＵＮ方式
対応するポート番号が見つかるまで、パケットを送信し続ける必要がある。そのため、無駄なトラフィックが発生してしまう。また、不正アクセスと判断されたときは、以降のアクセスが遮断されてしまう。
【００１１】
（２−４）ＣＩＰＡ方式
ＣＩＰＡ方式では、通信先のプライベートネットワーク内の端末と通信する際に、DNS検索を行う。このときに通信を行う端末に伝えられる宛先アドレスは、相手側ルータのアドレスになる。通信元の端末は、通信先のプライベートネットワーク内の端末にアクセスする際には最初にＤＮＳ検索が行われ、その後に実際の通信が行われることになる。単一の通信端末上でプライベートネットワーク内の複数の端末にアクセスするときは、アクセスするすべての端末のアドレスが同じ相手側ルータのアドレスになり、ＤＮＳ検索結果と実際の通信との対応付けがなされていないと、通信相手を区別することができない。ＤＮＳ検索と実際の通信との対応付けは、通信元の端末が行う必要があり、アプリケーションに依存するため、正確に相手先の端末に通信できるとは限らない。
また、ＵＤＰで送信元ポート番号と宛先ポート番号が規定されていて変化しないような通信、例えばＩＫＥの場合には、通信先プライベートネットワークの複数端末に通信を行おうとしても、通信先のルータで宛先の区別がつかないために、１つの端末だけに通信を行ってしまう場合がある。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記の問題をすべて解決する通信方式は、未だ実現されていない。例えば、企業などのグローバルＩＰアドレスを少数しか所持しておらず、かつ、ポートを調査すると通信が遮断されてしまう環境において、企業の拠点間でテレビ会議システムのように音声や画像をＵＤＰ通信で行い、ファイル共有をＴＣＰ通信で行うようなシステムを使用する場合には、実現の方向性が示されていない。
そこで、少数のグローバルアドレスしか利用できない環境であっても、制御用のトラフィックを最小限に抑え、かつ、ＴＣＰを用いた信頼性のあるプライベートアドレス空間同士の相互通信を実現できるアプリケーション非依存の技術が望まれている。
本発明は、このような技術を具現化した通信支援のためのシステムを提供することを主たる課題とするものである。
【課題を解決するための手段】
【００１３】
本発明は、第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間で行うグローバルネットワークを介したプライベートネットワーク通信を支援する通信支援システムを提供する。
この通信支援システムは、前記第１プライベートネットワークと前記グローバルネットワークとの間に介在する第１通信支援装置と、前記グローバルネットワークと前記第２プライベートネットワークとの間に介在し、前記第１通信支援装置との間でグローバルアドレスを伴う前記プライベート通信を行う第２通信支援装置とを含む。
前記第１通信支援装置は、前記第１プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第２プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を第１メモリに記憶するとともに、前記仮想アドレス空間における前記第２端末の仮想アドレスを前記第１端末に通知する管理手段と、前記第１端末から送信された前記仮想アドレス宛の通信を受け付ける受付手段と、この受付手段で受け付けた前記通信を、前記第１メモリに記憶された割当情報に従って、前記第２端末に向けた前記プライベートネットワーク通信に変換する変換手段とを有しており、前記第２通信支援装置は、前記第２プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第１プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を第２メモリに記憶する管理手段と、前記第１端末からの前記プライベートネットワーク通信を受信する受信手段と、この受信手段で受信した前記プライベートネットワーク通信を、前記第２メモリに記憶された割当情報に従って、前記仮想アドレス空間における前記第１端末の仮想アドレスから前記第２端末への通信に変換する変換手段とを有するものである。
【００１４】
本発明の通信支援システムにおける、ある実施の態様では、前記グローバルネットワークに、前記第１通信支援装置及び前記第２通信支援装置の各々のグローバルアドレスと前記第１端末及び前記第２端末のプライベートアドレスとを取得し、取得した前記第１通信支援装置のグローバルアドレスと前記第１端末のプライベートアドレスとの対応関係情報及び前記第２通信支援装置のグローバルアドレスと前記第２端末のプライベートアドレスとの対応関係情報を保持する管理サーバが接続されており、前記第１通信支援装置は、前記管理サーバより取得した前記第２通信支援装置のグローバルアドレスと前記第２端末のプライベートアドレスとに基づいて前記第２端末の仮想アドレスを割り当て、前記第２通信支援装置は、前記管理サーバより取得した前記第１通信支援装置のグローバルアドレスと前記第１端末のプライベートアドレスとに基づいて前記第１端末の仮想アドレスを割り当てる。
【００１５】
前記第１通信支援装置と前記第２通信支援装置との間の通信開始時のトラフィックを抑制する観点からは、前記第１通信支援装置と前記第２通信支援装置の一方が、それぞれ、他方との間で前記プライベートネットワーク通信に使用するポート情報のネゴシエーションを行うネゴシエーション手段をさらに有するようにする。「ネゴシエーション」とは、２つの装置が通信を確立する際に、通信速度などの情報を相互に交換しながら通信設定を決定していくことをいう。
【００１６】
本発明は、また、第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間でグローバルネットワークを介したプライベートネットワーク通信を行う通信方法を提供する。
この通信方法は、前記第１プライベートネットワークと前記第２プライベートネットワークとの間に介在する通信支援装置が、前記第１プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を前記グローバルネットワークに接続された前記第２プライベートネットワーク用の仮想アドレス空間に割り当てることにより、前記第２端末を、第１プライベートネットワークに隣接する仮想ネットワークに存在する仮想端末にみせかけるとともに、前記第１端末より受け付けた前記仮想端末に対する通信を前記第２端末宛の前記プライベートネットワーク通信に変換することを特徴とする方法である。
【００１７】
本発明は、また、コンピュータを通信支援装置として動作させるためのコンピュータプログラムを提供する。
第１のコンピュータプログラムは、コンピュータを、第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間で行うグローバルネットワークを介したプライベートネットワーク通信を支援する通信支援装置として動作させるためのコンピュータプログラムであって、前記コンピュータを、前記第１プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第２プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を所定のメモリに記憶するとともに、前記仮想アドレス空間における前記第２端末の仮想アドレスを前記第１端末に通知する管理手段、前記第１端末から送信された前記仮想アドレス宛の通信を受け付ける受付手段、この受付手段で受け付けた前記通信を、前記メモリに記憶された割当情報に従って、前記第２端末に向けた前記プライベートネットワーク通信に変換する変換手段、として機能させるコンピュータプログラムである。
【００１８】
第２のコンピュータプログラムは、コンピュータを、第１プライベートネットワークに所属する第１端末と、第２プライベートネットワークに所属する第２端末との間で行うグローバルネットワークを介したプライベートネットワーク通信を支援する通信支援装置として動作させるためのコンピュータプログラムであって、前記コンピュータを、前記第２プライベートネットワーク用に割り当てられたアドレス空間のうち使用されていない未使用アドレス空間を、前記グローバルネットワークに接続された前記第１プライベートネットワーク用の仮想アドレス空間に割り当て、その割当情報を所定のメモリに記憶する管理手段、前記第１端末からの前記プライベートネットワーク通信を受信する受信手段、この受信手段で受信した前記プライベートネットワーク通信を、前記メモリに記憶された割当情報に従って、前記仮想アドレス空間における前記第１端末の仮想アドレスから前記第２端末への通信に変換する変換手段、として機能させるコンピュータプログラムである。
【発明の効果】
【００１９】
本発明によれば、仮想アドレスを利用してプライベートネットワーク間通信を行うので、異なるプライベートネットワークで同じアドレスの端末同士であっても、相互に通信できるようになる。必要となるグローバルアドレスは、プライベートネットワーク間の一つのグローバルアドレスだけとなり、アドレス枯渇の問題が解消される。また、仮想アドレスによって相手の端末を区別するため、ＵＤＰ／ＴＣＰのどちらのプロトコルでも利用可能になる。プライベートネットワーク通信に必要となるトラフィックは、ポート情報のネゴシエーション時のみに発生するため、制御用の通信トラフィック量が少なくて済む。
仮想アドレスを利用するため、ＤＮＳ検索と、その後の通信とを対応付ける必要がなく、ＣＩＰＡで発生する問題点も解消される。
【発明を実施するための最良の形態】
【００２０】
本発明は、図１に示される通信支援システムによる実施が可能である。
この通信支援システムは、グローバルネットワークＧＮに接続される管理サーバ１０と、プライベートネットワークＰＮ＃１，ＰＮ＃２を管理する２つのルータ２０，３０とを含んで構成される。グローバルネットワークＧＮは、本例では、インターネットである。プライベートネットワークＰＮ＃１，ＰＮ＃２には、端末４０，５０が接続されている。
【００２１】
ルータ２０，３０は、通信支援装置の一例となるネットワーク用品で、一般的なルーティング機能、通信機能のほか、後述する仮想ネットワークを構築するとともに通信の変換および対応ポート情報のネゴシエーションの機能を有する。以後の説明では、便宜上、ルータ２０，３０は、同じ機能のものとする。グローバルネットワークＧＮに対するプライベートネットワークＰＮ＃１のＩＰアドレス、すなわち、ルータ２０のグローバルＩＰアドレスは「ccc.ccc.ccc.ccc」とする。また、グローバルネットワークＧＮに対するプライベートネットワークＰＮ＃２のＩＰアドレス、すなわち、ルータ３０のグローバルＩＰアドレスは「ddd.ddd.ddd.ddd」とする。プライベートネットワークＰＮ＃１に接続される端末４０のプライベートＩＰアドレスとプライベートネットワークＰＮ＃２に接続される端末５０のプライベートＩＰアドレスは同じアドレス体系であっても構わないが、ここでは、端末４０のプライベートＩＰアドレスが「aaa.aaa.aaa.aaa」、端末５０のプライベートＩＰアドレスが「bbb.bbb.bbb.bbb」であるものとする。
【００２２】
上記の通信支援システムにおいて、管理サーバ１０及びルータ２０，３０は、それぞれプロセッサを搭載しており、このプロセッサが、所定の通信用コンピュータプログラムを読み取って実行することにより、本発明を実施する上で必要になる種々の機能ブロックを形成している。端末４０，５０も、本例では、通信機能を備えたコンピュータであることを想定している。
【００２３】
管理サーバ１０、ルータ２０，３０、端末４０，５０に形成される代表的な機能ブロックの構成例を図２に示す。管理サーバ１０は、端末４０，５０のアドレス全般を登録するアドレス登録部１１、接続要求を受け付ける接続要求受付部１２、アドレスＤＢ１５に登録されているアドレスの検索を行うアドレス検索部１３、及びルータ２０，３０へのアドレス配信を行うアドレス配信部１４、を含んで構成される。
【００２４】
ルータ２０（３０）は、プライベートＰＮ＃１（ＰＮ＃２）の接続状況を管理するネットワーク調査部２１（３１）、プライベートＰＮ＃１（ＰＮ＃２）に接続される端末４０（５０）へのアドレス通知を行うアドレス通知部２２（３２）、通信のルーティングを行うルーティング部２３（３３）、後述する変換規則を記録した変換規則データベース（以下、ＤＢ）２４ｄ（３４ｄ）を用いてアドレス管理を行うアドレス管理部２４（３４）、パケットに含まれる送信元と送信先のアドレス変換を行う送信元／送信先変換部２５（３５）、通信相手とのネゴシエーションを行うネゴシエーション部２６（３６）、各種アドレスの登録を行うアドレス登録部２７（３７）、仮想アドレスＤＢ２８ｄ（３８ｄ）を用いて仮想アドレスを管理する仮想アドレス管理部２８（３８）を含んで構成される。
端末４０（５０）は、接続要求部４１（５１）、調査受付部４２（５２）、アドレス受信部４３（５３）、通信制御部４４（５４）を含んで構成される。
【００２５】
管理サーバ１０のアドレスＤＢ１５には、図３（ａ）に示されるように、端末名、端末ＩＰアドレス、所属ルータＩＰアドレスの項目が互いに関連付けて登録される。例えば、端末名のデータにより特定される同じフィールドに、端末ＩＰアドレスと所属ルータＩＰアドレスとが登録される。
【００２６】
ルータ２０（３０）の変換規則ＤＢ２４ｄ（３４ｄ）には、図３（ｂ）に示されるように、変換前ＩＰアドレス、変換前ポート番号、変換後ＩＰアドレス、変換後ポート番号、プロトコルの項目が互いに関連付けられて登録される。
１台のコンピュータ上で複数のＴＣＰ／ＩＰアプリケーションが動作している場合、そのままではネットワーク経由で送受信されるデータがどのアプリケーションに引き渡されるべきものであるかが判断できないため、通信相手のアプリケーションを指定するために、詳細な識別情報、例えば数値が用いられる。このような数値が「ポート番号」である。「ポート番号」には0〜65535までの数字が使用される。
【００２７】
ルータ２０（３０）の仮想アドレスＤＢ２８ｄ（３８ｄ）には、図３（ｃ）に示されるように、仮想アドレス、端末ＩＰアドレス、所属ルータＩＰアドレスが、互いに関連付けて登録される。例えば、仮想アドレスにより特定される同じフィールドに、端末ＩＰアドレスと所属ルータＩＰアドレスとが登録される。
【００２８】
［動作例］
次に、上記の通信支援システムにおいて、通信元端末である端末４０と、通信先端末である端末５０とが、ルータ２０、グローバルネットワークＧＮ、ルータ３０を通じて、プライベートネットワーク間通信を行うときの動作例を示す。
【００２９】
プライベートネットワーク間通信は、事前準備、接続要求〜アドレス通知、対応ポートのネゴシエーション、実際の通信のような４つのフェーズを経て行われる。図４はその４つのフェーズにおける処理の手順を時系列に示している。なお、図４における各処理(1)〜(20)は、具体的には、図２に処理番号を併記した該当機能ブロックにおいて行われる。
＜事前準備＞
(1)ルータ２０は、ネットワーク調査部２１で、配下の端末４０の端末名及びプライベートＩＰアドレスを調査する。同様に、ルータ３０は、そのネットワーク調査部３１で、配下の端末５０の端末名及びプライベートＩＰアドレスを調査する。
(2)端末４０は、ルータ２０に、自己の端末名（端末Ａ）及びプライベートＩＰアドレス（「aaa.aaa.aaa.aaa」）を通知する。同様に、端末５０は、ルータ３０に、自己の端末名（端末Ｂ）及びプライベートＩＰアドレス（「bbb.bbb.bbb.bbb」）を通知する。
(3)ルータ２０（３０）は、通知された端末名及びプライベートＩＰアドレスを受け取り、これらをアドレス管理部２４（３４）で変換規則ＤＢ２４ｄ（３４ｄ）に登録する。
【００３０】
(4)アドレス管理部２４（３４）は、また、ルータ内で管理するアドレス空間（プライベートＩＰアドレス用に確保されているメモリ領域）の中から、現在使用されていない未使用アドレス空間を特定する。未使用アドレス空間は、変換規則ＤＢ２４ｄ（３４ｄ）に実際に登録されたプライベートＩＰアドレスの中から未使用のものを選定しても良い。アドレス管理部２４（３４）は、この未使用アドレス空間を仮想アドレス管理部２８（３８）に通知する。
【００３１】
仮想アドレス管理部２８（３８）は、通知された未使用アドレス空間を仮想ネットワークとして仮想アドレスＤＢ２８ｄ（３８ｄ）に設定する。より具体的には、未使用アドレス空間に、１又は複数の仮想端末のプライベートＩＰアドレス、すなわち仮想アドレスを割り当てる。ルータ２０の仮想アドレスＤＢ２８ｄに設定される仮想アドレスを「xxx.xxx.xxx.xxx」、ルータ３０の仮想アドレスＤＢ３８ｄに設定される仮想アドレスを「yyy.yyy.yyy.yyy」とすると、図１に示される通信支援システムは、図５に示すように、ルータ２０（３０）を中心として、仮想ネットワークＶＮ＃１（ＶＮ＃２）が新たに構築されたものとなる。仮想ネットワークＶＮ＃１にはアドレスが「xxx.xxx.xxx.xxx」となる仮想端末４０Ｖ、仮想ネットワークＶＮ＃２にはアドレスが「yyy.yyy.yyy.yyy」となる仮想端末５０Ｖが、それぞれ接続されたものとなる。
【００３２】
(5)アドレス管理部２４（３４）は、各々が管理する変換規則ＤＢ２４ｄ（３４ｄ）に登録されたプライベートＩＰアドレスを、各々のルータ２０（３０）のグローバルＩＰアドレスと共に、管理サーバ１０に通知する。
(6)管理サーバ１０は、端末４０，５０がどのルータの配下のプライベートネットワークに存在するかをアドレスＤＢ１５に登録する。登録するのは、上述したように、端末ＩＰアドレス（＝端末のプライベートＩＰアドレス）、所属ルータＩＰアドレス（ルータのグローバルＩＰアドレス）及び端末名である。
【００３３】
以上の処理により、管理サーバ１０のアドレスＤＢには、図６（ａ）に示されるように、端末４０について、「端末名」に「端末Ａ」、「端末ＩＰアドレス」に「aaa.aaa.aaa.aaa」、「所属ルータＩＰアドレス」に「ccc.ccc.ccc.ccc」がそれぞれ登録される。同様に、端末５０について、「端末名」に「端末Ｂ」、「端末ＩＰアドレス」に「bbb.bbb.bbb.bbb」、「所属ルータＩＰアドレス」に「ddd.ddd.ddd.ddd」がそれぞれ登録される。
【００３４】
ルータ２０の配下のプライベートネットワークＰＮ＃１に接続されている端末が端末４０のみなので、変換規則ＤＢ２４ｄには、図６（ｂ）に示されるように、「変換前ＩＰアドレス」に「aaa.aaa.aaa.aaa」、「変換後ＩＰアドレス」に「ccc.ccc.ccc.ccc」のみが登録される。また、ルータ３０の配下のプライベートネットワークＰＮ＃２に接続されている端末が端末５０のみなので、ルータ３０の変換規則ＤＢ３４ｄには、図６（ｃ）に示されるように、「変換前ＩＰアドレス」に「bbb.bbb.bbb.bbb」、「変換後ＩＰアドレス」に「ddd.ddd.ddd.ddd」のみが登録される。
【００３５】
ルータ２０の仮想アドレスＤＢ２８ｄには、図６（ｄ）に示されるように、仮想端末４０Ｖのアドレス「xxx.xxx.xxx.xxx」が登録され、ルータ３０の仮想アドレスＤＢ３８ｄには、図６（ｅ）に示されるように、仮想端末５０Ｖのアドレス「yyy.yyy.yyy.yyy」が登録される。
【００３６】
＜接続要求〜アドレス通知：仮想端末の割当＞
(7)端末４０は、通信の接続先を知るために、通信の接続要求を管理サーバ１０に対して行う。この接続要求は、ルータ２０を通じて行う。ルータ２０は、この接続要求をダイレクトに管理サーバ２０へ転送する。
(8)端末４０からの接続要求を接続要求受付部１２で受け取った管理サーバ１０は、アドレス検索部１３で、通信の接続先をアドレスＤＢ１５から検索する。そして、アドレス配信部１４が、ルータ２０及びルータ３０にアドレスを配信する。配信されるアドレスは、ルータ２０に対しては、接続先のルータ３０のグローバルＩＰアドレス「ddd.ddd.ddd.ddd」と接続先の端末５０のプライベートＩＰアドレス「bbb.bbb.bbb.bbb」である。ルータ３０に対しては、接続要求を行った端末４０のプライベートＩＰアドレス「aaa.aaa.aaa.aaa」と、ルータ２０のグローバルＩＰアドレス「ccc.ccc.ccc.ccc」である。
【００３７】
(9)ルータ２０，３０は、配信されたこれらのアドレスの対応付けを行い、自己の変換規則ＤＢ２４ｄ，３４ｄ及び仮想アドレスＤＢ２８ｄ，３８ｄへの登録を行う。
ルータ２０についていえば、図７（ａ）に示されるように、変換規則ＤＢ２４ｄの「変換前ＩＰアドレス」に仮想端末４０Ｖのアドレス「xxx.xxx.xxx.xxx」が登録され、「変換後ＩＰアドレス」にルータ３０のグローバルＩＰアドレス「ddd.ddd.ddd.ddd」が登録される。「プロトコル」は、ＴＣＰが設定される。また、仮想アドレスＤＢ２８ｄには、図７（ｃ）に示されるように、仮想端末４０Ｖのアドレス「xxx.xxx.xxx.xxx」に対応する端末ＩＰアドレスとして、端末５０のプライベートＩＰアドレス「bbb.bbb.bbb.bbb」とそれが所属するルータ３０のグローバルＩＰアドレス「ddd.ddd.ddd.ddd」が登録される。
【００３８】
ルータ３０についていえば、図７（ｂ）に示されるように、変換規則ＤＢ３４ｄの「変換前ＩＰアドレス」に仮想端末５０Ｖのアドレス「yyy.yyy.yyy.yyy」が登録され、「変換後ＩＰアドレス」に、ルータ２０のグローバルＩＰアドレス「ccc.ccc.ccc.ccc」が登録される。「プロトコル」はＴＣＰが設定される。また、仮想アドレスＤＢ３８ｄには、図７（ｄ）に示されるように、仮想端末５０Ｖのアドレス「yyy.yyy.yyy.yyy」に対応する端末ＩＰアドレスとして、端末４０のプライベートＩＰアドレス「aaa.aaa.aaa.aaa」とそれが所属するルータ２０のグローバルＩＰアドレス「ccc.ccc.ccc.ccc」が登録される。
(10)ルータ２０は、変換規則ＤＢ２４ｄへの登録が済むと、接続要求を行った端末４０に対して、仮想端末５０Ｖのアドレスを通知する。
【００３９】
＜対応ポートのネゴシエーション＞
(11)ルータ２０のアドレス通知部２２から仮想端末４０Ｖのアドレスが通知されると、端末４０は、そのアドレスを伴う通信を開始できるようになる。例えばパケット送信する際に、そのパケットの通信先のアドレスを、通知された仮想端末４０Ｖのアドレスとする。
このとき、図８に示されるように、ルータ２０は、端末４０から端末４０Ｖに対しての通信パケット（aaa.aaa.aaa.aaa:iii→xxx.xxx.xxx.xxx:kkk）から、変換前ポート番号（iii,kkk）を取得する。
なお、上記の記載のように、パケットでのポート番号を伴うＩＰアドレスの表記は、（ＩＰアドレス）aaa.aaa.aaa.aaa:（ポート番号）iiiであり、矢印の左側が送信元アドレス、右側が送信先アドレスとなる。
(12)図８に示されるように、端末４０からのパケットが到達すると、ルータ２０は、送信先であるxxx.xxx.xxx.xxxに通信させようとする。ルータ２０は、また、(11)で示したように、パケットから端末４０のポート番号「iii」と接続先のポート番号「kkk」を取り出している。これらのポート番号「iii」，「kkk」は、送信元／送信先変換部２５を介してアドレス管理部２４に渡される。アドレス管理部２４は、変換規則ＤＢ２４ｄの「変換前ＩＰアドレス」が「aaa.aaa.aaa.aaa」に対応する「変換前ポート番号」に、そのポート番号「iii」を登録するとともに、「変換前ＩＰアドレス」が「xxx.xxx.xxx.xxx」に対応する「変換前ポート番号」に、接続先のポート番号「kkk」を登録する。その結果、変換規則ＤＢ２４ｄの内容は、図９のように変化する。
【００４０】
(13)図１０に示されるように、端末４０より受け取ったパケットは仮想端末４０Ｖ宛のパケットであり、実際の通信先のルータ３０に向けたものではない。そこで、ルータ２０は、送信元／送信先変換部２５でパケット変換を行う。すなわち、ルータ２０は、xxx.xxx.xxx.xxxは、自分の仮想ネットワークであることがわかり、送信元のアドレスaaa.aaa.aaa.aaaが自分のネットワーク内のアドレスなので、ルータ２０のグローバルアドレスccc.ccc.ccc.cccに変換し、送信元のポートとして自分自身のルータ２０の使用されていないポート番号（jjj）を決定し、iiiの変換後のポート番号として登録する。
各ルータ２０（３０）は、自分自身で決定した変換後のアドレス及びポート若しくは相手側ルータとのネゴシエーションにより入手した変換後のアドレス及びポートを、変換前のアドレス及びポートと共に、変換規則ＤＢ２４ｄ（３４ｄ）に登録する。図１１は、ルータ２０の変換規則ＤＢ２４ｄに登録される内容であり、「変換後ＩＰアドレス」が「ccc.ccc.ccc.ccc」に対応する「変換後ポート番号」に、ポート番号「jjj」が追加される。
通信パケットに対して、その変換規則を用いて変換を行うが、ddd.ddd.ddd.dddの送信先の変換後のポート番号が確定していないために、通信できない。
(14)アドレス管理部２４で変換規則ＤＢ２４ｄを検索し、対応するアドレス及びポート番号を読み出す。この時点では、パケットはどこに送れば良いかがわかったことになる。但し、何に送れば目的のサービスを受けられるかは、わからない状態にある。しかし、図１２に示されるように、ルータ２０は、変換を行ったパケット（ccc.ccc.ccc.ccc:jjj→ddd.ddd.ddd.ddd:???)から、送信先のルータ３０のアドレス（ddd.ddd.ddd.ddd）を知り得る。
(15)そこで、ルータ２０は、図１２に示されるように、パケット（ccc.ccc.ccc.ccc:jjj→ddd.ddd.ddd.ddd:???)を保持し、送信先の端末５０の目的のポート番号にアクセスするために、元のパケット（aaa.aaa.aaa.aaa:iii→xxx.xxx.xxx.xxx:kkk）を取り出し、ルータ３０のccc.ccc.ccc.cccのjjjから端末５０のbbb.bbb.bbb.bbbのkkkにアクセスしたいという問い合わせを行う。
送信先のルータ３０は、問い合わせに対して、手順(9)で確保しているルータ２０のアドレスccc.ccc.ccc.cccと対応付けてあるルータ３０自身の仮想端末５０Ｖの仮想アドレスyyy.yyy.yyy.yyyに対して、yyy.yyy.yyy.yyyで使用していないポート番号（mmm）を選び、対応付ける。これで、ccc.ccc.ccc.ccc:jjjとyyy.yyy.yyy.yyy:mmmの変換規則が生成される。
【００４１】
これにより、ルータ２０からルータ３０へ問い合わせる通信の内容は、図１２に示されるように、グローバルＩＰアドレス「ccc.ccc.ccc.ccc」のポート番号「jjj」からグローバルＩＰアドレス「bbb.bbb.bbb.bbb」のポート番号「kkk」にアクセスしたいことを表すものとなる。
【００４２】
図１３は、ルータ３０の変換規則ＤＢ３４ｄに登録される内容であり、「変換前ＩＰアドレス」が「yyy.yyy.yyy.yyy」に対応する「変換前ポート番号」にポート番号「ｍｍｍ」が登録され、「変換後ＩＰアドレス」が「ccc.ccc.ccc.ccc」の変換後ポート番号に、ポート番号「jjj」が登録される。また、「変換前ＩＰアドレス」が「bbb.bbb.bbb.bbb」に変換前ポート番号に、ポート番号「kkk」が登録される。
【００４３】
(16)図１４に示されるように、送信先のルータ３０は、通信先の端末に対して、自分自身のグローバルアドレスddd.ddd.ddd.dddの使用されていないポート番号（lll）を選択し、端末５０のbbb.bbb.bbb.bbbのkkkに対して対応付ける。これで、ddd.ddd.ddd.ddd：lllとbbb.bbb.bbb.bbb：kkkの変換規則が生成され、それが変換規則ＤＢ３４ｄに登録される。また、送信元のルータ２０に、ルータ３０で端末５０に対応付けたポート番号（lll）を伝える。
(17)図１４に示されるように、送信元のルータ２０に、ルータ３０で端末５０に対応付けたポート番号（lll）が伝えられたことにより、仮想端末４０Ｖと端末５０の対応がとれ、xxx.xxx.xxx.xxx：kkkと、ddd.ddd.ddd.ddd：lllとの変換規則が生成され、保持していたパケット（ccc.ccc.ccc.ccc:jjj→ddd.ddd.ddd.ddd:???)に適用すると、通信可能なパケット（ccc.ccc.ccc.ccc:jjj→ddd.ddd.ddd.ddd:lll)となり、実際の通信フェーズに移行する。
【００４４】
＜実際の通信＞
(18)ルータ２０は、端末４０から受け取ったパケットを図１５（ａ）に示した内容の変換規則ＤＢ２４ｄを用いて、パケットの変換を行い、変換されたパケットをグローバルネットワークＧＮに向けて送信する。図１６はこの様子を示している。
(19)ルータ３０では、図１５（ｂ）に示した内容の変換規則ＤＢ３４ｄを用いてパケットの逆変換を行う。
(20)その結果、端末４０から仮想端末４０Ｖに向けて送信されたパケットは、グローバルネットワークＧＮ、ルータ３０、仮想端末５０Ｖに到達し、その後、図１７に示されるように、端末５０に到達する。
なお、以上の説明は、端末４０から端末５０を相手とした通信を行う場合の例であるが、端末５０から端末４０を相手とした通信は、逆の手順となる。
また、管理サーバ１０の機能は、ルータ２０又はルータ３０に備えるようにしても良い。
【００４５】
このように、本実施形態の通信支援システムでは、通信相手の端末５０（４０）を、あたかも通信元のプライベートネットワークＰＮ＃１（ＰＮ＃２）上の端末４０（５０）に隣接する仮想ネットワークＰＮ＃１（ＰＮ＃２）に存在する仮想端末４０Ｖ（５０Ｖ）にみせかけ、通信を行うときには、通信元の端末４０から、実際のプライベートＩＰアドレスとは異なる仮想アドレスをもつ仮想端末４０Ｖに対して通信を行うようにしたので、同じアドレス体系の端末４０，５０同士であっても、プライベートネットワーク間通信が可能になる。また、グローバルＩＰアドレスを双方のルータ２０，３０で１つずつ保持しているだけで十分なので、ＮＡＴ方式が抱えるアドレス枯渇の問題を回避することができる。また、ＣＩＰＡ方式が抱えるプライベートネットワーク内部の複数の端末に送信するときに、通信先のアドレスがすべて通信先のルータとなってＤＮＳ検索と実際の通信とを対応付けなければならない問題は、通信先のアドレスがそれぞれ別の仮想アドレスになるため、ＤＮＳ検索と実際の通信とを対応付ける必要がなくなり、解消される。
【００４６】
本実施形態の通信支援システムでは、また、プライベートネットワークＰＮ＃１から仮想ネットワークＶＮ＃１への通信を、グローバルネットワークＧＮ上で行うルータ２０，３０間の通信に変換し、さらに、ルータ２０、３０間の通信を、仮想ネットワークＶＮ＃１から通信先のプライベートネットワークＰＮ＃２の通信に変換するようにしたので、上記のプライベートネットワーク間通信が容易になるという利点がある。本実施形態の例では、通信の変換は、通信元ＩＰアドレス、通信先ＩＰアドレス、通信元ポート番号、通信先ポート番号を双方のルータ２０，３０で変換することにより実現されるため、ポート番号あるいはそれに代わる情報（ポート情報）が書き込まれているすべてのトランスポートプロトコルで利用が可能になる。具体的には、ＳＴＵＮ方式のようにＵＤＰのみに適用するのではなく、ＴＣＰやＵＤＰに関係なく通信が可能になる。
【００４７】
本実施形態の通信支援システムでは、また、通信元の端末４０，４０Ｖと、実際の通信先の端末５０，５０Ｖとを対応付けるための通信の変換を、ポート番号をキーとして行っている。つまり、通信元のプライベートネットワークＰＮ＃１から通信元の仮想ネットワークＶＮ＃１への通信を、通信元と通信先のルータ２０，３０間の通信に変換するための変換規則と、通信元と通信先のルータ２０，３０間の通信を、通信先の仮想ネットワークＶＮ＃２から通信先のプライベートネットワークＰＮ＃２の通信に変換するための変換規則とを、ポート番号をキーにして呼び出して行っている。ポート番号は、ルータ２０，３０間のネゴシエーションにより決定される。ポート番号を利用することにより、拡張ＳＴＵＮ方式のように制御用パケットを頻繁にやりとりすることが不要となる。
【産業上の利用可能性】
【００４８】
本発明は、ネットワーク用品としての利用が可能である。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施の形態例となる通信支援システムの全体構成図。
【図２】本実施形態における通信支援システムの機能ブロック構成図。
【図３】（ａ）はアドレスＤＢ、（ｂ）は変換規則ＤＢ、（ｃ）は仮想アドレスＤＢの内容例を示した図。
【図４】通信支援システムの動作手順を示したシーケンス図。
【図５】仮想ネットワークを加えた通信支援システムの全体構成図。
【図６】（ａ）はアドレスＤＢ、（ｂ）は通信元のルータの変換規則ＤＢ、（ｃ）は通信先のルータの変換規則ＤＢ、（ｄ）は通信元の仮想アドレスＤＢ、（ｅ）は通信先の仮想アドレスＤＢの内容例を示した図。
【図７】接続要求〜アドレス通知が終わった段階での各ＤＢの内容例を示した図であり、（ａ）は通信元のルータの変換規則ＤＢ、（ｂ）は通信先のルータの変換規則ＤＢ、（ｃ）は通信元の仮想アドレスＤＢ、（ｄ）は通信先の仮想アドレスＤＢを示す。
【図８】通信元の端末が通信を開始するときの状態を示した図。
【図９】図８の状態のときの通信元のルータの変換規則ＤＢの変化を示した図。
【図１０】通信元のルータが通信先のルータとの間でポート情報のネゴシエーションを始める状態を示した図。
【図１１】図１０の状態のときの通信元のルータの変換規則ＤＢの変化を示した図。
【図１２】通信元のルータから通信先のルータへのネゴシエーションの状態を示した図。
【図１３】図１２の状態のときの通信先のルータの変換規則ＤＢの変化を示した図。
【図１４】通信先のルータから通信元のルータへのネゴシエーションの状態を示した図。
【図１５】（ａ）は図１４の状態のときの通信元のルータの変換規則ＤＢの変化を示した図、（ｂ）は通信先のルータの変換規則ＤＢの変化を示した図。
【図１６】実際の通信の状態を示した図。
【図１７】通信先のプライベートネットワークにおいて、グローバルネットワークを経た通信が仮想端末から目的の端末への通信に変換される状態を示した図。
【符号の説明】
【００５０】
１０・・・管理サーバ、２０，３０・・・ルータ、４０，５０・・・端末、４０Ｖ，５０Ｖ・・・仮想端末、ＧＮ・・・グローバルネットワーク、ＰＮ＃１，ＰＮ＃２・・・プライベートネットワーク、ＶＮ＃１，ＶＮ＃２・・・仮想ネットワーク、１１・・・アドレス登録部、１２・・・接続要求受付部、１３・・・アドレス検索部、１４・・・アドレス配信部、１５・・・アドレスＤＢ、２１，３１・・・ネットワーク調査部、２２，３２・・・アドレス通知部、２３，３３・・・ルーティング部、２４ｄ，３４ｄ・・・変換規則ＤＢ、２４，３４・・・アドレス管理部、２５，３５・・・送信元／送信先変換部、２６，３６・・・ネゴシエーション部、２７，３７・・・アドレス登録部、２８ｄ，３８ｄ・・・仮想アドレスＤＢ、２８，３８・・・仮想アドレス管理部、４１，５１・・・接続要求部、４２，５２・・・調査受付部、４３，５３・・・アドレス受信部、４４，５４・・・通信制御部。
【図１】
2007074059.tif 000003
【図２】
2007074059.tif 000004
【図３】
2007074059.tif 000005
【図４】
2007074059.tif 000006
【図５】
2007074059.tif 000007
【図６】
2007074059.tif 000008
【図７】
2007074059.tif 000009
【図８】
2007074059.tif 000010
【図９】
2007074059.tif 000011
【図１０】
2007074059.tif 000012
【図１１】
2007074059.tif 000013
【図１２】
2007074059.tif 000014
【図１３】
2007074059.tif 000015
【図１４】
2007074059.tif 000016
【図１５】
2007074059.tif 000017
【図１６】
2007074059.tif 000018
【図１７】
2007074059.tif 000019