(57)【要約】【課題】プライベートアドレスしか持たないユーザ間における直接通信や、グローバルアドレスを持つ端末からプライベートアドレスを持つ端末へ容易に直接通信を行うことができる手段を提供する。【解決手段】ユーザが通信網に接続した際にネットワーク中継装置にユーザのＩＤを通知してユーザの端末とネットワーク中継装置の間に通信状態を確立し、通信網上においてユーザが直接グローバルアドレスを持たない場合、又はユーザがグローバルアドレスを持っていても通信を行いたい相手がグローバルアドレスを持たない場合、各端末とネットワーク中継装置の通信状態の中継を行うことにより、ユーザの端末と通信を行いたい一又はそれ以上の端末又はサーバーと擬似的な直接通信を確立する。【選択図】　　　　図１
2004056610.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが通信網に対して一次的な接続を持たない場合、又はユーザが一次的な接続を持っていても通信を行いたい相手が通信網に対して一次的な接続を持たない場合、ユーザと通信を行う一又はそれ以上の通信相手が擬似的な直接通信を行うことを可能にするネットワーク中継装置であって、通信網を介して個々の端末よりユーザＩＤの通知を受けてセッションを確立する初期登録手段と、セッションが確立された後、個々の端末より擬似的な直接通信を行いたい相手のＩＤの通知を受け、すでに確立された個々のセッションを中継することにより、擬似的な直接通信を確立するセッション中継手段とを備えたことを特徴とするネットワーク中継装置。
【請求項２】
請求項１のネットワーク中継装置において、セッションを中継する際には、ユーザから要求され許可されたユーザ間のセッションのみを接続することを特徴とするネットワーク中継装置。
【請求項３】
ユーザが通信網に対して一次的な接続を持たない場合、又はユーザが一次的な接続を持っていても通信を行いたい相手が通信網に対して一次的な接続を持たない場合、ユーザと通信を行う一又はそれ以上の通信相手が擬似的な直接通信を行うことを可能にするネットワーク中継方法であって、通信網を介して個々の端末よりユーザＩＤの通知を受けてセッションを確立する初期登録ステップと、セッションが確立された後、個々の端末より擬似的な直接通信を行いたい相手のＩＤの通知を受け、すでに確立された個々のセッションを中継することにより、擬似的な直接通信を確立するセッション中継ステップとを含むことを特徴とするネットワーク中継方法。
【請求項４】
ユーザが通信網に対して一次的な接続を持たない場合、又はユーザが一次的な接続を持っていても通信を行いたい相手が通信網に対して一次的な接続を持たない場合、ユーザと通信を行う一又はそれ以上の通信相手が擬似的な直接通信を行うことを可能にするネットワーク中継装置のためのプログラムであって、コンピュータを、通信網を介して個々の端末よりユーザＩＤの通知を受けてセッションを確立する初期登録手段、および、セッションが確立された後、個々の端末より擬似的な直接通信を行いたい相手のＩＤの通知を受け、すでに確立された個々のセッションを中継することにより、擬似的な直接通信を確立するセッション中継手段として機能させるためのネットワーク中継プログラム。
【請求項５】
請求項４に記載されたネットワーク中継プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はユーザが通信網に対して一次的な接続を持たない場合でも、通信網上の他のホストと直接的な通信を擬似的に成立させるネットワーク中継装置及び中継方法、中継プログラム並びにそのプログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
通信網を利用するユーザは、通信網に接続する際に１つのグローバルアドレス（通信網との一次的な接続において割り当てられる一意なアドレスであり、通信網上ではこのグローバルアドレスを持つものだけが通信できると定義する）しか割り当てられないか、プライベートアドレス（本来、閉じられた通信網のみにおいて使用可能である。通信網に対して一次的な接続を持たない場合に割り当てられ、プライベートアドレスはアドレス変換を行わなければ通信網上の他の端末と通信できないアドレスと定義する）を割り当てられる場合がある。複数の端末を接続する際や、プライベートアドレスを割り当てられた端末はグローバルアドレスを持つことができず、アドレス変換（ＮＡＴ）を介して通信網へ接続を行うことにより、制限された擬似的な直接通信を行うことしかできなかった。この場合、アドレス変換を介して接続されている端末から、通信網に接続しているグローバルアドレスを直接持つ端末に対する直接通信を行うことは容易にできても、通信網に接続しているグローバルアドレスを直接持つ端末から、アドレス変換を介して接続されている端末への直接通信を行うことは事前にアドレス変換の設定を行う必要があり、かつ設定を行ったとしても、非常に制限された形でしか通信を行うことができない。またプライベートアドレスしか持たない端末間では通信を行うことができないという問題があったが、本発明を使用すれば、その通信相手のアドレスの種類を意識せず制限のない通信を行うことが可能になる。
【０００３】
またＭｉｃｒｏｓｏｆｔのＷｉｎｄｏｗｓ　ＭｅｓｓｅｎｇｅｒでもＵＰｎＰを使用することにより同様にユーザのアドレスに依存せずメッセージのやり取りおよび、ファイル、音声、動画の送受信が可能である。しかしＷｉｎｄｏｗｓ　Ｍｅｓｓｅｎｇｅｒで全ての機能を使用するためには各ユーザが使用するルータがＷｉｎｄｏｗｓ　Ｍｅｓｓｅｎｇｅｒに対応する必要がある。加えてＷｉｎｄｏｗｓ　Ｍｅｓｓｅｎｇｅｒで提供される機能内の通信しか行うことができず、通信を行う汎用的なソフトウェア全てがユーザのアドレスに依存せず、通信を行えるわけではない。本発明を使用すればユーザのアドレスに依存せず、通信を行う汎用的なソフトウェアが通信を行うことが可能である。
【０００４】
ＶＰＮ（Ｖｉｒｔｕａｌ　Ｐｒｉｖａｔｅ　Ｎｅｔｗｏｒｋ）のようなＴｕｎｎｅｌｉｎｇ技術との違いは、ＶＰＮは２点間における接続であり、その接続形態がコンセントレータ型であれば、特定のネットワークに対してＶＰＮで接続することで、そのネットワークに存在する複数の端末間で通信を行う事が可能である。しかし特定の通信したい相手端末とだけ通信を行うという制御は不可能である。一方、エンド−エンド型でＶＰＮ接続を行うことでは特定の通信したい相手端末とだけ通信を行うことが可能である。しかしこの方法では特定の通信したい相手端末数だけＶＰＮセッションを確立する必要があり、ユーザに対する負担が大きい。
【０００５】
本発明は各端末が１つのネットワーク中継装置に対してセッションを確立すれば、ネットワーク中継装置がユーザの要求に応じたセッションの橋渡しを行うため、他の端末からは通信状態を見られることなく、通信したい相手と制限のない通信を行うことが可能になることを特徴とする。
【０００６】
【発明が解決しようとする課題】
上述したようにグローバルアドレスを持たない端末は、アドレス変換（ＮＡＴ）を介して通信網に接続するため、制限された擬似的な直接通信しか行うことができない。このため、プライベートアドレスしか持たないユーザ間における直接通信や、グローバルアドレスを持つ端末からプライベートアドレスを持つ端末への容易な直接通信を行うことができない。また２点間での通信状態を確立するＶＰＮでは複数の端末と擬似的な直接通信を行うためには、複数の通信状態を確立する必要がある。本発明はこれらの問題を解決する手段を提供することにある。
【０００７】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
【０００８】
即ち、本発明によるネットワーク中継装置は、ユーザが通信網に接続した際にネットワーク中継装置にユーザのＩＤを通知してユーザの端末とネットワーク中継装置の間に通信状態を確立し、通信網上においてユーザが直接グローバルアドレスを持たない場合、又はユーザがグローバルアドレスを持っていても通信を行いたい相手がグローバルアドレスを持たない場合、各端末とネットワーク中継装置の通信状態の中継を行うことにより、ユーザの端末と通信を行いたい一又はそれ以上の端末又はサーバーと擬似的な直接通信を確立することを特徴とするネットワーク中継装置である。
【０００９】
【発明の実施の形態】
図１は、本発明によるネットワーク中継装置を利用したユーザサービスの実施例を示すシステム構成図で、初めにユーザの端末は専用のクライアントソフトを用いて通信網に接続するとネットワーク中継装置とセッションを確立し（ステップａ、ステップｂ、ステップｃ）、ネットワーク中継装置にユーザＩＤを通知し（ステップ１、ステップ２、ステップ３）、ネットワーク中継装置はセッションＩＤ、ユーザＩＤ、ＩＰアドレス、ポート番号を認証データベースに登録する。
【００１０】
図２は認証データベースのデータ構造の一例の構成を示す線図で、本実施例で使用されるセッションＩＤ、ユーザＩＤ、ＩＰアドレス、ポート番号、個別データ（ユーザのパスワード等のユーザ認証情報等）が格納されている。
【００１１】
次に双方のユーザがプライベートアドレスを持っている例を示す。ユーザ２がユーザ１に対して通信を行おうとする場合、ネットワーク中継装置に対して、ユーザ１のＩＤを通信相手として指定し（ステップ４）、通信相手の指定を受けネットワーク中継装置はユーザ１とネットワーク中継装置とのセッションと、ユーザ２とネットワーク中継装置とのセッションを中継する（ステップ５）。
【００１２】
次に片方のユーザ１がプライベートアドレスを持っており、もう片方のユーザ３がグローバルアドレスを持っている例を示す。この場合、一旦ユーザ１からユーザ３へのセッションが確立されてしまえば本発明を使用しなくてもユーザ３からユーザ１への通信は可能であるが、ユーザ３からユーザ１へセッションを確立することは本発明を使用しなければ不可能である。（なぜならば、ユーザ３からユーザ１は不可視であるため、ユーザ３がユーザ１に対して通信を行いたいという要望をユーザ１が知らなければ、ユーザ１からユーザ３へ事前にセッションを確立することが不可能であるからである。）ユーザ３からユーザ１へ直接通信を行うためには、まずユーザ３がネットワーク中継装置に通信したいユーザ１のＩＤを通信相手として指定し（ステップ６）、通信相手の指定を受けネットワーク中継装置はユーザ１とネットワーク中継装置とのセッションと、ユーザ３とネットワーク中継装置とのセッションを中継する（ステップ７）。以上の方法を組み合わせる事により複数のユーザと同時に通信を行うことが可能である。
【００１３】
本実施例における具体的なセッションの中継方法は、パケットヘッダの書き換えにより、中継を行う。図３にセッション中継時のパケット構造を示す。従来のＩＰパケットにおけるデータ部分に、セッション中継用の拡張ヘッダを埋め込み、パケットを受信したネットワーク中継装置システムが拡張ヘッダよりＩＰヘッダとプロトコルヘッダの内容を書き換えることにより、セッションの中継を行う。
【００１４】
ここで、ネットワーク中継装置がユーザ１からユーザ２へパケットを中継する場合を例としてパケットヘッダの書き換えを具体的に説明する。ネットワーク中継装置がユーザ１から受信するパケットは、図３のＩＰヘッダ、プロトコルヘッダの送信元アドレス、送信元ポート番号は、それぞれユーザ１のアドレス変換後のアドレス（グローバルアドレス）、ポート番号であり、送信先アドレス、送信先ポート番号は、それぞれネットワーク中継装置のアドレス、ポート番号である。また、データ部分の拡張ヘッダの通信元ＩＤ、通信元ポート番号は、それぞれユーザ１のユーザＩＤ、アドレス変換前の（プライベートアドレス時の）ポート番号であり、データ部分の通信先ＩＤ、通信先ポート番号は、それぞれユーザ２のユーザＩＤ、ユーザ２に対して通信を行いたいポート番号である。このユーザ１からのパケットを受信したネットワーク中継装置は、図３のＩＰヘッダ、プロトコルヘッダの送信元アドレス、送信元ポート番号を、それぞれネットワーク中継装置のアドレス、ポート番号に書き換える。また、ネットワーク中継装置は、受信したパケットの拡張ヘッダの通信先ＩＤを参照し、認証データベースを検索して、ＩＰヘッダ、プロトコルヘッダの送信先アドレス、送信先ポート番号を書き換える。このとき書き換えられる送信先アドレス、送信先ポート番号は、ユーザ２端末のクライアントソフトとネットワーク中継装置の間ですでに確立されたセッションのアドレス、ポート番号である。以上のようにＩＰヘッダ、プロトコルヘッダを書き換えた後、ネットワーク中継装置はパケットをユーザ２に送信する。そのパケットを受信したユーザ２端末のクライアントソフトは、拡張ヘッダの通信先ポート番号を検出し、そのポート番号にデータを転送することで仮想的な直接通信を行う。ユーザ２からユーザ１にパケットを送信する場合も同様である。
【００１５】
また、ユーザ１が複数のユーザに対してパケットを送信する場合は、ユーザ１端末のクライアントソフトが、データ部分の拡張ヘッダに複数のユーザの通信先ＩＤ、通信先ポート番号を記してネットワーク中継装置に送信し、ネットワーク中継装置は当該複数のユーザに対してそのパケットを中継する。
【００１６】
図４にネットワーク中継装置のシステム構成を示す。図４において、初期登録手段は、通信網を介して個々の端末よりユーザＩＤの通知を受けて個々の端末とネットワーク中継装置間のセッションを確立し、認証データベースに図２に示すセッションＩＤ、ユーザＩＤ、ＩＰアドレス、ポート番号を登録する。また、セッション中継手段は、セッションが確立された後、個々の端末より擬似的な直接通信を行いたい相手のＩＤの通知を受け、すでに確立された個々のセッションを中継することにより、ユーザ間に擬似的な直接通信を確立する。
【００１７】
図５にネットワーク中継装置の処理フローチャートを示す。初期登録シーケンスは、各ユーザ端末がネットワーク中継装置へ登録を行うフローチャートを示しており、セッション中継シーケンスでは、ユーザ端末間のセッションを中継するまでの動作のフローチャートを示している。
【００１８】
初期登録シーケンスでは、まず、各ユーザ端末（図５ではユーザ１端末、ユーザ２端末）が端末登録要求をネットワーク中継装置に送信し、端末登録要求を受信したネットワーク中継装置は、認証要求を前記各端末に送信する。認証要求を受信したユーザ端末はネットワーク中継装置に認証情報を送信する。認証情報を受信したネットワーク中継装置は認証処理を行った後、セッション確立処理を行い、前記各ユーザ端末にセッション確立を通知すると共に、ユーザ情報を認証データベースに登録する。
【００１９】
セッション中継シーケンスでは、例えば図５に示すように、ユーザ１端末がユーザ一覧情報取得要求をネットワーク中継装置に送信し、ネットワーク中継装置は、登録されているユーザの一覧情報を送信する。ユーザ１端末が通信対象としてユーザ２を通知すると、ネットワーク中継装置はユーザ２に対して通信要求を通知し、ユーザ２端末がユーザ１との通信を許可することを通知すると、ネットワーク中継装置はセッション中継を開始する。これにより、ユーザ端末１およびユーザ端末２はネットワーク中継装置を介して擬似的な直接通信を行うことができる。
【００２０】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【００２１】
【発明の効果】
以上説明したように、本発明によれば、ユーザの端末が通信網においてプライベートアドレスしか持たない場合においてもグローバルアドレスを持っているのと同様な直接通信を行うことができる利点がある。
【図面の簡単な説明】
【図１】ネットワーク中継装置を利用したユーザサービスの実施例を示すシステム構成図である。
【図２】ネットワーク中継装置における認証データベースのデータ構成例を示す図である。
【図３】セッション中継時のパケット構成例を示す図である。
【図４】ネットワーク中継装置のシステム構成図である。
【図５】ネットワーク中継装置の処理フローチャート例を示す図である。
【図１】
2004056610.tif 000003
【図２】
2004056610.tif 000004
【図３】
2004056610.tif 000005
【図４】
2004056610.tif 000006
【図５】
2004056610.tif 000007