(57)【要約】  【課題】  ＮＡＴ装置上に新たなポート番号が割当てられた場合であっても、ＮＡＴ問題を解決してＰ２Ｐアプリケーションを実行することができるネットワークシステム及び通信方法を提供する。  【解決手段】  一の通信装置は、情報を他の通信装置へ送信する前に、該他の通信装置のアドレスを含む擬似パケットをアドレス変換装置を介してポート情報伝達装置へ送信し、ポート情報伝達装置は、受信した擬似パケットに対する応答を一の通信装置へ送信し、アドレス変換装置は、応答により一の通信装置のアドレスに対応する新たなポート情報を割当て、一の通信装置のアドレス及び割当てたポート情報を一の通信装置へ送信する。一の通信装置は、受信した一の通信装置のアドレス及び割当てたポート情報を他の通信装置へ送信し、他の通信装置は、受信した一の通信装置のアドレス及び割当てたポート情報を用いて、一の通信装置との間で情報の送受信を行う。【選択図】      図６
2006333245.tif 000002
【特許請求の範囲】
【請求項１】
相互に通信可能な複数の通信装置、グローバルアドレスとプライベートアドレスとを変換するテーブルを有し、該プライベートアドレス使用時に用いるポート情報を割り当て、前記通信装置間でのデータの送受信を中継するアドレス変換装置、及び該アドレス変換装置と外部ネットワークとの間に接続してあり、前記アドレス変換装置で割り当てられるポート情報を伝達するポート情報伝達装置を備えるネットワークシステムにおいて、
一の通信装置は、
情報を他の通信装置へ送信する前に、該他の通信装置のアドレス及び所定の情報を含む擬似パケットを前記アドレス変換装置を介して前記ポート情報伝達装置へ送信する手段を備え、
前記アドレス変換装置は、
前記擬似パケットの前記一の通信装置のアドレスに対して新たなポート情報を割当てる手段と、
前記一の通信装置のアドレス及び割当てたポート情報を前記ポート情報伝達装置へ送信する手段とを備え、
前記ポート情報伝達装置は、
受信した通信パケットに前記所定の情報が含まれているか否かを判断する手段と、
該手段で、前記所定の情報が含まれていると判断した場合、受信した前記一の通信装置のアドレスに対応するポート情報を前記一の通信装置へ送信する手段とを備え、
前記一の通信装置は、
受信した前記一の通信装置のアドレス及び割当てたポート情報を前記他の通信装置へ送信する手段をさらに備え、
前記他の通信装置は、
受信した前記一の通信装置のアドレス及び割当てたポート情報を用いて、前記一の通信装置との間で情報の送受信を行う手段を備えることを特徴とするネットワークシステム。
【請求項２】
相互に通信可能な複数の通信装置、グローバルアドレスとプライベートアドレスとを変換するテーブルを有し、該プライベートアドレス使用時に用いるポート情報を割り当て、前記通信装置間でのデータの送受信を中継するアドレス変換装置、及び該アドレス変換装置と外部ネットワークとの間に接続してあり、前記アドレス変換装置で割り当てられるポート情報を伝達するポート情報伝達装置を備えるネットワークシステムにおいて、
一の通信装置は、
情報を他の通信装置へ送信する前に、任意のアドレス及び所定の情報を含む擬似パケットを前記アドレス変換装置へ送信する手段を備え、
前記アドレス変換装置は、
前記擬似パケットを受信した場合、前記一の通信装置のプライベートアドレスに新たなポート情報を割当てる手段と、
前記一の通信装置のプライベートアドレスを変換したグローバルアドレス及び割当てたポート情報を前記ポート情報伝達装置へ送信する手段とを備え、
前記ポート情報伝達装置は、
受信した通信パケットに前記所定の情報が含まれているか否かを判断する手段と、
該手段で、前記所定の情報が含まれていると判断した場合、受信した前記一の通信装置のグローバルアドレス、任意のアドレス及び前記一の通信装置のプライベートアドレスに対応するポート情報をメモリに記憶する手段と、
受信した前記一の通信装置のグローバルアドレスに対応するポート情報を前記一の通信装置へ送信する手段とを備え、
前記一の通信装置は、
受信した前記一の通信装置のグローバルアドレス及び割当てたポート情報を前記他の通信装置へ送信する手段をさらに備え、
前記ポート情報伝達装置は、
前記他の通信装置から受信した通信パケットに含まれる送信先アドレス及びポート情報が、記憶してある前記一の通信装置のグローバルアドレス及びポート情報と一致するか否かを判断する手段と、
該手段で一致すると判断した場合、通信パケットを前記一の通信装置へ送信する手段と
をさらに備えることを特徴とするネットワークシステム。
【請求項３】
前記ポート情報伝達装置は、
前記他の通信装置から受信した通信パケットに含まれる送信先アドレス及びポート情報が、記憶してある前記一の通信装置のグローバルアドレス及びポート情報と一致すると判断した場合、受信した通信パケットをデータ部分とし、送信先アドレスを記憶してある前記一の通信装置のグローバルアドレス及びポート情報とする新たな通信パケットを生成する手段と、
新たに生成した通信パケットを前記一の通信装置へ送信する手段と
を備えることを特徴とする請求項２記載のネットワークシステム。
【請求項４】
前記ポート情報伝達装置は、
前記擬似パケットに、メモリに記憶してある情報を消去するメモリ消去情報が含まれるか否かを判断する手段と、
該手段で前記メモリ消去情報が含まれていると判断した場合、メモリに記憶してある情報を消去する手段とを備えることを特徴とする請求項２又は３記載のネットワークシステム。
【請求項５】
前記擬似パケットを一定時間間隔で送信するようにしてあることを特徴とする請求項１乃至４のいずれか一項に記載のネットワークシステム。
【請求項６】
相互に通信可能な複数の通信装置、グローバルアドレスとプライベートアドレスとを変換するテーブルを有し、該プライベートアドレス使用時に用いるポート情報を割り当て、前記通信装置間でのデータの送受信を中継するアドレス変換装置、及び該アドレス変換装置と外部ネットワークとの間に接続してあり、前記アドレス変換装置で割り当てられるポート情報を伝達するポート情報伝達装置を用いる通信方法において、
一の通信装置は、
情報を他の通信装置へ送信する前に、該他の通信装置のアドレス及び所定の情報を含む擬似パケットを前記アドレス変換装置を介して前記ポート情報伝達装置へ送信し、
前記アドレス変換装置は、
前記擬似パケットの前記一の通信装置のアドレスに対して新たなポート情報を割当て、
前記一の通信装置のアドレス及び割当てたポート情報を前記ポート情報伝達装置へ送信し、
前記ポート情報伝達装置は、
受信した通信パケットに前記所定の情報が含まれているか否かを判断し、
前記所定の情報が含まれていると判断した場合、受信した前記一の通信装置のアドレスに対応するポート情報を前記一の通信装置へ送信し、
前記一の通信装置は、
受信した前記一の通信装置のアドレス及び割当てたポート情報を前記他の通信装置へ送信し、
前記他の通信装置は、
受信した前記一の通信装置のアドレス及び割当てたポート情報を用いて、前記一の通信装置との間で情報の送受信を行うことを特徴とする通信方法。
【請求項７】
相互に通信可能な複数の通信装置、グローバルアドレスとプライベートアドレスとを変換するテーブルを有し、該プライベートアドレス使用時に用いるポート情報を割り当て、前記通信装置間でのデータの送受信を中継するアドレス変換装置、及び該アドレス変換装置と外部ネットワークとの間に接続してあり、前記アドレス変換装置で割り当てられるポート情報を伝達するポート情報伝達装置を用いる通信方法において、
一の通信装置は、
情報を他の通信装置へ送信する前に、任意のアドレス及び所定の情報を含む擬似パケットを前記アドレス変換装置へ送信し、
前記アドレス変換装置は、
前記擬似パケットを受信した場合、前記一の通信装置のプライベートアドレスに新たなポート情報を割当て、
前記一の通信装置のプライベートアドレスを変換したグローバルアドレス及び割当てたポート情報を前記ポート情報伝達装置へ送信し、
前記ポート情報伝達装置は、
受信した通信パケットに前記所定の情報が含まれているか否かを判断し、
前記所定の情報が含まれていると判断した場合、受信した前記一の通信装置のグローバルアドレス、任意のアドレス及び前記一の通信装置のプライベートアドレスに対応するポート情報をメモリに記憶し、
受信した前記一の通信装置のグローバルアドレスに対応するポート情報を前記一の通信装置へ送信し、
前記一の通信装置は、
受信した前記一の通信装置のグローバルアドレス及び割当てたポート情報を前記他の通信装置へ送信し、
前記ポート情報伝達装置は、
前記他の通信装置から受信した通信パケットに含まれる送信先アドレス及びポート情報が、記憶してある前記一の通信装置のグローバルアドレス及びポート情報と一致するか否かを判断し、
一致すると判断した場合、通信パケットを前記一の通信装置へ送信することを特徴とする通信方法。
【請求項８】
前記ポート情報伝達装置は、
前記他の通信装置から受信した通信パケットに含まれる送信先アドレス及びポート情報が、記憶してある前記一の通信装置のグローバルアドレス及びポート情報と一致すると判断した場合、受信した通信パケットをデータ部分とし、送信先アドレスを記憶してある前記一の通信装置のグローバルアドレス及びポート情報とする新たな通信パケットを生成し、
新たに生成した通信パケットを前記一の通信装置へ送信することを特徴とする請求項７記載の通信方法。
【請求項９】
前記ポート情報伝達装置は、
前記擬似パケットに、メモリに記憶してある情報を消去するメモリ消去情報が含まれるか否かを判断し、
前記メモリ消去情報が含まれていると判断した場合、メモリに記憶してある情報を消去することを特徴とする請求項７又は８記載の通信方法。
【請求項１０】
前記擬似パケットを一定時間間隔で送信することを特徴とする請求項６乃至９のいずれか一項に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続されている通信装置が相互に通信を行う場合、ＮＡＴデバイスを介して通信を行うネットワークシステム及び通信方法に関する。
【背景技術】
【０００２】
インターネットで通信を行う場合、ルーティングプロトコルはインターネットプロトコル（Internet protocol：以下、ＩＰという）が用いられる。現在普及しているＩＰのバージョン４では、アドレスを指定するビット数は３２であることから、インターネットの普及に伴って、通信端末ごとに固有のアドレスを指定することが困難となってきた。斯かる問題を解決すべく、グローバルなＩＰアドレスであるグローバルアドレスと別個に、所定の限定した範囲（ローカルエリア）に割当てたプライベートアドレスを用いる方法が開発されている。
【０００３】
プライベートアドレスを用いて通信装置間で通信を行う場合、プライベートアドレスをグローバルアドレスへ変換するアドレス変換テーブル（以下、ＮＡＴという）により、プライベートアドレスをグローバルアドレスへ変換する。したがって、１つのプライベートアドレスに対し、１つグローバルアドレスを対応させておく必要があり、複数の通信装置が１つのローカルエリア内に存在する場合、ローカルエリア内の１つの通信装置のみがインターネットに接続することが可能となる。つまり、同一ローカルエリア内の複数の通信装置がインターネットと同時接続することができないという問題があった。そこで、サブアドレスとして、ポート番号を用いることにより、同一のローカルエリア内の複数の通信装置によるインターネットへの同時接続を実現している。
【０００４】
しかし、特にＰ２Ｐアプリケーションでは、ＮＡＴ変換前の通信相手である通信装置のプライベートアドレス及び対応するポート番号を知ることができないことから、Ｐ２Ｐアプリケーションが機能しないという、いわゆるＮＡＴ問題が存在する。従来は、例えばＮＡＴ装置をローカルエリアからのゲートウエイとして備え、ＮＡＴ問題を生じる可能性のある通信セッションを監視しておき、パケットに相互のアドレス及びポート番号を更新することにより、ＮＡＴ問題を解決している。しかし、この方法では、新しいプロトコルが開発された場合、開発されたプロトコルに対応したＮＡＴ装置に交換する必要が生じ、新しいプロトコルに対応するＮＡＴ装置の開発が間に合わない場合、Ｐ２Ｐアプリケーションを使用することができなくなるおそれがあり好ましくない。また、ＮＡＴ装置が無断でパケットを更新することから、セキュリティの観点からも問題がある。
【０００５】
そこで、斯かるＮＡＴ問題を解決する手段として、ＵＰｎＰ（Universal Plug and Play Internet Gateway Device）規格又はＳＴＵＮ（Simple Traversal UDP through NAT）規格を用いてＰ２Ｐアプリケーションを実現する方法が開発されている。
【特許文献１】特開２００４−３０４３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上述したようなＵＰｎＰ規格を用いる方法では、ＵＰｎＰ規格に対応したルータの市場普及率が低く、ＮＡＴ装置もＵＰｎＰ規格に対応していない場合には、Ｐ２Ｐアプリケーションを実行することができないという問題点があった。
【０００７】
また、ＳＴＵＮ規格を用いる場合、Ｐ２Ｐアプリケーションの送信元である通信装置がインターネット上の他の通信装置へＵＤＰパケットを送信した場合、ＳＴＵＮサーバとの通信により、ＮＡＴ装置上に割当てられるポート番号が、送信元のポート番号と異なる場合が存在する。この場合、新たに割当てられたポート番号を他の通信装置が知る手段がないことから、ＮＡＴ問題を解決することができないという問題点があった。
【０００８】
本発明は斯かる事情に鑑みてなされたものであり、ＮＡＴ装置上に新たなポート情報（番号）が割当てられた場合であっても、ＮＡＴ問題を解決してＰ２Ｐアプリケーションを実行することができるネットワークシステム及び通信方法を提供することを目的とする。
【０００９】
また本発明は、ＮＡＴ装置上に新たに割当てられたポート情報（番号）が消失することを防止することで、Ｐ２Ｐアプリケーションを継続的に実行することができるネットワークシステム及び通信方法を提供することを目的とする。
【００１０】
また本発明は、ＮＡＴ装置上に割当てられたポート情報（番号）及びグローバルアドレス、プライベートアドレス等の記憶をメモリから消去することにより、アドレス変換の誤作動を防止することができるネットワークシステム及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために第１発明に係るネットワークシステムは、相互に通信可能な複数の通信装置、グローバルアドレスとプライベートアドレスとを変換するテーブルを有し、該プライベートアドレス使用時に用いるポート情報を割り当て、前記通信装置間でのデータの送受信を中継するアドレス変換装置、及び該アドレス変換装置と外部ネットワークとの間に接続してあり、前記アドレス変換装置で割り当てられるポート情報を伝達するポート情報伝達装置を備えるネットワークシステムにおいて、一の通信装置は、情報を他の通信装置へ送信する前に、該他の通信装置のアドレス及び所定の情報を含む擬似パケットを前記アドレス変換装置を介して前記ポート情報伝達装置へ送信する手段を備え、前記アドレス変換装置は、前記擬似パケットの前記一の通信装置のアドレスに対して新たなポート情報を割当てる手段と、前記一の通信装置のアドレス及び割当てたポート情報を前記ポート情報伝達装置へ送信する手段とを備え、前記ポート情報伝達装置は、受信した通信パケットに前記所定の情報が含まれているか否かを判断する手段と、該手段で、前記所定の情報が含まれていると判断した場合、受信した前記一の通信装置のアドレスに対応するポート情報を前記一の通信装置へ送信する手段とを備え、前記一の通信装置は、受信した前記一の通信装置のアドレス及び割当てたポート情報を前記他の通信装置へ送信する手段をさらに備え、前記他の通信装置は、受信した前記一の通信装置のアドレス及び割当てたポート情報を用いて、前記一の通信装置との間で情報の送受信を行う手段を備えることを特徴とする。
【００１２】
また、第２発明に係るネットワークシステムは、相互に通信可能な複数の通信装置、グローバルアドレスとプライベートアドレスとを変換するテーブルを有し、該プライベートアドレス使用時に用いるポート情報を割り当て、前記通信装置間でのデータの送受信を中継するアドレス変換装置、及び該アドレス変換装置と外部ネットワークとの間に接続してあり、前記アドレス変換装置で割り当てられるポート情報を伝達するポート情報伝達装置を備えるネットワークシステムにおいて、一の通信装置は、情報を他の通信装置へ送信する前に、任意のアドレス及び所定の情報を含む擬似パケットを前記アドレス変換装置へ送信する手段を備え、前記アドレス変換装置は、前記擬似パケットを受信した場合、前記一の通信装置のプライベートアドレスに新たなポート情報を割当てる手段と、前記一の通信装置のプライベートアドレスを変換したグローバルアドレス及び割当てたポート情報を前記ポート情報伝達装置へ送信する手段とを備え、前記ポート情報伝達装置は、受信した通信パケットに前記所定の情報が含まれているか否かを判断する手段と、該手段で、前記所定の情報が含まれていると判断した場合、受信した前記一の通信装置のグローバルアドレス、任意のアドレス及び前記一の通信装置のプライベートアドレスに対応するポート情報をメモリに記憶する手段と、受信した前記一の通信装置のグローバルアドレスに対応するポート情報を前記一の通信装置へ送信する手段とを備え、前記一の通信装置は、受信した前記一の通信装置のグローバルアドレス及び割当てたポート情報を前記他の通信装置へ送信する手段をさらに備え、前記ポート情報伝達装置は、前記他の通信装置から受信した通信パケットに含まれる送信先アドレス及びポート情報が、記憶してある前記一の通信装置のグローバルアドレス及びポート情報と一致するか否かを判断する手段と、該手段で一致すると判断した場合、通信パケットを前記一の通信装置へ送信する手段とをさらに備えることを特徴とする。
【００１３】
また、第３発明に係るネットワークシステムは、第２発明において、前記ポート情報伝達装置は、前記他の通信装置から受信した通信パケットに含まれる送信先アドレス及びポート情報が、記憶してある前記一の通信装置のグローバルアドレス及びポート情報と一致すると判断した場合、受信した通信パケットをデータ部分とし、送信先アドレスを記憶してある前記一の通信装置のグローバルアドレス及びポート情報とする新たな通信パケットを生成する手段と、新たに生成した通信パケットを前記一の通信装置へ送信する手段とを備えることを特徴とする。
【００１４】
また、第４発明に係るネットワークシステムは、第２又は第３発明において、前記ポート情報伝達装置は、前記擬似パケットに、メモリに記憶してある情報を消去するメモリ消去情報が含まれるか否かを判断する手段と、該手段で前記メモリ消去情報が含まれていると判断した場合、メモリに記憶してある情報を消去する手段とを備えることを特徴とする。
【００１５】
また、第５発明に係るネットワークシステムは、第１乃至第４発明のいずれか１つにおいて、前記擬似パケットを一定時間間隔で送信するようにしてあることを特徴とする。
【００１６】
また、第６発明に係る通信方法は、相互に通信可能な複数の通信装置、グローバルアドレスとプライベートアドレスとを変換するテーブルを有し、該プライベートアドレス使用時に用いるポート情報を割り当て、前記通信装置間でのデータの送受信を中継するアドレス変換装置、及び該アドレス変換装置と外部ネットワークとの間に接続してあり、前記アドレス変換装置で割り当てられるポート情報を伝達するポート情報伝達装置を用いる通信方法において、一の通信装置は、情報を他の通信装置へ送信する前に、該他の通信装置のアドレス及び所定の情報を含む擬似パケットを前記アドレス変換装置を介して前記ポート情報伝達装置へ送信し、前記アドレス変換装置は、前記擬似パケットの前記一の通信装置のアドレスに対して新たなポート情報を割当て、前記一の通信装置のアドレス及び割当てたポート情報を前記ポート情報伝達装置へ送信し、前記ポート情報伝達装置は、受信した通信パケットに前記所定の情報が含まれているか否かを判断し、前記所定の情報が含まれていると判断した場合、受信した前記一の通信装置のアドレスに対応するポート情報を前記一の通信装置へ送信し、前記一の通信装置は、受信した前記一の通信装置のアドレス及び割当てたポート情報を前記他の通信装置へ送信し、前記他の通信装置は、受信した前記一の通信装置のアドレス及び割当てたポート情報を用いて、前記一の通信装置との間で情報の送受信を行うことを特徴とする。
【００１７】
また、第７発明に係る通信方法は、相互に通信可能な複数の通信装置、グローバルアドレスとプライベートアドレスとを変換するテーブルを有し、該プライベートアドレス使用時に用いるポート情報を割り当て、前記通信装置間でのデータの送受信を中継するアドレス変換装置、及び該アドレス変換装置と外部ネットワークとの間に接続してあり、前記アドレス変換装置で割り当てられるポート情報を伝達するポート情報伝達装置を用いる通信方法において、一の通信装置は、情報を他の通信装置へ送信する前に、任意のアドレス及び所定の情報を含む擬似パケットを前記アドレス変換装置へ送信し、前記アドレス変換装置は、前記擬似パケットを受信した場合、前記一の通信装置のプライベートアドレスに新たなポート情報を割当て、前記一の通信装置のプライベートアドレスを変換したグローバルアドレス及び割当てたポート情報を前記ポート情報伝達装置へ送信し、前記ポート情報伝達装置は、受信した通信パケットに前記所定の情報が含まれているか否かを判断し、前記所定の情報が含まれていると判断した場合、受信した前記一の通信装置のグローバルアドレス、任意のアドレス及び前記一の通信装置のプライベートアドレスに対応するポート情報をメモリに記憶し、受信した前記一の通信装置のグローバルアドレスに対応するポート情報を前記一の通信装置へ送信し、前記一の通信装置は、受信した前記一の通信装置のグローバルアドレス及び割当てたポート情報を前記他の通信装置へ送信し、前記ポート情報伝達装置は、前記他の通信装置から受信した通信パケットに含まれる送信先アドレス及びポート情報が、記憶してある前記一の通信装置のグローバルアドレス及びポート情報と一致するか否かを判断し、一致すると判断した場合、通信パケットを前記一の通信装置へ送信することを特徴とする。
【００１８】
また、第８発明に係る通信方法は、第７発明において、前記ポート情報伝達装置は、前記他の通信装置から受信した通信パケットに含まれる送信先アドレス及びポート情報が、記憶してある前記一の通信装置のグローバルアドレス及びポート情報と一致すると判断した場合、受信した通信パケットをデータ部分とし、送信先アドレスを記憶してある前記一の通信装置のグローバルアドレス及びポート情報とする新たな通信パケットを生成し、新たに生成した通信パケットを前記一の通信装置へ送信することを特徴とする。
【００１９】
また、第９発明に係る通信方法は、第７又は第８発明において、前記ポート情報伝達装置は、前記擬似パケットに、メモリに記憶してある情報を消去するメモリ消去情報が含まれるか否かを判断し、前記メモリ消去情報が含まれていると判断した場合、メモリに記憶してある情報を消去することを特徴とする。
【００２０】
また、第１０発明に係る通信方法は、第６乃至第９発明のいずれか１つにおいて、前記擬似パケットを一定時間間隔で送信することを特徴とする。
【００２１】
第１発明又は第６発明では、通信装置間のＰ２Ｐアプリケーションを実行する場合、一の通信装置が情報を他の通信装置へ送信する前に、他の通信装置のアドレス及び所定の情報を含む擬似パケットをアドレス変換装置を介してポート情報伝達装置へ送信する。通信パケットを受信したポート情報伝達装置は、所定の情報を含むか否かを判断し、所定の情報を含むと判断した場合、一の通信装置のアドレスに対応したポート情報（ポート番号）を一の通信装置へ返送する。一の通信装置は、受信したポート情報を他の通信装置へ送信する。すなわち、ＵＤＰのバインディングアドレスとして他の通信装置へ伝達する。伝達方法は、例えばＳＩＰ（Session Initiate Protocol）のシグナリングプロトコルを用いる。他の通信装置は、受信したポート情報を用いて、一の通信装置との間で情報の送受信を行う。これにより、擬似パケットを送信することにより取得したＮＡＴ装置のＮＡＴテーブルに記憶してある通信時に使用可能なポートに関する情報をＰ２Ｐアプリケーションを実行する相手である通信装置へ確実に伝達することができ、ＮＡＴ装置の実装形式がシンメトリックＮＡＴ（Symmetric NAT）である場合のように、異なるアドレスに対してパケットが送信されたとき、異なるポート番号が新たに割当てられる場合であっても、Ｐ２Ｐアプリケーションを確実に実行することが可能となる。
【００２２】
第２発明又は第７発明では、通信装置間のＰ２Ｐアプリケーションを実行する場合、一の通信装置が情報を他の通信装置へ送信する前に、送信先アドレスが任意のアドレスであり、所定の情報を含む擬似パケットをアドレス変換装置を介してポート情報伝達装置へ送信する。擬似パケットを受信したポート情報伝達装置は、所定の情報を含むか否かを判断し、所定の情報を含むと判断した場合、一の通信装置のアドレス変換装置で変換後のアドレス（グローバルアドレス）及び対応するポート情報（ポート番号）をメモリへ記憶し、一の通信装置へ返送する。一の通信装置は、受信したグローバルアドレス及びポート情報を他の通信装置へ送信する。すなわち、ＵＤＰのバインディングアドレスとして他の通信装置へ伝達する。伝達方法は、例えばＳＩＰ（Session Initiate Protocol）のシグナリングプロトコルを用いる。他の通信装置は、受信したグローバルアドレス及びポート情報を用いて、一の通信装置のグローバルアドレスを送信先とした通信パケットを送信する。一の通信装置のグローバルアドレスを送信先とした通信パケットを受信したポート情報伝達装置は、通信パケットに含まれるアドレス及びポート情報と、メモリに記憶してあるアドレス及びポート情報とが一致するか否かを判断し、一致すると判断した場合、通信パケットを一の通信装置へ送信する。これにより、送信相手のグローバルアドレスが不明である場合であっても、任意の送信先アドレスを指定した擬似パケットを送信することにより取得したＮＡＴ装置のＮＡＴテーブルに記憶してある通信時に使用可能なポートに関する情報をＰ２Ｐアプリケーションを実行する相手である通信装置へ確実に伝達することができ、ＮＡＴ装置の実装形式がシンメトリックＮＡＴ（Symmetric NAT）である場合のように、異なるアドレスに対してパケットが送信されたとき、異なる送信ポートが新たに割当てられる場合であっても、ＮＡＴ問題を解決する、すなわちＮＡＴ装置を通過することができるアドレス及び対応するポート情報（ポート番号）を用いて、Ｐ２Ｐアプリケーションを実行することが可能となる。
【００２３】
第３発明又は第８発明では、一の通信装置のグローバルアドレスを送信先とした通信パケットを受信したポート情報伝達装置は、通信パケットに含まれるアドレス及びポート情報と、メモリに記憶してあるアドレス及びポート情報とが一致するか否かを判断し、一致すると判断した場合、受信した通信パケットをデータ部分とし、送信先アドレスを記憶してある一の通信装置のグローバルアドレス及びポート情報とする新たな通信パケットを生成し、新たに生成した通信パケットを一の通信装置へ送信する。これにより、送信相手のグローバルアドレスが不明である場合であっても、任意の送信先アドレスを指定した擬似パケットを送信することにより取得したＮＡＴ装置のＮＡＴテーブルに記憶してある通信時に使用可能なポートに関する情報をＰ２Ｐアプリケーションを実行する相手である通信装置へ確実に伝達することができ、ＮＡＴ装置の実装形式がシンメトリックＮＡＴ（Symmetric NAT）である場合のように、異なるアドレスに対してパケットが送信されたとき、異なる送信ポートが新たに割当てられる場合であっても、ＮＡＴ問題を解決する、すなわちＮＡＴ装置を通過することができるアドレス及び対応するポート情報（ポート番号）を用いて、Ｐ２Ｐアプリケーションを実行することが可能となる。
【００２４】
第４発明又は第９発明では、ポート情報伝達装置は、擬似パケットに、メモリに記憶してある情報を消去するメモリ消去情報が含まれるか否かを判断し、メモリ消去情報が含まれていると判断した場合、メモリに記憶してある情報を消去する。これにより、任意のアドレスに対応するポート情報が、新たに割当てられるポート情報と一致する可能性を減少することができ、より確実にＰ２Ｐアプリケーションを実行することが可能となる。
【００２５】
第５発明又は第１０発明では、擬似パケットを一定時間間隔で送信する。これにより、ＮＡＴ装置上に新たに割当てられたポート情報が消失する前に、新たなポート情報を割当てることにより、Ｐ２Ｐアプリケーションを継続して実行することが可能となる。
【発明の効果】
【００２６】
本発明によれば、擬似パケットを送信することにより取得したＮＡＴ装置のＮＡＴテーブルに記憶してある通信時に使用可能なポートに関する情報をＰ２Ｐアプリケーションを実行する相手である通信装置へ確実に伝達することができ、ＮＡＴ装置の実装形式がシンメトリックＮＡＴ（Symmetric NAT）である場合のように、異なるアドレスに対してパケットが送信されたとき、異なる送信ポートが新たに割当てられる場合であっても、ＮＡＴ問題を解決する、すなわちＮＡＴ装置を通過することができるアドレス及び対応するポート情報（ポート番号）を用いて、Ｐ２Ｐアプリケーションを実行することが可能となる。
【００２７】
さらに本発明によれば、任意のアドレスに対応するポート情報が、新たに割当てられるポート情報と一致する可能性を減少することができ、より確実にＰ２Ｐアプリケーションを実行することが可能となる。
【００２８】
また本発明によれば、ＮＡＴ装置上に新たに割当てられたポート情報が消失する前に、新たなポート情報を割当てることにより、Ｐ２Ｐアプリケーションを継続して実行することが可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
【００３０】
（実施の形態１）
図１は、本発明の実施の形態１に係るネットワークシステムの全体構成を説明するブロック図である。本実施の形態１では、ＬＡＮ環境を構築してあるプライベートネットワーク１に属する通信装置２と、プライベートネットワーク１と例えばインターネット等のネットワーク網３を介して接続してある通信装置４との間でのＰ２Ｐ通信を行うことを想定している。したがって、通信装置４、４、・・・はグローバルアドレスが割当てられており、プライベートネットワーク１は、例えばプロキシサーバ等に単一のグローバルアドレスが割当てられている。
【００３１】
一方、プライベートネットワーク１内の通信装置２、２、・・・には、単一のグローバルアドレスを用いて外部のネットワーク網と通信可能とすべく、固有のプライベートアドレスが割当てられており、プライベートネットワーク１外の通信装置４、４、・・・と通信を行う場合には、アドレス変換装置（ＮＡＴ装置）５により、プライベートアドレスをグローバルアドレスに変換して通信を行う。すなわち、アドレス変化装置５は、プライベートアドレスをグローバルアドレスへ変換するアドレス変換テーブル（以下、ＮＡＴテーブルという）５１を備え、プライベートアドレス及びグローバルアドレスを相互に変換する。
【００３２】
また、アドレス変換装置５は、グローバルアドレスのサブアドレスとして、ポート番号を割当てる、いわゆるＮＡＴ装置としても機能し、同一のプライベートネットワーク１内の複数の通信装置２、２、・・・によるインターネット等のネットワーク網３への同時接続を実現している。アドレス変換装置５は、通過する通信パケットの送信元アドレスに対して一のポート番号を割当てる。
【００３３】
本発明では、アドレス変換装置５とインターネット等のネットワーク網３との間に、プライベートネットワーク１内の通信装置２とプライベートネットワーク１外の通信装置４との間でポート番号（ポート情報）を授受することができるように制御するポート情報伝達装置６を設けてあることにより、前述したＮＡＴ問題を解決する点に特徴を有する。
【００３４】
図２は、プライベートネットワーク１内の通信装置２の構成を示すブロック図である。通信装置２は、少なくともＣＰＵ２１、記憶装置２２、ＲＡＭ２３、表示部２４、入力部２５及び通信インタフェース２６で構成してあり、記憶装置２２は、オペレーティングシステム、及び通信プログラムを記憶してあり、通信の相手先のアドレス情報であるグローバルアドレス、プライベートアドレス等も記憶してある。
【００３５】
ＣＰＵ２１は、内部バス２７を介して通信装置２の上述したようなハードウェア各部と接続されており、上述したハードウェア各部を制御するとともに、ハードディスク等の記憶装置２２に格納された制御プログラムに従って、種々のソフトウェア的機能を実行する。ＲＡＭ２３は、ＤＲＡＭ等で構成され、ソフトウェアの実行時に発生する一時的なデータを記憶する。
【００３６】
表示部２４は、液晶表示装置、ＣＲＴディスプレイ等の表示装置であり、通信状態を表示したり、ユーザへ操作入力を促す画面を表示したり、画像データの表示等を行う。入力部２５は、通信装置２を操作するために必要な文字キー、テンキー、各種のファンクションキー等を備えたキーボード、マウス等の入力媒体である。
【００３７】
通信インタフェース２７は、内部バス２８に接続されており、外部からの通信パケット情報の送受信を、プライベートネットワーク１を介して行う。
【００３８】
図３は、プライベートネットワーク１外でインターネット等のネットワーク網に接続してある通信装置４の構成を示すブロック図である。通信装置４は、少なくともＣＰＵ４１、記憶装置４２、ＲＡＭ４３、表示部４４、入力部４５及び通信インタフェース４６で構成してあり、記憶装置４２は、オペレーティングシステム、及び通信プログラムを記憶してあり、通信の相手先のアドレス情報であるグローバルアドレスも記憶してある。
【００３９】
ＣＰＵ４１は、内部バス４７を介して通信装置４の上述したようなハードウェア各部と接続されており、上述したハードウェア各部を制御するとともに、ハードディスク等の記憶装置４２に格納された制御プログラムに従って、種々のソフトウェア的機能を実行する。ＲＡＭ４３は、ＤＲＡＭ等で構成され、ソフトウェアの実行時に発生する一時的なデータを記憶する。
【００４０】
表示部４４は、液晶表示装置、ＣＲＴディスプレイ等の表示装置であり、通信状態を表示したり、ユーザへ操作入力を促す画面を表示したり、画像データの表示等を行う。入力部４５は、通信装置４を操作するために必要な文字キー、テンキー、各種のファンクションキー等を備えたキーボード、マウス等の入力媒体である。
【００４１】
通信インタフェース４７は、内部バス４８に接続されており、外部からの通信パケット情報の送受信を、ネットワーク網３を介して行う。
【００４２】
図４は、アドレス変換装置（ＮＡＴ装置）５の構成を示すブロック図である。アドレス変換装置５は、少なくともＣＰＵ５１、ＲＡＭ５２、及び通信インタフェース５３ａ、５３ｂからなり、ＲＡＭ５２は、グローバルアドレスとプライベートアドレスとを対応付けて記憶してあるＮＡＴテーブル５２１を備えている。
【００４３】
ＣＰＵ５１は、内部バス５４を介してアドレス変換装置５の上述したようなハードウェア各部と接続されており、上述したハードウェア各部を制御するとともに、ＲＡＭ５２に格納されたＮＡＴテーブル５２１に従って、通信パケットの送信先アドレスを、グローバルアドレスからプライベートアドレスへ、又はプライベートアドレスからグローバルアドレスへ、それぞれ変換する。また、ＮＡＴテーブルは、通信パケットが送信される都度更新される。本実施の形態では、送信元のアドレスが相違する場合には、送信元のアドレスごとに異なるポート番号を割当てるシンクロナスＮＡＴである。
【００４４】
ＲＡＭ５２は、ソフトウェアの実行時に発生する一時的なデータも記憶する。通信インタフェース５３ａは、プライベートネットワーク１へ接続されており、通信パケットを中継する。通信インタフェース５３ｂは、ポート情報伝達装置６へ接続されており、通信パケットを中継するとともに、送信元アドレスに対して割当てたポート番号に関する情報をポート情報伝達装置６へ送信する。
【００４５】
図５は、ポート情報伝達装置６の構成を示すブロック図である。ポート情報伝達装置６は、少なくともＣＰＵ６１、ＲＡＭ６２、及び通信インタフェース６３ａ、６３ｂとで構成してあり、ＲＡＭ６２は、アドレス変換装置５から受信したアドレス情報及びポート番号を記憶するポート情報テーブル６２１を備えている。
【００４６】
ＣＰＵ６１は、内部バス６４を介してポート情報伝達装置６の上述したようなハードウェア各部と接続されており、上述したハードウェア各部を制御するとともに、ＲＡＭ６２に格納されたポート情報テーブル６２１を用いて、通信装置２と通信装置４との間のＰ２Ｐアプリケーションを実行可能とするための処理を実行する。
【００４７】
ＲＡＭ６２は、ソフトウェアの実行時に発生する一時的なデータも記憶する。通信インタフェース６３ａは、アドレス変換装置５へ接続されている。通信インタフェース６３ｂは、インターネット等のネットワーク網３へ接続されている。
【００４８】
以下、上述した構成のネットワークシステムにおける通信装置２と通信装置４との間の通信処理について説明する。図６は、本発明の実施の形態１に係るネットワークシステムにおけるプライベートネットワーク１内の通信装置２を送信元とし、プライベートネットワーク１外の通信装置４を送信先としてデータ通信を行う場合のアドレス及びポート番号の関係を示す図である。
【００４９】
通信装置２のプライベートアドレスを１９２．１６８．１．２とし、通信装置４のグローバルアドレスを２０２．１５３．０．２とする。通常の通信パケットは（１）に示すように、送信元アドレスに通信装置２のプライベートアドレス及びポート番号Ｐ０を、送信先アドレスに通信装置４のアドレスを設定し、通信すべきデータを付与した通信パケットを送信する。本実施の形態１では、（１）の形態の通信パケットのデータ部分に、擬似パケットであることを示す旨の情報、例えば３２ビット又は６４ビットの定数値を設定した擬似パケットを送信する。
【００５０】
通信装置２から送信された通信パケットがアドレス変換装置５を通過する場合、送信元アドレスである通信装置２のプライベートアドレス１９２．１６８．１．２に対して、Ｐ０とは異なるポート番号Ｐ１が割当てられ、ＲＡＭ５２に記憶される。アドレス変換装置５は、ＮＡＴテーブル５２１により、送信元アドレス１９２．１６８．１．２をグローバルアドレス２００．０．０．１に変換し、通信パケットのアドレスを（２）に示すアドレスに変換し、データ部分とともにポート情報伝達装置６へ送信する。
【００５１】
ポート情報伝達装置６は、受信した通信パケットを解析し、データ部分に所定の定数値を含むか否かを判断する。ポート情報伝達装置６が、受信した通信パケットのデータ部分に所定の定数値を含むと判断した場合、受信した通信パケットが擬似パケットであると判断し、送信元アドレスである２００．０．０．１：Ｐ１に対して応答パケットを返信する。
【００５２】
応答パケットもアドレス変換装置５を経由する。したがって、ＮＡＴテーブル５２１を用いてプライベートアドレスへ変換され、送信先アドレス２００．０．０．１：Ｐ１が１９２．１６８．１．２：Ｐ０に変換される。プライベートアドレス１９２．１６８．１．２に対応するポート番号はＰ０であるとＲＡＭ５２に記憶してあることから、応答パケットは通信装置２へ送信される。
【００５３】
応答パケットを受信した通信装置２は、応答パケットに含まれるポート番号Ｐ１を、通信装置４とのＰ２Ｐ通信に用いるポート番号として用いるべく、通信装置４へポート番号Ｐ１が使用可能である旨を送信する。すなわち、ＵＤＰのバインディングアドレスとして通信装置へ送信する。送信方法は、例えばＳＩＰ（Session Initiate Protocol）のシグナリングプロトコルを用いて行う。これにより、通信装置４は、通信相手である通信装置２とのデータ送受信に用いることが可能なポート番号を知ることができ、シンメトリックＮＡＴでのいわゆるＮＡＴ問題を解決することが可能となる。すなわち、通信装置４は、送信先アドレスとして、通信装置２のグローバルアドレス２００．０．０．１と、シグナルプロトコルを用いて取得したポート番号とを用いて、送信先アドレスを２００．０．０．１：Ｐ１と設定してデータを送信することにより、ＮＡＴ問題が発生することなく通信装置２へデータを送信することが可能となる。
【００５４】
図７は、本発明の実施の形態１に係るネットワークシステムのポート情報伝達装置６のＣＰＵ６１の処理手順を示すフローチャートである。ポート情報伝達装置６のＣＰＵ６１は、通信装置２から通信パケットを受信する（ステップＳ７０１）。ＣＰＵ６１は、受信した通信パケットを解析し（ステップＳ７０２）、データ部分に所定の定数値を含むか否かを判断する（ステップＳ７０３）。
【００５５】
ＣＰＵ６１が、所定の定数値を含まないと判断した場合（ステップＳ７０３：ＮＯ）、ＣＰＵ６１は、通常の通信パケットであると判断し、通常の通信処理を実行する（ステップＳ７０４）。ＣＰＵ６１が、所定の定数値を含むと判断した場合（ステップＳ７０３：ＹＥＳ）、ＣＰＵ６１は、擬似パケットであると判断し、送信先アドレスとして、通信装置２のグローバルアドレスにポート番号Ｐ１を付与したアドレス、すなわち２００．０．０．１：Ｐ１を設定した応答パケットを、通信装置２に対して送信する（ステップＳ７０５）。
【００５６】
応答パケットはアドレス変換装置５を経由し、アドレス変換装置５が、送信先アドレスをプライベートアドレスに変換し、送信先アドレスが１９２．１６８．１．２：Ｐ１となる。アドレス変換装置５のＲＡＭ５２に１９２．１６８．１．２に対応するポート番号がＰ１である旨が記憶されていることから、通信パケットは確実に通信装置２へ送信される。
【００５７】
通信装置２が、ポート番号Ｐ１を、通信装置４とのＰ２Ｐ通信に用いるポート番号として用いる旨を通信装置４へＳＩＰを用いて送信することにより、通信装置４は、通信相手である通信装置２とのデータ送受信に用いることが可能なポート番号を知ることができ、シンクロナスＮＡＴでのいわゆるＮＡＴ問題を解決することが可能となる。
【００５８】
なお、アドレス変換装置５で割当てたポート番号は、一定時間が経過した時点でＲＡＭ５２から消去される。したがって、通信装置間のＰ２Ｐ通信を継続的に行うためには、擬似パケットを、ポート番号がＲＡＭ５２から消去されるまでの経過時間よりも短い一定時間間隔で通信装置２から送信されることが好ましい。これにより、通信装置間のＰ２Ｐ通信に使用することができるポート番号を継続的に取得することができ、Ｐ２Ｐ通信を途切れることなく行うことが可能となる。
【００５９】
（実施の形態２）
本発明の実施の形態２に係るネットワークシステムの全体構成は、実施の形態１と同様である。本実施の形態２では、擬似パケットの送信先を任意のアドレスにしている点に特徴を有する。図８は、本発明の実施の形態２に係るネットワークシステムにおけるプライベートネットワーク１内の通信装置２を送信元とし、プライベートネットワーク１外の通信装置４を送信先としてデータ通信を行う場合のアドレス及びポート番号の関係を示す図である。
【００６０】
通信装置２のプライベートアドレスを１９２．１６８．１．２とし、通信装置４のグローバルアドレスを２０２．１５３．０．２とする。通常の通信パケットは（１）に示すように、送信元アドレスに通信装置２のプライベートアドレス及びポート番号Ｐ０を、送信先アドレスに通信装置４のアドレスを設定し、通信すべきデータを付与した通信パケットを送信する。本実施の形態２では、（２）に示すように、送信元アドレスに通信装置２のプライベートアドレス及びポート番号Ｐ０を、送信先アドレスに任意のアドレス、例えば１００．０．０．１を設定し、データ部分に、擬似パケットであることを示す旨の情報、例えば３２ビット又は６４ビットの定数値を設定した擬似パケットを送信する。
【００６１】
通信装置２から送信された通信パケットがアドレス変換装置５を通過する場合、送信元アドレスである通信装置２のプライベートアドレス１９２．１６８．１．２に対して、Ｐ０とは異なるポート番号Ｐ１が割当てられ、ＲＡＭ５２に記憶される。アドレス変換装置５は、ＮＡＴテーブル５２１により、送信元アドレス１９２．１６８．１．２をグローバルアドレス２００．０．０．１に変換し、通信パケットのアドレスを（３）に示すアドレスに変換し、データ部分とともにポート情報伝達装置６へ送信する。
【００６２】
ポート情報伝達装置６は、受信した通信パケットを解析し、データ部分に所定の定数値を含むか否かを判断する。ポート情報伝達装置６が、受信した通信パケットのデータ部分に所定の定数値を含むと判断した場合、受信した通信パケットが擬似パケットであると判断し、ポート情報テーブル６２１に送信元アドレス２００．０．０．１：Ｐ１及び送信先アドレス（任意）を記憶する。ポート情報伝達装置６は、送信元アドレスである２００．０．０．１：Ｐ１に対して応答パケットを返信する。
【００６３】
応答パケットもアドレス変換装置５を経由する。したがって、ＮＡＴテーブル５２１を用いてプライベートアドレスへ変換され、送信先アドレス２００．０．０．１：Ｐ１が１９２．１６８．１．２：Ｐ１に変換される。プライベートアドレス１９２．１６８．１．２に対応するポート番号はＰ１であるとＲＡＭ５２に記憶してあることから、ＮＡＴ問題が生じることなく、応答パケットは通信装置２へ送信される。
【００６４】
応答パケットを受信した通信装置２は、応答パケットに含まれるポート番号Ｐ１を、通信装置４とのＰ２Ｐ通信に用いるポート番号として用いるべく、通信装置４へ通信装置２のグローバルアドレス２００．０．０．１及び対応するポート番号Ｐ１を送信する。すなわち、ＵＤＰのバインディングアドレスとして通信装置へ送信する。送信方法は、例えばＳＩＰ（Session Initiate Protocol）のシグナリングプロトコルを用いて行う。これにより、通信装置４は、通信相手である通信装置２とのデータ送受信に用いることが可能なグローバルアドレス及びポート番号を知ることができ、シンクロナスＮＡＴでのいわゆるＮＡＴ問題を解決することが可能となる。
【００６５】
すなわち、通信装置４は、送信先アドレスとして、通信装置２のグローバルアドレス２００．０．０．１と対応するポート番号Ｐ１とを用いて、２００．０．０．１：Ｐ１と設定してデータを送信する。通信装置４が送信した通信パケットは、ポート情報伝達装置６を通過する。
【００６６】
ポート情報伝達装置６は、受信した通信パケットのグローバルアドレス及びポート番号が、ポート情報テーブル６２１の送信元アドレスとして記憶してあるか否かを判断する。ポート情報伝達装置６が、受信した通信パケットのグローバルアドレス及びポート番号が、ポート情報テーブル６２１の送信元アドレスとして記憶してあると判断した場合、ポート情報伝達装置６は、受信した通信パケットにＮＡＴ問題が発生しないと判断し、アドレス変換装置５へ渡し、アドレス変換装置５は、該通信パケットの送信先アドレスのグローバルアドレス２００．０．０．１をプライベートアドレス１９２．１６８．１．２へ変換し、通信装置２へ送信する。
【００６７】
図９は、本発明の実施の形態２に係るネットワークシステムのポート情報伝達装置６のＣＰＵ６１の処理手順を示すフローチャートである。ポート情報伝達装置６のＣＰＵ６１は、通信装置２から通信パケットを受信する（ステップＳ９０１）。ＣＰＵ６１は、受信した通信パケットを解析し（ステップＳ９０２）、データ部分に所定の定数値を含むか否かを判断する（ステップＳ９０３）。
【００６８】
ＣＰＵ６１が、所定の定数値を含むと判断した場合（ステップＳ９０３：ＹＥＳ）、ＣＰＵ６１は、擬似パケットであると判断し、送信先アドレスとして、アドレス変換装置５で変換後の通信装置２のグローバルアドレスにポート番号Ｐ１を付与したアドレスを、送信元アドレスとしてポート情報テーブル６２１に記憶する（ステップＳ９０４）。
【００６９】
ＣＰＵ６１が、所定の定数値を含まないと判断した場合（ステップＳ９０３：ＮＯ）、ＣＰＵ６１は、受信した通信パケットの送信先アドレス（グローバルアドレス）及び対応するポート番号と、ポート情報テーブル６２１に記憶してある送信元アドレス（グローバルアドレス）及びポート番号とが一致するか否かを判断する（ステップＳ９０５）。
【００７０】
ＣＰＵ６１が、一致しないと判断した場合（ステップＳ９０５：ＮＯ）、ＣＰＵ６１は、通常の通信処理を実行する（ステップＳ９０６）。したがって、ＮＡＴ問題を解決していない場合には、通信装置間でデータの送受信を行うことができない。
【００７１】
ＣＰＵ６１が、一致すると判断した場合（ステップＳ９０５：ＹＥＳ）、ＣＰＵ６１は、受信した通信パケットはＮＡＴ問題を解決しているものと判断し、受信した通信パケットの送信先アドレス及びポート番号のままで、通信装置２に対して送信する（ステップＳ９０７）。通信装置２へ送信する場合、まず通信パケットをアドレス変換装置５へ渡し、アドレス変換装置５は、該通信パケットの送信先アドレスのグローバルアドレス２００．０．０．１をプライベートアドレス１９２．１６８．１．２へ変換し、通信装置２へ送信する。
【００７２】
なお、実施の形態１と同様、アドレス変換装置５でＲＡＭ５２に記憶してあるポート番号は、一定時間が経過した時点で消去される。したがって、本実施の形態２においても、通信装置間のＰ２Ｐ通信を継続的に行うために、擬似パケットを、ポート番号が消去されるまでの経過時間よりも短い一定時間間隔でポート情報伝達装置６へ送信する。これにより、通信装置間のＰ２Ｐ通信に使用することができるポート番号を継続的に取得することができ、Ｐ２Ｐ通信を途切れることなく行うことが可能となる。
【００７３】
（実施の形態３）
本発明の実施の形態３に係るネットワークシステムの全体構成は、実施の形態１と同様である。本実施の形態３では、擬似パケットの送信先を任意のアドレスにしており、通信パケットにアドレス情報（ポート番号情報）を順次追加する点に特徴を有する。図１０は、本発明の実施の形態３に係るネットワークシステムにおけるプライベートネットワーク１内の通信装置２を送信元とし、プライベートネットワーク１外の通信装置４を送信先としてデータ通信を行う場合のアドレス及びポート番号の関係を示す図である。
【００７４】
通信装置２のプライベートアドレスを１９２．１６８．１．２とし、通信装置４のグローバルアドレスを２０２．１５３．０．２とする。通常の通信パケットは（１）に示すように、送信元アドレスに通信装置２のプライベートアドレス及びポート番号Ｐ０を、送信先アドレスに通信装置４のアドレスを設定し、通信すべきデータを付与した通信パケットを送信する。本実施の形態２では、（２）に示すように、送信元アドレスに通信装置２のプライベートアドレス及びポート番号Ｐ０を、送信先アドレスに任意のアドレス、例えば１００．０．０．１を設定し、データ部分に、擬似パケットであることを示す旨の情報、例えば３２ビット又は６４ビットの定数値を設定した擬似パケットを送信する。
【００７５】
通信装置２から送信された通信パケットがアドレス変換装置５を通過する場合、送信元アドレスである通信装置２のプライベートアドレス１９２．１６８．１．２に対して、Ｐ０とは異なるポート番号Ｐ１が割当てられ、ＲＡＭ５２に記憶される。アドレス変換装置５は、ＮＡＴテーブル５２１により、送信元アドレス１９２．１６８．１．２をグローバルアドレス２００．０．０．１に変換し、通信パケットのアドレスを（３）に示すアドレスに変換し、データ部分とともにポート情報伝達装置６へ送信する。
【００７６】
ポート情報伝達装置６は、受信した通信パケットを解析し、データ部分に所定の定数値を含むか否かを判断する。ポート情報伝達装置６が、受信した通信パケットのデータ部分に所定の定数値を含むと判断した場合、受信した通信パケットが擬似パケットであると判断し、ポート情報テーブル６２１に送信元アドレス２００．０．０．１：Ｐ１及び送信先アドレス（任意）を記憶する。ポート情報伝達装置６は、送信元アドレスである２００．０．０．１：Ｐ１に対して応答パケットを返信する。
【００７７】
応答パケットもアドレス変換装置５を経由する。したがって、ＮＡＴテーブル５２１を用いてプライベートアドレスへ変換され、送信先アドレス２００．０．０．１：Ｐ１が１９２．１６８．１．２：Ｐ１に変換される。プライベートアドレス１９２．１６８．１．２に対応するポート番号はＰ１であるとＲＡＭ５２に記憶してあることから、ＮＡＴ問題が生じることなく、応答パケットは通信装置２へ送信される。
【００７８】
応答パケットを受信した通信装置２は、応答パケットに含まれるポート番号Ｐ１を、通信装置４とのＰ２Ｐ通信に用いるポート番号として用いるべく、通信装置４へ通信装置２のグローバルアドレス２００．０．０．１及び対応するポート番号Ｐ１を送信する。すなわち、ＵＤＰのバインディングアドレスとして通信装置へ送信する。送信方法は、例えばＳＩＰ（Session Initiate Protocol）のシグナリングプロトコルを用いて行う。これにより、通信装置４は、通信相手である通信装置２とのデータ送受信に用いることが可能なグローバルアドレス及びポート番号を知ることができ、シンクロナスＮＡＴでのいわゆるＮＡＴ問題を解決することが可能となる。
【００７９】
すなわち、通信装置４は、送信先アドレスとして、通信装置２のグローバルアドレス２００．０．０．１と対応するポート番号Ｐ１とを用いて、２００．０．０．１：Ｐ１と設定してデータを送信する。通信装置４が送信した通信パケットは、ポート情報伝達装置６を通過する。
【００８０】
ポート情報伝達装置６は、受信した通信パケットのグローバルアドレス及びポート番号が、ポート情報テーブル６２１の送信元アドレスとして記憶してあるか否かを判断する。ポート情報伝達装置６が、受信した通信パケットのグローバルアドレス及びポート番号が、ポート情報テーブル６２１の送信元アドレスとして記憶してあると判断した場合、ポート情報伝達装置６は、受信した通信パケットにＮＡＴ問題が発生しないと判断し、ポート情報テーブル６２１に記憶してある送信元アドレスを送信先アドレスとした通信パケットを生成し、生成した通信パケットのデータとして、受信した通信パケットをペイロードする。
【００８１】
図１１（ａ）は、受信した通信パケットのデータ構成の一例を示す図であり、図１１（ｂ）は、新たに生成した通信パケットのデータ構成の一例を示す図である。ポート情報伝達装置６は、受信した通信パケットをそのままデータ部分とし、送信先アドレスをポート情報テーブル６２１に記憶してある送信元アドレス２００．０．０．１：Ｐ１とした通信パケットを新たに生成する。新たに生成した通信パケットの送信元アドレスは任意である。
【００８２】
ポート情報伝達装置６は、新たに生成した通信パケットをアドレス変換装置５へ渡し、アドレス変換装置５は、該通信パケットの送信先アドレスのグローバルアドレス２００．０．０．１をプライベートアドレス１９２．１６８．１．２へ変換し、通信装置２へ送信する。
【００８３】
図１２は、本発明の実施の形態３に係るネットワークシステムのポート情報伝達装置６のＣＰＵ６１の処理手順を示すフローチャートである。ポート情報伝達装置６のＣＰＵ６１は、通信装置２から通信パケットを受信する（ステップＳ１２０１）。ＣＰＵ６１は、受信した通信パケットを解析し（ステップＳ１２０２）、データ部分に所定の定数値を含むか否かを判断する（ステップＳ１２０３）。
【００８４】
ＣＰＵ６１が、所定の定数値を含むと判断した場合（ステップＳ１２０３：ＹＥＳ）、ＣＰＵ６１は、擬似パケットであると判断し、送信先アドレスとして、アドレス変換装置５で変換後の通信装置２のグローバルアドレスにポート番号Ｐ１を付与したアドレスを、送信元アドレスとしてポート情報テーブル６２１に記憶する（ステップＳ１２０４）。
【００８５】
ＣＰＵ６１が、所定の定数値を含まないと判断した場合（ステップＳ１２０３：ＮＯ）、ＣＰＵ６１は、受信した通信パケットの送信先アドレス（グローバルアドレス）及び対応するポート番号と、ポート情報テーブル６２１に記憶してある送信元アドレス（グローバルアドレス）及びポート番号とが一致するか否かを判断する（ステップＳ１２０５）。
【００８６】
ＣＰＵ６１が、一致しないと判断した場合（ステップＳ１２０５：ＮＯ）、ＣＰＵ６１は、通常の通信処理を実行する（ステップＳ１２０６）。したがって、ＮＡＴ問題を解決していない場合には、通信装置間でデータの送受信を行うことができない。
【００８７】
ＣＰＵ６１が、一致すると判断した場合（ステップＳ１２０５：ＹＥＳ）、ＣＰＵ６１は、受信した通信パケットはＮＡＴ問題を解決しているものと判断し、受信した通信パケットをそのままデータ部分とし、ポート情報テーブル６２１に記憶してある送信元アドレスを送信先アドレスとした新たな通信パケットを生成する（ステップＳ１２０７）。ＣＰＵ６１は、新たに生成した通信パケットを通信装置２に対して送信する（ステップＳ１２０８）。通信装置２へ送信する場合、まず新たに生成した通信パケットをアドレス変換装置５へ渡し、アドレス変換装置５は、該通信パケットの送信先アドレスのグローバルアドレス２００．０．０．１をプライベートアドレス１９２．１６８．１．２へ変換し、通信装置２へ送信する。
【００８８】
なお、実施の形態１及び２と同様、アドレス変換装置５でＲＡＭ５２に記憶してあるポート番号は、一定時間が経過した時点で消去される。したがって、本実施の形態２においても、通信装置間のＰ２Ｐ通信を継続的に行うために、擬似パケットを、ポート番号が消去されるまでの経過時間よりも短い一定時間間隔でポート情報伝達装置６へ送信する。これにより、通信装置間のＰ２Ｐ通信に使用することができるポート番号を継続的に取得することができ、Ｐ２Ｐ通信を途切れることなく行うことが可能となる。
【００８９】
また、アドレス変換装置５で割当てるポート番号には物理的な割り当て可能範囲が存在する。したがって、Ｐ２Ｐ通信が一定以上実行された場合にはポート番号が重複するおそれもある。したがって、通信装置２、２、・・・又は通信装置４、４、・・・は、一定通信回数ごとに特定のメモリ消去情報を擬似パケットに含めて送信することが好ましい。この場合、ポート情報伝達装置６は、擬似パケットにメモリ消去情報が含まれるか否かを判断し、メモリ消去情報が含まれていると判断した場合、擬似パケットの送信元に対応するグローバルアドレスを含むポート情報を、ポート情報テーブル６２１から消去する。これにより、ポート番号の重複を未然に防止することも可能となる。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態１に係るネットワークシステムの全体構成を説明するブロック図である。
【図２】プライベートネットワーク内の通信装置の構成を示すブロック図である。
【図３】プライベートネットワーク外でネットワーク網に接続してある通信装置の構成を示すブロック図である。
【図４】アドレス変換装置（ＮＡＴ装置）の構成を示すブロック図である。
【図５】ポート情報伝達装置の構成を示すブロック図である。
【図６】本発明の実施の形態１に係るネットワークシステムにおけるプライベートネットワーク内の通信装置を送信元とし、プライベートネットワーク外の通信装置を送信先としてデータ通信を行う場合のアドレス及びポート番号の関係を示す図である。
【図７】本発明の実施の形態１に係るネットワークシステムのポート情報伝達装置のＣＰＵの処理手順を示すフローチャートである。
【図８】本発明の実施の形態２に係るネットワークシステムにおけるプライベートネットワーク内の通信装置を送信元とし、プライベートネットワーク外の通信装置を送信先としてデータ通信を行う場合のアドレス及びポート番号の関係を示す図である。
【図９】本発明の実施の形態２に係るネットワークシステムのポート情報伝達装置のＣＰＵの処理手順を示すフローチャートである。
【図１０】本発明の実施の形態３に係るネットワークシステムにおけるプライベートネットワーク内の通信装置を送信元とし、プライベートネットワーク外の通信装置を送信先としてデータ通信を行う場合のアドレス及びポート番号の関係を示す図である。
【図１１】（ａ）は、受信した通信パケットのデータ構成の一例を示す図であり、（ｂ）は、新たに生成した通信パケットのデータ構成の一例を示す図である。
【図１２】本発明の実施の形態３に係るネットワークシステムのポート情報伝達装置のＣＰＵの処理手順を示すフローチャートである。
【符号の説明】
【００９１】
１  プライベートネットワーク
２、４  通信装置
３  ネットワーク網
５  アドレス変換装置（ＮＡＴ装置）
６  ポート情報伝達装置
２１、４１、５１、６１  ＣＰＵ
２２、４２、５２、６２  ＲＡＭ
５２１  ＮＡＴテーブル
６２１  ポート情報テーブル
【図１】
2006333245.tif 000003
【図２】
2006333245.tif 000004
【図３】
2006333245.tif 000005
【図４】
2006333245.tif 000006
【図５】
2006333245.tif 000007
【図６】
2006333245.tif 000008
【図７】
2006333245.tif 000009
【図８】
2006333245.tif 000010
【図９】
2006333245.tif 000011
【図１０】
2006333245.tif 000012
【図１１】
2006333245.tif 000013
【図１２】
2006333245.tif 000014