(57)【要約】 【課題】端末装置が他の通信相手とルータ装置ごしにＰ２Ｐ通信する際に、通信に用いるＩＰアドレスとポート番号を適切に処理する通信システム等を提供することができる。【解決手段】ルータ装置１０４は、局所通信網１０３における端末装置１０６のＩＰアドレスおよびポート番号と、広域通信網１０２におけるポート番号と、の対応表を記憶し、これを参照して広域通信網１０２内の機器と端末装置１０６との通信を中継し、サーバ装置１０５は、当該対応表と同じ情報を含む対応表を記憶し、端末装置１０６からサーバ装置１０５へ当該端末装置１０６の局所通信網１０３におけるＩＰアドレスおよびポート番号を指定する問い合わせ要求があると、当該対応表に係るルータ装置１０４の広域通信網１０２におけるＩＰアドレスと、対応表から取得した広域通信網１０２におけるポート番号とを指定する問い合わせ応答を返す。【選択図】図１
2007266863.tif 000002
【特許請求の範囲】
【請求項１】
広域通信網と局所通信網との通信の中継をするルータ装置と、当該広域通信網内のサーバ装置と、当該局所通信網内の端末装置と、を備える通信システムであって、
（ａ）前記ルータ装置は、
当該局所通信網におけるＩＰ（Internet Protocol）アドレスおよびポート番号と当該広域通信網におけるポート番号との対応表を記憶するルータ側対応表記憶部、
前記記憶された対応表に基づいてＩＰアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする通信中継部
を備え、
（ｂ）前記サーバ装置は、
前記ルータ装置において記憶される対応表と同じ情報を含む対応表を記憶するサーバ側対応表記憶部
を備え、
（ｃ）前記端末装置は、
当該端末装置の局所通信網におけるＩＰアドレスおよびポート番号を指定する問い合わせ要求を、前記ルータ装置に中継させて、前記サーバ装置に送信する要求送信部、
を備え、
（ｄ）前記サーバ装置は、
前記ルータ装置に中継された問い合わせ要求を受信する要求受信部、
前記記憶された対応表において、前記受信された問い合わせ要求に指定される当該局所通信網におけるＩＰアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得するポート番号取得部、
当該広域通信網における前記ルータ装置のＩＰアドレスおよび前記取得されたポート番号を指定する問い合わせ応答を、前記ルータ装置に中継させて、前記端末装置に送信する応答送信部、
を備え、
（ｅ）前記端末装置は、
前記ルータ装置に中継された問い合わせ応答を受信する応答受信部、
前記受信された問い合わせ応答に指定される当該広域通信網におけるＩＰアドレスおよびポート番号を指定する許可通知を通信相手に送信する許可送信部、
当該通信相手により当該送信された許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号に送信され、前記ルータ装置により中継されたパケットを受信するパケット受信部
を備えることを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、
（ｆ）前記端末装置は、
当該通信相手により送信された当該広域通信網におけるＩＰアドレスおよびポート番号を指定する許可通知を受信する許可受信部、
当該受信された許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号にパケットを送信し、当該パケットを当該通信相手まで前記ルータ装置に中継させるパケット送信部
をさらに備えることを特徴とする通信システム。
【請求項３】
請求項２に記載の通信システムであって、
（ｇ）前記サーバ装置は、前記端末装置と、当該通信相手と、の間で相互に送受される許可通知を中継する許可通知中継部
をさらに備えることを特徴とする通信システム。
【請求項４】
請求項３に記載の通信システムであって、
（ｈ）前記サーバ装置において、前記許可通知中継部は、当該相互に送受される許可通知に指定される当該広域通信網におけるＩＰアドレスが一致する場合、当該相互に送受される許可通知のそれぞれについて、当該許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号を、前記対応表においてこれらに対応付けて記憶される当該局所通信網におけるＩＰアドレスおよびポート番号に置き換える
ことを特徴とする通信システム。
【請求項５】
広域通信網と局所通信網との通信の中継をするルータ装置と、当該広域通信網内のサーバ装置と、当該局所通信網内の端末装置と、により実行される通信方法であって、前記ルータ装置は、ルータ側対応表記憶部、通信中継部を備え、前記サーバ装置は、サーバ側対応表記憶部を備え、前記端末装置は、要求送信部を備え、前記サーバ装置は、要求受信部、ポート番号取得部、応答送信部を備え、前記端末装置は、応答受信部、許可送信部、パケット受信部を備え、
（ａ）前記ルータ装置において、
ルータ側対応表記憶部には、当該局所通信網におけるＩＰ（Internet Protocol）アドレスおよびポート番号と当該広域通信網におけるポート番号との対応表が記憶され、
前記通信中継部が、前記記憶された対応表に基づいてＩＰアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする通信中継工程
を備え、
（ｂ）前記サーバ装置において、
前記サーバ側対応表記憶部には、前記ルータ装置に記憶される対応表と同じ情報を含む対応表が記憶され、
（ｃ）前記端末装置において、
前記要求送信部が、当該端末装置の局所通信網におけるＩＰアドレスおよびポート番号を指定する問い合わせ要求を、前記ルータ装置に中継させて、前記サーバ装置に送信する要求送信工程
を備え、
（ｄ）前記サーバ装置において、
前記要求受信部が、前記ルータ装置に中継された問い合わせ要求を受信する要求受信工程、
前記ポート番号取得部が、前記記憶された対応表において、前記受信された問い合わせ要求に指定される当該局所通信網におけるＩＰアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得するポート番号取得工程、
前記応答送信部が、当該広域通信網における前記ルータ装置のＩＰアドレスおよび前記取得されたポート番号を指定する問い合わせ応答を、前記ルータ装置に中継させて、前記端末装置に送信する応答送信工程、
を備え、
（ｅ）前記端末装置において、
前記応答受信部が、前記ルータ装置に中継された問い合わせ応答を受信する応答受信工程、
前記許可送信部が、前記受信された問い合わせ応答に指定される当該広域通信網におけるＩＰアドレスおよびポート番号を指定する許可通知を通信相手に送信する許可送信工程、
前記パケット受信部が、当該通信相手により当該送信された許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号に送信され、前記ルータ装置により中継されたパケットを受信するパケット受信工程
を備えることを特徴とする通信方法。
【請求項６】
ルータコンピュータを、広域通信網と局所通信網との通信の中継をするルータ装置として機能させ、サーバコンピュータを、当該広域通信網内のサーバ装置として機能させ、端末コンピュータを当該局所通信網内の端末装置として機能させるプログラムであって、
（ａ）前記ルータコンピュータを、
当該局所通信網におけるＩＰ（Internet Protocol）アドレスおよびポート番号と当該広域通信網におけるポート番号との対応表を記憶するルータ側対応表記憶部、
前記記憶された対応表に基づいてＩＰアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする通信中継部
として機能させ、
（ｂ）前記サーバコンピュータを、
前記ルータ装置に記憶される対応表と同じ情報を含む対応表を記憶するサーバ側対応表記憶部
として機能させ、
（ｃ）前記端末コンピュータを、
当該端末装置の局所通信網におけるＩＰアドレスおよびポート番号を指定する問い合わせ要求を、前記ルータ装置に中継させて、前記サーバ装置に送信する要求送信部
として機能させ、
（ｄ）前記サーバコンピュータを、
前記ルータ装置に中継された問い合わせ要求を受信する要求受信部、
前記記憶された対応表において、前記受信された問い合わせ要求に指定される当該局所通信網におけるＩＰアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得するポート番号取得部、
当該広域通信網における前記ルータ装置のＩＰアドレスおよび前記取得されたポート番号を指定する問い合わせ応答を、前記ルータ装置に中継させて、前記端末装置に送信する応答送信部、
として機能させ、
（ｅ）前記端末コンピュータを
前記ルータ装置に中継された問い合わせ応答を受信する応答受信部、
前記受信された問い合わせ応答に指定される当該広域通信網におけるＩＰアドレスおよびポート番号を指定する許可通知を通信相手に送信する許可送信部、
当該通信相手により当該送信された許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号に送信され、前記ルータ装置により中継されたパケットを受信するパケット受信部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置が他の通信相手とルータ装置ごしにＰ２Ｐ（Peer To Peer）通信する際に、通信に用いるＩＰ（Internet Protocolo）アドレスとポート番号を適切に処理する通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、漫画喫茶やインターネットカフェなどで、ゲーム端末装置を時間貸しするサービスが提供されている。漫画喫茶等では、１台のルータ装置を介して複数のゲーム端末装置をインターネットに接続し、ルータ装置ではＮＡＰＴ（Network Address Port Translation）あるいはＩＰマスカレードと呼ばれる技術によって、ゲーム端末装置が含まれるＬＡＮ（Local Area Network；局所通信網）側と、インターネットに接続されるＷＡＮ（Wide Area Network；広域通信網）側との間で、ＩＰアドレスおよびポート番号の変換を行って、通信を中継する。
【０００３】
一方で、通信対戦ゲームでは、Ｐ２Ｐ技術によって、相互に通信を行うものが提供されている。このような通信対戦ゲームでは、マッチングサーバと呼ばれるサーバ装置が、対戦させるゲーム端末装置同士を選択して、それぞれのＩＰアドレス（およびポート番号）を相手方に通知することにより、ゲーム端末装置同士は、Ｐ２Ｐ通信を行うことができるようになる。
【０００４】
このような通信技術については、たとえば、以下の文献に開示されている。
【特許文献１】特開２００５−１５１１４２号公報
【０００５】
ここで、[特許文献１]には、いわゆるＵＰｎＰ（Universal Plug and Play）およびＳＴＵＮ（Simple Traversal of UDP through NATs）と呼ばれる技術を用いて、ＮＡＴ（Network Address Translation）越しに通信を行う技術が開示されている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＵＰｎＰ通信においては、ルータ装置がその機能を備えているとともに、ＵＰｎＰ通信を受け入れるために、多数のポートを無制限に開放状態にしなければならず、漫画喫茶等の不特定多数の利用者がＬＡＮ側に存在する場合には、セキュリティ上の問題が生じることも多い。
そこで、ＵＰｎＰ通信以外の技術によって、簡易にＮＡＴ／ＮＡＰＴを越えるＰ２Ｐ通信ができるようにするための技術が強く求められている。
【０００７】
本発明は、上記の課題を解決するもので、端末装置が他の通信相手とルータ装置ごしにＰ２Ｐ通信する際に、通信に用いるＩＰアドレスとポート番号を適切に処理する通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００９】
本発明の第１の観点に係る通信システムは、広域通信網と局所通信網との通信の中継をするルータ装置と、当該広域通信網内のサーバ装置と、当該局所通信網内の端末装置と、を備え、以下のように構成する。
【００１０】
まず、ルータ装置は、ルータ側対応表記憶部、通信中継部を備え、ルータ側対応表記憶部は、当該局所通信網におけるＩＰアドレスおよびポート番号と当該広域通信網におけるポート番号との対応表を記憶し、通信中継部は、記憶された対応表に基づいてＩＰアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする。
【００１１】
ここで、ルータ側対応表記憶部および通信中継部の機能は、通常のルータ装置におけるＩＰマスカレード／ＮＡＰＴの機能に相当する。本発明の特徴の一つは、アドレス変換のための対応表を、サーバ装置でも管理することにある。
【００１２】
そこで、サーバ装置は、サーバ側対応表記憶部を備え、ルータ装置に記憶される対応表と同じ情報を含む対応表を記憶する。
【００１３】
サーバ装置に当該対応表を記憶させる手法としては、ルータ装置の管理者がサーバ装置に直接アクセスして、対応表をサーバ装置に書き込むなどの手法を採用することもできる。この場合、ルータ装置においては、各端末装置のために特定ポートを開放しておく設定をしておけば、新たな機能を実装する必要はない。
【００１４】
もっとも、ルータ装置からサーバ装置に対応表を送信するような機能を設けることとしても良い。この場合には、ルータ装置が後述する問い合わせ要求を監視し、その内容に応じて、適切にポートを開放する等の機能をさらに実装することが望ましい。
【００１５】
一方、端末装置は、要求送信部を備え、要求送信部は、当該端末装置の局所通信網におけるＩＰアドレスおよびポート番号を指定する問い合わせ要求を、ルータ装置に中継させて、サーバ装置に送信する。
【００１６】
上記のように、ＷＡＮ側のインターネット内に配置されたサーバ装置にて、ＩＰマスカレード／ＮＡＰＴの対応表を管理することにより、Ｐ２Ｐ通信したいと考える端末装置に、当該端末装置が利用可能な広域側ＩＰアドレスおよびポート番号を知らせることが可能になるのである。
【００１７】
なお、この問い合わせの際には、ＵＰｎＰ通信のような広範なポート開放を行う必要はなく、通常のｈｔｔｐ（HyperText Translation Protocol）通信のために開放されているポート等、漫画喫茶等のルータ装置で普通に開放されているポートを経由して問い合わせを行うことができる。
【００１８】
さらに、サーバ装置は、要求受信部、ポート番号取得部、応答送信部を備え、要求受信部は、ルータ装置に中継された問い合わせ要求を受信し、ポート番号取得部は、記憶された対応表において、受信された問い合わせ要求に指定される当該局所通信網におけるＩＰアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得し、応答送信部は、当該広域通信網におけるルータ装置のＩＰアドレスおよび取得されたポート番号を指定する問い合わせ応答を、ルータ装置に中継させて、端末装置に送信する。
【００１９】
端末装置がＰ２Ｐ通信を行う場合のＷＡＮ側のＩＰアドレスは、ルータ装置のＷＡＮ側のＩＰアドレスに一致し、ＷＡＮ側のポート番号は、ＩＰマスカレード／ＮＡＰＴの対応表により取得することができる。サーバ装置は、これらの情報を、端末装置に知らせる。
【００２０】
そして、端末装置は、応答受信部、許可送信部、パケット受信部を備え、応答受信部は、ルータ装置に中継された問い合わせ応答を受信し、許可送信部は、受信された問い合わせ応答に指定される当該広域通信網におけるＩＰアドレスおよびポート番号を指定する許可通知を通信相手に送信し、パケット受信部は、当該通信相手により当該送信された許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号に送信され、ルータ装置により中継されたパケットを受信する。
【００２１】
上記のように、Ｐ２Ｐ通信では、通信相手に、自身がパケットを受け入れるＩＰアドレスとポート番号を何らかの手段で伝達する必要があり、本発明においては、「自身がパケットを受け入れるＩＰアドレスとポート番号」として、サーバ装置から送信された問い合わせ応答に指定されるものを利用する。
【００２２】
本発明によれば、端末装置が他の通信相手とルータ装置ごしにＰ２Ｐ通信する際に、通信相手から自身への通信に用いるＩＰアドレスとポート番号を通信相手に適切に伝達する通信システムを提供することができる。
【００２３】
また、本発明の通信システムにおいて、端末装置は、許可受信部、パケット送信部を備え、許可受信部は、当該通信相手により送信された当該広域通信網におけるＩＰアドレスおよびポート番号を指定する許可通知を受信し、パケット送信部は、当該受信された許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号にパケットを送信し、当該パケットを当該通信相手までルータ装置に中継させるように構成することができる。
【００２４】
本発明は、自身と同じ機能を有する他の端末装置をＰ２Ｐ通信の通信相手として想定するものであり、本発明によれば、端末装置が他の通信相手とルータ装置ごしにＰ２Ｐ通信する際に、自身から通信相手への通信に用いるＩＰアドレスとポート番号を通信相手から適切に受け取る通信システムを提供することができる。
【００２５】
また、本発明の通信システムにおいて、サーバ装置は、許可通知中継部を備え、許可通知中継部は、端末装置と、当該通信相手と、の間で相互に送受される許可通知を中継するように構成することができる。
【００２６】
本発明は、サーバ装置が、通信対戦ゲームにおけるマッチングサーバの役割を果たす形態に相当するものである。なお、通信対戦ゲームを運営するゲーム会社が管理する「サーバコンピュータ群」を、「サーバ装置」として考えることもできる。このとき、ＮＡＰＴの対応表を管理するコンピュータと、マッチングサーバのコンピュータと、が異なるコンピュータであっても、同じ「サーバコンピュータ群」に含まれるものであれば、一つの「サーバ装置」に該当すると考えることができる。
【００２７】
本発明によれば、Ｐ２Ｐ通信の通信相手の引き合せ、すなわち、マッチングを、サーバ装置が適切に行うことができるようになる。
【００２８】
また、本発明の通信システムにおいて、サーバ装置の許可通知中継部は、当該相互に送受される許可通知に指定される当該広域通信網におけるＩＰアドレスが一致する場合、当該相互に送受される許可通知のそれぞれについて、当該許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号を、対応表においてこれらに対応付けて記憶される当該局所通信網におけるＩＰアドレスおよびポート番号に置き換えるように構成することができる。
【００２９】
Ｐ２Ｐ通信しようとする端末装置が互いに交換し合う許可通知に指定されるＩＰアドレスが一致する場合とは、すなわち、同じルータ装置を介してインターネットに接続されている端末装置同士をマッチングさせたことに他ならない。したがって、この場合には、ＬＡＮ内でＰ２Ｐ通信を完結させるべく、許可通知に指定されるＩＰアドレスおよびポート番号を書き換えてから、相手方に渡す。
【００３０】
本発明によれば、ＬＡＮ内でＰ２Ｐ通信が完結される場合には、マッチングサーバがそのように許可通知を変更することで、端末同士の高速なＰ２Ｐ通信を実現することができるようになる。
【００３１】
本発明のその他の観点に係る通信方法は、広域通信網と局所通信網との通信の中継をするルータ装置と、当該広域通信網内のサーバ装置と、当該局所通信網内の端末装置と、により実行され、ルータ装置は、ルータ側対応表記憶部、通信中継部を備え、サーバ装置は、サーバ側対応表記憶部を備え、端末装置は、要求送信部を備え、サーバ装置は、要求受信部、ポート番号取得部、応答送信部を備え、端末装置は、応答受信部、許可送信部、パケット受信部を備え、当該通信方法は、通信中継工程、要求送信工程、要求受信工程、ポート番号取得工程、応答送信工程、応答受信工程、許可送信工程、パケット受信工程を備え、以下のように構成する。
【００３２】
まず、ルータ装置において、ルータ側対応表記憶部には、当該局所通信網におけるＩＰ（Internet Protocol）アドレスおよびポート番号と当該広域通信網におけるポート番号との対応表が記憶され、通信中継工程では、通信中継部が、記憶された対応表に基づいてＩＰアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする。
【００３３】
一方、サーバ装置において、サーバ側対応表記憶部には、ルータ装置に記憶される対応表と同じ情報を含む対応表が記憶される。
【００３４】
さらに、端末装置において、要求送信工程では、要求送信部が、当該端末装置の局所通信網におけるＩＰアドレスおよびポート番号を指定する問い合わせ要求を、ルータ装置に中継させて、サーバ装置に送信する。
【００３５】
一方、サーバ装置において、要求受信工程では、要求受信部が、ルータ装置に中継された問い合わせ要求を受信し、ポート番号取得工程では、ポート番号取得部が、記憶された対応表において、受信された問い合わせ要求に指定される当該局所通信網におけるＩＰアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得し、応答送信工程では、応答送信部が、当該広域通信網におけるルータ装置のＩＰアドレスおよび取得されたポート番号を指定する問い合わせ応答を、ルータ装置に中継させて、端末装置に送信する。
【００３６】
さらに、端末装置において、応答受信工程では、応答受信部が、ルータ装置に中継された問い合わせ応答を受信し、許可送信工程では、許可送信部が、受信された問い合わせ応答に指定される当該広域通信網におけるＩＰアドレスおよびポート番号を指定する許可通知を通信相手に送信し、パケット受信工程では、パケット受信部が、当該通信相手により当該送信された許可通知に指定される当該広域通信網におけるＩＰアドレスおよびポート番号に送信され、ルータ装置により中継されたパケットを受信する。
【００３７】
本発明のその他の観点に係るプログラムは、サーバコンピュータ、ルータコンピュータ、端末コンピュータのグループを上記の通信システムとして機能させ、これらのコンピュータに上記の通信方法を実行させるように構成する。
【００３８】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００３９】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００４０】
本発明によれば、端末装置が他の通信相手とルータ装置ごしにＰ２Ｐ通信する際に、通信に用いるＩＰアドレスとポート番号を適切に処理する通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４１】
以下に本発明の実施形態を説明する。以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００４２】
（通信システム）
図１は、本発明の１つの実施形態に係る通信システムの概要構成を示す模式図である。以下、本図を参照して説明する。
【００４３】
本実施形態に係る通信システム１０１は、広域通信網１０２と局所通信網１０３との通信の中継をするルータ装置１０４と、当該広域通信網１０２内のサーバ装置１０５と、当該局所通信網１０３内の複数の端末装置１０６と、他の端末装置１０７と、を備える。
【００４４】
本実施形態では、広域通信網１０２としては、インターネットを採用し、局所通信網１０３としては、ルータ装置１０４にて管理されるＬＡＮを採用する。
【００４５】
また、他の通信装置１０７は、当該ＬＡＮに含まれない通信装置であり、広域通信網１０２を介して通信が可能な機器である。したがって、当該他の通信装置１０７が、ルータ装置１０４と同様の機能を有する別のルータ装置（図示せず。）を介して広域通信網１０２に接続されている場合であっても、本発明の原理を適用することができる。
【００４６】
本図に示すように、ルータ装置１０４の広域通信網１０２側のＩＰアドレスをG.H.I.Jとする。
【００４７】
一方、端末装置１０６の局所通信網１０３内におけるＩＰアドレスは、X.Y.Z.WおよびX.Y.Z.Vとする。この例では、X.Y.Z.の部分を共通させているが、この部分は、いわゆるサブネットマスクに相当する。
【００４８】
また、端末装置１０６がＰ２Ｐ通信に使うポート番号は、いずれもPとする。そこで、ＩＰアドレスおよびポート番号をまとめたものを「ソケット」と呼ぶが、このソケットは、両者を:で並べてX.Y.Z.W:PおよびX.Y.Z.V:Pのように表記することとする。
【００４９】
ＩＰマスカレード／ＮＡＰＴでは、広域通信網１０２側で重複しないポート番号ＱとＲを選び、これらのソケットに対して、それぞれ、G.H.I.J:QおよびG.H.I.J:Rを対応付けるのである。
【００５０】
たとえば、局所通信網１０３内におけるＩＰアドレスおよびサブネットマスクとしては、192.168.0.0および255.255.255.0を用いるのが最も一般的である。このとき、端末装置１０６にＤＨＣＰ（Dynamic Host Configuration Protocol）や静的に割り当てられるＩＰアドレスは、192.168.0.2〜192.168.0.254となる。また、端末装置１０６がＰ２Ｐ通信に用いるポート番号は、所定のいくつかの番号に制限する。たとえば、5730番〜5732番を利用する。
【００５１】
このとき、端末装置１０６のソケットは、192.168.0.W:P  (2≦W≦254，5730≦P≦5732)となる。したがって、２５３×３個のポートを広域通信網１０２側のポート番号として割り当てることとなる。
【００５２】
ポートの数は、６５５３６個用意されているのが一般的であるから、たとえば、ポート番号のオフセット値を32201としたときに、ソケット192.168.0.W:Pに対する広域通信網１０２側のソケットはG.H.I.J:(32201 + (W-2)*253 + (P-5730))とする。
【００５３】
このような対応付けは、ルータ装置１０４の管理者が適宜行うこととすれば良いが、簡単な対応付けのテンプレートをサーバ装置１０５で提供することとしても良い。このテンプレートにしたがってルータ装置１０４の管理者がルータ装置１０４のＩＰマスカレード／ＮＡＰＴ設定を行うとともに、サーバ装置１０５に対して、当該ルータ装置１０４の広域通信網１０２側のＩＰアドレスおよび使用したテンプレートを登録すれば、サーバ装置１０５とルータ装置１０４とで、同じＩＰマスカレード／ＮＡＰＴ対応表を用意することができるようになる。
【００５４】
また、サーバ装置１０５において、複数のルータ装置１０４を管理できるようにするため、ＩＰアドレスおよびポート変換の対応表には、ルータ装置１０４の識別情報を対応付けておく。
【００５５】
ルータ装置１０４の識別情報としては、本実施形態では、当該ルータ装置１０４の広域通信網１０２側のＩＰアドレスを利用することもできるが、このＩＰアドレスそのものがＤＨＣＰによって変化することもありうる。
【００５６】
そのような場合に対応するため、本実施形態では、ルータ装置１０４のＭＡＣアドレス（典型的には、局所通信網１０３側のものを利用する。本図ではＭＡＣアドレスをFとしている。）を識別情報とする。このＭＡＣアドレス情報は、ルータ装置１０４の管理者がテンプレートを選択してサーバ装置１０５への登録を行う際に、同時にサーバ装置１０５に登録する。
【００５７】
（各装置の構成）
図２、図３、図４は、それぞれ、本実施形態に係るルータ装置１０４、サーバ装置１０５、端末装置１０６の概要構成を示す説明図である。以下、本図を参照して説明する。
【００５８】
まず、ルータ装置１０４は、ルータ側対応表記憶部２０１、通信中継部２０２を備える。
【００５９】
ここで、ルータ側対応表記憶部２０１は、当該局所通信網１０３におけるＩＰアドレスおよびポート番号と当該広域通信網１０２におけるポート番号との対応表が記憶される。
【００６０】
上記の例では、対応表には、以下の情報が記録されることになる。
X.Y.Z.W:P⇔Q
X.Y.Z.V:P⇔R
【００６１】
一方、通信中継部２０２は、記憶された対応表に基づいてＩＰアドレスおよびポート番号の変換を行って、広域通信網１０２と局所通信網１０３との通信の中継をする。
【００６２】
ここで、ルータ側対応表記憶部２０１および通信中継部２０２の機能は、通常のルータ装置１０４におけるＩＰマスカレード／ＮＡＰＴの機能に相当する。本発明の特徴の一つは、アドレス変換のための対応表を、サーバ装置１０５でも管理することにある。
【００６３】
そこで、サーバ装置１０５は、サーバ側対応表記憶部２０４を備える。
【００６４】
サーバ側対応表記憶部２０４は、ルータ装置１０４に記憶される対応表と同じ情報
X.Y.Z.W:P⇔Q
X.Y.Z.V:P⇔R
を含む対応表が記憶される。
【００６５】
また、サーバ装置１０５では、複数のルータ装置１０４に対応するため、それぞれの対応表を記憶する際に、当該対応表を、そのルータ装置１０４の局所通信網１０３側のＭＡＣアドレスに対応付ける。
【００６６】
一方、端末装置１０６は、要求送信部２０５を備える。要求送信部２０５は、当該端末装置１０６の局所通信網１０３におけるＩＰアドレスおよびポート番号を指定する問い合わせ要求を、ルータ装置１０４に中継させて、サーバ装置１０５に送信する。
【００６７】
図５は、問い合わせ要求が端末装置１０６とサーバ装置１０５の間で行われる様子を示す説明図である。以下、本図を参照して説明する。
【００６８】
上記のように、ＷＡＮ側のインターネット内に配置されたサーバ装置１０５にて、ＩＰマスカレード／ＮＡＰＴの対応表を管理することにより、Ｐ２Ｐ通信したいと考える端末装置１０６に、当該端末装置１０６が利用可能な広域側ＩＰアドレスおよびポート番号を知らせることが可能になるのである。
【００６９】
なお、この問い合わせの際には、ＵＰｎＰ通信のような広範なポート開放を行う必要はなく、通常のｈｔｔｐ通信のために開放されているポート等、漫画喫茶等のルータ装置１０４で普通に開放されているポートを経由して問い合わせを行うことができる。
【００７０】
このとき、端末装置１０６は、ＡＲＰ等によってルータ装置１０４の局所通信網１０３側のＩＰアドレス（典型的には192.168.0.1）に対してＭＡＣアドレスを取得し、当該ＭＡＣアドレスを、問い合わせ要求２５１に埋め込む（図５（ａ））。
【００７１】
この問い合わせ要求２５１は、ルータ装置１０４が中継するから、サーバ装置１０５は、問い合わせ要求２５１がたどった経路を調べることにより、ルータ装置１０４の広域通信網１０２側のＩＰアドレスを取得することができる。
【００７２】
このようにして、ルータ装置１０４がＤＨＣＰによって広域通信網１０２に接続されている場合であっても、ルータ装置１０４の識別情報（ＭＡＣアドレス）と、広域通信網１０２側のＩＰアドレスG.H.I.Jとの紐付けが、サーバ装置１０５で可能となる。
【００７３】
さて、サーバ装置１０５は、要求受信部２０６、ポート番号取得部２０７、応答送信部２０８を備える。
【００７４】
要求受信部２０６は、ルータ装置１０４に中継された問い合わせ要求２５１を受信する。本実施形態では、問い合わせ要求２５１を見れば、以下の情報が取得できることになる。
ルータ装置１０４の局所通信網１０３側のＭＡＣアドレス
ルータ装置１０４の広域通信網１０２側のＩＰアドレス（G.H.I.J）
端末装置１０６の局所通信網１０３側のＩＰアドレスおよびポート番号（X.Y.Z.W:PもしくはX.Y.Z.V:P）
【００７５】
そして、ポート番号取得部２０７は、「ルータ装置１０４の局所通信網１０３側のＭＡＣアドレス」に対応付けられた記憶された対応表において、受信された問い合わせ要求２５１に指定される「端末装置１０６の局所通信網１０３側のＩＰアドレスおよびポート番号」に対応付けられる「広域通信網１０２側のポート番号」（QもしくはR）を取得する。
【００７６】
ついで、応答送信部２０８は、「ルータ装置１０４の広域通信網１０２側のＩＰアドレスG.H.I.J:取得されたポート番号（QもしくはR）」というソケット情報を問い合わせ応答２５２に指定して、これをルータ装置１０４に中継させて、端末装置１０６に送信する（図５（ｂ））。
【００７７】
そして、端末装置１０６は、応答受信部２０９、許可送信部２１０、許可受信部２１１、パケット受信部２１２、パケット送信部２１３を備える。
【００７８】
応答受信部２０９は、ルータ装置１０４に中継された問い合わせ応答２５２を受信する。この問い合わせ応答２５２によって、端末装置１０６は、自身に対して外部からＰ２Ｐ通信を行う際のソケットを知ることができる。
【００７９】
ついで、許可送信部２１０は、受信された問い合わせ応答２５２に指定される当該広域通信網１０２におけるＩＰアドレスおよびポート番号を指定する許可通知を通信相手に送信するが、実際には、マッチングサーバ（本図では、サーバ装置１０５と一致しているが、他のコンピュータをマッチングサーバとしても良い。）にこの情報を送信する。
【００８０】
すなわち、マッチングサーバとして機能する、サーバ装置１０５は、許可通知中継部２１４を備える。許可通知中継部２１４は、端末装置１０６と、当該通信相手と、の間で相互に送受される許可通知を中継する。
【００８１】
具体的には、マッチングサーバは適当な通信相手の組合せを選択し、両者の許可通知を相手方に送信する。したがって、端末装置１０６の許可受信部２１１は、当該通信相手により送信された当該広域通信網１０２におけるＩＰアドレスおよびポート番号を指定する許可通知を受信することとなる。
【００８２】
なお、通信対戦ゲームを運営するゲーム会社が管理する「サーバコンピュータ群」を、「サーバ装置１０５」として考えることもできる。このとき、ＮＡＰＴの対応表を管理するコンピュータと、マッチングサーバのコンピュータと、が異なるコンピュータであっても、同じ「サーバコンピュータ群」に含まれるものであれば、一つの「サーバ装置１０５」に該当すると考えることができる。
【００８３】
これによって、Ｐ２Ｐ通信の準備ができたことになる。そこで、パケット送信部２１３は、当該受信された許可通知に指定される当該広域通信網１０２におけるＩＰアドレスおよびポート番号にパケットを送信し、当該パケットを当該通信相手までルータ装置１０４に中継させ、パケット受信部２１２は、当該通信相手により当該送信された許可通知に指定される当該広域通信網１０２におけるＩＰアドレスおよびポート番号に送信され、ルータ装置１０４により中継されたパケットを受信する。
【００８４】
本発明によれば、Ｐ２Ｐ通信のマッチングを、サーバ装置１０５が適切に行うことができるようになる。
【００８５】
図６は、一般的な許可通知の交換が行われる様子を示す説明図である。以下、本図を参照して説明する。
【００８６】
本図に示す例では、端末装置１０６は、ソケットX.Y.Z.W:Pを用いてＰ２Ｐ通信するが、許可通知３０１には、これに結び付けられているルータ装置１０４のソケットG.H.I.J:Qを指定している。一方、他の端末装置１０７は、ソケットK.L.M.N:Sを許可通知３０２に指定している（本図（ａ））。
【００８７】
この２つの許可通知３０１、３０２がサーバ装置１０５に到着し、サーバ装置１０５が２つをマッチングすると、そのまま相手方に許可通知３０２'、３０１'を送る（本図（ｂ））。
【００８８】
そして、許可通知３０２'、３０１'を受信した端末装置１０６、１０７は、サーバ装置１０５を介さずに、Ｐ２Ｐ通信３０３をするようになる（本図（ｃ））。
【００８９】
（許可通知の書き換え）
上記の実施形態では、一般的な（典型的には、端末装置１０６、１０７が異なるＬＡＮに属する場合。）許可通知の例を説明したが、Ｐ２Ｐ通信し合うもの同士が、同じＬＡＮ内に存在する場合もある。
【００９０】
図７は、同じルータ装置１０４によって広域通信網１０２に接続されている端末装置１０６同士が許可通知を交換する様子を示す説明図である。以下、本図を参照して説明する。
【００９１】
本図に示す例では、ソケットX.Y.Z.W:Pを用いてＰ２Ｐ通信する端末装置１０６が送信する許可通知４０１には、G.H.I.J:Qが指定され、ソケットX.Y.Z.V:Pを用いてＰ２Ｐ通信する端末装置１０６が送信する許可通知４０２には、G.H.I.J:Rが指定されている（本図（ａ））。
【００９２】
２つの許可通知４０１、４０２が指定するソケットでは、ＩＰアドレスがいずれもG.H.I.Jと一致している。したがって、２つの端末装置１０６は、同じ局所通信網１０３に属していることがわかる。
【００９３】
本実施形態では、端末装置１０６は、ルータ装置１０４のＭＡＣアドレス情報を許可通知４０１、４０２にさらに書き込むこととする。すると、サーバ装置１０５は、このＭＡＣアドレス情報から、当該ルータ装置１０４の対応表を取得することができる。また、ＭＡＣアドレス情報が等しいか否かによって、同じ局所通信網１０３に属しているか否かを判断しても良い。
【００９４】
Ｐ２Ｐ通信しようとする端末装置１０６が互いに交換し合う許可通知に指定されるＩＰアドレスおよびＭＡＣアドレスが一致する場合とは、すなわち、同じルータ装置１０４を介してインターネットに接続されている端末装置１０６同士をマッチングさせたことに他ならない。したがって、この場合には、ＬＡＮ内でＰ２Ｐ通信を完結させるべく、許可通知に指定されるＩＰアドレスおよびポート番号を書き換えてから、相手方に渡す。
【００９５】
対応表が取得できたら、ポート番号Qに対応する局所通信網１０３側のソケットがX.Y.Z.V:Pであること、および、ポート番号Rに対応する局所通信網１０３側のソケットがX.Y.Z.W:Pであること、が判明する。
【００９６】
これらの情報に基づいて、許可通知４０１のソケット情報を書き換えた許可通知４０１'、許可通知４０２のソケット情報を書き換えた許可通知４０２'を、それぞれ相手に送る（本図（ｂ））。
【００９７】
そして、許可通知４０２'、４０１'を受信した端末装置１０６、１０７は、サーバ装置１０５を介さずに、局所通信網１０３内でＰ２Ｐ通信４０３をするようになる（本図（ｃ））。
【００９８】
本実施形態によれば、ＬＡＮ内でＰ２Ｐ通信が完結される場合には、マッチングサーバがそのように許可通知を変更することで、端末同士の高速なＰ２Ｐ通信を実現することができるようになる。
【００９９】
（ポート開放のタイミング）
上記実施形態においては、ルータ装置１０４のポート開放について管理者が適切に（テンプレート等にしたがって）設定を行えば、ルータ装置１０４そのものは既存のものを利用することができた。本実施形態においては、ルータ装置１０４が中継するパケットを監視して、適切な処理を行う。
【０１００】
すなわち、ルータ装置１０４は、その局所通信網１０３内に属する端末装置１０６が発する問い合わせ要求２５１および問い合わせ応答２５２を監視する。
【０１０１】
問い合わせ要求２５１および問い合わせ応答２５２に指定されるＩＰアドレスとポート番号を対応表で引くと、広域通信網１０２において開放すべきポート番号がわかる。
【０１０２】
そこで、問い合わせ要求２５１と問い合わせ応答２５２の対を中継したことをもって（もしくは、いずれか一方を中継したことをもって）、広域通信網１０２側で、当該ポートを開放するのである。
【０１０３】
この後、ルータ装置１０４は、当該端末装置１０６からのパケットの到着・通過を監視して一定時間以上パケットが到来しない場合や、一定時間おきにpingで端末装置１０６に問い合わせを行い、返事がなくなった場合に、当該端末装置１０６の電源がオフになったものとみなして、当該ポートを閉じる。
【０１０４】
このような処理を行うことにより、ＵＰｎＰ通信よりもポートを開放する度合を格段に減少させることができ、セキュリティの向上を図ることができる。
【産業上の利用可能性】
【０１０５】
以上説明したように、本発明によれば、端末装置が他の通信相手とルータ装置ごしにＰ２Ｐ通信する際に、通信に用いるＩＰアドレスとポート番号を適切に処理する通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１０６】
【図１】本発明の１つの実施形態に係る通信システムの概要構成を示す模式図である。
【図２】本実施形態に係るルータ装置の概要構成を示す説明図である。
【図３】本実施形態に係るサーバ装置の概要構成を示す説明図である。
【図４】本実施形態に係る端末装置の概要構成を示す説明図である。
【図５】問い合わせ要求と問い合わせ応答の送受の様子を示す説明図である。
【図６】一般的な許可通知の交換が行われる様子を示す説明図である。
【図７】同じルータ装置によって広域通信網に接続されている端末装置同士が許可通知を交換する様子を示す説明図である。
【符号の説明】
【０１０７】
１０１  通信システム
１０２  広域通信網
１０３  局所通信網
１０４  ルータ装置
１０５  サーバ装置
１０６  端末装置
１０７  他の端末装置
２０１  ルータ側対応表記憶部
２０２  通信中継部
２０４  サーバ側対応表記憶部
２０５  要求送信部
２０６  要求受信部
２０７  ポート番号取得部
２０８  応答送信部
２０９  応答受信部
２１０  許可送信部
２１１  許可受信部
２１２  パケット受信部
２１３  パケット送信部
２１４  許可通知中継部
２５１  問い合わせ要求
２５２  問い合わせ応答
３０１  許可通知
３０２  許可通知
４０１  許可通知
４０２  許可通知
【図１】
2007266863.tif 000003
【図２】
2007266863.tif 000004
【図３】
2007266863.tif 000005
【図４】
2007266863.tif 000006
【図５】
2007266863.tif 000007
【図６】
2007266863.tif 000008
【図７】
2007266863.tif 000009