(57)【特許請求の範囲】
【請求項１】
所定のネットワークと接続されたアドレス変換装置であって、
該ネットワークと接続された端末装置を該ネットワーク内で識別するために該端末装置に付与された内部識別情報と、前記アドレス変換装置を前記ネットワーク外で識別するために該アドレス変換装置に付与された外部識別情報とを対応付けて記憶するＮＡＰＴ変換記憶部と、
前記ネットワークの外部の端末装置から前記外部識別情報が含まれたパケットが送信されてきた場合、該パケットに含まれている外部識別情報と前記内部識別情報とが前記ＮＡＰＴ変換記憶部にて対応付けて記憶されているかどうかを判別するＮＡＰＴ登録判別部と、
前記ＮＡＰＴ登録判別部が、前記外部識別情報と前記内部識別情報とが前記ＮＡＰＴ変換記憶部にて対応付けて記憶されていないと判別した場合、前記パケットを前記ネットワーク内に接続されたすべての端末装置へ送信する送信部とを有するアドレス変換装置。
【請求項２】
請求項１に記載のアドレス変換装置において、
前記ネットワークと接続された端末装置のうちで前記パケットの宛先の候補となる端末装置を含む宛先候補登録情報を記憶するプライベートアドレス登録部を有し、
前記送信部は、前記パケットを、前記宛先候補登録情報に記憶されている端末装置へ送信することを特徴とするアドレス変換装置。
【請求項３】
請求項１に記載のアドレス変換装置において、
前記パケットに含まれている外部識別情報と前記内部識別情報とが前記ＮＡＰＴ変換記憶部にて対応付けて記憶されていると前記ＮＡＰＴ登録判別部が判別した場合、該外部識別情報を前記ＮＡＰＴ変換記憶部にて該外部識別情報と対応付けて記憶されている内部識別情報へ変換するＮＡＰＴ変換部を有し、
前記送信部は、前記変換された内部識別情報が含まれたパケットを該内部識別情報が付与された端末装置へ送信することを特徴とするアドレス変換装置。
【請求項４】
請求項１に記載のアドレス変換装置において、
前記ネットワーク内に接続された端末装置から前記パケットに応答するための応答パケットが送信されてきた場合、前記パケットに含まれていた外部識別情報と、前記応答パケットに含まれる内部識別情報とを対応付けて前記ＮＡＰＴ変換記憶部に記憶するＮＡＰＴ変換登録部を有することを特徴とするアドレス変換装置。
【請求項５】
所定のネットワークと接続されたアドレス変換装置において、
該ネットワークと接続された端末装置を該ネットワーク内で識別するために該端末装置に付与された内部識別情報と、前記アドレス変換装置を前記ネットワーク外で識別するために該アドレス変換装置に付与された外部識別情報とを対応付けて記憶する記憶処理と、
前記ネットワークの外部の端末装置から前記外部識別情報が含まれたパケットが送信されてきた場合、該パケットに含まれている外部識別情報と前記内部識別情報とが前記記憶処理により対応付けて記憶されているかどうかを判別するＮＡＰＴ登録判別処理と、
前記ＮＡＰＴ登録判別処理にて前記外部識別情報と前記内部識別情報とが前記記憶処理により対応付けて記憶されていないと判別した場合、前記パケットを前記ネットワーク内に接続されたすべての端末装置へ送信する送信処理とを有するアドレス変換方法。
【請求項６】
請求項５に記載のアドレス変換方法において、
前記ネットワークと接続された端末装置のうちで前記パケットの宛先の候補となる端末装置を含む宛先候補登録情報を記憶する処理を行い、
前記送信処理では、前記パケットを、前記宛先候補登録情報に記憶されている端末装置へ送信することを特徴とするアドレス変換方法。
【請求項７】
請求項５に記載のアドレス変換方法において、
前記パケットに含まれている外部識別情報と前記内部識別情報とが前記記憶処理により対応付けて記憶されていると前記ＮＡＰＴ登録判別処理にて判別した場合、該外部識別情報を前記記憶処理により該外部識別情報と対応付けて記憶されている内部識別情報へ変換するＮＡＰＴ変換処理を有し、
前記送信処理では、前記変換された内部識別情報が含まれたパケットを該内部識別情報が付与された端末装置へ送信することを特徴とするアドレス変換方法。
【請求項８】
請求項５に記載のアドレス変換方法において、
前記ネットワーク内に接続された端末装置から前記パケットに応答するための応答パケットが送信されてきた場合、前記パケットに含まれていた外部識別情報と、前記応答パケットに含まれる内部識別情報とを対応付けて記憶するＮＡＰＴ変換登録処理を有することを特徴とするアドレス変換方法。
【請求項９】
所定のネットワークと接続されたアドレス変換装置に、
該ネットワークと接続された端末装置を該ネットワーク内で識別するために該端末装置に付与された内部識別情報と、前記アドレス変換装置を前記ネットワーク外で識別するために該アドレス変換装置に付与された外部識別情報とを対応付けて記憶する記憶手順と、
前記ネットワークの外部の端末装置から前記外部識別情報が含まれたパケットが送信されてきた場合、該パケットに含まれている外部識別情報と前記内部識別情報とが前記記憶手順により対応付けて記憶されているかどうかを判別するＮＡＰＴ登録判別手順と、
前記ＮＡＰＴ登録判別手順にて前記外部識別情報と前記内部識別情報とが前記記憶手順により対応付けて記憶されていないと判別した場合、前記パケットを前記ネットワーク内に接続されたすべての端末装置へ送信する送信手順とを実行させるプログラム。
【請求項１０】
請求項９に記載のプログラムにおいて、
前記ネットワークと接続された端末装置のうちで前記パケットの宛先の候補となる端末装置を含む宛先候補登録情報を記憶する手順を、前記アドレス変換装置に実行させ、
前記送信手順では、前記パケットを、前記宛先候補登録情報に記憶されている端末装置へ送信することを特徴とするプログラム。
【請求項１１】
請求項９に記載のプログラムにおいて、
前記パケットに含まれている外部識別情報と前記内部識別情報とが前記記憶手順により対応付けて記憶されていると前記ＮＡＰＴ登録判別手順にて判別した場合、該外部識別情報を前記記憶手順により該外部識別情報と対応付けて記憶されている内部識別情報へ変換するＮＡＰＴ変換手順を、前記アドレス変換装置に実行させ、
前記送信手順では、前記変換された内部識別情報が含まれたパケットを該内部識別情報が付与された端末装置へ送信することを特徴とするプログラム。
【請求項１２】
請求項９に記載のプログラムにおいて、
前記ネットワーク内に接続された端末装置から前記パケットに応答するための応答パケットが送信されてきた場合、前記パケットに含まれていた外部識別情報と、前記応答パケットに含まれる内部識別情報とを対応付けて記憶するＮＡＰＴ変換登録手順を、前記アドレス変換装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス変換装置、アドレス変換方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ＩＰ（Internet Protocol）アドレスの数を節約する観点から、所定範囲の内部ネットワークでのみ用いられるＩＰアドレス（プライベートアドレス）と、インターネットなどの外部と接続可能な外部ネットワーク上で端末装置を識別するためのＩＰアドレス（グローバルアドレス）とを分別して通信を行う技術の普及が進んでいる。
【０００３】
ＩＰアドレスを分別して通信する場合、プライベートアドレスとグローバルアドレスとを相互に変換するネットワークアドレス変換を行うとともに、外部ネットワークにおける通信に用いる外部ポート番号と内部ネットワークにおける通信に用いる内部ポート番号とを相互に変換するポート変換を行う「ＮＡＰＴ（Network Address Port Translation）」を行うことも多い。
【０００４】
ＮＡＰＴを行う場合、ＮＡＰＴ装置にて、当該ＮＡＰＴ装置に付与された１つのグローバルアドレスと複数の外部ポート番号との組と、内部ネットワークの端末装置に付与されたプライベートアドレスと内部ポート番号との組とを対応付けて記憶させておく。
【０００５】
そして、内部ネットワークの端末装置を宛先とするＩＰパケットが外部ネットワークの端末装置から送信されてきた場合、ＮＡＰＴ装置は、当該ＩＰパケットに含まれているグローバルアドレスおよび外部ポート番号を、当該グローバルアドレスおよび外部ポート番号と対応付けて記憶しているプライベートアドレスおよび内部ポート番号へ変換する。さらに、ＮＡＰＴ装置は、変換されたプライベートアドレスおよび内部ポート番号を含むＩＰパケットを当該プライベートアドレスが付与された内部ネットワークの端末装置へ送信する（例えば、特許文献１〜３参照。）。
【特許文献１】特開２００５−１０９７１５号公報
【特許文献２】特開２００７−２１５０９０号公報
【特許文献３】特開２００７−２８２０５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、外部ネットワークの端末装置から開始される通信でＮＡＰＴを行う場合、外部ネットワークの端末装置と内部ネットワークの端末装置との間に存在するＮＡＰＴ装置に、グローバルアドレスおよび外部ポート番号の組と、プライベートアドレスおよび内部ポート番号の組とを対応付けるアドレス変換情報をあらかじめ記憶させておかなければならないという問題点がある。
【０００７】
あらかじめ記憶させておくアドレス変換情報は通常ＮＡＰＴ装置に何らかの手段で設定しておくものであるが、ＮＡＰＴ装置の内部のホスト間にてＵＤＰ（User Datagram Protocol）パケットを双方向に送信するためにＳＴＵＮ（Simple Traversal of UDP through NAT）や「UDP hole punching」のような設定を行わずにＮＡＰＴ変換させるための一般的な技術を利用することもできる。
【０００８】
しかし、特許文献１〜３に開示された技術のように、ＳＴＵＮや「UDP hole punching」に対応するように作成されたアプリケーションしか動作させることができないという問題点がある。また、ＳＴＵＮなどの技術を用いてＮＡＰＴを行う場合、ＮＡＰＴ装置と別に設けられた専用のサーバを含むシステムを構築しなければならないという問題点がある。
【０００９】
本発明は、上述した課題を解決するアドレス変換装置、アドレス変換方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のアドレス変換装置は、所定のネットワークと接続されたアドレス変換装置であって、該ネットワークと接続された端末装置を該ネットワーク内で識別するために該端末装置に付与された内部識別情報と、前記アドレス変換装置を前記ネットワーク外で識別するために該アドレス変換装置に付与された外部識別情報とを対応付けて記憶するＮＡＰＴ変換記憶部と、前記ネットワークの外部の端末装置から前記外部識別情報が含まれたパケットが送信されてきた場合、該パケットに含まれている外部識別情報と前記内部識別情報とが前記ＮＡＰＴ変換記憶部にて対応付けて記憶されているかどうかを判別するＮＡＰＴ登録判別部と、前記ＮＡＰＴ登録判別部が、前記外部識別情報と前記内部識別情報とが前記ＮＡＰＴ変換記憶部にて対応付けて記憶されていないと判別した場合、前記パケットを前記ネットワーク内に接続されたすべての端末装置へ送信する送信部とを有する。
【００１１】
つまり、本発明のアドレス変換装置は、ネットワークの外部の端末装置から送信されてきた宛先不明のパケットを複製して、当該ネットワークのすべての端末へ複製したパケットを送信することで、不明な変換対象に対してパケットを到達可能としている。
【００１２】
また、上記課題を解決するために、本発明のアドレス変換方法は、所定のネットワークと接続されたアドレス変換装置において、該ネットワークと接続された端末装置を該ネットワーク内で識別するために該端末装置に付与された内部識別情報と、前記アドレス変換装置を前記ネットワーク外で識別するために該アドレス変換装置に付与された外部識別情報とを対応付けて記憶する記憶処理と、前記ネットワークの外部の端末装置から前記外部識別情報が含まれたパケットが送信されてきた場合、該パケットに含まれている外部識別情報と前記内部識別情報とが前記記憶処理により対応付けて記憶されているかどうかを判別するＮＡＰＴ登録判別処理と、前記ＮＡＰＴ登録判別処理にて前記外部識別情報と前記内部識別情報とが前記記憶処理により対応付けて記憶されていないと判別した場合、前記パケットを前記ネットワーク内に接続されたすべての端末装置へ送信する送信処理とを有する。
【００１３】
また、コンピュータに実行させるプログラムであって、所定のネットワークと接続されたアドレス変換装置に、該ネットワークと接続された端末装置を該ネットワーク内で識別するために該端末装置に付与された内部識別情報と、前記アドレス変換装置を前記ネットワーク外で識別するために該アドレス変換装置に付与された外部識別情報とを対応付けて記憶する記憶手順と、前記ネットワークの外部の端末装置から前記外部識別情報が含まれたパケットが送信されてきた場合、該パケットに含まれている外部識別情報と前記内部識別情報とが前記記憶手順により対応付けて記憶されているかどうかを判別するＮＡＰＴ登録判別手順と、前記ＮＡＰＴ登録判別手順にて前記外部識別情報と前記内部識別情報とが前記記憶手順により対応付けて記憶されていないと判別した場合、前記パケットを前記ネットワーク内に接続されたすべての端末装置へ送信する送信手順とを実行させる。
【発明の効果】
【００１４】
本発明によれば、ＮＡＰＴ装置のグローバルアドレスおよび外部ポート番号の組と、プライベートアドレスおよび内部ポート番号の組とを対応付けてあらかじめ記憶させておかなくても、内部ネットワークに存在する端末装置へ、外部ネットワークに存在する端末から通信を開始することができる。
【００１５】
また、本発明によれば、外部ネットワークの端末装置および内部ネットワークの端末装置の構成を変更することなく、外部ネットワークの端末装置と内部ネットワークの端末装置とが１対１で接続された状態でのＰ２Ｐ（Peer to Peer）通信を行うことが可能となる。
【００１６】
また、本発明によれば、ＮＡＰＴを行うために、ＮＡＰＴ装置以外の専用のサーバなどを設ける必要がない。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態に従ったアドレス変換システム（アドレス変換装置、アドレス変換方法およびプログラムを含む）を説明する。
【００１８】
まず、本発明のアドレス変換システムの全体構成を説明する。
【００１９】
図1に示すように、本アドレス変換システムは、アドレス変換装置１と、端末装置２と、端末装置３−１、３−２および３−３と、外部ネットワーク４と、内部ネットワーク５とを具備している。
【００２０】
アドレス変換装置１は、例えば、ＮＡＰＴ装置で構成される。
【００２１】
アドレス変換装置１はＮＡＰＴ変換を行う。ここで、内部ネットワーク５の端末装置３−１〜３−３から外部ネットワーク４の端末装置２に対して通信が開始された場合、本発明のアドレス変換装置１が行うＮＡＰＴ変換動作は、一般的なＮＡＰＴ装置が行う動作と同じである。
【００２２】
そのため、以下では、本発明のアドレス変換装置１に特徴的な動作を行う、外部ネットワーク４の端末装置２から内部ネットワーク５の端末装置３−１〜３−３に対して通信を開始する場合について説明する。
【００２３】
アドレス変換装置１は、例えば、端末装置３−１〜３−３を宛先とするＩＰパケットＰＫ（「パケット」）が端末装置２から送信されてきた際に当該ＩＰパケットＰＫの宛先を識別できる場合、ＮＡＰＴ（つまり、ネットワークアドレス変換およびポート変換）を行う。そして、ＮＡＰＴの実行後に、当該ＩＰパケットＰＫを当該ＩＰパケットＰＫの宛先である端末装置３−１〜３−３へ送信する。
【００２４】
なお、この場合のネットワークアドレス変換とは、端末装置２からのＩＰパケットＰＫに含まれている当該ＩＰパケットＰＫの宛先であるアドレス変換装置１のグローバルアドレスＧＡ１を、内部ネットワーク５（「所定のネットワーク」）内にて端末装置３−１〜３−３にそれぞれ付与されたプライベートアドレスＰＡ３−１〜ＰＡ３−３へ変換する処理である。
【００２５】
また、この場合のポート変換とは、端末装置２からのＩＰパケットＰＫに宛先として含まれている外部ポート番号ＥＸ１−１〜ＥＸ１−３を、内部ポート番号ＩＮ３−１〜ＩＮ３−３へ変換する処理である。
【００２６】
ここで、「外部ポート番号ＥＸ１−１〜ＥＸ１−３」とは、グローバルアドレスＧＡ１を用いて、アドレス変換装置１と端末装置２とを接続するためのポート番号である。
【００２７】
また、「内部ポート番号ＩＮ３−１〜ＩＮ３−３」とは、プライベートアドレスＰＡ３−１〜ＰＡ３−３を用いて、端末装置３−１〜３−３とアドレス変換装置１とを接続するためのポート番号である。
【００２８】
なお、この場合のネットワークアドレス変換およびポート変換とは、端末装置２からのＩＰパケットＰＫに含まれているアドレス変換装置１のグローバルアドレスＧＡ１とＥＸ１−１〜ＥＸ１−３を、内部ネットワーク５内にて端末装置３−１〜３−３にそれぞれ付与されたプライベートアドレスＰＡ３−１〜ＰＡ３−３と内部ポート番号ＩＮ３−１〜ＩＮ３−３へ変換する処理である。
【００２９】
従来のＮＡＰＴでは、端末装置２が任意の内部ネットワークの端末装置３−１〜３−３と通信を行うためには、例えばＧＡ１とＥＸ１−１宛てに送信されたパケットの宛先を、端末装置３−１に付与されているＰＡ３−１とＩＮ３−１へ変換するという条件があらかじめ設定されていない場合、ＮＡＰＴ装置は通常変換することはできなかった。
【００３０】
本発明では、例えば、グローバルアドレスＧＡ１と外部ポート番号ＥＸ１−１宛てに送信されたパケットを、端末ＰＡ３−１と内部ポート番号ＩＮ３−１に変換して送信するべきだということがアドレス変換装置１に登録されていなくても、端末装置２から端末装置３−１へ通信を開始させることができるようにすることが可能となる。
【００３１】
つぎに、本発明におけるアドレス変換装置１が有する構成について詳細に説明する。
【００３２】
図２に示すように、アドレス変換装置１は、通信部１１と、ＮＡＰＴ変換記憶部１２と、ＮＡＰＴ登録判別部１３と、ＮＡＰＴ変換部１４と、ＮＡＰＴ変換登録部１５と、プライベートアドレス登録部１６と、パケット複製部１７と、応答判別部１８とを有している。
【００３３】
これらのうち、一般的なＮＡＰＴ装置に対して特徴的な本発明のアドレス変換装置１の構成要素は、プライベートアドレス登録部１６、パケット複製部１７および応答判別部１８である。
【００３４】
通信部１１は、例えば、通信モジュールで構成され、アドレス変換装置１と、端末装置２または端末装置３−１〜３−３とを通信可能に接続することにより、アドレス変換装置１と、端末装置２または端末装置３−１〜３−３との間で任意の情報を送受信する。
【００３５】
例えば、通信部１１は、端末装置２から端末装置３−１〜３−３のいずれか宛に送信されてきたＩＰパケットＰＫを受信する。
【００３６】
また、例えば、通信部１１は、端末装置３−１〜３−３から送信されてきた端末装置２を宛先とする応答パケットＲＳを受信する。
【００３７】
また、例えば、通信部１１（「送信部」）は、「送信処理」を実行し、ＮＡＰＴ変換したパケットＰＫもしくは、パケット複製部１７が複製したＩＰパケットＰＫである「複製パケットＣＰ」を、端末装置３−１〜３−３を宛先として送信する。
【００３８】
また、「送信処理」において、通信部１１（送信部）は、端末装置３−１〜３−３のいずれかより送信されてきたＩＰパケットＰＫに応答するための応答パケットＲＳを、外部ネットワーク４に接続された端末装置２へ送信する。
【００３９】
ＮＡＰＴ変換記憶部１２は、例えば、メモリモジュールで構成され、「記憶処理」を実行することにより任意の情報を記憶する。
【００４０】
例えば、ＮＡＰＴ変換記憶部１２は、アドレス変換情報１２１を記憶する。
【００４１】
アドレス変換情報１２１は、外部識別情報を内部識別情報へ変換するための情報である。
【００４２】
図３（ａ）に示すように、アドレス変換情報１２１は、グローバルアドレスＧＡ１と外部ポート番号ＥＸ１−１〜ＥＸ１−３とを含んだ組（外部識別情報）と、端末装置３−１〜３−３に付与されたプライベートアドレスＰＡ３−１〜ＰＡ３−３と内部ポート番号ＩＮ３−１〜ＩＮ３−３とを含んだ組（内部識別情報）とを対応付ける。
【００４３】
なお、アドレス変換情報１２１には内部ネットワーク５内の端末装置３−１〜３−３すべてについての内部識別情報が記憶されていない場合がある。例えば、端末装置３−１についての内部識別情報（プライベートアドレスＰＡ３−１および内部ポート番号ＩＮ３−１）が記憶されていない場合、アドレス変換情報１２１は、図３（ｂ）に示す状態にある。
【００４４】
図２に示したＮＡＰＴ登録判別部１３は、「ＮＡＰＴ登録判別処理」を実行し、端末装置２からのＩＰパケットＰＫに宛先として含まれている外部識別情報と、端末装置３−１〜３−３のいずれかについての内部識別情報とがアドレス変換情報１２１にて対応付けて記憶されているかどうかを判別する。
【００４５】
より具体的には、ＮＡＰＴ登録判別部１３は、端末装置２からのＩＰパケットＰＫに宛先として含まれているアドレス変換装置１のグローバルアドレスＧＡ１と外部ポート番号ＥＸ１−１〜ＥＸ１−３のいずれかとの組（外部識別情報）と、端末装置３−１〜３−３のプライベートアドレスＰＡ３−１〜ＰＡ３−３のいずれかと内部ポート番号ＩＮ３−１〜ＩＮ３−３のいずれかとの組（内部識別情報）とがアドレス変換情報１２１にて対応付けて記憶されているかどうかを判別する。
【００４６】
例えば、図３（ｂ）に示したアドレス変換情報１２１が記憶されている際に、グローバルアドレスＧＡ１および外部ポート番号ＥＸ１−１を示す外部識別情報が宛先として含まれたＩＰパケットＰＫを端末装置２から受信した場合、ＮＡＰＴ登録判別部１３は、端末装置２からのＩＰパケットＰＫの外部識別情報と内部識別情報とがアドレス変換情報１２１にて対応付けて記憶されていないと判別する。
【００４７】
ＮＡＰＴ変換部１４は、端末装置２からのＩＰパケットＰＫに宛先として含まれている外部識別情報と内部識別情報とがアドレス変換情報１２１にて対応付けて記憶されているとＮＡＰＴ登録判別部１３が判別した場合、「ＮＡＰＴ変換処理」を実行する。
【００４８】
「ＮＡＰＴ変換処理」にて、ＮＡＰＴ変換部１４は、アドレス変換情報１２１に基づいてＮＡＰＴを実行することにより、端末装置２からのＩＰパケットＰＫに宛先として含まれる外部識別情報を内部識別情報へ変換する。
【００４９】
より具体的には、ＮＡＰＴ変換部１４は、端末装置２からのＩＰパケットＰＫに含まれる当該ＩＰパケットＰＫの宛先を、アドレス変換装置１に付与されているグローバルアドレスＧＡ１および外部ポート番号ＥＸ１−１〜ＥＸ１−３のいずれかの組（外部識別情報）から、当該外部識別情報と対応付けて記憶されているプライベートアドレスＰＡ３−１〜ＰＡ３−３のいずれかと内部ポート番号ＩＮ３−１〜ＩＮ３−３のいずれかとの組（内部識別情報）へ変換する。
【００５０】
なお、ＮＡＰＴ変換部１４が、図４（ａ）に示す端末装置２からのＩＰパケットＰＫに対してＮＡＰＴを実行した場合、図４（ｂ）に示すように、ＩＰパケットＰＫのうちで宛先などの付加情報が記述されるヘッダＨＤには、端末装置３−１のプライベートアドレスＰＡ３−１および内部ポート番号ＩＮ３−１の組（内部識別情報）が記述されている。
【００５１】
なお、図５に示すように、アドレス変換装置１の通信部１１は、ＩＰパケットＰＫの宛先が端末装置３−１である場合、ＮＡＰＴ変換部１４によって変換されたプライベートアドレスＰＡ３−１と内部ポート番号ＩＮ３−１とを含んだＩＰパケットＰＫを、プライベートアドレスＰＡ３−１に対応する端末装置３−１へ送信する。
【００５２】
ＮＡＰＴ変換登録部１５は、ＮＡＰＴ変換部１４がＮＡＰＴ変換に成功した場合でアドレス変換情報１２１に変換結果が存在していない場合に「ＮＡＰＴ変換登録処理」を実行し、アドレス変換情報１２１へＮＡＰＴ変換結果を登録する。
【００５３】
ここでいうＮＡＰＴ変換結果とは、ＮＡＰＴ変換部１４が変換に使用した内部識別情報（プライベートアドレスＰＡ３−１〜ＰＡ３−３のいずれか、および、内部ポート番号ＩＮ３−１〜ＩＮ３−３のいずれか）と、外部識別情報（アドレス変換装置１のグローバルアドレスＧＡ１、および、外部ポート番号ＥＸ１−１〜ＥＸ１−３のいずれか）との対応付の関係である。
【００５４】
プライベートアドレス登録部１６は、内部ネットワーク５の端末装置３−１〜３−３からの任意の通信データを受信した場合に「プライベートアドレス登録処理」を実行し、内部ネットワーク５に存在する端末装置３−１〜３−３全てを、自己が具備するメモリ（図示せず）内の宛先候補登録情報１６１へ登録しておく。これは、ＮＡＰＴ登録判別部１３が未知の内部ネットワークのアドレスを検出したら登録しておいてもよいし、アドレス変換装置１で使用されるＡＲＰ（Address Resolution Protocol）の登録情報を利用してもよい。
【００５５】
パケット複製部１７は、端末装置２からのＩＰパケットＰＫに宛先として含まれている外部識別情報と端末装置３−１〜３−３のいずれかについての内部識別情報とがアドレス変換情報１２１にて対応付けて記憶されていないとＮＡＰＴ登録判別部１３が判別した場合に、端末装置２からのＩＰパケットＰＫの宛先をプライベートアドレス登録部１６が登録した全てのプライベートアドレスに変換し、その個数分複製する。
【００５６】
これにより、パケット複製部１７は、すべての端末装置３−１〜３−３それぞれ宛のＩＰパケットＰＫである「複製パケットＣＰ」を生成する。
【００５７】
例えば、ＩＰパケットＰＫに宛先として含まれている外部識別情報がグローバルアドレスＧＡ１および外部ポート番号ＥＸ１−１であるものとする。この場合、図３（ｂ）に示したアドレス変換情報１２１には、当該外部識別情報と、端末装置３−１〜３−３のいずれかについての内部識別情報とが対応付けて記憶されていない。
【００５８】
その場合、図６に示すように、アドレス変換装置１の通信部１１は、プライベートアドレス登録部１６が把握している端末装置３−１〜３−３宛てにパケット複製部１７が生成した複製パケットＣＰ（ＩＰパケットＰＫ）を送信する。なお、図６の例では、端末装置３−２および３−３それぞれは、内部ポート番号ＩＮ３−２およびＩＮ３−３で待受しているが、ＩＮ３−１では待受していないため、内部ポート番号ＩＮ３−１に対して複製パケットＣＰが送信されても応答しない。
【００５９】
応答判別部１８は必須の構成要素ではないが、通信部１１が送信した複製パケットＣＰに対する応答パケットＲＳが端末装置３−１〜３−３のいずれかより送信されてきたかどうかを判別する。
【００６０】
応答パケットＲＳの数が１つである場合には応答判別部１８は動作せず、従来のＮＡＰＴ動作と同様にＮＡＰＴ変換登録部１５により「ＮＡＰＴ変換登録処理」が実行される。なお、応答パケットＲＳの数が複数である場合には、複数の応答パケットＲＳのうちのいずれか１つを除いた残りの応答パケットＲＳを廃棄するようにしてもよい。例えば、最初に受信した１番目の応答パケットＲＳだけが従来のＮＡＰＴ動作と同様にＮＡＰＴ変換登録部１５により「ＮＡＰＴ変換登録処理」が実行されるようにし、２番目以降に受信した応答パケットＲＳを廃棄してもよい。
【００６１】
つぎに、上記構成を有するアドレス変換システムにおいて、アドレス変換装置１が端末装置２と端末装置３−１〜３−３とを接続する動作を説明する。
【００６２】
例として、アドレス変換装置１のアドレス変換情報１２１が図３（ｂ）の状態においてグローバルアドレスＧＡ１および外部ポート番号ＥＸ１−１へ通信を行い、端末３−１と通信が成立し、アドレス変換情報が図３（ａ）の状態となる場合について説明する。
【００６３】
端末装置２は、アドレス変換装置１のグローバルアドレスＧＡ１および外部ポート番号ＥＸ１−１が宛先として含まれているＩＰパケットＰＫを、アドレス変換装置1へ送信する。
【００６４】
この場合、図７に示すように、アドレス変換装置1の通信部１１は、端末装置２から送信されてきたＩＰパケットＰＫを受信する（ステップＳ１１）。
【００６５】
続いて、ＮＡＰＴ変換部１４はアドレス変換情報１２１を参照してＮＡＰＴ変換を試みるが、ＩＰパケットＰＫに宛先として含まれている外部識別情報が、どの端末装置３−１〜３−３についての内部識別情報へ変換するべきか識別できない。このような状態はいわゆる「ポートマッピング」がされていない状態に相当するものであり、一般的なＮＡＰＴ技術では、ＩＰパケットＰＫは、端末装置３−１〜３−３いずれへも送信されることなく廃棄するか、あらかじめ設定されている１つの宛先に対して送信することしかできない。
【００６６】
本発明のアドレス変換装置１では、この場合に全ての端末装置３−１〜３−３に送信を行うように動作するため、パケット複製部１６が、ＩＰパケットＰＫを複製することにより複製パケットＣＰを生成する（ステップＳ１２）。なお、プライベートアドレス登録部１６が記憶しているＩＰアドレス分のパケットを生成し、パケットの宛先アドレスはそれぞれ端末３−１〜３−３のＩＰアドレスに書き換えておく。
【００６７】
そして、通信部１１は、端末装置３−１〜３−３すべてへ、パケット複製部１７が生成した複製パケットＣＰを送信する（ステップＳ１３）。なお、汎用的な手法ではないが、通信部１１は、パケット複製部１６を使用せずブロードキャスト配信を行うようにしてもよい。
【００６８】
これにより、ＩＰパケットＰＫに宛先として含まれている外部識別情報を端末装置３−１〜３−３のいずれの内部識別情報へ変換するかをＮＡＰＴ変換部１４が識別できない場合でも、端末装置２からのＩＰパケットＰＫを端末装置３−１へ送信することができる。本来パケットＰＫの宛先でない端末装置３−２や３−３にも変換したパケットを送信しているが、これらは複製パケットＣＰを受信しないので問題にならない。
【００６９】
以下、端末３−１が応答パケットＲＳを送信する場合と、送信しない場合とについて順番に説明する。
【００７０】
端末３−１が応答パケットＲＳを返す場合、応答判別部１８が、通信部１１が送信した複製パケットＣＰ（つまり、端末装置２からのＩＰパケットＰＫ）に対する応答パケットＲＳが端末装置３−１〜３−３のいずれかより送信されてきたかどうかを判別する（ステップＳ１４）。
【００７１】
端末装置３−１〜３−３のいずれかより応答パケットＲＳが送信されてきたと応答判別部１８が判別した場合、当該応答パケットＲＳが複製パケットＣＰに対する最初（1番目）の応答であれば、通信部１１は、当該応答パケットＲＳを端末装置２へ送信する（ステップＳ１５）。
【００７２】
具体的には、例えば、端末装置３−１のみが内部ポート番号ＩＮ３−１を開いており、端末装置２から端末装置３−１の当該内部ポート番号ＩＮ３−１に対して通信を開始した場合、当該内部ポート番号ＩＮ３−１を開いている端末装置３−１から応答パケットＲＳが送信されてくる。
【００７３】
また、ＮＡＰＴの一般的な機能によりＮＡＰＴ変換登録部１５が「ＮＡＰＴ変換登録処理（ステップＳ１６）」を実行する。
【００７４】
つまり、ＮＡＰＴ変換登録部１５は、当該応答パケットＲＳ内の送信元（この例では、端末装置３−１）についての内部識別情報（プライベートアドレスＰＡ３−１および内部ポート番号ＩＮ３−１）と、当該応答パケットＲＳに対応するＩＰパケットＰＫに宛先として含まれていた外部識別情報（アドレス変換装置１のグローバルアドレスＧＡ１および外部ポート番号ＥＸ１−１）とを対応付けて、アドレス変換情報１２１へ記憶する。この説明例では、図３（ｂ）に示したアドレス変換情報１２１がＮＡＰＴ変換記憶部１２に記憶されているため、ステップＳ１６におけるＮＡＰＴ変換登録部１５の処理により、図３（ａ）に示したアドレス変換情報１２１が記憶される。
【００７５】
なお、ステップＳ１３においては、ＩＰパケットＰＫに応答するための応答パケットＲＳを送信してきた端末装置３−１以外の端末装置３−２〜３−３へも、パケット複製部１７により生成されたＩＰパケットＰＫが送信される。しかし、端末装置３−１以外の端末装置３−２〜３−３では端末装置２との接続を確立するための内部ポート番号ＩＮ３−２〜ＩＮ３−３が開いていない。そのため、端末装置３−２〜３−３と端末装置２との間での通信は継続されない。
【００７６】
そして、応答パケットＲＳの送信元である端末装置３−１の内部識別情報と、当該応答パケットＲＳに対応するＩＰパケットＰＫに宛先として含まれていた外部識別情報とを対応付けて一旦記憶してしまえば、それ以降は、パケット複製部１７によるＩＰパケットＰＫの複製を行うことなく、ＮＡＰＴ変換部１４が、アドレス変換情報１２１に基づいて、アドレス変換装置１についての外部識別情報から、端末装置３−１についての内部識別情報への変換を行う。これにより、端末装置２と端末装置３−１との通信を確立することができる。
【００７７】
なお、ステップＳ１４において、応答パケットＲＳが端末装置３−１以外にも端末装置３−２や３−３からも送信され、複数の応答パケットＲＳを応答判別部１８が判別した場合（内部ネットワーク５内の複数の端末装置が端末装置２から送信されたパケットＰＫを受信可能な状態になっていた場合）は原理的にどの端末装置３−１〜３−３と通信させるのが適切かを決定する手段がないので、応答判別部１８が適当な条件で１つ以外のパケットを廃棄するべきである（例えば、最初に受信した応答パケットＲＳ以外を廃棄）。ただし、このような環境では使用するべきではないので、その使用制限が可能であれば応答判別部１８はなくても良い。
【００７８】
端末装置３−１が応答パケットＲＳを返さない場合（ＵＤＰでかつ応答が不要な通信である場合など）は、端末装置３−１〜３−３のどれからも応答パケットＲＳが送信されてこない。そのため、端末装置２からのＩＰパケットＰＫが複製され続けるが、外部ネットワーク４に接続されている端末装置２と、内部ネットワーク５に接続されている端末装置３−１〜３−３のうちＵＤＰを受信すべき端末装置との通信は成立していることになる。
【００７９】
以上で、アドレス変換装置１が端末装置２と端末装置３−１〜３−３とを接続する一連の動作が終了する。
【００８０】
以上説明したように、本発明によれば、ＩＰパケットＰＫに宛先として含まれている外部識別情報をどの端末装置３−１〜３−３に付与された内部識別情報へ変換するべきかＮＡＰＴ変換部１４が識別できない、つまり、ポートマッピングがされていない場合でも、端末装置２から送信されてきたＩＰパケットＰＫを当該ＩＰパケットＰＫの宛先の端末装置３−１〜３−３のいずれかへ送信することができる。
【００８１】
また、本発明によれば、利用者がＮＡＰＴ設定（外部識別情報と内部識別情報とを対応付けた状態でのアドレス変換情報１２１への記憶）を行わなくても、外部ネットワーク４内の端末装置２と内部ネットワーク５内の端末装置３−１〜３−３との通信を行うことが可能となる。例えば、本発明のアドレス変換装置１を家庭用ルータへ適用した場合、利用者がＮＡＰＴの設定を行うことなしに、外部ネットワーク４から内部ネットワーク５の端末にアクセスさせることが容易に可能となり、利用者にとっての利便性を向上させることができる。このため、「Ｐ２Ｐ（Peer to Peer）通信」が必要なアプリケーションも設定不要で容易に利用可能である。
【００８２】
なお、本発明においては、アドレス変換装置１内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムをアドレス変換装置１にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをアドレス変換装置１に読み込ませ、実行するものであってもよい。この記録媒体に記録されたプログラムは、例えば、アドレス変換装置１が有するＮＡＰＴ登録判別部１３、ＮＡＰＴ変換部１４、ＮＡＰＴ変換登録部１５、プライベートアドレス登録部１６、パケット複製部１７および応答判別部１８にて読み込まれ、ＮＡＰＴ登録判別部１３、ＮＡＰＴ変換部１４、ＮＡＰＴ変換登録部１５、プライベートアドレス登録部１６、パケット複製部１７および応答判別部１８の制御によって、上述したものと同様の処理が行われる。
【００８３】
ここで、アドレス変換装置１が有するＮＡＰＴ登録判別部１３、ＮＡＰＴ変換部１４、ＮＡＰＴ変換登録部１５、プライベートアドレス登録部１６、パケット複製部１７および応答判別部１８は、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態に従ったアドレス変換システムの構成を示す図である。
【図２】図１に示したアドレス変換装置の構成を示す図である。
【図３】（ａ）図２に示したアドレス変換情報のデータ構造の第１の例を示す図である。（ｂ）図２に示したアドレス変換情報のデータ構造の第２の例を示す図である。
【図４】（ａ）アドレス変換装置によってＮＡＰＴが行われる前のＩＰパケットのデータ構造の一例を示す図である。（ｂ）アドレス変換装置によってＮＡＰＴが行われた後のＩＰパケットのデータ構造の一例を示す図である。
【図５】アドレス変換情報にて外部識別情報と内部識別情報とが対応付けて記憶されているときの、アドレス変換システムのシーケンスを示す図である。
【図６】アドレス変換情報にて外部識別情報と内部識別情報とが対応付けて記憶されていないときの、アドレス変換システムのシーケンスを示す図である。
【図７】アドレス変換装置が、外部ネットワーク内の端末装置と内部ネットワーク内の端末装置とを接続する動作を示すフローチャートである。
【符号の説明】
【００８５】
１  アドレス変換装置
１１  通信部
１２  ＮＡＰＴ変換記憶部
１２１  アドレス変換情報
１３  ＮＡＰＴ登録判別部
１４  ＮＡＰＴ変換部
１５  ＮＡＰＴ変換登録部
１６  プライベートアドレス登録部
１６１  宛先候補登録情報
１７  パケット複製部
１８  応答判別部
２、３−１、３−２、３−３  端末装置
４  外部ネットワーク
５  内部ネットワーク
【図１】
0005201579.tif 000002
【図２】
0005201579.tif 000003
【図３】
0005201579.tif 000004
【図４】
0005201579.tif 000005
【図５】
0005201579.tif 000006
【図６】
0005201579.tif 000007
【図７】
0005201579.tif 000008