(57)【要約】【課題】ＮＡＴ装置の種別の情報を管理することによって、端末装置間で迅速に通信を行うことができる通信システム、通信制御装置、通信制御方法、通信制御プログラムを提供する。【解決手段】通信制御装置は、ＮＡＴ装置のＮＡＴ種別とＩＰアドレスとを対応付けてＮＡＴテーブルに記憶している。通信制御装置では、ＮＡＴ装置を介して接続する端末装置から、ＮＡＴ装置のＮＡＴ種別の取得を要求する種別要求パケットを受信した場合、パケットの送信元ＩＰアドレスと一致するＩＰアドレスがＮＡＴテーブルに存在するかが判断される（Ｓ４３）。一致するＩＰアドレスが存在する場合であって（Ｓ４３：ＹＥＳ）、該当するＮＡＴ種別が利用可能な状態である場合には（Ｓ６３：ＹＥＳ）、一致するとされたＩＰアドレスに対応付けられているＮＡＴ種別が選択され、端末装置に対して送信される（Ｓ６７）。【選択図】図８
2011077922.tif 000002
【特許請求の範囲】
【請求項１】
ＮＡＴ（Network Address Translation）機能を備え、外部ネットワークに接続するＮＡＴ装置と、前記ＮＡＴ装置の配下にある端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも備えた通信システムであって、
前記通信制御装置は、
前記ＮＡＴ装置のグローバルＩＰアドレスであるＮＡＴアドレスと、前記ＮＡＴ装置を種別した種別情報とを対応付けて記憶する第一記憶手段と、
前記端末装置を配下とする前記ＮＡＴ装置の前記種別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信手段と、
前記第一受信手段によって前記種別要求信号を受信した場合において、前記種別要求信号の送信元ＩＰアドレスと一致するＩＰアドレスが、前記ＮＡＴアドレスとして前記第一記憶手段に記憶されているか判断する第一判断手段と、
前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記ＮＡＴアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信手段と
を備え、
前記端末装置は、
前記種別要求信号を前記通信制御装置に対して送信する第二送信手段と、
前記第二送信手段において送信された前記種別要求信号に応じ、前記通信制御装置から送信される前記種別情報を受信する第二受信手段と、
前記第二受信手段によって前記種別情報を受信した場合に、受信された前記種別情報に基づいて決定される通信確立方法による通信を行うことによって、自身を配下とする前記ＮＡＴ装置とは異なる前記ＮＡＴ装置の配下にある他の前記端末装置と通信を行う通信制御手段と
を備えたことを特徴とする通信システム。
【請求項２】
前記通信制御装置は、
前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていないと判断された場合には、前記種別要求信号を送信した前記端末装置を配下とする前記ＮＡＴ装置の前記種別情報の特定を要求する信号である特定要求信号を、前記種別要求信号を送信した前記端末装置に対して送信する第三送信手段と、
前記第三送信手段によって送信された前記特定要求信号に対して前記端末装置から送信される前記種別情報を受信する第三受信手段と、
前記第三受信手段によって受信された前記種別情報の送信元ＩＰアドレスをＮＡＴアドレスとし、受信された前記種別情報に対応付けて前記第一記憶手段に記憶する第一記憶制御手段と
を備え、
前記端末装置は、
前記通信制御装置から送信される前記特定要求信号を受信する第四受信手段と、
前記第四受信手段において前記特定要求信号を受信した場合に、自身を配下とするＮＡＴ装置の前記種別情報を特定する第一特定手段と、
前記第一特定手段によって前記種別情報が特定された場合に、特定された前記種別情報を前記通信制御装置に送信する第四送信手段と
を備えたことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第一特定手段は、
自身を配下とする前記ＮＡＴ装置と通信を行うことによって取得した前記種別情報を種別情報として特定することを特徴とする請求項２に記載の通信システム。
【請求項４】
前記第一特定手段は、
前記外部ネットワークに接続された第一管理装置と前記ＮＡＴ装置を介して通信を行うことによって、前記種別情報を特定することを特徴とする請求項２に記載の通信システム。
【請求項５】
前記通信制御装置は、
対応付けて記憶された前記ＮＡＴアドレスと前記種別情報とが利用可能な情報であるか否かを示す情報である利用可否情報を、前記ＮＡＴアドレス及び前記種別情報に対応付けて前記第一記憶手段に記憶しており、
前記第一送信手段は、
前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されている場合であり、且つ、一致するとされた前記ＮＡＴアドレスに、利用可能であることを示す前記利用可否情報が対応付けられている場合に、前記種別情報を送信することを特徴とする請求項１に記載の通信システム。
【請求項６】
前記通信制御装置は、
対応付けて記憶された前記ＮＡＴアドレスと前記種別情報とが利用可能な情報であるか否かを示す情報である利用可否情報を、前記ＮＡＴアドレス及び前記種別情報に対応付けて前記第一記憶手段に記憶しており、
前記第三送信手段は、
前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていないと判断された場合、又は、一致するとされた前記ＮＡＴアドレスに、利用できないことを示す前記利用可否情報が対応付けられている場合に、前記特定要求信号を送信することを特徴とする請求項２から４のいずれかに記載の通信システム。
【請求項７】
前記通信制御装置は、
前記外部ネットワークに接続し、前記端末装置の前記通信制御手段によって実行される前記端末装置間の通信状態を記憶する第二管理装置から、前記通信状態を取得する取得手段と、
前記取得手段によって取得された前記通信状態に基づいて、前記第一記憶手段に記憶されている前記利用可否情報を更新する第一更新処理であって、前記端末装置間の通信が継続中であると判断された場合に、前記第一記憶手段に記憶されている前記ＮＡＴアドレスのうち、通信状態にある前記端末装置を配下とする前記ＮＡＴ装置の前記ＮＡＴアドレスに対応付けられた前記利用可否情報を利用可能とし、前記端末装置間の通信が終了したと判断された場合に、通信が終了した前記端末装置を配下とする前記ＮＡＴ装置の前記ＮＡＴアドレスに対応付けられた前記利用可否情報を利用不可とする第一更新手段と
を備えたことを特徴とする請求項５又は６に記載の通信システム。
【請求項８】
前記通信制御装置は、
前記第一記憶制御手段において、同一の前記ＮＡＴ装置の配下にある前記端末装置を識別するための識別情報を、前記ＮＡＴアドレスと前記種別情報とに対応づけて前記第一記憶手段に記憶し、
前記第三受信手段において前記種別情報を受信した場合に、受信した前記種別情報に対応付けられた前記識別情報を、前記種別情報を送信した前記端末装置に対して送信する第五送信手段をさらに備え、
前記端末装置は、
前記通信制御装置から送信される前記識別情報を受信する第五受信手段と、
前記第五受信手段において受信された前記識別情報を第二記憶手段に記憶する第二記憶制御手段と
を備えたことを特徴とする請求項２、３、４、６のいずれかに記載の通信システム。
【請求項９】
前記端末装置は、
前記識別情報が前記第二記憶手段に記憶されている場合には、前記第二送信手段は、前記種別要求信号と前記識別情報とを前記通信制御装置に対して送信し、
前記通信制御装置は、
前記第一受信手段において、前記種別要求信号と前記識別情報とを受信し、
前記第一送信手段は、
前記第一受信手段において受信した前記種別要求信号の送信元ＩＰアドレスと一致するＩＰアドレスが、前記ＮＡＴアドレスとして前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と一致する識別情報が、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスに対応付けて第一記憶手段に記憶されていると判断された場合に、一致するとされた前記ＮＡＴアドレス及び前記識別情報に対応付けられている前記種別情報を、前記種別要求信号と前記識別情報とを送信した前記端末装置に対して送信することを特徴とする請求項８に記載の通信システム。
【請求項１０】
前記通信制御装置は、
前記第二受信手段において受信した前記種別要求信号の前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスに対応付けられた前記識別情報とが異なると判断された場合に、該当する前記ＮＡＴアドレス及び前記識別情報を削除する第二更新手段と、
前記種別要求信号と前記識別情報とを送信した前記端末装置に対して前記特定要求信号を送信する第六送信手段と
を備えたことを特徴とする請求項９に記載の通信システム。
【請求項１１】
前記通信制御装置は、
前記第二受信手段において受信した前記種別要求信号の前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスに対応付けられた前記識別情報とが一致すると判断された場合に、前記第一記憶手段に記憶されている前記識別情報のうち、受信した前記識別情報に対応づけられている前記利用可否情報を利用可能とする第三更新手段を備えたことを特徴とする請求項９に記載の通信システム。
【請求項１２】
前記通信制御装置は、
特定の前記ＮＡＴ装置である第一ＮＡＴ装置の配下にある一の前記端末装置である第一端末と他の前記端末装置である第二端末との間の経路に、他の前記ＮＡＴ装置である第二ＮＡＴ装置が介在するかを特定するために、前記第一端末と前記第二端末との間で通信を行うように指示する通信指示信号を、前記第一端末及び前記第二端末に対して送信する第七送信手段と、
前記第七送信手段において送信された前記通信指示信号に応じ、前記第一端末及び前記第二端末から送信される通信結果信号を受信する第六受信手段と、
前記第六受信手段において受信された前記通信結果信号に基づいて、前記第二ＮＡＴ装置が介在するかを解析する解析手段と、
前記解析手段において、前記第二ＮＡＴ装置が介在していると判断された場合に、前記第一端末及び前記第二端末のうち少なくとも一方に対して前記特定要求信号を送信する第八送信手段と、
前記第八送信手段において送信された前記特定要求信号に応じて前記端末装置から返信される前記種別情報を受信する第七受信手段と、
を備え、
前記第一記憶制御手段は、
前記第七受信手段において受信された前記種別情報を、所定の識別情報である第一識別情報に対応付けて前記第一記憶手段に記憶することを特徴とする請求項８から１１のいずれかに記載の通信システム。
【請求項１３】
前記通信制御装置では、
前記第一端末から受信した前記種別情報と前記第一識別情報とが対応付けられて前記第一記憶手段に記憶されている場合において、
前記第七受信手段において前記第二端末から前記種別情報を受信した場合、前記第一記憶手段に記憶されている前記種別情報と、受信した前記種別情報とを比較する比較手段と、
前記比較手段において前記種別情報が相違すると判断された場合に、受信した前記種別情報を、前記第一識別情報とは異なる第二識別情報に対応付けて前記第一記憶手段に記憶する第三記憶制御手段と
を備えたことを特徴とする請求項１２に記載の通信システム。
【請求項１４】
ＮＡＴ（Network Address Translation）機能を備え、配下に端末装置を備えたＮＡＴ装置と、外部ネットワークを介して接続する通信制御装置であって、
前記ＮＡＴ装置のグローバルＩＰアドレスであるＮＡＴアドレスと、前記ＮＡＴ装置を種別した種別情報とを対応付けて記憶する第一記憶手段と、
前記端末装置を配下とする前記ＮＡＴ装置の前記種別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信手段と、
前記第一受信手段によって前記種別要求信号を受信した場合において、前記種別要求信号の送信元ＩＰアドレスと一致するＩＰアドレスが、前記ＮＡＴアドレスとして前記第一記憶手段に記憶されているか判断する第一判断手段と、
前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記ＮＡＴアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信手段と
を備えたことを特徴とする通信制御装置。
【請求項１５】
ＮＡＴ（Network Address Translation）機能を備え、外部ネットワークに接続するＮＡＴ装置と、前記ＮＡＴ装置の配下にある端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも備えた通信システムにおいて、前記端末装置間で通信を行う通信制御方法であって、
前記通信制御装置において、前記端末装置を配下とする前記ＮＡＴ装置を識別する識別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信ステップと、
前記通信制御装置において、前記第一受信ステップによって前記種別要求信号を受信した場合において、前記ＮＡＴ装置のグローバルＩＰアドレスであるＮＡＴアドレスと、前記ＮＡＴ装置の前記種別情報とが対応付けて記憶された第一記憶手段を参照し、前記種別要求信号の送信元ＩＰアドレスと一致するＩＰアドレスが、前記ＮＡＴアドレスとして前記第一記憶手段に記憶されているか判断する第一判断ステップと、
前記通信制御装置において、前記第一判断ステップによって前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記ＮＡＴアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信ステップと、
前記端末装置において、前記種別要求信号を前記通信制御装置に対して送信する第二送信ステップと、
前記端末装置において、前記第二送信ステップによって送信された前記種別要求信号に応じ、前記通信制御装置から送信される前記種別情報を受信する第二受信ステップと、
前記端末装置において、前記第二受信ステップによって前記種別情報を受信した場合に、受信された前記種別情報に基づいて決定される通信確立方法による通信を行うことによって、自身を配下とする前記ＮＡＴ装置とは異なる前記ＮＡＴ装置の配下にある他の前記端末装置と通信を行う通信制御ステップと
を備えたことを特徴とする通信制御方法。
【請求項１６】
請求項１４に記載の通信制御装置の各処理手段としてコンピュータを駆動させるための通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システム、通信制御装置、通信制御方法、通信制御プログラムに関する。より詳細には、ＮＡＴ装置配下の端末装置間での通信が可能となる通信システム、通信制御装置、通信制御方法、及び通信制御プログラムに関する。
【背景技術】
【０００２】
ＮＡＴ（Network Address Translation）機能を備えた装置（ＮＡＴルータなど。以下「ＮＡＴ装置」という。）では、インターネット側からＬＡＮ側に向かう方向のパケットを受信した場合、ＮＡＴ装置に記憶されているポート番号宛てのパケットのみＬＡＮ側に転送し、その他のポート番号宛てのパケットはブロックする。従って、異なるＮＡＴ装置の配下にある他の端末装置同士でＰ２Ｐ（Peer to Peer）通信を行う場合、端末装置は、ＮＡＴ装置に記憶されているポート番号を特定し、特定したポート番号宛てにパケットを送信する必要がある。ポート番号を特定する方法として、例えば特許文献１に記載の通信システムのように、ＮＡＴ装置に記憶されたポート番号をサーバが管理し、端末装置がポート番号をサーバ装置から取得することによって、ポート番号を特定する方法がある。
【０００３】
ＮＡＴ装置に記憶されるポート番号は、ＮＡＴ装置の種別（Cone Nat、Symmetric NATなど）毎に異なる規則に基づいて更新される可能性がある。端末装置同士がＰ２Ｐ通信を行うためには、更新後のポート番号が特定される必要がある。端末装置は、ＮＡＴ装置の種別毎に適切な通信手順（UDP Hole Punching、UDP Multi Hole Punching等）を選択して実行することで、更新後のポート番号を特定できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０８８９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１に記載の通信システムでは、サーバ装置はＮＡＴ装置の種別の情報を管理していないので、端末装置は、通信相手の端末装置に接続するＮＡＴ装置の種別を認識することができない。このため端末装置は、適切な通信手段を選択することができない。従って、更新後のポート番号を迅速に特定することができず、Ｐ２Ｐ通信の開始までに時間を要してしまうという問題があった。
【０００６】
本発明の目的は、ＮＡＴ装置の種別の情報を管理することによって、端末装置間で迅速に通信を開始することができる通信システム、通信制御装置、通信制御方法、及び通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第一態様に係る通信システムは、ＮＡＴ（Network Address Translation）機能を備え、外部ネットワークに接続するＮＡＴ装置と、前記ＮＡＴ装置の配下にある端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも備えた通信システムであって、前記通信制御装置は、前記ＮＡＴ装置のグローバルＩＰアドレスであるＮＡＴアドレスと、前記ＮＡＴ装置を種別した種別情報とを対応付けて記憶する第一記憶手段と、前記端末装置を配下とする前記ＮＡＴ装置の前記種別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信手段と、前記第一受信手段によって前記種別要求信号を受信した場合において、前記種別要求信号の送信元ＩＰアドレスと一致するＩＰアドレスが、前記ＮＡＴアドレスとして前記第一記憶手段に記憶されているか判断する第一判断手段と、前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記ＮＡＴアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信手段とを備え、前記端末装置は、前記種別要求信号を前記通信制御装置に対して送信する第二送信手段と、前記第二送信手段において送信された前記種別要求信号に応じ、前記通信制御装置から送信される前記種別情報を受信する第二受信手段と、前記第二受信手段によって前記種別情報を受信した場合に、受信された前記種別情報に基づいて決定される通信確立方法による通信を行うことによって、自身を配下とする前記ＮＡＴ装置とは異なる前記ＮＡＴ装置の配下にある他の前記端末装置と通信を行う通信制御手段とを備えている。
【０００８】
第一態様に係る通信システムでは、端末装置は、自身を配下とするＮＡＴ装置の種別情報を通信制御装置から取得するので、迅速に種別情報を特定できる。端末装置は、短時間で他の端末装置とのＰ２Ｐ通信を開始させることができる。種別情報を特定する所定通信であって、ＮＡＴ装置を介して通信制御装置との間で行われる所定通信が不要となるので、通信制御装置に処理負荷をかけることなく、端末装置は種別情報を特定できる。またネットワークのトラフィックの増大を抑制できる。
【０００９】
また、第一態様において、前記通信制御装置は、前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていないと判断された場合には、前記種別要求信号を送信した前記端末装置を配下とする前記ＮＡＴ装置の前記種別情報の特定を要求する信号である特定要求信号を、前記種別要求信号を送信した前記端末装置に対して送信する第三送信手段と、前記第三送信手段によって送信された前記特定要求信号に対して前記端末装置から送信される前記種別情報を受信する第三受信手段と、前記第三受信手段によって受信された前記種別情報の送信元ＩＰアドレスをＮＡＴアドレスとし、受信された前記種別情報に対応付けて前記第一記憶手段に記憶する第一記憶制御手段とを備え、前記端末装置は、前記通信制御装置から送信される前記特定要求信号を受信する第四受信手段と、前記第四受信手段において前記特定要求信号を受信した場合に、自身を配下とするＮＡＴ装置の前記種別情報を特定する第一特定手段と、前記第一特定手段によって前記種別情報が特定された場合に、特定された前記種別情報を前記通信制御装置に送信する第四送信手段とを備えていてもよい。端末装置が種別情報を判別して通信制御装置に通知することで、通信制御装置は種別情報を記憶することができる。通信制御装置が直接種別情報を特定しなくて済むので、通信制御装置の処理負荷を軽減できる。種別情報はＩＰアドレスに対応付けて記憶されるので、種別要求信号の送信元ＩＰアドレスに基づいて種別情報を容易に検索できる。
【００１０】
また、第一態様において、前記第一特定手段は、自身を配下とする前記ＮＡＴ装置と通信を行うことによって取得した前記種別情報を種別情報として特定してもよい。ＮＡＴ装置から直接種別情報を取得するので、種別情報を容易且つ確実に特定できる。種別情報を特定するまでに要する時間を短縮できる。
【００１１】
また、第一態様において、前記第一特定手段は、前記外部ネットワークに接続された第一管理装置と前記ＮＡＴ装置を介して通信を行うことによって、前記種別情報を特定してもよい。これによって、ＮＡＴ装置から種別情報を直接取得できない場合であっても、ＮＡＴ装置を介して第一管理装置と通信を行うことによって、ＮＡＴ装置の種別情報を特定できる。
【００１２】
また、第一態様において、前記通信制御装置は、対応付けて記憶された前記ＮＡＴアドレスと前記種別情報とが利用可能な情報であるか否かを示す情報である利用可否情報を、前記ＮＡＴアドレス及び前記種別情報に対応付けて前記第一記憶手段に記憶しており、前記第一送信手段は、前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されている場合であり、且つ、一致するとされた前記ＮＡＴアドレスに、利用可能であることを示す前記利用可否情報が対応付けられている場合に、前記種別情報を送信してもよい。これによって通信制御装置は、ＮＡＴ装置の設定（ＩＰアドレスなど）が変更される可能性がある場合に、種別情報を利用不可に設定できる。設定変更後の情報に基づいて種別情報が特定されてしまい、誤った種別情報が端末装置に送信されてしまうことを防止できる。
【００１３】
また、第一態様において、前記通信制御装置は、対応付けて記憶された前記ＮＡＴアドレスと前記種別情報とが利用可能な情報であるか否かを示す情報である利用可否情報を、前記ＮＡＴアドレス及び前記種別情報に対応付けて前記第一記憶手段に記憶しており、前記第三送信手段は、前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていないと判断された場合、又は、一致するとされた前記ＮＡＴアドレスに、利用できないことを示す前記利用可否情報が対応付けられている場合に、前記特定要求信号を送信してもよい。これによって通信制御装置は、種別情報が利用できない状態である場合に、端末装置に種別情報を特定させることができる。通信制御装置は、最新の種別情報を記憶することができる。端末装置は、通信制御装置から通知された最新の種別情報に基づいて、他の端末装置とのＰ２Ｐ通信を開始させることができる。端末装置間で確実に通信を実行させることができる。
【００１４】
また、第一態様において、前記通信制御装置は、前記外部ネットワークに接続し、前記端末装置の前記通信制御手段によって実行される前記端末装置間の通信状態を記憶する第二管理装置から、前記通信状態を取得する取得手段と、前記取得手段によって取得された前記通信状態に基づいて、前記第一記憶手段に記憶されている前記利用可否情報を更新する第一更新処理であって、前記端末装置間の通信が継続中であると判断された場合に、前記第一記憶手段に記憶されている前記ＮＡＴアドレスのうち、通信状態にある前記端末装置を配下とする前記ＮＡＴ装置の前記ＮＡＴアドレスに対応付けられた前記利用可否情報を利用可能とし、前記端末装置間の通信が終了したと判断された場合に、通信が終了した前記端末装置を配下とする前記ＮＡＴ装置の前記ＮＡＴアドレスに対応付けられた前記利用可否情報を利用不可とする第一更新手段とを備えていてもよい。端末装置間で通信が継続されている場合には、ＮＡＴ装置の設定（ＩＰアドレスなど）が変更される可能性が低いので、種別情報を利用可能な状態とする。一方、端末装置間の通信が終了した場合、ＮＡＴ装置の設定が変更される可能性が高いので、種別情報を利用不可能な状態とする。このように、端末装置間の通信状態に応じてＮＡＴ装置の設定変更の有無を容易に判断することができる。設定変更後の情報に基づいて種別情報が特定されてしまうことを確実に防止できる。
【００１５】
また、第一態様において、前記通信制御装置は、前記第一記憶制御手段において、同一の前記ＮＡＴ装置の配下にある前記端末装置を識別するための識別情報を、前記ＮＡＴアドレスと前記種別情報とに対応づけて前記第一記憶手段に記憶し、前記第三受信手段において前記種別情報を受信した場合に、受信した前記種別情報に対応付けられた前記識別情報を、前記種別情報を送信した前記端末装置に対して送信する第五送信手段をさらに備え、前記端末装置は、前記通信制御装置から送信される前記識別情報を受信する第五受信手段と、前記第五受信手段において受信された前記識別情報を第二記憶手段に記憶する第二記憶制御手段とを備えていてもよい。これによって通信制御装置は、同一のＮＡＴ装置の配下にある端末装置を識別情報によって把握することができる。識別情報を検索キーとして用いることによって、種別情報を容易に検索することができる。端末装置の設定情報（ＩＰアドレスなど）が変更された場合であっても、識別情報を検索キーとして種別情報を検索できる。
【００１６】
また、第一態様において、前記端末装置は、前記識別情報が前記第二記憶手段に記憶されている場合には、前記第二送信手段は、前記種別要求信号と前記識別情報とを前記通信制御装置に対して送信し、前記通信制御装置は、前記第一受信手段において、前記種別要求信号と前記識別情報とを受信し、前記第一送信手段は、前記第一受信手段において受信した前記種別要求信号の送信元ＩＰアドレスと一致するＩＰアドレスが、前記ＮＡＴアドレスとして前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と一致する識別情報が、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスに対応付けて第一記憶手段に記憶されていると判断された場合に、一致するとされた前記ＮＡＴアドレス及び前記識別情報に対応付けられている前記種別情報を、前記種別要求信号と前記識別情報とを送信した前記端末装置に対して送信してもよい。これによって通信制御装置は、識別情報とＩＰアドレスとが一致した場合に、種別情報を端末装置に対して通知するので、種別情報を正確に特定することができる。端末装置では、通信制御装置から通知された種別情報に基づいて、他の端末とのＰ２Ｐ通信を確実に実行することができる。
【００１７】
また、第一態様において、前記通信制御装置は、前記第二受信手段において受信した前記種別要求信号の前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスに対応付けられた前記識別情報とが異なると判断された場合に、該当する前記ＮＡＴアドレス及び前記識別情報を削除する第二更新手段と、前記種別要求信号と前記識別情報とを送信した前記端末装置に対して前記特定要求信号を送信する第六送信手段とを備えていてもよい。識別情報が相違する場合、ＮＡＴ装置のＩＰアドレスが変更されている可能性が高い。このような場合に通信制御装置は、新たに種別情報を取得して第一記憶手段に記憶するために、端末装置に対して特定要求信号を送信する。通信制御装置は、第一記憶手段に記憶する情報を最新の状態に保持できる。端末装置は、通信制御装置に記憶された最新の情報に基づいて他の端末装置との間でＰ２Ｐ通信を行うことができる。端末装置は、より確実に他の端末装置との間で通信を行うことができる。
【００１８】
また、第一態様において、前記通信制御装置は、前記第二受信手段において受信した前記種別要求信号の前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスに対応付けられた前記識別情報とが一致すると判断された場合に、前記第一記憶手段に記憶されている前記識別情報のうち、受信した前記識別情報に対応づけられている前記利用可否情報を利用可能とする第三更新手段を備えていてもよい。ＩＰアドレスと識別情報とが一致する場合、端末装置の設定情報（ＩＰアドレス）が変更されている可能性が低い。このような場合には、第一記憶手段に記憶されている情報が利用可能とされる。これによって通信制御装置は、端末装置に対する種別情報の特定要求の回数を抑制できる。端末装置では、種別情報の取得工程を経ることなく種別情報を取得できるので、迅速に他の端末装置との通信を開始できる。また端末装置では、種別情報を特定するための処理を行わずに済むので、処理負荷が軽減される。種別情報を特定する為の通信回数が抑制されるので、ネットワークのトラフィックの増大を抑制できる。
【００１９】
また、第一態様において、前記通信制御装置は、特定の前記ＮＡＴ装置である第一ＮＡＴ装置の配下にある一の前記端末装置である第一端末と他の前記端末装置である第二端末との間の経路に、他の前記ＮＡＴ装置である第二ＮＡＴ装置が介在するかを特定するために、前記第一端末と前記第二端末との間で通信を行うように指示する通信指示信号を、前記第一端末及び前記第二端末に対して送信する第七送信手段と、前記第七送信手段において送信された前記通信指示信号に応じ、前記第一端末及び前記第二端末から送信される通信結果信号を受信する第六受信手段と、前記第六受信手段において受信された前記通信結果信号に基づいて、前記第二ＮＡＴ装置が介在するかを解析する解析手段と、前記解析手段において、前記第二ＮＡＴ装置が介在していると判断された場合に、前記第一端末及び前記第二端末のうち少なくとも一方に対して前記特定要求信号を送信する第八送信手段と、前記第八送信手段において送信された前記特定要求信号に応じて前記端末装置から返信される前記種別情報を受信する第七受信手段とを備え、前記第一記憶制御手段は、前記第七受信手段において受信された前記種別情報を、所定の識別情報である第一識別情報に対応付けて前記第一記憶手段に記憶してもよい。同一ＮＡＴ装置の配下にある端末装置間に他のＮＡＴ装置が介在している場合、通信制御装置と端末装置との間に複数のＮＡＴ装置が介在していることになる。この場合には、再度端末装置に対して種別情報を送信するように要求される。複数のＮＡＴ装置が通信制御装置との間に介在している状態（多段状態）であっても、通信制御装置は正確な種別情報を登録できる。端末装置は、多段状態下であっても、正確な種別情報を取得できるので、他の端末装置と確実にＰ２Ｐ通信を行うことができる。
【００２０】
また、第一態様において、前記通信制御装置では、前記第一端末から受信した前記種別情報と前記第一識別情報とが対応付けられて前記第一記憶手段に記憶されている場合において、前記第七受信手段において前記第二端末から前記種別情報を受信した場合、前記第一記憶手段に記憶されている前記種別情報と、受信した前記種別情報とを比較する比較手段と、前記比較手段において前記種別情報が相違すると判断された場合に、受信した前記種別情報を、前記第一識別情報とは異なる第二識別情報に対応付けて前記第一記憶手段に記憶する第三記憶制御手段とを備えていてもよい。同一ＮＡＴ装置の配下にある複数の端末装置において特定される種別情報が異なる場合、多段状態下にある端末装置にて特定される種別情報が新たな識別子キーに対応付けて登録される。多段状態である場合であっても、識別子キーを検索キーとして種別情報を検索できる。多段状態下にある端末装置は、短い時間で種別情報を取得できるので、Ｐ２Ｐ通信を迅速に開始させることができる。
【００２１】
本発明の第二態様に係る通信制御装置は、ＮＡＴ（Network Address Translation）機能を備え、配下に端末装置を備えたＮＡＴ装置と、外部ネットワークを介して接続する通信制御装置であって、前記ＮＡＴ装置のグローバルＩＰアドレスであるＮＡＴアドレスと、前記ＮＡＴ装置を種別した種別情報とを対応付けて記憶する第一記憶手段と、前記端末装置を配下とする前記ＮＡＴ装置の前記種別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信手段と、前記第一受信手段によって前記種別要求信号を受信した場合において、前記種別要求信号の送信元ＩＰアドレスと一致するＩＰアドレスが、前記ＮＡＴアドレスとして前記第一記憶手段に記憶されているか判断する第一判断手段と、前記第一判断手段において、前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記ＮＡＴアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信手段とを備えている。
【００２２】
第二態様係る通信制御装置では、端末装置に対して種別情報を通知するので、短い時間で端末装置間のＰ２Ｐ通信を開始させることができる。種別情報を特定する所定通信であって、ＮＡＴ装置を介して通信制御装置との間で行われる所定通信が不要となるので、ネットワークのトラフィックの増大を抑制できる。
【００２３】
本発明の第三態様に係る通信制御方法は、ＮＡＴ（Network Address Translation）機能を備え、外部ネットワークに接続するＮＡＴ装置と、前記ＮＡＴ装置の配下にある端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも備えた通信システムにおいて、前記端末装置間で通信を行う通信制御方法であって、前記通信制御装置において、前記端末装置を配下とする前記ＮＡＴ装置を識別する識別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信ステップと、前記通信制御装置において、前記第一受信ステップによって前記種別要求信号を受信した場合において、前記ＮＡＴ装置のグローバルＩＰアドレスであるＮＡＴアドレスと、前記ＮＡＴ装置の前記種別情報とが対応付けて記憶された第一記憶手段を参照し、前記種別要求信号の送信元ＩＰアドレスと一致するＩＰアドレスが、前記ＮＡＴアドレスとして前記第一記憶手段に記憶されているか判断する第一判断ステップと、前記通信制御装置において、前記第一判断ステップによって前記送信元ＩＰアドレスと一致する前記ＮＡＴアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記ＮＡＴアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信ステップと、前記端末装置において、前記種別要求信号を前記通信制御装置に対して送信する第二送信ステップと、前記端末装置において、前記第二送信ステップによって送信された前記種別要求信号に応じ、前記通信制御装置から送信される前記種別情報を受信する第二受信ステップと、前記端末装置において、前記第二受信ステップによって前記種別情報を受信した場合に、受信された前記種別情報に基づいて決定される通信確立方法による通信を行うことによって、自身を配下とする前記ＮＡＴ装置とは異なる前記ＮＡＴ装置の配下にある他の前記端末装置と通信を行う通信制御ステップとを備えている。
【００２４】
第三態様に係る通信制御方法では、端末装置は、自身を配下とするＮＡＴ装置の種別情報を通信制御装置から取得するので、迅速に種別情報を特定できる。端末装置は、短時間で他の端末装置とのＰ２Ｐ通信を開始させることができる。種別情報を特定するための所定通信であって、ＮＡＴ装置を介して通信制御装置との間で行われる所定通信が不要となるので、通信制御装置に処理負荷をかけることなく、端末装置は種別情報を特定できる。またネットワークのトラフィックの増大を抑制できる。
【００２５】
本発明の第四態様に係る通信制御プログラムは、通信制御装置の各処理手段としてコンピュータを駆動させる。これによって第四態様に係る通信制御プログラムは、上述の通信制御装置を駆動させることができる。
【図面の簡単な説明】
【００２６】
【図１】通信システム１の概要を示す模式図である。
【図２】通信制御装置１４の電気的構成を示すブロック図である。
【図３】ＮＡＴテーブル２４１１を示す模式図である。
【図４】ＮＡＴ装置３の電気的構成を示すブロック図である。
【図５】端末装置６の電気的構成を示すブロック図である。
【図６】通信制御処理を示すフローチャートである。
【図７】登録処理を示すフローチャートである。
【図８】種別応答処理を示すフローチャートである。
【図９】種別応答処理を示すフローチャートである。
【図１０】第一多段処理を示すフローチャートである。
【図１１】第二多段処理を示すフローチャートである。
【図１２】更新処理を示すフローチャートである。
【図１３】多段状態下にある端末間の通信を示す図である。
【図１４】多段状態下にない端末間の通信を示す図である。
【図１５】多段状態下にある端末間の通信を示す図である。
【図１６】多段状態下にある端末間の通信を示す図である。
【図１７】端末装置処理を示すフローチャートである。
【図１８】端末装置処理を示すフローチャートである。
【図１９】登録時判別処理を示すフローチャートである。
【図２０】常時判別処理を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本発明に係る通信システム１について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている端末の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【００２８】
図１を参照し、通信システム１の概要について説明する。通信システム１は、通信制御装置１４、通信管理装置１５、ＮＡＴ装置３〜５、及び端末装置６〜９を少なくとも備えている。通信制御装置１４、通信管理装置１５、及びＮＡＴ装置３，４は、インターネット１０に接続している。ＮＡＴ装置５は、ＮＡＴ装置４の配下のＬＡＮ１２に接続している。端末装置６，７は、ＮＡＴ装置３の配下のＬＡＮ１１に接続している。端末装置８は、ＮＡＴ装置４の配下のＬＡＮ１２に接続している。端末装置９は、ＮＡＴ装置５の配下のＬＡＮ１３に接続している。
【００２９】
通信制御装置１４は、端末装置６〜９間でのＰ２Ｐ（Peer to Peer）通信を可能とするために必要な情報を、端末装置６〜９に提供する。通信制御装置１４としては、例えば呼制御サーバやＳＴＵＮサーバが使用できる。通信管理装置１５は、端末装置６〜９において実行されているＰ２Ｐ通信の通信状態を記憶している。通信管理装置１５としては、例えば、端末装置６〜９間でテレビ会議が行われている場合において、端末装置６〜９の通信状態を認識できるテレビ会議管理サーバが使用できる。
【００３０】
端末装置６〜９は、通信制御装置１４から取得される情報に基づいて、他の端末装置との間でＰ２Ｐ通信を行うことができる。端末装置６〜９としては、例えばＰＣ（パーソナルコンピュータ）が使用できる。ＮＡＴ装置３〜５は、ＮＡＴ（Network Address Translation）機能を備えた装置である。ＮＡＴ装置３〜５としては、例えばＮＡＴルータが使用できる。
【００３１】
端末装置６〜９間でＰ２Ｐ通信を行う際、送受信されるパケットがＮＡＴ装置３〜５においてブロックされてしまう場合がある。ＮＡＴ装置３〜５は、インターネット１０側（ＮＡＴ装置５の場合、ＬＡＮ１２側）からパケットを受信した場合、所定のパケットのみＬＡＮ１１，１２側（ＮＡＴ装置５の場合、ＬＡＮ１３側）に転送し、それ以外のパケットは転送しないためである。
【００３２】
Ｐ２Ｐ通信の実行に際し、端末装置６〜９では、ＮＡＴ装置３〜５の転送規則の種別であるＮＡＴ種別（Cone NAT、Symmetric NATなど）が取得される。Ｐ２Ｐ通信を開始するために必要な通信確立方法が、ＮＡＴ種別ごとに特定される。通信確立方法としては、例えばUDP Hole PunchingやUDP Multi Hole Punchingが使用できる。端末装置６〜９は、ＮＡＴ種別と通信確立方法とが対応付けられているリストを記憶しており、このリストを参照することによって、通信確立方法を特定できる。しかしながら例えば、他の制御機器（通信制御装置１４や通信管理装置１５等を含む）に問い合わせることによって、取得されたＮＡＴ種別に対応する通信確立方法を特定してもよい。特定された方法に基づいて通信が行われる。その後、端末装置６〜９間でＰ２Ｐ通信が可能となる。
【００３３】
本実施の形態では、ＮＡＴ装置３〜５のＮＡＴ種別を通信制御装置１４が管理する。端末装置６〜９は、Ｐ２Ｐ通信を開始する場合に、通信制御装置１４と通信を行うことによってＮＡＴ種別を取得する。端末装置６〜９は、取得したＮＡＴ種別に基づき通信確立方法を決定して通信を行い、その後Ｐ２Ｐ通信を行う。ＮＡＴ種別を迅速に取得することが可能となるので、端末装置６〜９はＰ２Ｐ通信を迅速に開始させることができる。
【００３４】
なお、図１におけるインターネット１０が、本発明の「外部ネットワーク」に相当する。外部ネットワークとしてインターネット１０の他に従来周知の様々なネットワーク（ＬＡＮ、ＷＡＮ、専用回線など）が使用できる。なお本発明は図１のシステム形態に限定されない。例えば図１におけるＬＡＮ１１〜１３は、インターネットやＷＡＮ、専用回線であってもよい。通信制御装置１４と端末装置６〜９の間の経路途中には、３つ以上のＮＡＴ装置が介在していてもよい。
【００３５】
図２を参照し、通信制御装置１４の電気的構成について説明する。通信制御装置１４は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ＨＤＤ２４を備えている。ＣＰＵ２１は、ＮＡＴ装置３〜５や端末装置６〜９との通信を制御する。ＲＯＭ２２には、Ｂｏｏｔプログラムや初期設定パラメータが少なくとも記憶される。ＲＡＭ２３には、ＣＰＵ２１の処理時に発生する一時的なデータが少なくとも記憶される。ＨＤＤ２４には、ＮＡＴテーブル記憶領域２４１、プログラム記憶領域２４２、及びその他の情報記憶領域２４３を少なくとも備えている。ＮＡＴテーブル記憶領域２４１には、ＮＡＴ装置３〜５のＮＡＴ種別の情報が格納されたＮＡＴテーブルが記憶される。プログラム記憶領域２４２には、ＣＰＵ２１のプログラムが記憶される。ＣＰＵ２１は、ＲＯＭ２２、ＲＡＭ２３、及びＨＤＤ２４と電気的に接続している。ＣＰＵ２１は、ＲＯＭ２２、ＲＡＭ２３、及びＨＤＤ２４の記憶領域にアクセスできる。
【００３６】
通信制御装置１４は、入力ドライバ２５を備えている。入力ドライバ２５は、キーボード２５１を介して入力された情報を検出する。ＣＰＵ２１は、入力ドライバ２５と電気的に接続している。入力ドライバ２５は、キーボード２５１と電気的に接続する。ＣＰＵ２１は、キーボード２５１を介して入力された情報を認識できる。通信制御装置１４は、表示ドライバ２６を備えている。表示ドライバ２６は、ディスプレイ２６１に像を表示させるための制御を行う。ＣＰＵ２１は、表示ドライバ２６と電気的に接続している。表示ドライバ２６は、ディスプレイ２６１と電気的に接続する。ＣＰＵ２１は、ディスプレイ２６１に所望の像を表示させることができる。
【００３７】
通信制御装置１４は、通信モジュール２７を備えている。通信モジュール２７は、インターネット１０を介した通信を可能とする。ＣＰＵ２１は、通信モジュール２７と電気的に接続している。ＣＰＵ２１は、インターネット１０を介して通信を行うことができる。通信制御装置１４は、ディスクドライブ２８を備えている。ディスクドライブ２８は、記憶媒体２８１に記憶された情報にアクセスする為の駆動装置である。ＣＰＵ２１は、ディスクドライブ２８と電気的に接続している。ＣＰＵ２１は、ディスクドライブ２８に記憶媒体２８１が挿入された状態で、記憶媒体２８１に記憶された情報にアクセスできる。記憶媒体２８１には、例えば、ＣＰＵ２１が実行するプログラムが記憶される。通信制御装置１４の導入時には、プログラムが記憶媒体２８１からＨＤＤ２４のプログラム記憶領域２４２にセットアップされる。
【００３８】
図３を参照し、ＨＤＤ２４に記憶されるＮＡＴテーブルの一例であるＮＡＴテーブル２４１１について説明する。ＮＡＴテーブル２４１１には、通信システム１内にあるＮＡＴ装置３〜５のＩＤ、ＮＡＴ種別、ＮＡＴ装置３、４におけるインターネット１０側（ＮＡＴ装置５におけるＬＡＮ１２側）に設定されたグローバルＩＰアドレス（「ＧＩＰ」という。）及びグローバルポート番号（「ＧＰｏｒｔ」という。）、ＮＡＴ装置３、４におけるＬＡＮ１１，１２側（ＮＡＴ装置５におけるＬＡＮ１３側）に設定されたポート番号（「ＬＰｏｒｔ」という。）が格納される。また、同一のＮＡＴ装置の配下にある端末装置を識別する識別情報（「識別子キー」という。）が格納される。また、テーブル内の情報の利用の可否を示す情報（「利用可否情報」という。）が格納される。
【００３９】
図３に示す例では、ＩＤが「４」であるＮＡＴ装置に関する情報が記憶されている。このＮＡＴ装置は、図１におけるＮＡＴ装置４に該当する。ＮＡＴ種別は「ＦＣ  ＮＡＴ」（Full Cone NAT）である。ＧＩＰは「Ｇ４」である。ＧＰｏｒｔは「ＧＰ４」である。ＬＩＰは「Ｌ４」である。ＬＰｏｒｔは「ＬＰ４」である。識別子キーは「ＡＡＡＡ」である。利用可能であることを示す情報（図３中「利用可能」）が利用可否情報として格納されている。
【００４０】
図４を参照し、ＮＡＴ装置３の電気的構成について説明する。ＮＡＴ装置４，５の電気的構成は、ＮＡＴ装置３と同一である。ＮＡＴ装置３は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、フラッシュメモリ３４を備えている。ＣＰＵ３１は、通信制御装置１４、通信管理装置１５、及び端末装置６〜９との通信を制御する。ＲＯＭ３２には、ＣＰＵ３１のプログラムが少なくとも記憶される。ＲＡＭ３３には、ＣＰＵ３１の処理時に発生する一時的なデータが少なくとも記憶される。フラッシュメモリ３４には、ポート番号が履歴情報として記憶される。ＣＰＵ３１は、ＲＯＭ３２、ＲＡＭ３３、及びフラッシュメモリ３４と電気的に接続している。ＣＰＵ３１は、ＲＯＭ３２、ＲＡＭ３３、及びフラッシュメモリ３４の記憶領域にアクセスできる。
【００４１】
ＮＡＴ装置３は、表示部３５を備えている。表示部３５は、ＮＡＴ装置３の状態等を表示することができる。ＣＰＵ３１は、表示部３５と電気的に接続している。ＣＰＵ３１は、表示部３５に所望の情報を表示させることができる。表示部３５としては、例えばＬＥＤが使用できる。ＮＡＴ装置３は、入力部３６を備えている。入力部３６は、ユーザによるＮＡＴ装置３への入力操作を受け付ける。ＣＰＵ３１は、入力部３６と電気的に接続している。ＣＰＵ３１は、入力部３６を介して入力された情報を認識できる。入力部３６としては、例えばスイッチやタッチセンサが使用できる。
【００４２】
ＮＡＴ装置３は、通信モジュール３７を備えている。通信モジュール３７は、インターネット１０（ＮＡＴ装置５の場合、ＬＡＮ１２）を介した通信を可能とする。ＣＰＵ３１は、通信モジュール３７と電気的に接続している。ＣＰＵ３１は、インターネット１０やＬＡＮ１２を介して通信を行うことができる。ＮＡＴ装置３は、通信モジュール３８を備えている。通信モジュール３８は、ＬＡＮ１１、１２（ＮＡＴ装置５の場合、ＬＡＮ１３）を介した通信を可能とする。ＣＰＵ３１は、通信モジュール３８と電気的に接続している。ＣＰＵ３１は、ＬＡＮ１１〜１３を介して通信を行うことができる。
【００４３】
図５を参照し、端末装置６の電気的構成について説明する。端末装置７〜９の電気的構成は、端末装置６と同一である。端末装置６〜９は、ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、ＨＤＤ６４を備えている。ＣＰＵ６１は、ＮＡＴ装置３〜５、通信制御装置１４、及び通信管理装置１５との通信を制御する。ＲＯＭ６２には、Ｂｏｏｔプログラムや初期パラメータが少なくとも記憶される。ＲＡＭ６３は、ＣＰＵ６１の処理時に発生する一時的なデータが少なくとも記憶される。ＨＤＤ６４は、ＣＰＵ６１のプログラムが少なくとも記憶される。ＣＰＵ６１は、ＲＯＭ６２、ＲＡＭ６３、及びＨＤＤ６４と電気的に接続している。ＣＰＵ６１は、ＲＯＭ６２、ＲＡＭ６３、及びＨＤＤ６４の記憶領域にアクセスできる。
【００４４】
端末装置６〜９は、入力ドライバ６５を備えている。入力ドライバ６５は、キーボード６５１を介して入力された情報を検出する。ＣＰＵ６１は、入力ドライバ６５と電気的に接続している。入力ドライバ６５は、キーボード６５１と電気的に接続する。ＣＰＵ６１は、キーボード６５１を介して入力された情報を認識できる。端末装置６〜９は、表示ドライバ６６を備えている。表示ドライバ６６は、ディスプレイ６６１に像を表示させるための制御を行う。ＣＰＵ６１は、表示ドライバ６６と電気的に接続している。表示ドライバ６６は、ディスプレイ６６１と電気的に接続する。ＣＰＵ６１は、ディスプレイ６６１に所望の像を表示させることができる。
【００４５】
端末装置６〜９は、通信モジュール６７を備えている。通信モジュール６７は、ＬＡＮ１１〜１３を介した通信を可能とする。ＣＰＵ６１は、通信モジュール６７と電気的に接続している。ＣＰＵ６１は、ＬＡＮ１１〜１３を介して通信を行うことができる。端末装置６〜９は、ディスクドライブ６８を備えている。ディスクドライブ６８は、記憶媒体６８１に記憶された情報にアクセスする為の駆動装置である。ＣＰＵ６１は、ディスクドライブ６８と電気的に接続している。ＣＰＵ６１は、ディスクドライブ６８に記憶媒体６８１が挿入された状態で、記憶媒体６８１に記憶された情報にアクセスできる。記憶媒体６８１には、例えば、ＣＰＵ６１が実行するプログラムが記憶される。端末装置６〜９の導入時には、プログラムが記憶媒体６８１からＨＤＤ６４にセットアップされる。
【００４６】
図６〜１２を参照し、通信制御装置１４のＣＰＵ２１において実行される通信制御処理及び更新処理について説明する。通信制御処理及び更新処理は、通信制御装置１４の電源が投入された場合において、ＣＰＵ２１によって起動され実行される。なおこれらの処理は、ＯＳが所定の周期で順次切り替えながら実行される。
【００４７】
図６〜１１を参照し、通信制御処理について説明する。通信制御処理では、端末装置６〜９から送信される各種パケット（登録要求パケット、種別要求パケット、及び多段結果パケット）を受信し、受信したパケットの種類に基づいて各種処理が実行される。
【００４８】
以下、上述のパケットを送信した端末装置６〜９を「送信元端末」という。送信元端末から送信されたパケットがＮＡＴ装置３〜５を経由して通信制御装置１４に到達する場合において、通信制御装置１４に対して直接パケットを転送するＮＡＴ装置（図１の例では、ＮＡＴ装置３又はＮＡＴ装置４：後述するＧＩＰが設定されているＮＡＴ装置）を、以下「送信元ＮＡＴ装置」という。
【００４９】
通信制御処理が起動されると、はじめに、ＮＡＴ種別の登録を要求する登録要求パケットを、送信元端末から受信したかが判断される（Ｓ１１）。なお登録要求パケットは、後述するＳ１３５（図１７参照）やＳ１５５（図１８参照）の処理によって、送信元端末から送信される。登録要求パケットを受信した場合（Ｓ１１：ＹＥＳ）、受信したパケットのデータ部に含まれているＮＡＴ種別をＮＡＴテーブルに登録する為の処理（登録処理）が実行される（Ｓ１３）。登録処理の終了後、Ｓ１１に戻り、処理が繰り返される。
【００５０】
図７を参照し、登録処理について説明する。登録処理では、Ｓ１１（図６参照）の処理において受信された登録要求パケットのデータ部に含まれているＮＡＴ種別が抽出され、ＮＡＴテーブルに格納される（Ｓ８１）。Ｓ１１（図６参照）の処理において受信された登録要求パケットのヘッダ部から、送信元ＩＰアドレス及び送信元ポート番号（登録要求パケットを転送した送信元ＮＡＴ装置におけるインターネット１０側のＩＰアドレス及びポート番号に相当）が抽出される。また、登録要求パケットのデータ部から、送信元ＮＡＴ装置のＩＤ、中継された端末装置の端末ＩＰアドレス及び端末ポート番号が抽出される。抽出された送信元ＩＰアドレス、送信元ポート番号、ＩＤ、端末ＩＰアドレス、及び端末ポート番号は、其々、ＧＩＰ、ＧＰｏｒｔ、ＩＤ、ＬＩＰ、及びＬＰｏｒｔとしてＮＡＴテーブルに格納される。利用可否情報として、利用可能であることを示す情報がＮＡＴテーブルに格納される。
【００５１】
次いで、任意の識別子キーを生成し、上述の処理によって格納された情報に対応付けて、ＮＡＴテーブルに格納される（Ｓ８３）。生成された識別子キーをデータ部に含むパケットであるキー通知パケットが、送信元端末に対して送信される（Ｓ８５）。そして登録処理を終了し、通信制御処理（図６参照）に戻る。なお、詳細は図１２のＳ１２３でも説明するが、識別子キーは、たとえば、同一のＮＡＴ装置を経由する送信元端末を識別可能なキーである。
【００５２】
図６に示すように、ＮＡＴ種別の送信を要求する種別要求パケットを、送信元端末から受信したかが判断される（Ｓ１１：ＮＯ→Ｓ１５）。なお種別要求パケットは、後述するＳ１２５（図１７参照）の処理によって、送信元端末から送信される。種別要求パケットを受信した場合（Ｓ１５：ＹＥＳ）、ＨＤＤ２４に記憶されているＮＡＴテーブルからＮＡＴ種別を検索し、送信元端末にＮＡＴ種別を返信する処理（種別応答処理）が実行される（Ｓ１７）。種別応答処理の後、Ｓ１１に戻り、処理が繰り返される。
【００５３】
図８及び図９を参照し、種別応答処理について説明する。種別応答処理では、はじめに、種別要求パケットのデータ部に識別子キーが含まれているかが判断される（Ｓ３１）。なお識別子キーは、端末装置６〜９が送信した登録要求パケットに応じ、図７に示したＳ８５において通信制御装置１４から端末装置６〜９に通知される構成である。端末装置６〜９では、識別子キーを通信制御装置１４から通知済みである場合、図１７のＳ１２５の処理によって、識別子キーを含む種別要求パケットが通信制御装置１４に対して送信される。登録要求パケットに識別子キーが含まれているかを判断することによって、過去に同一のＮＡＴ装置を介して登録要求パケットを受信しているかが判断できる。
【００５４】
種別要求パケットに識別子キーが含まれている場合（Ｓ３１：ＹＥＳ）、次いで、種別要求パケットのヘッダに含まれている送信元ＩＰアドレスが抽出される。送信元ＩＰアドレスは、種別要求パケットを直接自身に対して送信した送信元ＮＡＴ装置のＧＩＰに相当する。送信元ＮＡＴ装置のＧＩＰと同一のＩＰアドレスが、ＮＡＴテーブルにＧＩＰとして格納されているかが判断される（Ｓ４３）。送信元ＮＡＴ装置のＧＩＰと同一のＩＰアドレスが、ＮＡＴテーブルにＧＩＰとして格納されている場合（Ｓ４３：ＹＥＳ）、過去に送信元ＮＡＴ装置を経由して送信元端末から登録要求パケットを受信したことがあるということになる。この場合Ｓ６１の処理に進む。
【００５５】
Ｓ６１の処理では、Ｓ４３の処理において、種別要求パケットのヘッダから抽出された送信元ＩＰアドレスと同一であると判断されたＧＩＰに対応付けられている識別子キーが、受信した種別要求パケットのデータ部に格納されている識別子キーと同一であるかが判断される（Ｓ６１）。同一であると判断されたＧＩＰに対応付けられている識別子キーと、種別要求パケットのデータ部に格納されている識別子キーとが同一である場合（Ｓ６１：ＹＥＳ）、同一と判断されたＧＩＰ及び識別子キーに対応付けられている利用可否情報が利用可能となっているかが判断される（Ｓ６３）。同一と判断されたＧＩＰ及び識別子キーに対応付けられている利用可否情報が利用不可となっている場合（Ｓ６３：ＮＯ）、利用可能であることを示す情報が利用可否情報としてＮＡＴテーブルに格納される（Ｓ６５）。そしてＳ６７の処理に進む。一方、同一と判断されたＧＩＰ及び識別子キーに対応付けられている利用可否情報が利用可能となっている場合（Ｓ６３：ＹＥＳ）、そのままＳ６７の処理に進む。
【００５６】
Ｓ６７の処理では、同一とされたＧＩＰ及び識別子キーに対応付けられているＮＡＴ種別を含む種別応答パケットが、送信元端末に対して送信される（Ｓ６７）。そして種別応答処理を終了し、通信制御処理（図６）に戻る。
【００５７】
このように本実施の形態では、受信した種別要求パケットのヘッダ部に含まれている送信元ＩＰアドレス及び、データ部に含まれている識別子キーが、ＮＡＴテーブルのＧＩＰ及び識別子キーと一致した場合、送信元端末に対してＮＡＴ種別が通知される。送信元端末では、通知されたＮＡＴ種別に基づいて、他の端末装置との間でＰ２Ｐ通信を行うことが可能となる。
【００５８】
一方、Ｓ１５（図６参照）の処理において受信された種別要求パケットのデータ部に含まれている識別子キーが、ＮＡＴテーブルのうち対象としている識別子キーと異なる場合（Ｓ６１：ＮＯ）、送信元ＮＡＴ装置のＧＩＰと同一のＩＰアドレスが、送信元ＮＡＴ装置とは異なるＮＡＴ装置に対して設定された可能性がある。ＮＡＴテーブルに記憶されている情報のうち、対象としている情報が削除される（Ｓ６９）。これによって、古くなった情報がＮＡＴテーブルから削除される。
【００５９】
ＮＡＴ種別の判別を要求する判別要求パケットが、送信元端末に対して送信される（Ｓ７１）。端末装置は、後述するＳ１３５（図１７参照）の処理によって、判別要求パケットに応じてＮＡＴ種別をデータ部に含む登録要求パケットを返信する。通信制御装置１４では、登録要求パケットを受信し、ＮＡＴ種別を登録することによって、最新のＮＡＴ種別をＮＡＴテーブルに登録することが可能となる（図７参照）。そして種別応答処理を終了し、通信制御処理（図６参照）に戻る。
【００６０】
一方、Ｓ１５（図６参照）の処理において受信された種別要求パケットのデータ部に識別子キーが含まれているが（Ｓ３１：ＹＥＳ）、送信元ＮＡＴ装置のＧＩＰと同一のＩＰアドレスが、ＮＡＴテーブルにＧＩＰとして格納されていない場合（Ｓ４３：ＮＯ）、送信元ＮＡＴ装置のＧＩＰの設定が変更された可能性がある。そこで次に、Ｓ１５（図６参照）の処理において受信された種別要求パケットのデータ部に格納されている識別子キーと同一の識別子キーが、ＮＡＴテーブルに格納されているかが判断される（Ｓ４５）。種別要求パケットのデータ部に格納されている識別子キーと同一の識別子キーが、ＮＡＴテーブルに記憶されていない場合（Ｓ４５：ＮＯ）、ＮＡＴ種別をＮＡＴテーブルから検索することができない。この場合、新たにＮＡＴ種別を登録するために、判別要求パケットが送信元端末に対して送信される（Ｓ５５）。そして通信制御処理（図６参照）に戻る。
【００６１】
種別応答パケットのヘッダ部に含まれている識別子キーと同一の識別子キーが、ＮＡＴテーブルに記憶されている場合（Ｓ４５：ＹＥＳ）、識別子キーを参照することによって、ＮＡＴテーブルに基づいてＮＡＴ種別を特定することができる。ＮＡＴテーブルのうち、種別応答パケットのデータ部に格納されている識別子キーに対応付けられている利用可否情報が参照される（Ｓ４７）。ＮＡＴテーブルの利用可否情報が利用可能となっている場合（Ｓ４７：ＹＥＳ）、利用可能な状態であるにもかかわらず送信元ＮＡＴ装置のＧＩＰが変更されたということになる。この場合、最新のＮＡＴ種別を送信元端末から取得してＮＡＴテーブルに登録するために、判別要求パケットが送信元端末に対して送信される（Ｓ４９）。そして通信制御処理（図６参照）に戻る。
【００６２】
一方、ＮＡＴテーブルの利用可否情報が利用不可となっている場合（Ｓ４７：ＮＯ）、Ｓ１５（図６参照）の処理において受信された種別要求パケットのヘッダ部に含まれている送信元ＩＰアドレスが、ＮＡＴテーブルのうち種別応答パケットのデータ部に格納されている識別子キーに対応付けられ、ＧＩＰとして格納される。また、利用可能であることを示す情報が利用可否情報として格納される（Ｓ５１）。次いで、ＮＡＴテーブルのうち種別応答パケットのデータ部に格納されている識別子キーに対応付けられているＮＡＴ種別をデータ部に含む種別応答パケットが、送信元端末に対して送信される（Ｓ５３）。そして通信制御処理（図６）に戻る。
【００６３】
このように本実施の形態では、受信した種別要求パケットのデータ部に格納されている識別子キーが、ＮＡＴテーブルの識別子キーと一致した場合、通信制御装置１４は、送信元端末に対してＮＡＴ種別を通知することができる。これによって端末装置は、ＮＡＴ装置のＩＰアドレスが変更された場合であっても、即座にＮＡＴ種別を取得して他の端末装置との間でＰ２Ｐ通信を開始することが可能となる。
【００６４】
一方、Ｓ１５（図６参照）の処理において受信された種別要求パケットのデータ部に識別子キーが含まれていない場合（Ｓ３１：ＮＯ）、過去に送信元端末から登録要求パケットを受信していないことになる。この場合、図９に示すように、種別要求パケットのヘッダ部に含まれている送信元ＩＰアドレス（送信元ＮＡＴ装置のＧＩＰ）と一致するＧＩＰが、ＮＡＴテーブル中に存在するかが判断される（Ｓ３３）。送信元ＮＡＴ装置のＧＩＰと一致するＧＩＰが、ＮＡＴテーブル中に存在しない場合（Ｓ３３：ＮＯ）、ＮＡＴ種別をＮＡＴテーブルから検索することができない。新たにＮＡＴ種別を登録するために、判別要求パケットが送信元端末に対して送信される（Ｓ４１）。そして種別応答処理を終了し、通信制御処理（図６参照）に戻る。
【００６５】
送信元ＮＡＴ装置のＧＩＰと一致するＧＩＰがＮＡＴテーブル中に存在する場合（Ｓ３３：ＹＥＳ）、通信制御装置１４と端末装置との間に、送信元ＮＡＴ装置以外のＮＡＴ装置が介在した状態である可能性がある（以下、このような状態を「多段状態」という。）。図１３を参照し、多段状態下において種別要求パケットが転送される様子について説明する。端末装置８が既に通信制御装置１４に対して登録要求パケットを送信しており、識別子キーを取得しているものとする。一方、端末装置９は通信制御装置に対して登録要求パケットを送信しておらず、識別子キーを取得していないものとする。
【００６６】
端末装置８から通信制御装置１４に対して種別要求パケットが送信される（４１）。送信された種別要求パケットのデータ部には、識別子キーが含まれている。なお、図中「Ｇ８」は、種別要求パケットのヘッダ部に格納されている送信元ＩＰアドレスを示している。また「（有）」は、種別要求パケットのデータ部に識別子キーが含まれていることを示している。送信された種別要求パケットのヘッダ部に格納されている送信元ＩＰアドレスが、ＮＡＴ装置４において変換される（Ｇ８→Ｇ４）。送信元ＩＰアドレスが変換された後の種別要求パケットが、ＮＡＴ装置４において転送される（４２）。通信制御装置１４において、ＮＡＴ装置４を介して転送された種別要求パケットが受信される（４６）。
【００６７】
一方、端末装置９から通信制御装置１４に対して種別要求パケットが送信される（４３）。なお図中「（無）」は、識別要求パケットのデータ部に識別子キーが含まれていないことを示している。送信された種別要求パケットのデータ部には、識別子キーが含まれていない。送信された種別要求パケットのヘッダ部に格納されている送信元ＩＰアドレスが、ＮＡＴ装置５において変換され（Ｇ９→Ｇ５）、転送される（４４）。さらにＮＡＴ装置４において送信元ＩＰアドレスが変換され（Ｇ５→Ｇ４）、転送される（４５）。通信制御装置１４において、ＮＡＴ装置４を介して転送された種別要求パケットが受信される（４６）。
【００６８】
通信制御装置１４では、事前に端末装置８から登録要求パケットを受信しており、ＮＡＴテーブルに情報が登録されている（例えば図３参照）。この状態で、通信制御装置１４が端末装置９から種別要求パケットを受信した場合、種別要求パケットのデータ部に識別子キーは含まれていないが（Ｓ３１：ＮＯ（図７））、種別要求パケットのヘッダ部に格納されている送信元ＩＰアドレスと同一のＧＩＰ（Ｇ４）が、ＮＡＴテーブルに格納されていることになる（Ｓ３３：ＹＥＳ（図７参照））。通信制御装置１４では、このような場合に、端末装置９がＮＡＴ装置５を介してＮＡＴ装置４と接続している（多段状態下にある）と判断する。
【００６９】
図９に示すように、送信元端末が多段状態下にある可能性があると判断された場合（Ｓ３３：ＹＥＳ）、Ｓ１５（図６参照）の処理において受信された種別要求パケットのヘッダ部に格納されている送信元ＩＰアドレスと同一とされたＧＩＰに対応付けられている利用可否情報が参照される（Ｓ３５）。利用可否情報が利用可能となっている場合（Ｓ３５：ＹＥＳ）、同一ＮＡＴ装置の配下にある他の端末装置（以下「相手端末」という。）との通信を要求する多段判別要求パケットが、送信元端末に対して送信される。同時に、相手端末に対して、多段判別要求パケットが送信される（Ｓ３７）。例えば図１３に示す例では、ＮＡＴ装置４の配下にある端末装置８と端末装置９との両方に対して、多段判別要求パケットが送信されることになる。
【００７０】
通信制御装置１４では、Ｓ３７の処理によって送信された多段判別要求パケットに対する応答パケット（多段結果パケット）に含まれている情報に基づいて、後述する図６のＳ２１において、送信元端末が多段状態下にあるかが判断される。そして種別応答処理を終了し、通信制御処理（図６参照）に戻る。
【００７１】
一方、利用可否情報が利用不可となっている場合（Ｓ３５：ＮＯ）、最新のＮＡＴ種別を送信元端末から取得してＮＡＴテーブルに登録するために、判別要求パケットが送信元端末に対して送信される（Ｓ３９）。そして通信制御処理（図６参照）に戻る。
【００７２】
図６に示すように、通信制御処理では、送信元端末及び相手端末から多段結果パケットを受信したかが判断される（Ｓ１５：ＮＯ→Ｓ１９）。送信元端末及び相手端末では、後述する図１９のＳ１７７、及び図２０のＳ１８９の処理において、通信制御装置１４に対して多段結果パケットが送信される。送信元端末及び相手端末から送信された多段結果パケットを受信した場合（Ｓ１９：ＹＥＳ）、多段結果パケットのデータ部に含まれている情報に基づいて、送信元端末に情報を返信する処理（第一多段処理）が実行される（Ｓ２１）。
【００７３】
図１０を参照し、第一多段処理について説明する。第一多段処理では、図６のＳ１９の処理によって受信された多段結果パケットに含まれている情報が参照される。多段結果パケットのデータ部には、多段判別要求パケットを受信した端末装置間で行われた通信の結果情報（通信結果情報）が含まれている（図１９、図２０参照）。受信した多段結果パケットのデータ部に含まれている通信結果情報が、ＲＡＭ３３に記憶される。次いで、通信結果情報を総合的に解析することによって、送信元端末及び相手端末が多段状態下にあるかが解析される（Ｓ９１）。例えば以下のようにして解析される。
【００７４】
例えば図１４に示すように、ＮＡＴ装置３の配下にある端末装置６，７間で通信が行われた場合を想定する。この場合、端末装置６と端末装置７との間にＮＡＴ装置が介在しない。従って、端末装置６から端末装置７に対してパケットＡが送信された場合、パケットＡは端末装置７に到達する（５１）。同様に、端末装置７から端末装置６に対してパケットＢが送信された場合、パケットＢは端末装置６に到達する（５２）。端末装置６は、パケットＢを受信した旨を通信結果情報として多段結果パケットに付加し、通信制御装置１４に送信する。同様に端末装置７は、パケットＡを受信した旨を通信結果情報として多段結果パケットに付加し、通信制御装置１４に送信する。通信制御装置１４では、端末装置６及び７から受信された通信結果情報を解析することによって、端末装置６及び端末装置７が多段状態下にないと特定できる。
【００７５】
また例えば図１５に示すように、ＮＡＴ装置４の配下にある端末装置８，９間で通信が行われた場合を想定する。この場合、端末装置８と端末装置９との間にはＮＡＴ装置５が介在している。従って端末装置９から端末装置８に対してパケットＣが送信された場合、パケットＣは端末装置８に到達する（５３）。これに対し、端末装置８から端末装置９に対してパケットＤが送信された場合、パケットＤはＮＡＴ装置５によってブロックされるので、端末装置９に到達しない（５４）。端末装置８は、パケットＣを受信した旨を通信結果情報として多段結果パケットに付加し、通信制御装置１４に送信する。同様に端末装置９は、パケットＤを受信できなかった旨を通信結果情報として多段結果パケットに付加し、通信制御装置１４に送信する。通信制御装置１４では、これらの情報を解析することによって、端末装置８は多段状態下になく、端末装置９は多段状態下にあると特定できる。
【００７６】
また例えば図１６に示すように、ＮＡＴ装置４と端末装置８との間にＮＡＴ装置１６が挿入された状態で、端末装置８，９同士で通信が行われたことを想定する。この場合、端末装置９から端末装置８に対してパケットＥが送信された場合、パケットＥは端末装置８に到達しない（５５）。同様に、端末装置８から端末装置９に対してパケットＦが送信された場合、パケットＦは端末装置９に到達しない（５６）。端末装置８は、パケットEを受信できなかった旨を通信結果情報として多段結果パケットに付加し、通信制御装置１４に送信する。同様に端末装置９は、パケットFを受信できなかった旨を通信結果情報として多段結果パケットに付加し、通信制御装置１４に送信する。通信制御装置１４では、これらの情報を解析することによって、端末装置８，９のいずれも多段状態下にあると特定できる。
【００７７】
図１０に示すように、解析の結果、送信元端末及び相手端末が多段状態下にないと判断された場合（Ｓ９３：ＮＯ）、多段結果パケットのヘッダ部に格納されている送信元ＩＰアドレス（送信元ＮＡＴ装置のＧＩＰ）が抽出される。ＮＡＴテーブルのうち、抽出された送信元ＮＡＴ装置のＧＩＰと同一のＧＩＰに対応付けられている識別子キーとＮＡＴ種別とが選択される。選択された識別子キー及びＮＡＴ種別をデータ部に含む種別応答パケットが、送信元端末に対して送信される（Ｓ９７）。そして種別応答処理を終了し、通信制御処理（図６参照）に戻る。
【００７８】
一方、Ｓ９３の処理による解析の結果、送信元端末及び相手端末のうち少なくとも一方が多段状態下にあると判断された場合（Ｓ９３：ＹＥＳ）、ＮＡＴテーブルに記憶されているＮＡＴ種別と、端末装置において判別されるＮＡＴ種別とが相違する可能性がある。端末装置は、自身と通信制御装置１４との間の経路上に介在するＮＡＴ装置のＮＡＴ種別のうち最も転送制限の厳しいＮＡＴ種別を判別し、通信制御装置１４に対して送信するためである（詳細後述）。この場合、多段状態下でのＮＡＴ種別を正確に認識するために、多段状態下にあるとされた側の端末装置に対して判別要求パケットが送信される（Ｓ９５）。そして第一多段処理を終了し、通信制御処理（図６参照）に戻る。なお、判別要求パケットを受信した端末装置では、後述するＳ１５５（図１８参照）の処理において、登録要求パケットが送信される。端末装置から送信された登録要求パケットは、後述する第二多段処理（図１１参照）において処理される。
【００７９】
例えば図１３に示す例のうち、ＮＡＴ装置４のＮＡＴ種別がFull Cone NATであり、ＮＡＴ装置５のＮＡＴ種別がSymmetric NATである場合を想定する。端末装置８において判別された結果のＮＡＴ種別はFull Cone NATとなるので、ＮＡＴテーブルにはFull Cone NATが登録される。一方、多段状態下にある端末装置９において判別されるＮＡＴ種別は、Full Cone NATよりも転送制限の大きいSymmetric NATとなる。本実施の形態では、端末装置９において判別されるＮＡＴ種別をＮＡＴテーブルに追加して登録することによって、多段状態下にある端末装置が正確にＮＡＴ種別を認識できるようにしている。
【００８０】
図６に示すように、通信制御処理では、Ｓ２１の処理によって多段状態の判断がされた後、送信元端末から登録要求パケットを受信したかが判断される（Ｓ１９：ＮＯ→Ｓ２３）。登録要求パケットは、後述するＳ１５５（図１８）及びＳ１３５（図１７）の処理によって、多段状態下にある端末装置から送信される。登録要求パケットのデータ部には、送信元端末において判別されたＮＡＴ種別が含まれている。多段状態下にある端末装置から登録要求パケットを受信した場合（Ｓ２３：ＹＥＳ）、登録要求パケットのデータ部に含まれているＮＡＴ種別をＮＡＴテーブルに格納する処理（第二多段処理）が実行される（Ｓ２５）。
【００８１】
図１１を参照し、第二多段処理について説明する。第二多段処理では、はじめに、Ｓ２３（図６参照）の処理によって受信された登録要求パケットのヘッダ部に格納されている送信元ＩＰアドレス（送信元ＮＡＴ装置のＧＩＰ）が抽出される。ＮＡＴテーブルに格納されているＮＡＴ種別のうち、抽出された送信元ＮＡＴ装置のＧＩＰと同一のＧＩＰに対応付けられているＮＡＴ種別が選択される。このＮＡＴ種別は、同一ＮＡＴ装置の配下にある他の端末装置によって登録されたＮＡＴ種別ということになる。
【００８２】
選択されたＮＡＴ種別と、受信した登録要求パケットのデータ部に含まれているＮＡＴ種別とが比較される（Ｓ１０１）。双方が同一である場合（Ｓ１０３：ＹＥＳ）、送信元ＮＡＴ装置のＧＩＰに対応付けられている識別子キーをデータ部に含むキー通知パケットが、送信元端末に対して送信される（Ｓ１０５）。そして第二多段処理を終了して通信制御処理（図６参照）に戻る。
【００８３】
一方、ＮＡＴテーブルのうち送信元ＮＡＴ装置のＧＩＰに対応付けられているＮＡＴ種別と、受信した登録要求パケットのデータ部に含まれているＮＡＴ種別とが相違する場合（Ｓ１０３：ＮＯ）、新たに識別子キーが生成される（Ｓ１０７）。登録要求パケットのデータ部に含まれているＮＡＴ種別と、生成された識別子キーとが対応付けられてＮＡＴテーブルに登録される（Ｓ１０９）。Ｓ２３（図６参照）の処理によって受信された登録要求パケットのヘッダ部から、送信元ＩＰアドレス及び送信元ポート番号（登録要求パケットを転送した送信元ＮＡＴ装置におけるインターネット１０側のＩＰアドレス及びポート番号に相当）が抽出される。Ｓ２３（図６参照）の処理によって受信された登録要求パケットのデータ部から、送信元ＮＡＴ装置のＩＤ、中継された端末装置の端末ＩＰアドレス、及び端末ポート番号が抽出される。抽出された送信元ＩＰアドレス、送信元ポート番号、ＩＤ、端末ＩＰアドレス、及び端末ポート番号が、其々、ＩＤ、ＧＩＰ、ＧＰｏｒｔ、ＬＩＰ、及びＬＰｏｒｔとしてＮＡＴテーブルに格納される。利用可否情報として、利用可能であることを示す情報がＮＡＴテーブルに格納される。次いで、登録が完了したことを通知する登録通知パケットが送信元端末に対して送信される（Ｓ１１０）。登録通知パケットのデータ部には、生成された識別子キーが格納される。そして第二多段処理を終了して通信制御処理（図６参照）に戻る。
【００８４】
このように本実施の形態では、通信制御装置１４は、多段状態下のＮＡＴ種別を正確に把握し、ＮＡＴテーブルに登録できる。多段状態下にある端末装置は、通信制御装置１４からＮＡＴ種別を取得することによって、ＮＡＴ種別に対応する通信確立方法を正確に決定することができる。端末装置は、決定した通信確立方法によって通信を行うことができる。これによって、多段状態下にある端末装置であっても、他の端末装置との間でより確実にＰ２Ｐ通信を行うことが可能となる。
【００８５】
図１２を参照し、更新処理について説明する。更新処理では、端末装置において所定の通信（テレビ会議通信など）が行われているかによって、ＮＡＴテーブルの利用可否情報を更新する。通信管理装置１５には、各端末装置の通信状態が記憶されているので、通信制御装置１４は、更新処理によって通信管理装置１５と通信を行い、通信管理装置１５から各端末装置の通信状態の情報を取得する。
【００８６】
更新処理が起動されると、はじめに、ＮＡＴテーブルに登録されているＮＡＴ装置の配下にある端末装置において、所定の通信が行われているかを問い合わせるために、通信管理装置１５に対して問合せパケットが送信される（Ｓ１１１）。通信管理装置１５は、問合せパケットを受信すると、記憶されている各端末装置の通信状態から、問合せのあった端末装置の通信状態を調査する。端末装置において所定の通信が行われているか否かの情報を含む応答パケットが、通信管理装置１５から通信制御装置１４に対して返信される。通信制御装置１４では、通信管理装置１５から受信された応答パケットに含まれている情報を参照することによって、端末装置において所定の通信が行われているかが特定される。
【００８７】
通信管理装置１５から返信される応答パケットに基づいて、端末装置において所定の通信が終了していると判断された場合（Ｓ１１３：ＹＥＳ）、ＮＡＴテーブルのうち、該当する端末装置を配下とするＮＡＴ装置のＩＤに対応付けられた利用可否情報に、利用不可であることを示す情報が格納される（Ｓ１１５）。そしてＳ１１７の処理に進む。一方、端末装置において所定の通信が継続して行われている場合（Ｓ１１３：ＮＯ）、そのままＳ１１７の処理に進む。
【００８８】
Ｓ１１７では、ＮＡＴテーブルに登録されているＮＡＴ装置の全てについて、Ｓ１１１〜Ｓ１１５の処理が実行されたかが判断される（Ｓ１１７）。通信状態が確認されていない端末装置が残存する場合（Ｓ１１７：ＮＯ）、Ｓ１１１の処理に戻り、残存する端末装置の通信状態を確認するために上述の処理が繰り返される。一方、ＮＡＴテーブルに登録されている全てのＮＡＴ装置について、配下にある全ての端末装置の通信状態の確認が終了した場合（Ｓ１１７：ＹＥＳ）、所定時間が経過するまで待機される（Ｓ１１９）。所定時間経過後、Ｓ１１１の処理に戻り、上述の処理が繰り返される。
【００８９】
このように本実施の形態では、端末装置において所定の通信が終了した場合、利用不可であることを示す情報が利用可否情報に格納される。所定の通信が終了した場合、ＮＡＴ装置の設定が変更される可能性が高くなる。このような場合にＮＡＴテーブルを利用不可とすることによって、誤ったＮＡＴ種別が端末装置に通知されてしまうことを防止できる。
【００９０】
図１７〜図２０を参照し、端末装置６〜９のＣＰＵ６１において実行される端末装置処理及び常時判別処理について説明する。これらの処理は、端末装置６〜９の電源が投入された場合において、ＣＰＵ６１において起動され実行される。なおこれらの処理は、ＯＳが所定の周期で順次切り替えながら実行される。
【００９１】
図１７を参照し、端末装置処理について説明する。端末装置処理が起動されると、はじめに、識別子キーがＲＡＭ６３に記憶されているかが判断される（Ｓ１２１）。識別子キーは、通信制御装置１４からキー通知パケットや種別応答パケットを受信した場合において、ＲＡＭ６３に記憶される（Ｓ１３９、Ｓ１５９（図１８参照））。なおキー通知パケットは、図１１のＳ１０５の処理によって通信制御装置１４から送信される。種別応答パケットは、図８のＳ５３、Ｓ６７、及び図１０のＳ９７の処理によって通信制御装置１４から送信される。識別子キーがＲＡＭ６３に記憶されている場合（Ｓ１２１：ＹＥＳ）、種別要求パケットのデータ部にＲＡＭ６３に記憶されている識別子キーが付加される（Ｓ１２３）。識別子キーをデータ部に含む状態の種別要求パケットが、通信制御装置１４に対して送信される（Ｓ１２５）。そしてＳ１２７の処理に進む。一方、識別子キーがＲＡＭ６３に記憶されていない場合（Ｓ１２１：ＮＯ）、識別子キーをデータ部に含まない状態の種別要求パケットが、通信制御装置１４に対して送信される（Ｓ１２５）。そしてＳ１２７の処理に進む。
【００９２】
Ｓ１２７の処理では、Ｓ１２５の処理において通信制御装置１４に対して送信された種別要求パケットに応じ、通信制御装置１４から返信されるパケット（判別要求パケット、種別応答パケット、多段判別要求パケット）の受信が監視される（Ｓ１２７）。なお判別要求パケットは、図８のＳ４９、Ｓ５５、Ｓ７１、図９のＳ３９、Ｓ４１、及び図１０のＳ９５の処理によって通信制御装置１４から送信される。種別応答パケットは、図８のＳ５３、Ｓ６７、及び図１０のＳ９７の処理によって通信制御装置１４から送信される。多段判別要求パケットは、図９のＳ３７の処理によって通信制御装置１４から送信される。いずれのパケットも受信していない場合（Ｓ１２７：ＮＯ）、Ｓ１２７の処理に戻り、パケットの受信が継続して監視される。
【００９３】
いずれかのパケットを受信した場合（Ｓ１２７：ＹＥＳ）、受信したパケットの種類に応じた処理が実行される。受信したパケットが判別要求パケットであるかが判断される（Ｓ１３１）。判別要求パケットを受信した場合（Ｓ１３１：ＹＥＳ）、ＮＡＴ種別を判別する処理が実行される（Ｓ１３３）。ＮＡＴ種別の判別は、端末装置と通信制御装置１４との間でパケットの送受信を行うことによって実行される。このため、端末装置と通信制御装置１４との間の経路上に介在するＮＡＴ装置のＮＡＴ種別のうち最も転送制限の厳しいＮＡＴ種別が判別される。ここで、ＮＡＴ種別がFull Cone NATであるＮＡＴ装置は、パケットの送信元ＩＰアドレス及び送信元ポート番号に依存せず、インターネット側からＬＡＮ側にパケットを転送することができる。ＮＡＴ種別がAddress Restricted Cone NATであるＮＡＴ装置は、ＬＡＮ側からインターネット側に転送したパケットの送信先ＩＰアドレスと同一のＩＰアドレスが送信元ＩＰアドレスとして設定されたパケットのみ、インターネット側からＬＡＮ側に転送する。ＮＡＴ種別がPort Restricted Cone NATであるＮＡＴ装置は、ＬＡＮ側からインターネット側に転送したパケットの送信先ＩＰアドレス及び送信先ポート番号と同一のＩＰアドレス及びポート番号が、送信元ＩＰアドレス及び送信元ポート番号として設定されたパケットのみ、インターネット側からＬＡＮ側に転送する。ＮＡＴ種別がSymmetric NATであるＮＡＴ装置は、ＮＡＴ種別がPort Restricted Cone NATであるＮＡＴ装置の制約に加え、ＮＡＴ装置におけるＬＡＮ側のポート番号とインターネット側のポート番号とが１対１で対応付けられる。このため、ＬＡＮ側にある端末装置から送信されたパケットを、ＮＡＴ装置を介して受信したインターネット側の端末装置において送信されたパケットのみ、ＮＡＴ装置はインターネット側からＬＡＮ側に転送する。従って転送制限は、ＮＡＴ種別が「Full Cone Nat」「Address Restricted Cone NAT」「Port Restricted Cone NAT」「Symmetric NAT」の順で厳しくなる。加えて、ポート変更のパターンによっても制限が生じる。具体的には、所定のパターンで変更するよりもランダムにパターンを変更する方が厳しい制限となる。
【００９４】
Ｓ１３３の処理によってＮＡＴ装置のＮＡＴ種別が判別された後、判別されたＮＡＴ種別をデータ部に含む登録要求パケットが、通信制御装置１４に対して送信される（Ｓ１３５）。次いで、Ｓ１３５の処理によって送信された登録要求パケットに応じ、通信制御装置１４から送信されるキー通知パケットの受信が監視される（Ｓ１３７）。なおキー通知パケットは、図１１のＳ１０５の処理によって通信制御装置１４から送信される。所定時間経過した後も通信制御装置１４からキー通知パケットを受信しない場合（Ｓ１３７：ＮＯ）、Ｓ１６８（図１８参照）の処理に進む。
【００９５】
通信制御装置１４から送信されるキー通知パケットを受信した場合（Ｓ１３７：ＹＥＳ）、受信したキー通知パケットのデータ部に含まれている識別子キーがＲＡＭ６３に記憶される（Ｓ１３９）。以後、種別要求パケットを送信する場合には、ＲＡＭ６３に記憶されている識別子キーが種別要求パケットのデータ部に格納される（Ｓ１２３参照）。
【００９６】
次いで、常時判別処理を開始させるために、開始フラグがＯＮされる（Ｓ１４１）。そしてＳ１６８（図１８参照）の処理に進む。常時判別処理（図２０参照、後述）では、通信制御装置１４から送信される多段判別要求パケットに応じ、共通のＮＡＴ装置の配下にある端末装置間で通信が行われる。詳細は後述する。
【００９７】
一方、Ｓ１３１の処理において、通信制御装置１４から受信したパケットが多段判別要求パケットであった場合（Ｓ１３１：ＮＯ、Ｓ１４７：ＹＥＳ（図１８参照））図１８に示すように、共通のＮＡＴ装置の配下にある端末装置間で通信を行い、通信結果情報を通信制御装置１４に対して返信する処理（登録時判別処理）が実行される（Ｓ１４９）。
【００９８】
図１９を参照し、登録時判別処理について説明する。はじめに、同一ＮＡＴ装置配下にある他の端末装置宛てにパケットが送信される（Ｓ１７１）。そして、パケットを送信した相手方の端末装置から返信される応答パケットの受信が監視される（Ｓ１７３）。相手方の端末装置から応答パケットを受信しない場合（Ｓ１７３：ＮＯ）、Ｓ１７１の処理で相手方の端末装置に対してパケットを送信してからの経過時間が監視される（Ｓ１７５）。経過時間が所定時間未満である場合（Ｓ１７５：ＮＯ）、Ｓ１７３の処理に戻り、相手方の端末装置から送信される応答パケットの受信が継続して監視される。所定時間内に相手方の端末装置から応答パケットを受信した場合（Ｓ１７３：ＹＥＳ）、Ｓ１７７の処理に進む。一方、経過時間が所定以上となった場合（Ｓ１７５：ＹＥＳ）、Ｓ１７７の処理に進む。
【００９９】
Ｓ１７７の処理では、Ｓ１７１〜Ｓ１７５の処理による相手方の端末装置との通信の結果、応答パケットを受信したか否かを示す情報が、通信結果情報として多段結果パケットのデータ部に格納される。通信結果情報をデータ部に含む多段結果パケットが、通信制御装置１４に対して送信される（Ｓ１７７）。そして登録時判別処理を終了し、端末装置処理（図１８）に戻る。なお通信制御装置１４では、図１０のＳ９１の処理によって、送信した多段結果パケットに基づいて多段状態下にあるかが判断される。多段状態下にあると判断された場合、通信制御装置１４では、図１０のＳ９５の処理によって判別要求パケットが送信される。多段状態下にないと判断された場合、通信制御装置１４では、図１０のＳ９７の処理によって、種別応答パケットが送信される。
【０１００】
図１８に示すように、登録時判別処理（Ｓ１４９）の後、通信制御装置１４から送信されるパケットに基づいて、自身が多段状態下にあるか否かが判断される。通信制御装置１４から種別応答パケットを受信した場合、自身は多段状態下にないと判断される（Ｓ１５１：ＮＯ）。この場合、種別応答パケットのデータ部に含まれているＮＡＴ種別がＲＡＭ６３に記憶される（Ｓ１６７）。そしてＳ１６８の処理に進む。
【０１０１】
一方、通信制御装置１４から判別要求パケットを受信した場合、自身が多段状態下にあると判断される（Ｓ１５１：ＹＥＳ）。この場合、ＮＡＴ種別を判別する処理が実行される（Ｓ１５３）。ＮＡＴ種別の判別は、例えばＳ１３３（図１７参照）と同様の方法によって実行される。これによって、端末装置と通信制御装置１４との間の経路上に介在するＮＡＴ装置のＮＡＴ種別のうち最も転送制限の厳しいＮＡＴ種別が判別される。次いで、判別されたＮＡＴ種別を通信制御装置１４に対して通知するための登録要求パケットが、通信制御装置１４に対して送信される（Ｓ１５５）。登録要求パケットのデータ部には、Ｓ１５３において判別されたＮＡＴ種別が格納される。
【０１０２】
Ｓ１５５において登録要求パケットが送信された後、通信制御装置１４から送信されるキー通知パケットか、又は登録通知パケットの受信が監視される（Ｓ１５７）。なおキー通知パケットは、図１１のＳ１０５の処理によって通信制御装置１４から送信される。登録通知パケットは、図１１のＳ１１０の処理によって通信制御装置１４から送信される。通信制御装置１４からキー通知パケットを受信した場合、既に同一ＮＡＴ装置の配下にある他の端末装置によってＮＡＴ種別が通信制御装置１４のＮＡＴテーブルに登録されているということになる。また、ＮＡＴテーブルに登録されているＮＡＴ種別は、自身がＳ１５３の処理において判別したＮＡＴ装置と同一であるということになる。これに対し登録通知パケットを受信した場合、同一ＮＡＴ装置の配下にある他の端末装置によってＮＡＴ種別が通信制御装置１４のＮＡＴテーブルに登録されているが、ＮＡＴテーブルに登録されているＮＡＴ種別と、自身がＳ１５３の処理において判別したＮＡＴ種別とが異なるということになる。この場合、Ｓ１５５の処理によって送信された登録要求パケットに基づき、通信制御装置１４において新たにＮＡＴ種別が登録されたことになる。
【０１０３】
キー通知パケット又は登録通知パケットを受信した場合（Ｓ１５７：ＹＥＳ）、パケットのデータ部に含まれている識別子キーがＲＡＭ６３に記憶される（Ｓ１５９）。以後、通信制御装置１４に対して種別要求パケットを送信する場合には、ＲＡＭ６３に記憶した識別子キーが種別要求パケットのデータ部に付加される（Ｓ１２３：図１７）。そしてＳ１６１の処理に進む。一方、所定時間以上経過しても、キー通知パケット及び登録通知パケットのいずれも受信できない場合（Ｓ１５７：ＮＯ）、Ｓ１６１の処理に進む。
【０１０４】
Ｓ１６１の処理では、Ｓ１５７の処理で登録通知パケットを通信制御装置１４から受信したかが判断される（Ｓ１６１）。通信制御装置１４から登録通知パケットを受信している場合（Ｓ１６１：ＹＥＳ）、通信制御装置１４において新たにＮＡＴ種別が登録されているので、常時判別処理を開始させるために、開始フラグがＯＮされる（Ｓ１６３）。そしてＳ１６８の処理に進む。一方、通信制御装置１４から登録通知パケットを受信していない場合（Ｓ１６１：ＮＯ）、そのままＳ１６８の処理に進む。
【０１０５】
一方、Ｓ１４７の処理において、Ｓ１２７（図１７参照）の処理によって通信制御装置１４から受信されたパケットが多段判別要求パケットでないと判断され（Ｓ１４７：ＮＯ）、種別応答パケットであったと判断された場合（Ｓ１６５：ＹＥＳ）、通信制御装置１４から受信した種別応答パケットのデータ部に含まれているＮＡＴ種別が、ＲＡＭ６３に記憶される（Ｓ１６７）。そしてＳ１６８の処理に進む。他方、通信制御装置１４から受信したパケットが、判別要求パケット、多段判別要求パケット、及び種別応答パケットのいずれにも該当しない場合（Ｓ１６５：ＮＯ）、Ｓ１２７（図１７参照）の処理に戻り、上述の処理が繰り返される。
【０１０６】
Ｓ１６８の処理では、ＲＡＭ６３にＮＡＴ種別が記憶されているかが判断される（Ｓ１６８）。ＲＡＭ６３にＮＡＴ種別が記憶されている場合（Ｓ１６８：ＹＥＳ）、記憶されているＮＡＴ種別に基づき、Ｐ２Ｐ通信を開始させるために必要な通信確立方法が選択される。ＮＡＴ種別に対応する通信確立方法は、ＮＡＴ種別と通信確立方法とが対応付けられたリストを参照することによって選択される。該リストは、端末装置のＨＤＤ６４に記憶されている。通信確立方法としては、例えばUDP Hole PunchingやUDP Multi Hole Punching等が選択される。リストを参照して選択された方法に基づいて、ＮＡＴ装置を介し通信相手の端末装置との間で通信が実行される（Ｓ１６９）。これによって通信相手の端末装置との間でＰ２Ｐ通信が可能な状態となるので、Ｐ２Ｐ通信が実行される（Ｓ１７０）。そして端末装置処理を終了する。
【０１０７】
図２０を参照し、常時判別処理について説明する。常時判別処理では、共通のＮＡＴ装置の配下にある端末装置間で通信を行い、通信結果情報を通信制御装置１４に対して返信する処理が実行される。常時判別処理が起動されると、はじめに、開始フラグが参照される（Ｓ１８０）。開始フラグがＯＦＦとなっている場合（Ｓ１８０：ＮＯ）、Ｓ１８０の処理に戻り、開始フラグが継続して監視される。なお開始フラグは、図１７のＳ１４１及び図１８のＳ１６３の処理によってＯＮされる。
【０１０８】
開始フラグがＯＮとなった場合（Ｓ１８０：ＹＥＳ）、多段判別要求パケットを受信したかが判断される（Ｓ１８１）。受信していない場合（Ｓ１８１：ＮＯ）、Ｓ１８１の処理に戻り、継続して多段判別要求パケットの受信が監視される。
【０１０９】
通信制御装置１４から送信される多段判別要求パケット（Ｓ３７：図９）を受信した場合（Ｓ１８１：ＹＥＳ）、同一ＮＡＴ装置配下にある他の端末装置宛てにパケットが送信される（Ｓ１８３）。そして、相手方の端末装置から返信される応答パケットの受信が監視される（Ｓ１８５）。応答パケットを受信しない場合（Ｓ１８５：ＮＯ）、Ｓ１８３の処理でパケットを送信してからの経過時間が監視される（Ｓ１８７）。パケットを送信してからの経過時間が所定時間未満である場合（Ｓ１８７：ＮＯ）、Ｓ１８５の処理に戻り、応答パケットの受信が継続して監視される。所定時間内に相手方の端末装置から応答パケットを受信した場合（Ｓ１８５：ＹＥＳ）、Ｓ１８９の処理に進む。一方、経過時間が所定以上となった場合（Ｓ１８７：ＹＥＳ）、Ｓ１８９の処理に進む。
【０１１０】
Ｓ１８９の処理では、Ｓ１８１〜Ｓ１８７の処理よる相手方の端末装置との通信の結果、応答パケットを受信したか否かを示す情報が、通信結果情報として多段結果パケットのデータ部に格納される。通信結果情報をデータ部に含む多段結果パケットが、通信制御装置１４に対して送信される（Ｓ１８９）。そしてＳ１８０の処理に戻り、上述の処理が繰り返される。なお通信制御装置１４では、図１０のＳ９１の処理によって、送信した多段結果パケットに基づいて多段状態下にあるかが判断される。
【０１１１】
以上説明したように、端末装置６〜９は、ＮＡＴ種別を通信制御装置１４から取得するので、迅速にＮＡＴ種別を特定できる。端末装置６〜９は、短い時間で他の端末装置６〜９とのＰ２Ｐ通信を開始させることができる。ＮＡＴ種別を特定する為の処理が不要となるので、通信制御装置１４に処理負荷をかけることなく、端末装置６〜９はＮＡＴ種別を特定できる。またＬＡＮ１１〜１３やインターネット１０のトラフィックの増大を抑制できる。
【０１１２】
また、端末装置６〜９がＮＡＴ種別を判別して通信制御装置１４に通知することで、通信制御装置１４はＮＡＴ種別を記憶することができる。通信制御装置１４が直接ＮＡＴ種別を特定しなくて済むので、通信制御装置１４の処理負荷を軽減できる。ＮＡＴ種別はＩＰアドレスに対応付けて記憶されるので、種別要求パケットの送信元ＩＰアドレスに基づいてＮＡＴ種別を容易に検索できる。
【０１１３】
また通信制御装置１４は、同一のＮＡＴ装置配下にある端末装置を識別子キーによって把握することができる。識別子キーを検索キーとして用いることによって、ＮＡＴ種別を容易に検索することができる。端末装置６〜９の設定情報（ＩＰアドレスなど）が変更された場合であっても、識別子キーを検索キーとしてＮＡＴ種別を検索できる。
【０１１４】
通信制御装置１４は、多段状態下にある端末装置を検出することができる。また、多段状態下であっても正確にＮＡＴ種別を判別できるので、端末装置６〜９間で確実にＰ２Ｐ通信を行うことができる。
【０１１５】
なお、上述の実施の形態における「ＮＡＴ種別」が、本発明の「種別情報」に該当し、「判別要求パケット」が本発明の「特定要求信号」に相当し、「登録要求パケット」が本発明の「種別情報信号」に相当し、「多段判別要求パケット」が本発明の「通信指示信号」に相当し、「多段結果パケット」が本発明の「通信結果信号」に相当する。
【０１１６】
図２のＮＡＴテーブル記憶領域２４１を備えたＨＤＤ２４が本発明の「第一記憶手段」に相当する。図５のＲＡＭ６３が本発明の「第二記憶手段」に相当する。図６のＳ１５の処理を行うＣＰＵ２１が本発明の「第一受信手段」に相当する。図８のＳ４３の処理を行うＣＰＵ２１が本発明の「第一判断手段」に相当し、Ｓ６７の処理を行うＣＰＵ２１が本発明の「第一送信手段」に相当する。図１７のＳ１２５の処理を行うＣＰＵ６１が本発明の「第二送信手段」に相当する。図１８のＳ１６５の処理を行うＣＰＵ６１が本発明の「第二受信手段」に相当する。図１８のＳ１７０の処理を行うＣＰＵ２１が本発明の「通信制御手段」に相当する。
【０１１７】
図８のＳ４９、Ｓ５５の処理を行うＣＰＵ２１が本発明の「第三送信手段」に相当する。図６のＳ１１の処理を行うＣＰＵ２１が本発明の「第三受信手段」に相当する。図７のＳ８１の処理を行うＣＰＵ２１が本発明の「第一記憶制御手段」に相当する。図１７のＳ１３１の処理を行うＣＰＵ６１が本発明の「第四受信手段」に相当し、Ｓ１３３の処理を行うＣＰＵ６１が本発明の「第一特定手段」に相当し、Ｓ１３５の処理を行うＣＰＵ６１が本発明の「第四送信手段」に相当する。
【０１１８】
図１に示す通信制御装置１４が本発明の「通信制御装置」「第一管理装置」に相当する。図１２のＳ１１１の処理を行うＣＰＵ２１が本発明の「取得手段」に相当する。図１の通信管理装置１５が本発明の「第二管理装置」に相当する。図１２のＳ１１５の処理を行うＣＰＵ２１が本発明の「第一更新手段」に相当する。図７のＳ８５の処理を行うＣＰＵ２１が本発明の「第五送信手段」に相当する。図１７のＳ１３７、及び図１８のＳ１５７の処理を行うＣＰＵ６１が本発明の「第五受信手段」に相当する。図１７のＳ１３９、及び図１８のＳ１５９の処理を行うＣＰＵ６１が本発明の「第二記憶制御手段」に相当する。図８のＳ６９の処理を行うＣＰＵ２１が本発明の「第二更新手段」に相当し、Ｓ７１の処理を行うＣＰＵ２１が本発明の「第六送信手段」に相当する。図８のＳ６５の処理を行うＣＰＵ２１が本発明の「第三更新手段」に相当する。図９のＳ３７の処理を行うＣＰＵ２１が本発明の「第七送信手段」に相当する。図６のＳ１９の処理を行うＣＰＵ６１が本発明の「第六受信手段」に相当する。図１０のＳ９１の処理を行うＣＰＵ２１が本発明の「解析手段」に相当する。図１０のＳ９５の処理を行うＣＰＵ２１が本発明の「第八送信手段」に相当する。図６のＳ２３の処理を行うＣＰＵ２１が本発明の「第七受信手段」に相当する。図１１のＳ１０３の処理を行うＣＰＵ２１が本発明の「比較手段」に相当し、Ｓ１０７、Ｓ１０９の処理を行うＣＰＵ２１が本発明の「第三記憶制御手段」に相当する。
【０１１９】
図６のＳ１５の処理が本発明の「第一受信ステップ」に相当する。図８のＳ４３の処理が本発明の「第一判断ステップ」に相当し、Ｓ６７の処理が本発明の「第一送信ステップ」に相当する。図１７のＳ１２５の処理が本発明の「第二送信ステップ」に相当する。図１８のＳ１６５の処理が本発明の「第二受信ステップ」に相当する。
【０１２０】
なお、本発明は上述の実施の形態に限定されることなく、種々の変更が可能である。本実施の形態では、端末装置６〜９はＮＡＴ装置３〜５を介して通信制御装置１４と通信を行うことによって、ＮＡＴ種別を特定していた。しかしながら本発明はこの方法に限定されない。ＮＡＴ装置３〜５に直接問い合わせることによってＮＡＴ種別を取得できる場合には、ＮＡＴ装置３〜５に直接問い合わせることによってＮＡＴ種別を判別してもよい。ＮＡＴ装置３〜５から直接ＮＡＴ種別を取得できるので、ＮＡＴ種別を容易且つ確実に特定できる。ＮＡＴ種別を特定するまでに要する時間を短縮できる。
【０１２１】
上述の実施の形態では、通信制御装置１４は通信管理装置１５に問い合わせることによって端末装置の通信状態を取得した。しかしながら本発明はこの方法に限定されない。通信制御装置１４が端末装置と直接通信を行うことによって端末装置の通信状態を把握し、ＨＤＤ２４に結果を記憶していてもよい。
【０１２２】
端末装置がＮＡＴ種別を判別する場合の判別方法は上述の方法に限定されない。システム内に別途管理サーバを設け、端末装置は、この管理サーバとＮＡＴ装置を介して通信を行うことによって、ＮＡＴ種別を判別してもよい。
【０１２３】
同一ＮＡＴ装置の配下にある複数の端末装置間で通信が実行される場合の通信は、例えばＰＩＮＧコマンドによって実行されてもよい。
【符号の説明】
【０１２４】
１      通信システム
３，４，５  ＮＡＴ装置
６，７，８，９  端末装置
１４  通信制御装置
１５  通信管理装置
２１  ＣＰＵ
２４  ＨＤＤ
２４１  テーブル記憶領域
６１  ＣＰＵ
【図１】
2011077922.tif 000003
【図２】
2011077922.tif 000004
【図３】
2011077922.tif 000005
【図４】
2011077922.tif 000006
【図５】
2011077922.tif 000007
【図６】
2011077922.tif 000008
【図７】
2011077922.tif 000009
【図８】
2011077922.tif 000010
【図９】
2011077922.tif 000011
【図１０】
2011077922.tif 000012
【図１１】
2011077922.tif 000013
【図１２】
2011077922.tif 000014
【図１３】
2011077922.tif 000015
【図１４】
2011077922.tif 000016
【図１５】
2011077922.tif 000017
【図１６】
2011077922.tif 000018
【図１７】
2011077922.tif 000019
【図１８】
2011077922.tif 000020
【図１９】
2011077922.tif 000021
【図２０】
2011077922.tif 000022