JP4279847B2 - 通信システム、通信方法、ならびに、プログラム - Google Patents

通信システム、通信方法、ならびに、プログラム Download PDF

Info

Publication number
JP4279847B2
JP4279847B2 JP2006087586A JP2006087586A JP4279847B2 JP 4279847 B2 JP4279847 B2 JP 4279847B2 JP 2006087586 A JP2006087586 A JP 2006087586A JP 2006087586 A JP2006087586 A JP 2006087586A JP 4279847 B2 JP4279847 B2 JP 4279847B2
Authority
JP
Japan
Prior art keywords
communication network
address
port number
router
correspondence table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006087586A
Other languages
English (en)
Other versions
JP2007266863A (ja
Inventor
昌二 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2006087586A priority Critical patent/JP4279847B2/ja
Publication of JP2007266863A publication Critical patent/JP2007266863A/ja
Application granted granted Critical
Publication of JP4279847B2 publication Critical patent/JP4279847B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、端末装置が他の通信相手とルータ装置ごしにP2P(Peer To Peer)通信する際に、通信に用いるIP(Internet Protocolo)アドレスとポート番号を適切に処理する通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
従来から、漫画喫茶やインターネットカフェなどで、ゲーム端末装置を時間貸しするサービスが提供されている。漫画喫茶等では、1台のルータ装置を介して複数のゲーム端末装置をインターネットに接続し、ルータ装置ではNAPT(Network Address Port Translation)あるいはIPマスカレードと呼ばれる技術によって、ゲーム端末装置が含まれるLAN(Local Area Network;局所通信網)側と、インターネットに接続されるWAN(Wide Area Network;広域通信網)側との間で、IPアドレスおよびポート番号の変換を行って、通信を中継する。
一方で、通信対戦ゲームでは、P2P技術によって、相互に通信を行うものが提供されている。このような通信対戦ゲームでは、マッチングサーバと呼ばれるサーバ装置が、対戦させるゲーム端末装置同士を選択して、それぞれのIPアドレス(およびポート番号)を相手方に通知することにより、ゲーム端末装置同士は、P2P通信を行うことができるようになる。
このような通信技術については、たとえば、以下の文献に開示されている。
特開2005−151142号公報
ここで、[特許文献1]には、いわゆるUPnP(Universal Plug and Play)およびSTUN(Simple Traversal of UDP through NATs)と呼ばれる技術を用いて、NAT(Network Address Translation)越しに通信を行う技術が開示されている。
しかしながら、UPnP通信においては、ルータ装置がその機能を備えているとともに、UPnP通信を受け入れるために、多数のポートを無制限に開放状態にしなければならず、漫画喫茶等の不特定多数の利用者がLAN側に存在する場合には、セキュリティ上の問題が生じることも多い。
そこで、UPnP通信以外の技術によって、簡易にNAT/NAPTを越えるP2P通信ができるようにするための技術が強く求められている。
本発明は、上記の課題を解決するもので、端末装置が他の通信相手とルータ装置ごしにP2P通信する際に、通信に用いるIPアドレスとポート番号を適切に処理する通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係る通信システムは、広域通信網と局所通信網との通信の中継をするルータ装置と、当該広域通信網内のサーバ装置と、当該局所通信網内の端末装置と、を備え、以下のように構成する。
まず、ルータ装置は、ルータ側対応表記憶部、通信中継部を備え、ルータ側対応表記憶部は、当該局所通信網におけるIPアドレスおよびポート番号と当該広域通信網におけるポート番号との対応表を記憶し、通信中継部は、記憶された対応表に基づいてIPアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする。
ここで、ルータ側対応表記憶部および通信中継部の機能は、通常のルータ装置におけるIPマスカレード/NAPTの機能に相当する。本発明の特徴の一つは、アドレス変換のための対応表を、サーバ装置でも管理することにある。
そこで、サーバ装置は、サーバ側対応表記憶部を備え、ルータ装置に記憶される対応表と同じ情報を含む対応表を記憶する。
サーバ装置に当該対応表を記憶させる手法としては、ルータ装置の管理者がサーバ装置に直接アクセスして、対応表をサーバ装置に書き込むなどの手法を採用することもできる。この場合、ルータ装置においては、各端末装置のために特定ポートを開放しておく設定をしておけば、新たな機能を実装する必要はない。
もっとも、ルータ装置からサーバ装置に対応表を送信するような機能を設けることとしても良い。この場合には、ルータ装置が後述する問い合わせ要求を監視し、その内容に応じて、適切にポートを開放する等の機能をさらに実装することが望ましい。
一方、端末装置は、要求送信部を備え、要求送信部は、当該端末装置の局所通信網におけるIPアドレスおよびポート番号を指定する問い合わせ要求を、ルータ装置に中継させて、サーバ装置に送信する。
上記のように、WAN側のインターネット内に配置されたサーバ装置にて、IPマスカレード/NAPTの対応表を管理することにより、P2P通信したいと考える端末装置に、当該端末装置が利用可能な広域側IPアドレスおよびポート番号を知らせることが可能になるのである。
なお、この問い合わせの際には、UPnP通信のような広範なポート開放を行う必要はなく、通常のhttp(HyperText Translation Protocol)通信のために開放されているポート等、漫画喫茶等のルータ装置で普通に開放されているポートを経由して問い合わせを行うことができる。
さらに、サーバ装置は、要求受信部、ポート番号取得部、応答送信部を備え、要求受信部は、ルータ装置に中継された問い合わせ要求を受信し、ポート番号取得部は、記憶された対応表において、受信された問い合わせ要求に指定される当該局所通信網におけるIPアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得し、応答送信部は、当該広域通信網におけるルータ装置のIPアドレスおよび取得されたポート番号を指定する問い合わせ応答を、ルータ装置に中継させて、端末装置に送信する。
端末装置がP2P通信を行う場合のWAN側のIPアドレスは、ルータ装置のWAN側のIPアドレスに一致し、WAN側のポート番号は、IPマスカレード/NAPTの対応表により取得することができる。サーバ装置は、これらの情報を、端末装置に知らせる。
そして、端末装置は、応答受信部、許可送信部、パケット受信部を備え、応答受信部は、ルータ装置に中継された問い合わせ応答を受信し、許可送信部は、受信された問い合わせ応答に指定される当該広域通信網におけるIPアドレスおよびポート番号を指定する許可通知を通信相手に送信し、パケット受信部は、当該通信相手により当該送信された許可通知に指定される当該広域通信網におけるIPアドレスおよびポート番号に送信され、ルータ装置により中継されたパケットを受信する。
上記のように、P2P通信では、通信相手に、自身がパケットを受け入れるIPアドレスとポート番号を何らかの手段で伝達する必要があり、本発明においては、「自身がパケットを受け入れるIPアドレスとポート番号」として、サーバ装置から送信された問い合わせ応答に指定されるものを利用する。
本発明によれば、端末装置が他の通信相手とルータ装置ごしにP2P通信する際に、通信相手から自身への通信に用いるIPアドレスとポート番号を通信相手に適切に伝達する通信システムを提供することができる。
また、本発明の通信システムにおいて、端末装置は、許可受信部、パケット送信部を備え、許可受信部は、当該通信相手により送信された当該広域通信網におけるIPアドレスおよびポート番号を指定する許可通知を受信し、パケット送信部は、当該受信された許可通知に指定される当該広域通信網におけるIPアドレスおよびポート番号にパケットを送信し、当該パケットを当該通信相手までルータ装置に中継させるように構成することができる。
本発明は、自身と同じ機能を有する他の端末装置をP2P通信の通信相手として想定するものであり、本発明によれば、端末装置が他の通信相手とルータ装置ごしにP2P通信する際に、自身から通信相手への通信に用いるIPアドレスとポート番号を通信相手から適切に受け取る通信システムを提供することができる。
また、本発明の通信システムにおいて、サーバ装置は、許可通知中継部を備え、許可通知中継部は、端末装置と、当該通信相手と、の間で相互に送受される許可通知を中継するように構成することができる。
本発明は、サーバ装置が、通信対戦ゲームにおけるマッチングサーバの役割を果たす形態に相当するものである。なお、通信対戦ゲームを運営するゲーム会社が管理する「サーバコンピュータ群」を、「サーバ装置」として考えることもできる。このとき、NAPTの対応表を管理するコンピュータと、マッチングサーバのコンピュータと、が異なるコンピュータであっても、同じ「サーバコンピュータ群」に含まれるものであれば、一つの「サーバ装置」に該当すると考えることができる。
本発明によれば、P2P通信の通信相手の引き合せ、すなわち、マッチングを、サーバ装置が適切に行うことができるようになる。
また、本発明の通信システムにおいて、サーバ装置の許可通知中継部は、当該相互に送受される許可通知に指定される当該広域通信網におけるIPアドレスが一致する場合、当該相互に送受される許可通知のそれぞれについて、当該許可通知に指定される当該広域通信網におけるIPアドレスおよびポート番号を、対応表においてこれらに対応付けて記憶される当該局所通信網におけるIPアドレスおよびポート番号に置き換えるように構成することができる。
P2P通信しようとする端末装置が互いに交換し合う許可通知に指定されるIPアドレスが一致する場合とは、すなわち、同じルータ装置を介してインターネットに接続されている端末装置同士をマッチングさせたことに他ならない。したがって、この場合には、LAN内でP2P通信を完結させるべく、許可通知に指定されるIPアドレスおよびポート番号を書き換えてから、相手方に渡す。
本発明によれば、LAN内でP2P通信が完結される場合には、マッチングサーバがそのように許可通知を変更することで、端末同士の高速なP2P通信を実現することができるようになる。
本発明のその他の観点に係る通信方法は、広域通信網と局所通信網との通信の中継をするルータ装置と、当該広域通信網内のサーバ装置と、当該局所通信網内の端末装置と、により実行され、ルータ装置は、ルータ側対応表記憶部、通信中継部を備え、サーバ装置は、サーバ側対応表記憶部を備え、端末装置は、要求送信部を備え、サーバ装置は、要求受信部、ポート番号取得部、応答送信部を備え、端末装置は、応答受信部、許可送信部、パケット受信部を備え、当該通信方法は、通信中継工程、要求送信工程、要求受信工程、ポート番号取得工程、応答送信工程、応答受信工程、許可送信工程、パケット受信工程を備え、以下のように構成する。
まず、ルータ装置において、ルータ側対応表記憶部には、当該局所通信網におけるIP(Internet Protocol)アドレスおよびポート番号と当該広域通信網におけるポート番号との対応表が記憶され、通信中継工程では、通信中継部が、記憶された対応表に基づいてIPアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする。
一方、サーバ装置において、サーバ側対応表記憶部には、ルータ装置に記憶される対応表と同じ情報を含む対応表が記憶される。
さらに、端末装置において、要求送信工程では、要求送信部が、当該端末装置の局所通信網におけるIPアドレスおよびポート番号を指定する問い合わせ要求を、ルータ装置に中継させて、サーバ装置に送信する。
一方、サーバ装置において、要求受信工程では、要求受信部が、ルータ装置に中継された問い合わせ要求を受信し、ポート番号取得工程では、ポート番号取得部が、記憶された対応表において、受信された問い合わせ要求に指定される当該局所通信網におけるIPアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得し、応答送信工程では、応答送信部が、当該広域通信網におけるルータ装置のIPアドレスおよび取得されたポート番号を指定する問い合わせ応答を、ルータ装置に中継させて、端末装置に送信する。
さらに、端末装置において、応答受信工程では、応答受信部が、ルータ装置に中継された問い合わせ応答を受信し、許可送信工程では、許可送信部が、受信された問い合わせ応答に指定される当該広域通信網におけるIPアドレスおよびポート番号を指定する許可通知を通信相手に送信し、パケット受信工程では、パケット受信部が、当該通信相手により当該送信された許可通知に指定される当該広域通信網におけるIPアドレスおよびポート番号に送信され、ルータ装置により中継されたパケットを受信する。
本発明のその他の観点に係るプログラムは、サーバコンピュータ、ルータコンピュータ、端末コンピュータのグループを上記の通信システムとして機能させ、これらのコンピュータに上記の通信方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
本発明によれば、端末装置が他の通信相手とルータ装置ごしにP2P通信する際に、通信に用いるIPアドレスとポート番号を適切に処理する通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
以下に本発明の実施形態を説明する。以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
(通信システム)
図1は、本発明の1つの実施形態に係る通信システムの概要構成を示す模式図である。以下、本図を参照して説明する。
本実施形態に係る通信システム101は、広域通信網102と局所通信網103との通信の中継をするルータ装置104と、当該広域通信網102内のサーバ装置105と、当該局所通信網103内の複数の端末装置106と、他の端末装置107と、を備える。
本実施形態では、広域通信網102としては、インターネットを採用し、局所通信網103としては、ルータ装置104にて管理されるLANを採用する。
また、他の通信装置107は、当該LANに含まれない通信装置であり、広域通信網102を介して通信が可能な機器である。したがって、当該他の通信装置107が、ルータ装置104と同様の機能を有する別のルータ装置(図示せず。)を介して広域通信網102に接続されている場合であっても、本発明の原理を適用することができる。
本図に示すように、ルータ装置104の広域通信網102側のIPアドレスをG.H.I.Jとする。
一方、端末装置106の局所通信網103内におけるIPアドレスは、X.Y.Z.WおよびX.Y.Z.Vとする。この例では、X.Y.Z.の部分を共通させているが、この部分は、いわゆるサブネットマスクに相当する。
また、端末装置106がP2P通信に使うポート番号は、いずれもPとする。そこで、IPアドレスおよびポート番号をまとめたものを「ソケット」と呼ぶが、このソケットは、両者を:で並べてX.Y.Z.W:PおよびX.Y.Z.V:Pのように表記することとする。
IPマスカレード/NAPTでは、広域通信網102側で重複しないポート番号QとRを選び、これらのソケットに対して、それぞれ、G.H.I.J:QおよびG.H.I.J:Rを対応付けるのである。
たとえば、局所通信網103内におけるIPアドレスおよびサブネットマスクとしては、192.168.0.0および255.255.255.0を用いるのが最も一般的である。このとき、端末装置106にDHCP(Dynamic Host Configuration Protocol)や静的に割り当てられるIPアドレスは、192.168.0.2〜192.168.0.254となる。また、端末装置106がP2P通信に用いるポート番号は、所定のいくつかの番号に制限する。たとえば、5730番〜5732番を利用する。
このとき、端末装置106のソケットは、192.168.0.W:P (2≦W≦254,5730≦P≦5732)となる。したがって、253×3個のポートを広域通信網102側のポート番号として割り当てることとなる。
ポートの数は、65536個用意されているのが一般的であるから、たとえば、ポート番号のオフセット値を32201としたときに、ソケット192.168.0.W:Pに対する広域通信網102側のソケットはG.H.I.J:(32201 + (W-2)*253 + (P-5730))とする。
このような対応付けは、ルータ装置104の管理者が適宜行うこととすれば良いが、簡単な対応付けのテンプレートをサーバ装置105で提供することとしても良い。このテンプレートにしたがってルータ装置104の管理者がルータ装置104のIPマスカレード/NAPT設定を行うとともに、サーバ装置105に対して、当該ルータ装置104の広域通信網102側のIPアドレスおよび使用したテンプレートを登録すれば、サーバ装置105とルータ装置104とで、同じIPマスカレード/NAPT対応表を用意することができるようになる。
また、サーバ装置105において、複数のルータ装置104を管理できるようにするため、IPアドレスおよびポート変換の対応表には、ルータ装置104の識別情報を対応付けておく。
ルータ装置104の識別情報としては、本実施形態では、当該ルータ装置104の広域通信網102側のIPアドレスを利用することもできるが、このIPアドレスそのものがDHCPによって変化することもありうる。
そのような場合に対応するため、本実施形態では、ルータ装置104のMACアドレス(典型的には、局所通信網103側のものを利用する。本図ではMACアドレスをFとしている。)を識別情報とする。このMACアドレス情報は、ルータ装置104の管理者がテンプレートを選択してサーバ装置105への登録を行う際に、同時にサーバ装置105に登録する。
(各装置の構成)
図2、図3、図4は、それぞれ、本実施形態に係るルータ装置104、サーバ装置105、端末装置106の概要構成を示す説明図である。以下、本図を参照して説明する。
まず、ルータ装置104は、ルータ側対応表記憶部201、通信中継部202を備える。
ここで、ルータ側対応表記憶部201は、当該局所通信網103におけるIPアドレスおよびポート番号と当該広域通信網102におけるポート番号との対応表が記憶される。
上記の例では、対応表には、以下の情報が記録されることになる。
X.Y.Z.W:P⇔Q
X.Y.Z.V:P⇔R
一方、通信中継部202は、記憶された対応表に基づいてIPアドレスおよびポート番号の変換を行って、広域通信網102と局所通信網103との通信の中継をする。
ここで、ルータ側対応表記憶部201および通信中継部202の機能は、通常のルータ装置104におけるIPマスカレード/NAPTの機能に相当する。本発明の特徴の一つは、アドレス変換のための対応表を、サーバ装置105でも管理することにある。
そこで、サーバ装置105は、サーバ側対応表記憶部204を備える。
サーバ側対応表記憶部204は、ルータ装置104に記憶される対応表と同じ情報
X.Y.Z.W:P⇔Q
X.Y.Z.V:P⇔R
を含む対応表が記憶される。
また、サーバ装置105では、複数のルータ装置104に対応するため、それぞれの対応表を記憶する際に、当該対応表を、そのルータ装置104の局所通信網103側のMACアドレスに対応付ける。
一方、端末装置106は、要求送信部205を備える。要求送信部205は、当該端末装置106の局所通信網103におけるIPアドレスおよびポート番号を指定する問い合わせ要求を、ルータ装置104に中継させて、サーバ装置105に送信する。
図5は、問い合わせ要求が端末装置106とサーバ装置105の間で行われる様子を示す説明図である。以下、本図を参照して説明する。
上記のように、WAN側のインターネット内に配置されたサーバ装置105にて、IPマスカレード/NAPTの対応表を管理することにより、P2P通信したいと考える端末装置106に、当該端末装置106が利用可能な広域側IPアドレスおよびポート番号を知らせることが可能になるのである。
なお、この問い合わせの際には、UPnP通信のような広範なポート開放を行う必要はなく、通常のhttp通信のために開放されているポート等、漫画喫茶等のルータ装置104で普通に開放されているポートを経由して問い合わせを行うことができる。
このとき、端末装置106は、ARP等によってルータ装置104の局所通信網103側のIPアドレス(典型的には192.168.0.1)に対してMACアドレスを取得し、当該MACアドレスを、問い合わせ要求251に埋め込む(図5(a))。
この問い合わせ要求251は、ルータ装置104が中継するから、サーバ装置105は、問い合わせ要求251がたどった経路を調べることにより、ルータ装置104の広域通信網102側のIPアドレスを取得することができる。
このようにして、ルータ装置104がDHCPによって広域通信網102に接続されている場合であっても、ルータ装置104の識別情報(MACアドレス)と、広域通信網102側のIPアドレスG.H.I.Jとの紐付けが、サーバ装置105で可能となる。
さて、サーバ装置105は、要求受信部206、ポート番号取得部207、応答送信部208を備える。
要求受信部206は、ルータ装置104に中継された問い合わせ要求251を受信する。本実施形態では、問い合わせ要求251を見れば、以下の情報が取得できることになる。
ルータ装置104の局所通信網103側のMACアドレス
ルータ装置104の広域通信網102側のIPアドレス(G.H.I.J)
端末装置106の局所通信網103側のIPアドレスおよびポート番号(X.Y.Z.W:PもしくはX.Y.Z.V:P)
そして、ポート番号取得部207は、「ルータ装置104の局所通信網103側のMACアドレス」に対応付けられた記憶された対応表において、受信された問い合わせ要求251に指定される「端末装置106の局所通信網103側のIPアドレスおよびポート番号」に対応付けられる「広域通信網102側のポート番号」(QもしくはR)を取得する。
ついで、応答送信部208は、「ルータ装置104の広域通信網102側のIPアドレスG.H.I.J:取得されたポート番号(QもしくはR)」というソケット情報を問い合わせ応答252に指定して、これをルータ装置104に中継させて、端末装置106に送信する(図5(b))。
そして、端末装置106は、応答受信部209、許可送信部210、許可受信部211、パケット受信部212、パケット送信部213を備える。
応答受信部209は、ルータ装置104に中継された問い合わせ応答252を受信する。この問い合わせ応答252によって、端末装置106は、自身に対して外部からP2P通信を行う際のソケットを知ることができる。
ついで、許可送信部210は、受信された問い合わせ応答252に指定される当該広域通信網102におけるIPアドレスおよびポート番号を指定する許可通知を通信相手に送信するが、実際には、マッチングサーバ(本図では、サーバ装置105と一致しているが、他のコンピュータをマッチングサーバとしても良い。)にこの情報を送信する。
すなわち、マッチングサーバとして機能する、サーバ装置105は、許可通知中継部214を備える。許可通知中継部214は、端末装置106と、当該通信相手と、の間で相互に送受される許可通知を中継する。
具体的には、マッチングサーバは適当な通信相手の組合せを選択し、両者の許可通知を相手方に送信する。したがって、端末装置106の許可受信部211は、当該通信相手により送信された当該広域通信網102におけるIPアドレスおよびポート番号を指定する許可通知を受信することとなる。
なお、通信対戦ゲームを運営するゲーム会社が管理する「サーバコンピュータ群」を、「サーバ装置105」として考えることもできる。このとき、NAPTの対応表を管理するコンピュータと、マッチングサーバのコンピュータと、が異なるコンピュータであっても、同じ「サーバコンピュータ群」に含まれるものであれば、一つの「サーバ装置105」に該当すると考えることができる。
これによって、P2P通信の準備ができたことになる。そこで、パケット送信部213は、当該受信された許可通知に指定される当該広域通信網102におけるIPアドレスおよびポート番号にパケットを送信し、当該パケットを当該通信相手までルータ装置104に中継させ、パケット受信部212は、当該通信相手により当該送信された許可通知に指定される当該広域通信網102におけるIPアドレスおよびポート番号に送信され、ルータ装置104により中継されたパケットを受信する。
本発明によれば、P2P通信のマッチングを、サーバ装置105が適切に行うことができるようになる。
図6は、一般的な許可通知の交換が行われる様子を示す説明図である。以下、本図を参照して説明する。
本図に示す例では、端末装置106は、ソケットX.Y.Z.W:Pを用いてP2P通信するが、許可通知301には、これに結び付けられているルータ装置104のソケットG.H.I.J:Qを指定している。一方、他の端末装置107は、ソケットK.L.M.N:Sを許可通知302に指定している(本図(a))。
この2つの許可通知301、302がサーバ装置105に到着し、サーバ装置105が2つをマッチングすると、そのまま相手方に許可通知302'、301'を送る(本図(b))。
そして、許可通知302'、301'を受信した端末装置106、107は、サーバ装置105を介さずに、P2P通信303をするようになる(本図(c))。
(許可通知の書き換え)
上記の実施形態では、一般的な(典型的には、端末装置106、107が異なるLANに属する場合。)許可通知の例を説明したが、P2P通信し合うもの同士が、同じLAN内に存在する場合もある。
図7は、同じルータ装置104によって広域通信網102に接続されている端末装置106同士が許可通知を交換する様子を示す説明図である。以下、本図を参照して説明する。
本図に示す例では、ソケットX.Y.Z.W:Pを用いてP2P通信する端末装置106が送信する許可通知401には、G.H.I.J:Qが指定され、ソケットX.Y.Z.V:Pを用いてP2P通信する端末装置106が送信する許可通知402には、G.H.I.J:Rが指定されている(本図(a))。
2つの許可通知401、402が指定するソケットでは、IPアドレスがいずれもG.H.I.Jと一致している。したがって、2つの端末装置106は、同じ局所通信網103に属していることがわかる。
本実施形態では、端末装置106は、ルータ装置104のMACアドレス情報を許可通知401、402にさらに書き込むこととする。すると、サーバ装置105は、このMACアドレス情報から、当該ルータ装置104の対応表を取得することができる。また、MACアドレス情報が等しいか否かによって、同じ局所通信網103に属しているか否かを判断しても良い。
P2P通信しようとする端末装置106が互いに交換し合う許可通知に指定されるIPアドレスおよびMACアドレスが一致する場合とは、すなわち、同じルータ装置104を介してインターネットに接続されている端末装置106同士をマッチングさせたことに他ならない。したがって、この場合には、LAN内でP2P通信を完結させるべく、許可通知に指定されるIPアドレスおよびポート番号を書き換えてから、相手方に渡す。
対応表が取得できたら、ポート番号Qに対応する局所通信網103側のソケットがX.Y.Z.V:Pであること、および、ポート番号Rに対応する局所通信網103側のソケットがX.Y.Z.W:Pであること、が判明する。
これらの情報に基づいて、許可通知401のソケット情報を書き換えた許可通知401'、許可通知402のソケット情報を書き換えた許可通知402'を、それぞれ相手に送る(本図(b))。
そして、許可通知402'、401'を受信した端末装置106、107は、サーバ装置105を介さずに、局所通信網103内でP2P通信403をするようになる(本図(c))。
本実施形態によれば、LAN内でP2P通信が完結される場合には、マッチングサーバがそのように許可通知を変更することで、端末同士の高速なP2P通信を実現することができるようになる。
(ポート開放のタイミング)
上記実施形態においては、ルータ装置104のポート開放について管理者が適切に(テンプレート等にしたがって)設定を行えば、ルータ装置104そのものは既存のものを利用することができた。本実施形態においては、ルータ装置104が中継するパケットを監視して、適切な処理を行う。
すなわち、ルータ装置104は、その局所通信網103内に属する端末装置106が発する問い合わせ要求251および問い合わせ応答252を監視する。
問い合わせ要求251および問い合わせ応答252に指定されるIPアドレスとポート番号を対応表で引くと、広域通信網102において開放すべきポート番号がわかる。
そこで、問い合わせ要求251と問い合わせ応答252の対を中継したことをもって(もしくは、いずれか一方を中継したことをもって)、広域通信網102側で、当該ポートを開放するのである。
この後、ルータ装置104は、当該端末装置106からのパケットの到着・通過を監視して一定時間以上パケットが到来しない場合や、一定時間おきにpingで端末装置106に問い合わせを行い、返事がなくなった場合に、当該端末装置106の電源がオフになったものとみなして、当該ポートを閉じる。
このような処理を行うことにより、UPnP通信よりもポートを開放する度合を格段に減少させることができ、セキュリティの向上を図ることができる。
以上説明したように、本発明によれば、端末装置が他の通信相手とルータ装置ごしにP2P通信する際に、通信に用いるIPアドレスとポート番号を適切に処理する通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
本発明の1つの実施形態に係る通信システムの概要構成を示す模式図である。 本実施形態に係るルータ装置の概要構成を示す説明図である。 本実施形態に係るサーバ装置の概要構成を示す説明図である。 本実施形態に係る端末装置の概要構成を示す説明図である。 問い合わせ要求と問い合わせ応答の送受の様子を示す説明図である。 一般的な許可通知の交換が行われる様子を示す説明図である。 同じルータ装置によって広域通信網に接続されている端末装置同士が許可通知を交換する様子を示す説明図である。
符号の説明
101 通信システム
102 広域通信網
103 局所通信網
104 ルータ装置
105 サーバ装置
106 端末装置
107 他の端末装置
201 ルータ側対応表記憶部
202 通信中継部
204 サーバ側対応表記憶部
205 要求送信部
206 要求受信部
207 ポート番号取得部
208 応答送信部
209 応答受信部
210 許可送信部
211 許可受信部
212 パケット受信部
213 パケット送信部
214 許可通知中継部
251 問い合わせ要求
252 問い合わせ応答
301 許可通知
302 許可通知
401 許可通知
402 許可通知

Claims (3)

  1. 広域通信網と局所通信網との通信の中継をするルータ装置と、当該広域通信網内のサーバ装置と、当該局所通信網内の端末装置と、を備える通信システムであって、
    (a)前記ルータ装置は、
    当該局所通信網におけるIP(Internet Protocol)アドレスおよびポート番号と当該広域通信網におけるポート番号との対応表を記憶するルータ側対応表記憶部、
    前記記憶された対応表に基づいてIPアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする通信中継部
    を備え、
    (b)前記サーバ装置は、
    前記ルータ装置において記憶される対応表と同じ情報を含む対応表を記憶するサーバ側対応表記憶部
    を備え、
    (c)前記端末装置は、
    当該端末装置の局所通信網におけるIPアドレスおよびポート番号を指定する問い合わせ要求を、前記ルータ装置に中継させて、前記サーバ装置に送信する要求送信部、
    を備え、
    (d)前記サーバ装置は、
    前記ルータ装置に中継された問い合わせ要求を受信する要求受信部、
    前記記憶された対応表において、前記受信された問い合わせ要求に指定される当該局所通信網におけるIPアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得するポート番号取得部、
    当該広域通信網における前記ルータ装置のIPアドレスおよび前記取得されたポート番号を指定する問い合わせ応答を、前記ルータ装置に中継させて、前記端末装置に送信する応答送信部、
    を備え、
    (e)前記端末装置は、
    前記ルータ装置に中継された問い合わせ応答を受信する応答受信部、
    前記受信された問い合わせ応答に指定される当該広域通信網におけるIPアドレスおよびポート番号を指定する許可通知を、前記ルータ装置および前記サーバ装置に中継させて、通信相手に送信する許可送信部、
    当該通信相手により送信された当該IPアドレスおよびポート番号を指定する許可通知を、前記ルータ装置および前記サーバ装置に中継させて、受信する許可受信部、
    当該受信された許可通知に指定されるIPアドレスおよびポート番号にパケットを送信するパケット送信部、
    当該受信された許可通知に指定されるIPアドレスおよびポート番号から送信されたパケットを受信するパケット受信部
    を備え、
    (f)前記サーバ装置は、
    前記端末装置と、当該通信相手と、の間で相互に送受される許可通知を、当該相互に送受される許可通知に指定される当該広域通信網におけるIPアドレスが一致する場合、当該相互に送受される許可通知のそれぞれについて、当該許可通知に指定される当該広域通信網におけるIPアドレスおよびポート番号を、前記対応表においてこれらに対応付けて記憶される当該局所通信網におけるIPアドレスおよびポート番号に置き換えてから、中継する許可通知中継部
    を備え、
    (g)当該受信された許可通知に指定されるIPアドレスおよびポート番号が、当該局所通信網におけるIPアドレスおよびポート番号である場合、前記端末装置と、当該通信相手と、のパケットの送受は、前記ルータ装置を介さずにおこなわれる
    ことを特徴とする通信システム。
  2. 広域通信網と局所通信網との通信の中継をするルータ装置と、当該広域通信網内のサーバ装置と、当該局所通信網内の端末装置と、が、実行する通信方法であって、前記ルータ装置は、ルータ側対応表記憶部、通信中継部を備え、前記サーバ装置は、サーバ側対応表記憶部、要求受信部、ポート番号取得部、応答送信部、許可通知中継部を備え、前記端末装置は、要求送信部、応答受信部、許可送信部、許可受信部、パケット送信部、パケット受信部を備え、
    (a)前記ルータ装置において、
    前記ルータ側対応表記憶部には、当該局所通信網におけるIP(Internet Protocol)アドレスおよびポート番号と当該広域通信網におけるポート番号との対応表が記憶され、
    前記通信中継部が、前記記憶された対応表に基づいてIPアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする通信中継工程
    を備え、
    (b)前記サーバ装置において、
    前記サーバ側対応表記憶部には、前記ルータ装置において記憶される対応表と同じ情報を含む対応表が記憶され、
    (c)前記端末装置において、
    前記要求送信部が、当該端末装置の局所通信網におけるIPアドレスおよびポート番号を指定する問い合わせ要求を、前記ルータ装置に中継させて、前記サーバ装置に送信する要求送信工程
    を備え、
    (d)前記サーバ装置において、
    前記要求受信部が、前記ルータ装置に中継された問い合わせ要求を受信する要求受信工程、
    前記ポート番号取得部が、前記記憶された対応表において、前記受信された問い合わせ要求に指定される当該局所通信網におけるIPアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得するポート番号取得工程、
    前記応答送信部が、当該広域通信網における前記ルータ装置のIPアドレスおよび前記取得されたポート番号を指定する問い合わせ応答を、前記ルータ装置に中継させて、前記端末装置に送信する応答送信工程、
    を備え、
    (e)前記端末装置において、
    前記応答受信部が、前記ルータ装置に中継された問い合わせ応答を受信する応答受信工程、
    前記許可送信部が、前記受信された問い合わせ応答に指定される当該広域通信網におけるIPアドレスおよびポート番号を指定する許可通知を、前記ルータ装置および前記サーバ装置に中継させて、通信相手に送信する許可送信工程、
    前記許可受信部が、当該通信相手により送信された当該IPアドレスおよびポート番号を指定する許可通知を、前記ルータ装置および前記サーバ装置に中継させて、受信する許可受信工程、
    前記パケット送信部が、当該受信された許可通知に指定されるIPアドレスおよびポート番号にパケットを送信するパケット送信工程、
    前記パケット受信部が、当該受信された許可通知に指定されるIPアドレスおよびポート番号から送信されたパケットを受信するパケット受信工程
    を備え、
    (f)前記サーバ装置において、
    前記許可通知中継部が、前記端末装置と、当該通信相手と、の間で相互に送受される許可通知を、当該相互に送受される許可通知に指定される当該広域通信網におけるIPアドレスが一致する場合、当該相互に送受される許可通知のそれぞれについて、当該許可通知に指定される当該広域通信網におけるIPアドレスおよびポート番号を、前記対応表においてこれらに対応付けて記憶される当該局所通信網におけるIPアドレスおよびポート番号に置き換えてから、中継する許可通知中継工程
    を備え、
    (g)当該受信された許可通知に指定されるIPアドレスおよびポート番号が、当該局所通信網におけるIPアドレスおよびポート番号である場合、前記端末装置と、当該通信相手と、のパケットの送受は、前記ルータ装置を介さずにおこなわれる
    ことを特徴とする通信方法。
  3. ルータコンピュータを、広域通信網と局所通信網との通信の中継をするルータ装置として機能させ、サーバコンピュータを、当該広域通信網内のサーバ装置として機能させ、端末コンピュータを、当該局所通信網内の端末装置として機能させるプログラムであって、
    (a)前記ルータコンピュータを、
    当該局所通信網におけるIP(Internet Protocol)アドレスおよびポート番号と当該広域通信網におけるポート番号との対応表を記憶するルータ側対応表記憶部、
    前記記憶された対応表に基づいてIPアドレスおよびポート番号の変換を行って、広域通信網と局所通信網との通信の中継をする通信中継部
    として機能させ、
    (b)前記サーバコンピュータを、
    前記ルータ装置において記憶される対応表と同じ情報を含む対応表を記憶するサーバ側対応表記憶部
    として機能させ、
    (c)前記端末コンピュータを、
    当該端末装置の局所通信網におけるIPアドレスおよびポート番号を指定する問い合わせ要求を、前記ルータ装置に中継させて、前記サーバ装置に送信する要求送信部、
    として機能させ、
    (d)前記サーバコンピュータを、
    前記ルータ装置に中継された問い合わせ要求を受信する要求受信部、
    前記記憶された対応表において、前記受信された問い合わせ要求に指定される当該局所通信網におけるIPアドレスおよびポート番号に対応付けられる当該広域通信網におけるポート番号を取得するポート番号取得部、
    当該広域通信網における前記ルータ装置のIPアドレスおよび前記取得されたポート番号を指定する問い合わせ応答を、前記ルータ装置に中継させて、前記端末装置に送信する応答送信部、
    として機能させ、
    (e)前記端末コンピュータを、
    前記ルータ装置に中継された問い合わせ応答を受信する応答受信部、
    前記受信された問い合わせ応答に指定される当該広域通信網におけるIPアドレスおよびポート番号を指定する許可通知を、前記ルータ装置および前記サーバ装置に中継させて、通信相手に送信する許可送信部、
    当該通信相手により送信された当該IPアドレスおよびポート番号を指定する許可通知を、前記ルータ装置および前記サーバ装置に中継させて、受信する許可受信部、
    当該受信された許可通知に指定されるIPアドレスおよびポート番号にパケットを送信するパケット送信部、
    当該受信された許可通知に指定されるIPアドレスおよびポート番号から送信されたパケットを受信するパケット受信部
    として機能させ、
    (f)前記サーバコンピュータを、
    前記端末装置と、当該通信相手と、の間で相互に送受される許可通知を、当該相互に送受される許可通知に指定される当該広域通信網におけるIPアドレスが一致する場合、当該相互に送受される許可通知のそれぞれについて、当該許可通知に指定される当該広域通信網におけるIPアドレスおよびポート番号を、前記対応表においてこれらに対応付けて記憶される当該局所通信網におけるIPアドレスおよびポート番号に置き換えてから、中継する許可通知中継部
    として機能させ、
    (g)当該受信された許可通知に指定されるIPアドレスおよびポート番号が、当該局所通信網におけるIPアドレスおよびポート番号である場合、前記端末装置と、当該通信相手と、のパケットの送受は、前記ルータ装置を介さずにおこなわれる
    ように機能させることを特徴とするプログラム。
JP2006087586A 2006-03-28 2006-03-28 通信システム、通信方法、ならびに、プログラム Expired - Fee Related JP4279847B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006087586A JP4279847B2 (ja) 2006-03-28 2006-03-28 通信システム、通信方法、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006087586A JP4279847B2 (ja) 2006-03-28 2006-03-28 通信システム、通信方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2007266863A JP2007266863A (ja) 2007-10-11
JP4279847B2 true JP4279847B2 (ja) 2009-06-17

Family

ID=38639436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006087586A Expired - Fee Related JP4279847B2 (ja) 2006-03-28 2006-03-28 通信システム、通信方法、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP4279847B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4705656B2 (ja) * 2008-04-22 2011-06-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 アドレス変換装置、アドレス変換プログラム
JP2014093763A (ja) * 2012-11-07 2014-05-19 Nec Commun Syst Ltd 監視制御システム、及び、監視制御方法

Also Published As

Publication number Publication date
JP2007266863A (ja) 2007-10-11

Similar Documents

Publication Publication Date Title
EP2230822B1 (en) Establishing a connection traversing a network address translation gateway
JP5006968B2 (ja) 協調的nat振る舞いディスカバリ
KR100317443B1 (ko) 인터넷프로토콜필터
JP3745755B2 (ja) Ipアドレス割当装置及び方法
Fall et al. Tcp/ip illustrated
JP4327142B2 (ja) 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
US8078735B2 (en) Information processing system, tunnel communication device, tunnel communication method, and program
US9264356B2 (en) Network gateway apparatus
US20050198310A1 (en) Method of communicating with server having flexible address
US20040148439A1 (en) Apparatus and method for peer to peer network connectivty
CN100464540C (zh) 一种跨网关通信的方法
JP2009111437A (ja) ネットワークシステム
JP2007522744A (ja) レガシーノードとhipノード間のホストアイデンティティプロトコル(hip)接続を確立するためのアドレス指定方法及び装置
US20050135359A1 (en) System and method for IPSEC-compliant network address port translation
JP4279847B2 (ja) 通信システム、通信方法、ならびに、プログラム
WO2003101048A1 (fr) Systeme de traitement d'information
JP2019050628A5 (ja)
JP5990125B2 (ja) パケット転送装置、配信システム、パケット転送方法、プログラムおよび記録媒体
JP4722615B2 (ja) 通信方法及び通信装置
KR100562390B1 (ko) 호스트 라우팅과 IP Aliasing 기법을 이용한 네트워크 데이터 플로우 식별 방법 및 시스템
JP2011109186A (ja) ネットワーク通信方法及びアクセス管理方法とパケット中継装置
WO2018225158A1 (ja) 通信装置、中継装置、情報処理システムおよび通信システム
KR20070061036A (ko) 홈네트워크 간 미디어 공유 장치 및 그 방법
JP4342527B2 (ja) パケット中継装置および方法
Hughes Review of IPv4

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090310

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090312

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees