JP2008099321A - Communication system, information processor, server and communication method - Google Patents

Communication system, information processor, server and communication method Download PDF

Info

Publication number
JP2008099321A
JP2008099321A JP2007304056A JP2007304056A JP2008099321A JP 2008099321 A JP2008099321 A JP 2008099321A JP 2007304056 A JP2007304056 A JP 2007304056A JP 2007304056 A JP2007304056 A JP 2007304056A JP 2008099321 A JP2008099321 A JP 2008099321A
Authority
JP
Japan
Prior art keywords
port
packet
detection
information processing
communication control
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.)
Granted
Application number
JP2007304056A
Other languages
Japanese (ja)
Other versions
JP4389994B2 (en
Inventor
Kunio Gohara
邦男 郷原
Hajime Maekawa
前川  肇
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007304056A priority Critical patent/JP4389994B2/en
Publication of JP2008099321A publication Critical patent/JP2008099321A/en
Application granted granted Critical
Publication of JP4389994B2 publication Critical patent/JP4389994B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication system wherein communications between a plurality of information processing apparatuses that communicate with each other via a communication control apparatus (NAT) can be established with an enhanced reliability. <P>SOLUTION: A first information processing apparatus (1) transmits a bubble packet to a port assigned from reference ports of a second communication control apparatus (4) after a prescribed port assignment. A server (6) detects the location of a bubble packet transmission port, which is a port of a first communication control apparatus (3), for transmitting the bubble packet. A second information processing apparatus (2) transmits a response packet to the detects bubble packet transmission port. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、複数の情報処理装置間における通信を確立させる通信システム等に関するものである。   The present invention relates to a communication system that establishes communication between a plurality of information processing apparatuses.

まず、NAT(Network Address Translation)の分類について説明する。NATには、送信ポート割り当てルールと受信フィルタルールがあり、その組み合わせによりNATの分類がなされる。送信ポート割り当てルールには、パケットの宛先(IPアドレス、ポート)に依存せず、NATのローカル側(たとえば、LAN側)の情報処理装置のポートとIPアドレスが同じであれば、NATに割り当てられるグローバル側(たとえば、インターネットなどのWAN側)のポートが同一となるConeタイプと、パケットの宛先アドレスごとに新しいポートが割り当てられるAddress
Sensitiveタイプと、パケットの宛先ポートごとに新しいポートが割り当てられるPort Sensitiveタイプがある。NATのローカル側からパケットが送信されたポートに対してグローバル側からのパケットの受信可能性を判断する受信フィルタルールには、そのポートからパケットを送信したアドレスからのみしかパケットを受信しないAddress Sensitiveフィルタと、そのポートからパケットを送信したポートからのみしかパケットを受信しないPort Sensitiveフィルタと、フィルタが存在しないNoフィルタがある。これらの送信ポート割り当てルールと、受信フィルタルールとを組み合わせることにより、NATを下記の9種類に分類することができる(図32参照)。
First, classification of NAT (Network Address Translation) will be described. The NAT has a transmission port assignment rule and a reception filter rule, and the NAT is classified by a combination thereof. The transmission port assignment rule does not depend on the destination (IP address, port) of the packet. If the port of the information processing device on the NAT local side (for example, the LAN side) and the IP address are the same, the assignment is made to the NAT. The Cone type with the same port on the global side (for example, the WAN side such as the Internet) and the address to which a new port is assigned for each destination address of the packet
There are a Sensitive type and a Port Sensitive type in which a new port is assigned to each destination port of a packet. An Address Sensitive filter that receives a packet only from an address from which a packet is transmitted from the port is included in the reception filter rule for determining the possibility of receiving a packet from the global side for a port from which a packet is transmitted from the NAT local side. There are a Port Sensitive filter that receives a packet only from a port that has transmitted a packet from the port, and a No filter that does not have a filter. By combining these transmission port assignment rules and reception filter rules, NAT can be classified into the following nine types (see FIG. 32).

Full Cone NAT(以下、F NATとする):送信ポート割り当てルールがConeタイプであり、受信ポートフィルタルールがNoフィルタであるもの。   Full Cone NAT (hereinafter referred to as F NAT): A transmission port assignment rule is a Cone type, and a reception port filter rule is a No filter.

Restricted Cone NAT(以下、R NATとする):送信ポート割り当てルールがConeタイプであり、受信ポートフィルタルールがAddress Sensitiveフィルタであるもの。   Restricted Cone NAT (hereinafter referred to as R NAT): a transmission port allocation rule is a Cone type, and a reception port filter rule is an Address Sensitive filter.

Port Restricted Cone NAT(以下、PR NATとする):送信ポート割り当てルールがConeタイプであり、受信ポートフィルタルールがPort Sensitiveフィルタであるもの。   Port Restricted Cone NAT (hereinafter referred to as PR NAT): a transmission port assignment rule is a Cone type, and a reception port filter rule is a Port Sensitive filter.

Symmetric(a) NAT(以下、Sa NATとする):送信ポート割り当てルールがAddress Sensitiveタイプであり、受信ポートフィルタルールがNoフィルタであるもの。   Symmetric (a) NAT (hereinafter referred to as Sa NAT): a transmission port assignment rule is an Address Sensitive type, and a reception port filter rule is a No filter.

Address Sensitive Symmetric NAT(以下、AS NAT、あるいはSb NATとする):送信ポート割り当てルールがAddress Sensitiveタイプであり、受信ポートフィルタルールがAddress Sensitiveフィルタであるもの。   Address Sensitive Symmetric NAT (hereinafter referred to as AS NAT or Sb NAT): A transmission port assignment rule is an Address Sensitive type, and a reception port filter rule is an Address Sensitive filter.

Symmetric(c) NAT(以下、Sc NATとする):送信ポート割り当てルールがAddress Sensitiveタイプであり、受信ポートフィルタルールがPort Sensitiveフィルタであるもの。   Symmetric (c) NAT (hereinafter referred to as Sc NAT): a transmission port assignment rule is an Address Sensitive type, and a reception port filter rule is a Port Sensitive filter.

Symmetric(d) NAT(以下、Sd NATとする):送信ポート割り当
てルールがPort Sensitiveタイプであり、受信ポートフィルタルールがNoフィルタであるもの。
Symmetric (d) NAT (hereinafter referred to as Sd NAT): a transmission port assignment rule is a Port Sensitive type, and a reception port filter rule is a No filter.

Symmetric(e) NAT(以下、Se NATとする):送信ポート割り当てルールがPort Sensitiveタイプであり、受信ポートフィルタルールがAddress Sensitiveフィルタであるもの。   Symmetric (e) NAT (hereinafter referred to as Se NAT): a transmission port assignment rule is a Port Sensitive type, and a reception port filter rule is an Address Sensitive filter.

Port Sensitive Symmetric NAT(以下、PS NAT、あるいはSf NATとする):送信ポート割り当てルールがPort Sensitiveタイプであり、受信ポートフィルタルールがPort Sensitiveフィルタであるもの。   Port Sensitive Symmetric NAT (hereinafter referred to as PS NAT or Sf NAT): A transmission port allocation rule is a Port Sensitive type, and a reception port filter rule is a Port Sensitive filter.

このようなNATを用いた通信において、図33で示されるようなPC1とPC2との間でのサーバを介さない通信を確立する場合について考えられてきている。   In communication using such NAT, it has been considered to establish communication between PC1 and PC2 without using a server as shown in FIG.

上記の技術内容は、例えば、D.Yon、「Connection−Oriented
Media Transport in SDP」、[Online]、2003年3月、[2004年3月25日検索]、インターネット<URL:http://www.ietf.org/internet−drafts/draft−ietf−mmusic−sdp−comedia−05.txt>(以下、「非特許文献1」という。)、またはY.Takeda、「Symmetric NAT Traversal using STUN」、[Online]、2003年6月、[2004年3月25日検索]、インターネット<URL:http://www.cs.cornell.edu/projects/stunt/draft−takeda−symmetric−nat−traversal−00.txt>(以下、「非特許文献2」という。)に記載されている。さらに、J.Rosenberg、J.Weinberger、C.Huitema、R.Mahy、「STUN − Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)」、[Online]、2003年3月、Network Working Group Request for Comments: 3489、[2004年3月24日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc3489.txt>(以下、「非特許文献3」という。)に記載されている。
The above technical contents are described in, for example, D.I. Yon, “Connection-Oriented
"Media Transport in SDP", [Online], March 2003, [March 25, 2004 search], Internet <URL: http: // www. ietf. org / internet-drafts / draft-ietf-mmusic-sdp-comedia-05. txt> (hereinafter referred to as “Non-Patent Document 1”), or Y.S. Takeda, “Symmetric NAT Traveling STUN”, [Online], June 2003, [March 25, 2004 search], Internet <URL: http: // www. cs. cornell. edu / projects / stunt / draft-takeda-symmetric-nat-travelsal-00. txt> (hereinafter referred to as “Non-Patent Document 2”). Furthermore, J. et al. Rosenberg, J.M. Weinberger, C.I. Huitema, R.A. Mahy, “STUN-Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translaters (NATs), [Online], March 2003, Network. Internet <URL: http: // www. ietf. org / rfc / rfc3389. txt> (hereinafter referred to as “Non-Patent Document 3”).

しかしながら、この場合においても、通信を確立することのできないNATの組み合わせがあり得る。図33において、NAT1のローカル側に接続された情報処理装置であるPC1からPC2に対して通信を行う場合に、NAT1を送信側のNAT、NAT2を受信側のNATと呼ぶこととする。すると、PC1とPC2との間で通信を確立することができるNATの組み合わせは、図34で示されるようになる。   However, even in this case, there may be a combination of NATs for which communication cannot be established. In FIG. 33, when communication is performed from PC1 which is an information processing apparatus connected to the local side of NAT1 to PC2, NAT1 is referred to as NAT on the transmission side, and NAT2 is referred to as NAT on the reception side. Then, combinations of NATs that can establish communication between PC1 and PC2 are as shown in FIG.

ここで、図34における「*1」の接続は、従来から知られており、「*2」の接続は、上記非特許文献1に記載されており、「*3」の接続は、上記非特許文献2に記載されている。また、通信を確立することができるNATの組み合わせであっても、「*3」の接続においては、NATのポート幅が確実にわかり、かつ、受信側のNATの最新ポートの位置を確実に知ることができない限り、通信を確立することができず、不確実性が残るという問題もある。   Here, the connection of “* 1” in FIG. 34 is conventionally known, the connection of “* 2” is described in Non-Patent Document 1, and the connection of “* 3” is the above non-connection. It is described in Patent Document 2. Even in the case of a NAT combination that can establish communication, in the connection of “* 3”, the port width of the NAT is surely known, and the position of the latest NAT port on the receiving side is surely known. Unless it is possible, communication cannot be established, and there is a problem that uncertainty remains.

さらに、図34の組み合わせでは、Sa NATやSc〜Se NATを用いた場合については含まれていないが、そのようなNATを用いた場合についても、NATを介したピアー・ツー・ピアー(Peer to Peer)の通信(例えば、図33におけるP
C1とPC2間の通信)を確立できるようにしたい。
Furthermore, the combination of FIG. 34 does not include the case where Sa NAT or Sc to Se NAT is used, but even when such NAT is used, peer-to-peer (Peer to peer) via NAT is also included. Peer) communication (for example, P in FIG.
I want to be able to establish communication between C1 and PC2.

また、情報処理装置間の通信を確立する前提として、一方の情報処理装置から送信されたバブルパケット(NATに送信履歴を残すために送信されるパケット)の通過したNATのポートの位置を確実に検出したい。
D.Yon、「Connection−Oriented Media Transport in SDP」、[Online]、2003年3月、[2004年3月25日検索]、インターネット<URL:http://www.ietf.org/internet−drafts/draft−ietf−mmusic−sdp−comedia−05.txt> Y.Takeda、「Symmetric NAT Traversal using STUN」、[Online]、2003年6月、[2004年3月25日検索]、インターネット<URL:http://www.cs.cornell.edu/projects/stunt/draft−takeda−symmetric−nat−traversal−00.txt> J.Rosenberg、J.Weinberger、C.Huitema、R.Mahy、「STUN − Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)」、[Online]、2003年3月、Network Working Group Request for Comments: 3489、[2004年3月24日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc3489.txt>
In addition, as a premise for establishing communication between information processing apparatuses, the position of the NAT port through which a bubble packet transmitted from one information processing apparatus (a packet transmitted in order to leave a transmission history in the NAT) has been surely determined. I want to detect it.
D. Yon, “Connection-Oriented Media Transport in SDP”, [Online], March 2003, [March 25, 2004 search], Internet <URL: http: // www. ietf. org / internet-drafts / draft-ietf-mmusic-sdp-comedia-05. txt> Y. Takeda, “Symmetric NAT Traveling STUN”, [Online], June 2003, [March 25, 2004 search], Internet <URL: http: // www. cs. cornell. edu / projects / stunt / draft-takeda-symmetric-nat-travelsal-00. txt> J. et al. Rosenberg, J.M. Weinberger, C.I. Huitema, R.A. Mahy, “STUN-Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translaters (NATs), [Online], March 2003, Network. Internet <URL: http: // www. ietf. org / rfc / rfc3389. txt>

本発明の目的のひとつは、通信を制御する通信制御装置を介して通信を行う複数の情報処理装置間における通信の確立を、より確実に行うことができる通信システム等を提供することである。   One of the objects of the present invention is to provide a communication system or the like that can more reliably establish communication between a plurality of information processing apparatuses that perform communication via a communication control apparatus that controls communication.

本発明の他の目的は、情報処理装置から送信されたバブルパケットの通過した通信制御装置におけるポートの位置を検出することができる通信システム等を提供することである。   Another object of the present invention is to provide a communication system that can detect the position of a port in a communication control device through which a bubble packet transmitted from an information processing device has passed.

上記目的を達成するために、本発明による第1の情報処理装置は、第1の情報処理装置の通信を制御する第1の通信制御装置と、第2の情報処理装置の通信を制御する第2の通信制御装置とを介して、前記第2の情報処理装置と通信する前記第1の情報処理装置であって、前記第1の通信制御装置に送信履歴を残すために送信されるバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を示す基準ポート情報を受け付ける基準ポート受付部と、前記基準ポート情報に基づいて、前記第1の通信制御装置を介して、前記バブルパケットを前記第2の通信制御装置に送信するバブルパケット送信部と、前記バブルパケットの送信で用いられる、前記第1の通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために、ポート検出用パケットを送信する検出用パケット送信部と、前記バブルパケット送信ポートに対して、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された返信パケットを受け付ける返信パケット受付部と、を備えたものである。   In order to achieve the above object, a first information processing apparatus according to the present invention includes a first communication control apparatus that controls communication of a first information processing apparatus and a second information control apparatus that controls communication of a second information processing apparatus. The first information processing apparatus that communicates with the second information processing apparatus via the second communication control apparatus, and transmitted to leave a transmission history in the first communication control apparatus A reference port receiving unit that receives reference port information indicating a position of a reference port that is a port in the second communication control device serving as a reference for transmission of the first communication control, and the first communication control based on the reference port information A bubble packet transmitting unit that transmits the bubble packet to the second communication control device via a device; and a bubble packet that is a port of the first communication control device used for transmitting the bubble packet. A detection packet transmitter for transmitting a port detection packet to detect the position of the packet transmission port, and the second communication control device from the second information processing device to the bubble packet transmission port. A reply packet accepting unit that accepts a reply packet transmitted via.

このような構成により、基準ポート情報に基づいたバブルパケットの送信と、ポート検出用パケットを用いて検出されたバブルパケット送信ポートへ送信された返信パケットの受け付けとを行うことができ、第1の情報処理装置と、第2の情報処理装置との間の通信を確立することができる。   With such a configuration, it is possible to perform transmission of bubble packets based on the reference port information and reception of reply packets transmitted to the bubble packet transmission port detected using the port detection packet. Communication between the information processing apparatus and the second information processing apparatus can be established.

また、本発明による第1の情報処理装置は、第1の情報処理装置の通信を制御する第1の通信制御装置と、第2の情報処理装置の通信を制御する第2の通信制御装置とを介して、前記第2の情報処理装置と通信する前記第1の情報処理装置であって、前記第1の通信制御装置は、前記第2の情報処理装置から前記第2の通信制御装置を介して、前記第2の通信制御装置に送信履歴を残すためのバブルパケットが送信されるものであり、前記バブルパケットの送信の対象の基準となる前記第1の通信制御装置におけるポートである基準ポートの位置を検出するための基準ポート検出用パケットを送信する基準ポート検出用パケット送信部と、前記第2の情報処理装置からの前記バブルパケットの送信で用いられた、前記第2の通信制御装置のポートであるバブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を受け付けるバブルパケット送信ポート受付部と、前記バブルパケット送信ポート情報の示す前記バブルパケット送信ポートに対して返信パケットを送信する返信パケット送信部と、を備えたものである。   The first information processing apparatus according to the present invention includes a first communication control apparatus that controls communication of the first information processing apparatus, and a second communication control apparatus that controls communication of the second information processing apparatus. The first information processing apparatus communicates with the second information processing apparatus via the first information processing apparatus, wherein the first communication control apparatus transfers the second communication control apparatus from the second information processing apparatus. Via which a bubble packet for leaving a transmission history is transmitted to the second communication control device, and a reference that is a port in the first communication control device serving as a reference for transmission of the bubble packet A reference port detection packet transmitter for transmitting a reference port detection packet for detecting the position of the port, and the second communication control used in transmitting the bubble packet from the second information processing apparatus Equipment A bubble packet transmission port receiving unit for receiving bubble packet transmission port information indicating the position of the bubble packet transmission port, and a reply packet transmission for transmitting a reply packet to the bubble packet transmission port indicated by the bubble packet transmission port information Part.

このような構成により、バブルパケットの送信によって送信履歴の残されているバブルパケット送信ポートに対して返信パケットを送信することができ、第1の情報処理装置と第2の情報処理装置との間の通信を確立することができ得る。   With such a configuration, a reply packet can be transmitted to the bubble packet transmission port whose transmission history remains due to the transmission of the bubble packet, and between the first information processing apparatus and the second information processing apparatus. Communication can be established.

また、本発明によるサーバは、第1の情報処理装置、および第2の情報処理装置が、前記第1の情報処理装置の通信を制御する第1の通信制御装置、および前記第2の情報処理装置の通信を制御する第2の通信制御装置を介して行う通信を確立させるサーバであって、前記第1の通信制御装置に送信履歴を残すために前記第1の情報処理装置が送信するバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を検出するために、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて前記基準ポートの位置を検出する基準ポート検出部と、前記基準ポート検出部が検出した前記基準ポートの位置を示す基準ポート情報を前記第1の情報処理装置に送信する基準ポート送信部と、前記第1の情報処理装置から前記第2の通信制御装置への前記バブルパケットの送信で用いられる前記第1の通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記第1の情報処理装置から送信されたポート検出用パケットを受け付け、前記ポート検出用パケットに基づいて前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部と、前記バブルパケット送信ポート検出部が検出した前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を前記第2の情報処理装置に送信するバブルパケット送信ポート送信部と、を備えたものである。   The server according to the present invention includes a first information processing apparatus, a second information processing apparatus that controls communication of the first information processing apparatus, and the second information processing apparatus. A bubble that is transmitted by the first information processing apparatus to leave a transmission history in the first communication control apparatus, which is a server that establishes communication performed via a second communication control apparatus that controls communication of the apparatus. In order to detect the position of a reference port that is a port in the second communication control device serving as a reference of a packet transmission target, it is transmitted from the second information processing device via the second communication control device. A reference port detection unit that receives the reference port detection packet and detects the position of the reference port based on the reference port detection packet; and the reference port detection unit detects the reference port detection unit A reference port transmitting unit that transmits reference port information indicating a location to the first information processing device, and the first port used for transmitting the bubble packet from the first information processing device to the second communication control device. In order to detect the position of a bubble packet transmission port which is a port in one communication control device, a port detection packet transmitted from the first information processing device is received, and the bubble packet is based on the port detection packet. A bubble packet transmission port detection unit for detecting a position of the transmission port, and bubble packet transmission port information indicating the position of the bubble packet transmission port detected by the bubble packet transmission port detection unit are transmitted to the second information processing apparatus. A bubble packet transmission port transmission unit.

このような構成により、第2の通信制御装置における基準ポートの位置を検出して、第1の情報処理装置に知らせることができ、またバブルパケット送信ポートの位置を検出して、第2の情報処理装置に知らせることができる。   With such a configuration, the position of the reference port in the second communication control device can be detected and notified to the first information processing device, and the position of the bubble packet transmission port can be detected and the second information The processing device can be notified.

また、本発明によるサーバは、第1の情報処理装置、および第2の情報処理装置が、前記第1の情報処理装置の通信を制御する第1の通信制御装置、および前記第2の情報処理装置の通信を制御する第2の通信制御装置を介して行う通信を確立させるサーバであって、前記第1の通信制御装置に送信履歴を残すために前記第1の情報処理装置が送信するバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を検出するために、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて前記基準ポートの位置を検出する基準ポート検出部と、前記基準ポート検出部が検出した前記基準ポートの位置を示す基準ポート情報を前記第1の情報処理装置に送信する基準ポート送信部と、前記第1の情報処理装置から前記第2の通信制御装置への前記バブルパケットの送信で用いられる前記第1の通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記第1の情報処理装置から送信されたポート検出用パケットを受け付け、当該ポート検出用パケットに基づいて前記ポート検出用パケットが通過した前記第1の通信制御装置のポートの位置を検出する検出用ポート検出部と、前記検出用ポート検出部が検出したポートの位置を示す検出用ポート情報を前記第1の情報処理装置に送信する検出用ポート情報送信部と、を備えたものである。   The server according to the present invention includes a first information processing apparatus, a second information processing apparatus that controls communication of the first information processing apparatus, and the second information processing apparatus. A bubble that is transmitted by the first information processing apparatus to leave a transmission history in the first communication control apparatus, which is a server that establishes communication performed via a second communication control apparatus that controls communication of the apparatus. In order to detect the position of a reference port that is a port in the second communication control device serving as a reference of a packet transmission target, it is transmitted from the second information processing device via the second communication control device. A reference port detection unit that receives the reference port detection packet and detects the position of the reference port based on the reference port detection packet; and the reference port detection unit detects the reference port detection unit A reference port transmitting unit that transmits reference port information indicating a location to the first information processing device, and the first port used for transmitting the bubble packet from the first information processing device to the second communication control device. In order to detect the position of a bubble packet transmission port that is a port in one communication control device, a port detection packet transmitted from the first information processing device is received, and the port detection is performed based on the port detection packet. A detection port detector for detecting a position of the port of the first communication control device through which the packet for detection has passed, and detection port information indicating the position of the port detected by the detection port detector. And a detection port information transmission unit for transmission to the processing device.

このような構成により、第2の通信制御装置における基準ポートの位置を検出して、第1の情報処理装置に知らせることができ、またポート検出用パケットの通過した第1の通信制御装置の位置を検出して、第1の情報処理装置に知らせることができる。   With this configuration, the position of the reference port in the second communication control device can be detected and notified to the first information processing device, and the position of the first communication control device through which the port detection packet has passed can be detected. Can be detected and notified to the first information processing apparatus.

また、本発明による通信システムは、情報処理装置と、前記情報処理装置の通信を制御する通信制御装置と、サーバとを備えた通信システムであって、前記情報処理装置が、前記通信制御装置を介して、前記通信制御装置に送信履歴を残すためのバブルパケットを送信するバブルパケット送信部と、前記バブルパケットの送信で用いられる、前記通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために用いられるポート検出用パケットを、前記バブルパケット送信部が前記バブルパケットを送信する前後に、
前記サーバに送信する検出用パケット送信部と、を備えた、ものである。
A communication system according to the present invention is a communication system including an information processing device, a communication control device that controls communication of the information processing device, and a server, and the information processing device includes the communication control device. A bubble packet transmission unit that transmits a bubble packet for leaving a transmission history in the communication control device, and a position of a bubble packet transmission port that is a port of the communication control device used in the transmission of the bubble packet Before and after the bubble packet transmitter transmits the bubble packet, the port detection packet used for
And a detection packet transmitter for transmitting to the server.

このような構成により、情報処理装置から送信されたポート検出用パケットによって、バブルパケット送信ポートの位置を検出することができる。この検出は、サーバで行ってもよく、情報処理装置で行ってもよく、あるいは、他の装置で行ってもよい。その検出されたバブルパケット送信ポートの位置を用いて、そのバブルパケット送信ポートに他の装置からパケットを送信することによって、そのパケットが情報処理装置で受け付けられうることになる。   With such a configuration, the position of the bubble packet transmission port can be detected by the port detection packet transmitted from the information processing apparatus. This detection may be performed by the server, the information processing apparatus, or another apparatus. By using the detected position of the bubble packet transmission port to transmit a packet from another device to the bubble packet transmission port, the packet can be accepted by the information processing device.

このように、本発明による通信システム等は、通信制御装置を介した複数の情報処理装置間での通信を確立することができ、情報処理装置間での通信を行うものとして有用である。   As described above, the communication system or the like according to the present invention can establish communication between a plurality of information processing apparatuses via the communication control apparatus, and is useful as a communication between information processing apparatuses.

(実施の形態1)
本発明の実施の形態1による通信システムについて、図面を参照しながら説明する。
(Embodiment 1)
A communication system according to Embodiment 1 of the present invention will be described with reference to the drawings.

図1は、本実施の形態による通信システムの構成を示すブロック図である。図1において、本実施の形態による通信システムは、第1の情報処理装置1と、第2の情報処理装置2と、第1の通信制御装置3と、第2の通信制御装置4と、サーバ6とを備える。第1の通信制御装置3、第2の通信制御装置4、およびサーバ6は、有線または無線の通信回線5を介して接続されている。この通信回線5は、例えば、インターネットである。   FIG. 1 is a block diagram showing a configuration of a communication system according to the present embodiment. In FIG. 1, the communication system according to the present embodiment includes a first information processing apparatus 1, a second information processing apparatus 2, a first communication control apparatus 3, a second communication control apparatus 4, and a server. 6. The first communication control device 3, the second communication control device 4, and the server 6 are connected via a wired or wireless communication line 5. This communication line 5 is, for example, the Internet.

なお、図1では、第1の通信制御装置3、および第2の通信制御装置4にそれぞれ、第1の情報処理装置1、および第2の情報処理装置2のみが接続されている場合について示しているが、これ以外の装置が、第1の通信制御装置3、および第2の通信制御装置4に接続されていてもよい。   FIG. 1 shows a case where only the first information processing device 1 and the second information processing device 2 are connected to the first communication control device 3 and the second communication control device 4, respectively. However, other devices may be connected to the first communication control device 3 and the second communication control device 4.

また、本実施の形態では、第1の情報処理装置1が送信側の情報処理装置として動作し、第2の情報処理装置2が受信側の情報処理装置として動作する場合について説明する。ここで、送信側の情報処理装置とは、第1の情報処理装置1と第2の情報処理装置2との間の通信を確立する際における、通信(コネクション)の要求を出す側(言い換えれば、バブルパケットを送信する側)のことである。一方、受信側の情報処理装置とは、その反対側の情報処理装置、すなわち通信の要求を受け取る側(言い換えれば、バブルパケットに対する返信パケット送信する側)の情報処理装置のことである。なお、バブルパケットや返信パケットについては後述する。   In the present embodiment, a case will be described in which the first information processing apparatus 1 operates as an information processing apparatus on the transmission side and the second information processing apparatus 2 operates as an information processing apparatus on the reception side. Here, the information processing apparatus on the transmission side is a side that issues a request for communication (connection) when establishing communication between the first information processing apparatus 1 and the second information processing apparatus 2 (in other words, , The side that sends bubble packets). On the other hand, the information processing apparatus on the receiving side is the information processing apparatus on the opposite side, that is, the information processing apparatus on the side that receives a communication request (in other words, the side that transmits a reply packet to the bubble packet). The bubble packet and reply packet will be described later.

図2は、第1の情報処理装置1の構成を示すブロック図である。図2において、第1の情報処理装置1は、通信部11と、基準ポート受付部12と、バブルパケット送信部13と、検出用パケット送信部14と、ポート幅検出用パケット送信部15と、再送信指示受付部16と、返信パケット受付部17と、再返信パケット送信部18と、ポート幅受付部19とを備える。   FIG. 2 is a block diagram illustrating a configuration of the first information processing apparatus 1. In FIG. 2, the first information processing apparatus 1 includes a communication unit 11, a reference port reception unit 12, a bubble packet transmission unit 13, a detection packet transmission unit 14, a port width detection packet transmission unit 15, The retransmission instruction receiving unit 16, the reply packet receiving unit 17, the retransmission packet transmitting unit 18, and the port width receiving unit 19 are provided.

通信部11は、バブルパケット送信部13等の第1の情報処理装置1の内部の各構成要素と、第1の通信制御装置3との間における通信を行う。   The communication unit 11 performs communication between each internal component of the first information processing apparatus 1 such as the bubble packet transmission unit 13 and the first communication control apparatus 3.

基準ポート受付部12は、基準ポートの位置を示す基準ポート情報を受け付ける。ここで、基準ポートとは、第2の通信制御装置4における所定のポートであり、バブルパケットの送信の対象となるポート(バブルパケット送信対象ポート)の基準となるポートであ
る。この基準ポート情報の受け付けとは、例えば、基準ポート情報を受信することである。なお、バブルパケットについては後述する。
The reference port receiving unit 12 receives reference port information indicating the position of the reference port. Here, the reference port is a predetermined port in the second communication control device 4 and is a port that becomes a reference of a port that is a target of bubble packet transmission (a bubble packet transmission target port). The reception of the reference port information is, for example, receiving reference port information. The bubble packet will be described later.

バブルパケット送信部13は、通信部11および第1の通信制御装置3を介して、バブルパケットを第2の通信制御装置4に送信する。このバブルパケットは、基準ポート受付部12が受け付けた基準ポート情報に基づいて送信される。具体的には、第2の通信制御装置4において、基準ポートから所定のポート割り当て後に割り当てられるポートであるバブルパケット送信対象ポートに対してバブルパケットが送信される。このバブルパケット送信対象ポートは、例えば、基準ポートとのポート間隔が、第2の通信制御装置4におけるポート幅のM倍(Mは1以上の整数)であるポートである。ここで、例えば、ポート番号の増加するようにポート割り当てがなされる場合には、バブルパケット送信対象ポートは基準ポートよりもポート番号の大きい方となる。その第2の通信制御装置4におけるポート幅は、後述するポート幅受付部19で受け付けられたポート幅情報によって示される。また、バブルパケットとは、第1の情報処理装置1と第2の情報処理装置2との間における通信を確立するために、第1の通信制御装置3に送信履歴を残すためのパケットである。ここで、通信を確立するとは、第1の情報処理装置1と、第2の情報処理装置2との間において、サーバ6を介さないPeer to Peerの通信を開始することをいう。また、送信履歴を残すとは、第1の通信制御装置3において、後述する返信パケットを受け付けるためのポートを割り当てる(ポートを開く)ことをいう。このバブルパケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。このバブルパケットは、例えば、UDP(User Datagram Protocol)のようなコネクションレス型のプロトコルによって送信される。   The bubble packet transmitter 13 transmits a bubble packet to the second communication controller 4 via the communication unit 11 and the first communication controller 3. This bubble packet is transmitted based on the reference port information received by the reference port receiving unit 12. Specifically, in the second communication control device 4, a bubble packet is transmitted from a reference port to a bubble packet transmission target port that is a port assigned after a predetermined port assignment. The bubble packet transmission target port is, for example, a port whose port interval with the reference port is M times the port width in the second communication control device 4 (M is an integer of 1 or more). Here, for example, when port assignment is performed so that the port number increases, the bubble packet transmission target port has a larger port number than the reference port. The port width in the second communication control device 4 is indicated by the port width information received by the port width receiving unit 19 described later. The bubble packet is a packet for leaving a transmission history in the first communication control device 3 in order to establish communication between the first information processing device 1 and the second information processing device 2. . Here, establishment of communication means starting peer-to-peer communication not via the server 6 between the first information processing apparatus 1 and the second information processing apparatus 2. Also, leaving the transmission history means that the first communication control device 3 assigns a port for receiving a reply packet described later (opens the port). This bubble packet may contain some information or no information. This bubble packet is transmitted by a connectionless protocol such as UDP (User Datagram Protocol).

検出用パケット送信部14は、ポート検出用パケットをサーバ6に送信する。このポート検出用パケットは、バブルパケット送信ポートの位置を検出するために用いられるものである。ここで、バブルパケット送信ポートとは、バブルパケットの送信で用いられる、第1の通信制御装置3のポートのことである。このポート検出用パケットは、バブルパケットが送信される前に、および/またはバブルパケットが送信された後に、送信される。なお、本実施の形態では、バブルパケットの送信の前後においてポート検出用パケットが送信される場合について説明する。このポート検出用パケットは、例えば、UDPや、TCP(Transmission Control Protocol)によって送信される。このポート幅検出用パケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。   The detection packet transmitter 14 transmits the port detection packet to the server 6. This port detection packet is used to detect the position of the bubble packet transmission port. Here, the bubble packet transmission port is a port of the first communication control device 3 used for transmitting bubble packets. The port detection packet is transmitted before the bubble packet is transmitted and / or after the bubble packet is transmitted. In the present embodiment, a case where a port detection packet is transmitted before and after transmission of a bubble packet will be described. This port detection packet is transmitted by, for example, UDP or TCP (Transmission Control Protocol). This port width detection packet may contain some information or no information.

ポート幅検出用パケット送信部15は、第1の通信制御装置3におけるポート幅を検出するために用いられるポート幅検出用パケットを、第1の通信制御装置3を介してサーバ6に送信する。ここで、ポート幅とは、連続して使用される(割り当てられる)ポートの幅(間隔)のことである。例えば、ポート幅が「1」の場合には、ポート番号「20000」のポートの次に使用されるポートは、ポート番号「20001」のポートである。一方、ポート幅が「2」の場合には、ポート番号「20000」のポートの次に使用されるポートは、ポート番号「20002」のポートとなる。このポート幅検出用パケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。   The port width detection packet transmitter 15 transmits a port width detection packet used to detect the port width in the first communication control device 3 to the server 6 via the first communication control device 3. Here, the port width is the width (interval) of the ports that are used (assigned) continuously. For example, when the port width is “1”, the port used next to the port with the port number “20000” is the port with the port number “20001”. On the other hand, when the port width is “2”, the port used next to the port with the port number “20000” is the port with the port number “20002”. This port width detection packet may contain some information or no information.

再送信指示受付部16は、再送信指示を受け付ける。ここで、再送信指示とは、バブルパケット、およびポート検出用パケットを再送信する旨の指示である。この再送信指示は、例えば、受信によって受け付けられる。再送信指示受付部16が再送信指示を受け付けた場合には、検出用パケット送信部14、およびバブルパケット送信部13は、それぞれ、ポート検出用パケットと、バブルパケットとを再度送信する。   The retransmission instruction receiving unit 16 receives a retransmission instruction. Here, the retransmission instruction is an instruction to retransmit the bubble packet and the port detection packet. This retransmission instruction is accepted by reception, for example. When the retransmission instruction accepting unit 16 accepts the retransmission instruction, the detection packet transmitting unit 14 and the bubble packet transmitting unit 13 retransmit the port detection packet and the bubble packet, respectively.

返信パケット受付部17は、第2の情報処理装置2から第2の通信制御装置4を介して
送信された返信パケットを受け付ける。この返信パケットは、バブルパケット送信ポートに対して送信されたものである。この返信パケットは、例えば、受信によって受け付けられる。この返信パケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。
The reply packet accepting unit 17 accepts a reply packet transmitted from the second information processing apparatus 2 via the second communication control apparatus 4. This reply packet is transmitted to the bubble packet transmission port. This reply packet is accepted by reception, for example. This reply packet may contain some information or no information.

再返信パケット送信部18は、返信パケット受付部17が返信パケットを受け付けた場合に、再返信パケットを送信する。この再返信パケットは、返信パケットの送信で用いられた第2の通信制御装置4のポートに対して送信される。この再返信パケットは、例えば、UDPによって送信される。この再返信パケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。   The reply packet transmitting unit 18 transmits the reply packet when the reply packet receiving unit 17 receives the reply packet. The re-reply packet is transmitted to the port of the second communication control device 4 used for transmitting the reply packet. This re-reply packet is transmitted by UDP, for example. This re-reply packet may contain some information or no information.

ポート幅受付部19は、サーバ6から送信されたポート幅情報を受け付ける。ここで、ポート幅情報とは、第2の通信制御装置4におけるポート幅を示す情報である。   The port width receiving unit 19 receives the port width information transmitted from the server 6. Here, the port width information is information indicating the port width in the second communication control device 4.

図3は、第2の情報処理装置2の構成を示すブロック図である。図3において、第2の情報処理装置2は、通信部21と、基準ポート検出用パケット送信部22と、バブルパケット送信ポート受付部23と、返信パケット送信部24と、再返信パケット受付部25と、ポート幅検出用パケット送信部26とを備える。   FIG. 3 is a block diagram showing a configuration of the second information processing apparatus 2. In FIG. 3, the second information processing apparatus 2 includes a communication unit 21, a reference port detection packet transmission unit 22, a bubble packet transmission port reception unit 23, a reply packet transmission unit 24, and a re-reply packet reception unit 25. And a port width detection packet transmitter 26.

通信部21は、通信部11と同様に、基準ポート検出用パケット送信部22等の第2の情報処理装置2の内部の各構成要素と、第2の通信制御装置4との間における通信を行う。   Similar to the communication unit 11, the communication unit 21 performs communication between each component inside the second information processing device 2 such as the reference port detection packet transmission unit 22 and the second communication control device 4. Do.

基準ポート検出用パケット送信部22は、基準ポートの位置を検出するための基準ポート検出用パケットをサーバ6に送信する。この基準ポートは、第2の通信制御装置4で割り当てられるポートのうち、基準ポート検出用パケットが送信された時点における最新のポート(最も新しく割り当てられたポート)である。すなわち、この基準ポート検出用パケットを送信することにより、サーバ6は、第2の通信制御装置4で割り当てられた最新のポートの位置を検出することができる。この基準ポート検出用パケットは、例えば、UDPや、TCPによって送信される。この基準ポート検出用パケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。   The reference port detection packet transmitter 22 transmits a reference port detection packet for detecting the position of the reference port to the server 6. This reference port is the latest port (the most recently assigned port) at the time when the reference port detection packet is transmitted among the ports assigned by the second communication control device 4. In other words, the server 6 can detect the position of the latest port assigned by the second communication control device 4 by transmitting the reference port detection packet. This reference port detection packet is transmitted by, for example, UDP or TCP. This reference port detection packet may contain some information or no information.

バブルパケット送信ポート受付部23は、バブルパケット送信ポート情報を受け付ける。ここで、バブルパケット送信ポート情報とは、バブルパケット送信ポートの位置を示す情報であり、例えば、バブルパケット送信ポートのポート番号によって、バブルパケット送信ポートの位置が示される。バブルパケット送信ポート情報は、例えば、受信によって受け付けられる。   Bubble packet transmission port receiving unit 23 receives bubble packet transmission port information. Here, the bubble packet transmission port information is information indicating the position of the bubble packet transmission port. For example, the position of the bubble packet transmission port is indicated by the port number of the bubble packet transmission port. Bubble packet transmission port information is received by reception, for example.

返信パケット送信部24は、第1の通信制御装置3におけるバブルパケット送信ポートに対して返信パケットを送信する。そのバブルパケット送信ポートの位置は、バブルパケット送信ポート受付部23が受け付けたバブルパケット送信ポート情報によって示されるものである。この返信パケットは、第2の通信制御装置4の異なるN個(Nは2以上の整数)のポートを用いて送信される。そのN個のポートは、返信パケットの送信時に、第2の通信制御装置4において新たに割り当てられるポートである。ここで、そのNの値は、第2の通信制御装置4における、基準ポートからバブルパケットが送信されたポート(バブルパケット送信対象ポート)までにおいて割り当て可能なポートの数(αとする)である。すなわち、返信パケットの送信時に、バブルパケット送信対象ポートがすでに他の機器によって用いられている場合以外には、α個の返信パケットを送信することによって、バブルパケット送信対象ポートを用いた返信パケットの送信が可能となる。この返信パケットは、例えば、UDPによって送信される。この返信パケットには、何らかの情報が含
まれていてもよく、何も情報が含まれていなくてもよい。
The reply packet transmitter 24 transmits a reply packet to the bubble packet transmission port in the first communication control device 3. The position of the bubble packet transmission port is indicated by the bubble packet transmission port information received by the bubble packet transmission port receiving unit 23. This reply packet is transmitted using different N ports (N is an integer of 2 or more) of the second communication control device 4. The N ports are ports newly assigned in the second communication control device 4 when a reply packet is transmitted. Here, the value of N is the number (assumed to be α) of ports that can be allocated from the reference port to the port (bubble packet transmission target port) from which the bubble packet is transmitted in the second communication control device 4. . In other words, when the reply packet is transmitted, unless the bubble packet transmission target port is already used by another device, the reply packet using the bubble packet transmission target port is transmitted by transmitting α reply packets. Transmission is possible. This reply packet is transmitted by, for example, UDP. This reply packet may contain some information or no information.

再返信パケット受付部25は、第1の情報処理装置1から送信された再返信パケットを受け付ける。この再返信パケットは、返信パケットの送信で用いられた第2の通信制御装置4のポートに対して送信され、第2の情報処理装置2で受信されたたものである。第1の通信制御装置3および第2の通信制御装置4で用いているNATの種類によっては、第1の情報処理装置1が返信パケットを受け付けた時点で第1の情報処理装置1と第2の情報処理装置2との間の通信が確立することもあり得るが、第2の情報処理装置2が再返信パケットを受け付けることによってはじめて、第1の情報処理装置1と第2の情報処理装置2との間の通信が確立することもある。   The reply packet accepting unit 25 accepts the reply packet transmitted from the first information processing apparatus 1. This re-reply packet is transmitted to the port of the second communication control device 4 used for transmission of the reply packet and received by the second information processing device 2. Depending on the type of NAT used in the first communication control device 3 and the second communication control device 4, the first information processing device 1 and the second information processing device 1 when the first information processing device 1 receives the reply packet. The first information processing apparatus 1 and the second information processing apparatus can be established only when the second information processing apparatus 2 accepts the re-reply packet. Communication between the two may be established.

ポート幅検出用パケット送信部26は、第2の通信制御装置4におけるポート幅を検出するためのポート幅検出用パケットを、第2の通信制御装置4を介してサーバ6に送信する。このポート幅検出用パケットには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。   The port width detection packet transmitter 26 transmits a port width detection packet for detecting the port width in the second communication control device 4 to the server 6 via the second communication control device 4. This port width detection packet may contain some information or no information.

第1の通信制御装置3は、第1の情報処理装置1の通信を制御するものであり、いわゆるナット(NAT)を用いて、ローカル側(第1の情報処理装置1側)と、グローバル側(通信回線5側)との通信を制御する。このNATには、F NAT,R NAT,PR
NAT,Sa NAT,AS NAT,Sc NAT,Sd NAT,Se NAT,PS NATがある。
The first communication control device 3 controls communication of the first information processing device 1, and uses a so-called nut (NAT), the local side (first information processing device 1 side), and the global side. Controls communication with (communication line 5 side). This NAT includes F NAT, R NAT, PR
There are NAT, Sa NAT, AS NAT, Sc NAT, Sd NAT, Se NAT, and PS NAT.

また、第2の通信制御装置4は、第2の情報処理装置2の通信を制御するものであり、第1の通信制御装置3と同様に、NATを用いている。後述するように、本実施の形態による通信システムでは、第1の通信制御装置3と、第2の通信制御装置4で用いているNATのすべての組み合わせにおいて、第1の情報処理装置1と第2の情報処理装置2との間の通信を確立することができ得る。なお、第1の通信制御装置3、および第2の通信制御装置4では、ポートの割り当ては、所定のポート幅ごとに、ポート番号が増大するよう、あるいは減少するように行われるものとする。以下の説明では、ポート番号が増大するように割り当てられる場合について説明する。   Further, the second communication control device 4 controls communication of the second information processing device 2, and uses the NAT similarly to the first communication control device 3. As will be described later, in the communication system according to the present embodiment, the first information processing apparatus 1 and the first information processing apparatus 1 are connected to the first communication control apparatus 3 and the second communication control apparatus 4 in all combinations of NATs. Communication between the two information processing apparatuses 2 can be established. In the first communication control device 3 and the second communication control device 4, the port assignment is performed so that the port number increases or decreases for each predetermined port width. In the following description, a case where the port number is assigned so as to increase will be described.

図4は、サーバ6の構成を示すブロック図である。図4において、サーバ6は、通信部61と、基準ポート検出部62と、基準ポート送信部63と、ポート幅検出部64と、バブルパケット送信ポート検出部65と、再送信指示送信部66と、バブルパケット送信ポート送信部67と、ポート幅送信部68とを備える。   FIG. 4 is a block diagram showing the configuration of the server 6. 4, the server 6 includes a communication unit 61, a reference port detection unit 62, a reference port transmission unit 63, a port width detection unit 64, a bubble packet transmission port detection unit 65, and a retransmission instruction transmission unit 66. , Bubble packet transmission port transmission unit 67 and port width transmission unit 68.

通信部61は、基準ポート検出部62等のサーバ6の各部と、第1の情報処理装置1や第2の情報処理装置2などとの通信を行う。   The communication unit 61 communicates with each unit of the server 6 such as the reference port detection unit 62 and the first information processing apparatus 1 and the second information processing apparatus 2.

基準ポート検出部62は、基準ポート検出用パケットを受け付け、その基準ポート検出用パケットに基づいて基準ポートの位置を検出する。基準ポート検出用パケットの受け付けは、例えば、受信によってなされる。その基準ポート検出用パケットは、第2の情報処理装置2から第2の通信制御装置4を介して送信されたものである。   The reference port detector 62 receives the reference port detection packet and detects the position of the reference port based on the reference port detection packet. The reception of the reference port detection packet is performed by reception, for example. The reference port detection packet is transmitted from the second information processing device 2 via the second communication control device 4.

基準ポート送信部63は、基準ポート情報を第1の情報処理装置1に送信する。この基準ポート情報は、例えば、基準ポートのポート番号によって、基準ポートの位置を示す。   The reference port transmission unit 63 transmits reference port information to the first information processing apparatus 1. This reference port information indicates the position of the reference port by, for example, the port number of the reference port.

ポート幅検出部64は、第1の通信制御装置3におけるポート幅を検出する。この検出は、第1の情報処理装置1から送信されるポート幅検出用パケットを受け付けることによってなされる。また、ポート幅検出部64は、第2の通信制御装置4におけるポート幅を
検出する。この検出は、第2の情報処理装置2から送信されるポート幅検出用パケットを受け付けることによってなされる。なお、第1の通信制御装置3におけるポート幅を検出する第1のポート検出部と、第2の通信制御装置4におけるポート幅を検出する第2のポート検出部とを備えてもよい。それらを1つで実現したのが、ポート幅検出部64である。すなわち、ポート幅検出部64のうち、第1の通信制御装置3におけるポート幅を検出する部分が、第1のポート検出部となり、第2の通信制御装置4におけるポート幅を検出する部分が、第2のポート検出部となる。
The port width detection unit 64 detects the port width in the first communication control device 3. This detection is performed by receiving a port width detection packet transmitted from the first information processing apparatus 1. The port width detection unit 64 detects the port width in the second communication control device 4. This detection is performed by receiving a port width detection packet transmitted from the second information processing apparatus 2. In addition, you may provide the 1st port detection part which detects the port width in the 1st communication control apparatus 3, and the 2nd port detection part which detects the port width in the 2nd communication control apparatus 4. The port width detection unit 64 realizes them by one. That is, in the port width detection unit 64, the part that detects the port width in the first communication control device 3 becomes the first port detection unit, and the part that detects the port width in the second communication control device 4 It becomes a second port detection unit.

バブルパケット送信ポート検出部65は、第1の通信制御装置3におけるバブルパケット送信ポートの位置を検出する。この検出は、第1の情報処理装置1から第1の通信制御装置3を介して送信されたポート検出用パケットを受け付けることによってなされる。このポート検出用パケットの受け付けは、例えば、受信によってなされる。具体的には、バブルパケット送信ポート検出部65は、バブルパケットの送信の前後に送信されたポート検出用パケットを受け付ける。そして、そのポート検出用パケットの送信で用いられた第1の通信制御装置3における2つのポートと、バブルパケット送信ポートとが連続しているかどうか判断する。その判断の結果、それらのポートが連続している場合には、ポート検出用パケットの送信で用いられた第1の通信制御装置3における2つのポートで挟まれるポートの位置をバブルパケット送信ポートの位置として検出する。ここで、連続するとは、第1の通信制御装置3のポート幅の間隔で、その2つのポートとバブルパケット送信ポートが並んでいることをいう。なお、ポート検出用パケットの送信で用いられた第1の通信制御装置3の2つのポートの間隔が、ポート幅検出部64によって検出された第1の通信制御装置3のポート幅の2倍である場合に、連続していると判断することができる。一方、ポート検出用パケットの送信で用いられた第1の通信制御装置3における2つのポートと、バブルパケット送信ポートとが連続していない場合には、バブルパケット送信ポートを検出できないこととなる。   Bubble packet transmission port detector 65 detects the position of the bubble packet transmission port in first communication control device 3. This detection is performed by receiving a port detection packet transmitted from the first information processing apparatus 1 via the first communication control apparatus 3. The reception of the port detection packet is performed by reception, for example. Specifically, bubble packet transmission port detection unit 65 accepts port detection packets transmitted before and after transmission of bubble packets. Then, it is determined whether the two ports in the first communication control device 3 used for transmitting the port detection packet and the bubble packet transmission port are continuous. As a result of the determination, if these ports are continuous, the position of the port sandwiched between the two ports in the first communication control device 3 used for transmission of the port detection packet is set to the bubble packet transmission port. Detect as position. Here, “continuous” means that the two ports and the bubble packet transmission port are arranged at an interval of the port width of the first communication control device 3. Note that the interval between the two ports of the first communication control device 3 used for transmission of the port detection packet is twice the port width of the first communication control device 3 detected by the port width detection unit 64. In some cases, it can be determined that they are continuous. On the other hand, when the two ports in the first communication control device 3 used for transmitting the port detection packet and the bubble packet transmission port are not continuous, the bubble packet transmission port cannot be detected.

再送信指示送信部66は、バブルパケット送信ポート検出部65がバブルパケット送信ポートの位置を検出できない場合に、再送信指示を第1の情報処理装置1に送信する。ここで、再送信指示とは、バブルパケット、およびポート検出用パケットを再度送信する旨の指示である。バブルパケット送信ポート検出部65は、その再送信指示の送信に応じて再度送信されたポート検出用パケットを用いて、バブルパケット送信ポートの位置を検出する。なお、この再送信指示の送信は、バブルパケット送信ポート検出部65がバブルパケット送信ポートの位置を検出できるまで、あるいは、所定の上限の回数(例えば、10回など)や、所定の時間(例えば、30秒など)等の所定の制限まで繰り返される。   The retransmission instruction transmission unit 66 transmits a retransmission instruction to the first information processing apparatus 1 when the bubble packet transmission port detection unit 65 cannot detect the position of the bubble packet transmission port. Here, the retransmission instruction is an instruction to retransmit the bubble packet and the port detection packet. Bubble packet transmission port detection unit 65 detects the position of the bubble packet transmission port using the port detection packet transmitted again in response to the transmission of the retransmission instruction. The retransmission instruction is transmitted until the bubble packet transmission port detecting unit 65 can detect the position of the bubble packet transmission port, or a predetermined upper limit number of times (for example, 10 times) or a predetermined time (for example, , 30 seconds, etc.).

バブルパケット送信ポート送信部67は、バブルパケット送信ポート情報を第2の情報処理装置2に送信する。このバブルパケット送信ポート情報で示されるバブルパケット送信ポートの位置は、バブルパケット送信ポート検出部65によって検出されたものである。   Bubble packet transmission port transmitter 67 transmits bubble packet transmission port information to second information processing apparatus 2. The position of the bubble packet transmission port indicated by the bubble packet transmission port information is that detected by the bubble packet transmission port detector 65.

ポート幅送信部68は、ポート幅情報を第1の情報処理装置1に送信する。ここで、ポート幅情報とは、ポート幅検出部64で検出された第2の通信制御装置4におけるポート幅を示す情報である。   The port width transmission unit 68 transmits port width information to the first information processing apparatus 1. Here, the port width information is information indicating the port width in the second communication control device 4 detected by the port width detection unit 64.

次に、本実施の形態による通信システムの動作について説明する。特に、図5のフローチャートを用いて、第1の情報処理装置1と第2の情報処理装置2とが通信を開始するまでの通信方法について説明する。   Next, the operation of the communication system according to the present embodiment will be described. In particular, a communication method until the first information processing apparatus 1 and the second information processing apparatus 2 start communication will be described using the flowchart of FIG.

(ステップS101)第2の情報処理装置2から基準ポート検出用パケットがサーバ6に送信され、その基準ポート検出用パケットに基づいて、基準ポートの位置が検出される
。そして、その基準ポートの位置を示す基準ポート情報が、サーバ6から第1の情報処理装置1に送信される。なお、ステップS101の詳細な処理については、後述する。
(Step S101) The reference port detection packet is transmitted from the second information processing device 2 to the server 6, and the position of the reference port is detected based on the reference port detection packet. Then, reference port information indicating the position of the reference port is transmitted from the server 6 to the first information processing apparatus 1. Detailed processing in step S101 will be described later.

(ステップS102)第1の情報処理装置1は、基準ポート情報に基づいて、バブルパケットを第2の通信制御装置4に送信する。また、バブルパケット送信ポートの位置の検出に用いられるポート検出用パケットをサーバ6に送信する。なお、ステップS102の詳細な処理については、後述する。   (Step S102) The first information processing apparatus 1 transmits a bubble packet to the second communication control apparatus 4 based on the reference port information. In addition, a port detection packet used for detecting the position of the bubble packet transmission port is transmitted to the server 6. Detailed processing in step S102 will be described later.

(ステップS103)サーバ6のバブルパケット送信ポート検出部65は、ステップS102で受け付けたポート検出用パケットに基づいて、バブルパケット送信ポートの位置を検出できるかどうか判断する。そして、検出できる場合には、ステップS104に進み、検出できない場合には、再送信指示送信部66が再送信指示を第1の情報処理装置1に送信してステップS102に戻る。その再送信指示は、第1の情報処理装置1の再送信指示受付部16によって受け付けられる。   (Step S103) The bubble packet transmission port detector 65 of the server 6 determines whether the position of the bubble packet transmission port can be detected based on the port detection packet received in step S102. If it can be detected, the process proceeds to step S104. If it cannot be detected, the retransmission instruction transmitting unit 66 transmits a retransmission instruction to the first information processing apparatus 1, and the process returns to step S102. The retransmission instruction is received by the retransmission instruction receiving unit 16 of the first information processing apparatus 1.

(ステップS104)サーバ6は、バブルパケット送信ポートの位置を検出し、その位置を示すバブルパケット送信ポート情報を第2の情報処理装置2に送信する。第2の情報処理装置2は、そのバブルパケット送信ポート情報に基づいて、返信パケットを第1の通信制御装置3に送信する。なお、ステップS104の詳細な処理については、後述する。   (Step S104) The server 6 detects the position of the bubble packet transmission port, and transmits bubble packet transmission port information indicating the position to the second information processing apparatus 2. The second information processing device 2 transmits a reply packet to the first communication control device 3 based on the bubble packet transmission port information. Detailed processing in step S104 will be described later.

(ステップS105)第1の情報処理装置1の返信パケット受付部17は、返信パケットを受け付けたかどうか判断する。そして、返信パケットを受け付けた場合には、ステップS106に進み、受け付けていない場合には、ステップS101に戻り、ステップS101からの処理を再度繰り返す。   (Step S105) The reply packet accepting unit 17 of the first information processing apparatus 1 determines whether or not a reply packet has been accepted. If a reply packet is accepted, the process proceeds to step S106. If not, the process returns to step S101, and the processing from step S101 is repeated again.

(ステップS106)第1の情報処理装置1の再返信パケット送信部18は、再返信パケットを第2の通信制御装置4に送信する。   (Step S <b> 106) The reply packet transmission unit 18 of the first information processing apparatus 1 transmits the reply packet to the second communication control apparatus 4.

(ステップS107)第2の情報処理装置2の再返信パケット受付部25は、再返信パケットを受け付けたかどうか判断する。そして、再返信パケットを受け付けた場合には、その再返信パケットの送信で用いられた第1の通信制御装置3のいずれかのポートにパケットを送信することによって、第1の情報処理装置1と第2の情報処理装置2との間でのサーバ6を介さない通信を確立することができ、通信の確立の処理は終了される。一方、再返信パケットを受け付けなかった場合には、通信を確立できないこととなるため、ステップS101に戻り、ステップS101からの処理を再度繰り返す。   (Step S107) The re-response packet receiving unit 25 of the second information processing apparatus 2 determines whether a re-response packet has been received. When a re-reply packet is received, the packet is transmitted to any port of the first communication control device 3 used for transmitting the re-reply packet, thereby the first information processing apparatus 1 and Communication with the second information processing apparatus 2 not via the server 6 can be established, and the communication establishment process is terminated. On the other hand, if the re-reply packet is not accepted, communication cannot be established, so the process returns to step S101 and the processes from step S101 are repeated again.

次に、図5のフローチャートにおけるステップS101の処理について、図6を用いて説明する。図6は、送信側、サーバ、受信側の間における情報のやり取りや処理を説明するための図である。ここで、送信側とは、第1の情報処理装置1および第1の通信制御装置3を含む概念である。また、受信側とは、第2の情報理装置2および第2の通信制御装置4を含む概念である。   Next, the process of step S101 in the flowchart of FIG. 5 will be described with reference to FIG. FIG. 6 is a diagram for explaining exchange and processing of information among the transmission side, the server, and the reception side. Here, the transmission side is a concept including the first information processing apparatus 1 and the first communication control apparatus 3. The receiving side is a concept including the second information processing device 2 and the second communication control device 4.

(ステップS201)サーバ6は、第2の情報処理装置2に対して、基準ポート検出用パケットの送信要求を送信する。   (Step S <b> 201) The server 6 transmits a transmission request for a reference port detection packet to the second information processing apparatus 2.

(ステップS202)第2の情報処理装置2の基準ポート検出用パケット送信部22は、サーバ6から送信された基準ポート検出用パケットの送信要求を受け取ると、基準ポート検出用パケットをサーバ6に送信する。なお、基準ポート検出用パケット送信部22は、その基準ポート検出用パケットが、第2の通信制御装置4において最新に割り当てられたポートを用いて送信されるようにする。例えば、第2の情報処理装置2において新たに
割り当てられたポートを用いて基準ポート検出用パケットの送信を行う。
(Step S <b> 202) Upon receiving the reference port detection packet transmission request transmitted from the server 6, the reference port detection packet transmission unit 22 of the second information processing apparatus 2 transmits the reference port detection packet to the server 6. To do. Note that the reference port detection packet transmitter 22 transmits the reference port detection packet using the port most recently assigned in the second communication control device 4. For example, the reference port detection packet is transmitted using the newly assigned port in the second information processing apparatus 2.

(ステップS203)サーバ6の基準ポート検出部62は、第2の情報処理装置2から送信された基準ポート検出用パケットを受け付ける。そして、基準ポート検出部62は、基準ポート検出用パケットのヘッダに含まれる基準ポートのポート番号を参照することにより、基準ポートの位置を検出する。   (Step S203) The reference port detection unit 62 of the server 6 receives the reference port detection packet transmitted from the second information processing apparatus 2. Then, the reference port detection unit 62 detects the position of the reference port by referring to the port number of the reference port included in the header of the reference port detection packet.

(ステップS204)基準ポート送信部63は、基準ポート検出部62によって検出された基準ポートの位置を示す情報である基準ポート情報を第1の情報処理装置1に送信する。その基準ポート情報は、第1の情報処理装置1における基準ポート受付部12で受け付けられる。   (Step S <b> 204) The reference port transmission unit 63 transmits reference port information, which is information indicating the position of the reference port detected by the reference port detection unit 62, to the first information processing apparatus 1. The reference port information is received by the reference port receiving unit 12 in the first information processing apparatus 1.

(ステップS205)サーバ6は、第2の通信制御装置4のIPアドレスを示すアドレス情報を第1の情報処理装置1に送信する。そのアドレス情報は、通信部11で受信され、バブルパケット送信部13に渡される。   (Step S <b> 205) The server 6 transmits address information indicating the IP address of the second communication control device 4 to the first information processing device 1. The address information is received by the communication unit 11 and passed to the bubble packet transmission unit 13.

(ステップS206)第1の情報処理装置1のポート幅検出用パケット送信部15は、ポート幅検出用パケットをサーバ6に送信する。ここで、この送信においては、複数のポート幅検出用パケットが通過する第1の通信制御装置3のポートがそれぞれ異なるようにする。このポート幅検出用パケットは、例えば、第1の情報処理装置1におけるポート番号がそれぞれ異なる複数のポートから送信される。図7は、ポート幅検出用パケットの送信について説明するための図である。ポート幅検出用パケット送信部15は、それぞれ異なるポートP205〜P208から順次、サーバ6のポートP200にポート幅検出用パケットを送信する。すると、第1の通信制御装置3において、それらのパケットは、それぞれ異なるポートP201〜P204を通過することとなる。なお、図7では、ポートP205からP208の順番でパケットが送信されたとする。また、第1の情報処理装置1は、ポート幅検出用パケットを送信する以前に、ポートP205〜P208をサーバ6との通信で用いていないものとする。   (Step S206) The port width detection packet transmitter 15 of the first information processing apparatus 1 transmits the port width detection packet to the server 6. Here, in this transmission, the ports of the first communication control device 3 through which a plurality of port width detection packets pass are made different. For example, the port width detection packet is transmitted from a plurality of ports having different port numbers in the first information processing apparatus 1. FIG. 7 is a diagram for explaining transmission of a port width detection packet. The port width detection packet transmitter 15 sequentially transmits port width detection packets to the port P200 of the server 6 from different ports P205 to P208. Then, in the first communication control device 3, those packets pass through different ports P201 to P204, respectively. In FIG. 7, it is assumed that packets are transmitted in the order of ports P205 to P208. Further, it is assumed that the first information processing apparatus 1 does not use the ports P205 to P208 for communication with the server 6 before transmitting the port width detection packet.

(ステップS207)サーバ6のポート幅検出部64は、第1の情報処理装置1から送信されたポート幅検出用パケットを受け付け、そのポート幅検出用パケットに基づいて、ポート幅を検出する。このポート幅の検出方法について説明する。ポート幅検出部64は、ポート幅検出用パケットを受け付けることにより、各ポート幅検出用パケットの送信で用いられた第1の通信制御装置3のポートP201〜P204を検出することができる。そして、例えばポートP202と、ポートP201のポート間隔が12であり、ポートP203と、ポートP202のポート間隔が6であり、ポートP204と、ポートP203のポート間隔が18である場合には、一番小さいポート間隔である「6」をポート幅として検出してもよい。一方、それらのポート間隔の最大公約数をポート幅として検出してもよい。例えば、ポートP202と、ポートP201のポート間隔が12であり、ポートP203と、ポートP202のポート間隔が6であり、ポートP204と、ポートP203のポート間隔が9である場合には、それらの最大公約数である「3」をポート幅として検出してもよい。なお、ポート幅の検出方法は、これらに限定されるものではなく、その他の方法によってポート幅を検出してもよい。また、ポート幅を検出するときに送信されるポート幅検出用パケットの数も、4個に限定されるものではなく、ポート幅を検出できる範囲において任意に設定することができる。   (Step S207) The port width detection unit 64 of the server 6 receives the port width detection packet transmitted from the first information processing apparatus 1, and detects the port width based on the port width detection packet. A method for detecting the port width will be described. The port width detection unit 64 can detect the ports P201 to P204 of the first communication control device 3 used for transmitting each port width detection packet by receiving the port width detection packet. For example, when the port interval between the port P202 and the port P201 is 12, the port interval between the port P203 and the port P202 is 6, and the port interval between the port P204 and the port P203 is 18, A small port interval “6” may be detected as the port width. On the other hand, the greatest common divisor of these port intervals may be detected as the port width. For example, when the port interval between the port P202 and the port P201 is 12, the port interval between the port P203 and the port P202 is 6, and the port interval between the port P204 and the port P203 is 9, The common divisor “3” may be detected as the port width. The method for detecting the port width is not limited to these, and the port width may be detected by other methods. Further, the number of port width detection packets transmitted when detecting the port width is not limited to four, and can be arbitrarily set within a range in which the port width can be detected.

(ステップS208)第2の情報処理装置2のポート幅検出用パケット送信部26は、ポート幅検出用パケットをサーバ6に送信する。ここで、ポート幅検出用パケットの送信は、ステップS206と同様にしてなされる。   (Step S208) The port width detection packet transmitter 26 of the second information processing apparatus 2 transmits the port width detection packet to the server 6. Here, the transmission of the port width detection packet is performed in the same manner as in step S206.

(ステップS209)サーバ6のポート幅検出部64は、第2の情報処理装置2から送信されたポート幅検出用パケットを受け付け、そのポート幅検出用パケットに基づいて、第2の通信制御装置4におけるポート幅を検出する。このポート幅の検出方法は、ステップS207と同様であり、その説明を省略する。なお、このステップS209におけるポート幅の検出処理では、ステップS207におけるポート幅の検出に比べて、厳密性をあまり要求されない。すなわち、第2の通信制御装置4における実際のポート幅の倍数をポート幅として検出してもよい。このステップS209で検出されたポート幅は、基準ポートから、このステップS209で検出されたポート幅の倍数だけポート間隔の(ポート番号の割り当てが増加方向である場合には、ポート番号の増加する方向に)離れたポートをバブルパケット送信対象ポートと決定するために用いられるものである。その結果、このステップで検出されたポート幅が実際のポート幅の倍数であったとしても、そのようにして決定されたバブルパケット送信対象ポートは、基準ポートから何回かのポート割り当て後に割り当てられるポートとなり、バブルパケット送信対象ポートとしてそのポートを用いることができるからである。したがって、このステップS208、S209におけるポート幅の検出では、少数のポート幅検出用パケットの送信によってポート幅を検出してもよい。   (Step S209) The port width detection unit 64 of the server 6 receives the port width detection packet transmitted from the second information processing apparatus 2, and based on the port width detection packet, the second communication control apparatus 4 Detect the port width at. The method for detecting the port width is the same as that in step S207, and the description thereof is omitted. Note that the port width detection process in step S209 requires less strictness than the port width detection in step S207. That is, a multiple of the actual port width in the second communication control device 4 may be detected as the port width. The port width detected in this step S209 is a port interval from the reference port by a multiple of the port width detected in this step S209 (if the port number assignment is in the increasing direction, the direction in which the port number increases) B) used to determine a remote port as a bubble packet transmission target port. As a result, even if the port width detected in this step is a multiple of the actual port width, the bubble packet transmission target port determined in this way is assigned after several port assignments from the reference port. This is because the port can be used as a bubble packet transmission target port. Therefore, in the port width detection in steps S208 and S209, the port width may be detected by transmitting a small number of port width detection packets.

(ステップS210)サーバ6のポート幅送信部68は、ステップS209で検出されたポート幅を示すポート幅情報を第1の情報処理装置1に送信する。   (Step S210) The port width transmission unit 68 of the server 6 transmits port width information indicating the port width detected in step S209 to the first information processing apparatus 1.

なお、図6において、受信側アドレスの送信(ステップS205)は、どの時点で行われてもよく、例えば、基準ポート情報の送信(ステップS204)や、基準ポート検出用パケットの送信要求(ステップS201)の以前に行ってもよい。また、ポート幅検出用パケットの送信(ステップS208)からポート幅情報の送信(ステップS210)についても、ポート幅検出用パケットの送信(ステップS206)の処理等よりも以前に行ってもよい。このように、図6の処理の順序に関しては、ある程度の任意性がある。   In FIG. 6, the transmission of the receiving side address (step S205) may be performed at any time, for example, transmission of reference port information (step S204) or transmission request for reference port detection packet (step S201). ) May be done before. Further, the transmission of the port width detection packet (step S208) to the transmission of the port width information (step S210) may be performed before the processing of the transmission of the port width detection packet (step S206). As described above, there is a certain degree of arbitraryness with respect to the processing order of FIG.

次に、図5のフローチャートにおけるステップS102の処理について、図8を用いて説明する。図8は、送信側、サーバ、受信側の間における情報のやり取りや処理を説明するための図である。   Next, the process of step S102 in the flowchart of FIG. 5 will be described with reference to FIG. FIG. 8 is a diagram for explaining the exchange and processing of information among the transmission side, the server, and the reception side.

(ステップS301)第1の情報処理装置1の検出用パケット送信部14は、ポート検出用パケットを、第1の通信制御装置3を介してサーバ6に送信する。この送信において、ポート検出用パケットが第1の通信制御装置3において最新に割り当てられるポートを通過するようにパケットの送信を行うものとする。バブルパケット送信ポートの位置を適切に検出できるようにするためである。例えば、検出用パケット送信部14は、第1の情報処理装置1とサーバ6との間の通信でそれまでに用いていない第1の情報処理装置1のポートを用いて、ポート検出用パケットを送信する。このようにして送信されたポート検出用パケットは、サーバ6のバブルパケット送信ポート検出部65において受け付けられる。このバブルパケット送信ポート検出部65は、ポート検出用パケットのヘッダを参照することにより、ポート検出用パケットの送信で用いられた第1の通信制御装置3におけるポートの位置を検出する。   (Step S301) The detection packet transmitter 14 of the first information processing apparatus 1 transmits the port detection packet to the server 6 via the first communication control apparatus 3. In this transmission, it is assumed that the packet is transmitted so that the port detection packet passes through the port assigned the latest in the first communication control device 3. This is because the position of the bubble packet transmission port can be detected appropriately. For example, the detection packet transmission unit 14 uses the port of the first information processing apparatus 1 that has not been used in the communication between the first information processing apparatus 1 and the server 6 to transmit a port detection packet. Send. The port detection packet transmitted in this way is received by the bubble packet transmission port detection unit 65 of the server 6. The bubble packet transmission port detection unit 65 detects the position of the port in the first communication control device 3 used in the transmission of the port detection packet by referring to the header of the port detection packet.

(ステップS302)第1の情報処理装置1のバブルパケット送信部13は、バブルパケットを第2の通信制御装置4に送信する。このバブルパケットは、第2の通信制御装置4において、基準ポートから所定回(α)のポート割り当て後に割り当てられるポートに対して送信される。   (Step S <b> 302) The bubble packet transmitter 13 of the first information processing apparatus 1 transmits a bubble packet to the second communication control apparatus 4. The bubble packet is transmitted from the reference port to the port assigned after the port assignment a predetermined number of times (α) in the second communication control device 4.

(ステップS303)第1の情報処理装置1の検出用パケット送信部14は、ポート検出用パケットを、第1の通信制御装置3を介してサーバ6に送信する。この送信において
、ポート検出用パケットが第1の通信制御装置3において最新に割り当てられるポートを通過するようにパケットの送信を行うものとする。例えば、検出用パケット送信部14は、第1の情報処理装置1とサーバ6との間の通信や、ステップS301でのポート検出用パケットの送信、バブルパケットの送信でそれまでに用いていない第1の情報処理装置1のポートを用いて、ポート検出用パケットを送信する。このようにして送信されたポート検出用パケットは、サーバ6のバブルパケット送信ポート検出部65において受け付けられる。このバブルパケット送信ポート検出部65は、ポート検出用パケットのヘッダを参照することにより、ポート検出用パケットの送信で用いられた第1の通信制御装置3におけるポートの位置を検出する。
(Step S <b> 303) The detection packet transmitter 14 of the first information processing device 1 transmits the port detection packet to the server 6 via the first communication control device 3. In this transmission, it is assumed that the packet is transmitted so that the port detection packet passes through the port assigned the latest in the first communication control device 3. For example, the detection packet transmission unit 14 has not been used so far for communication between the first information processing apparatus 1 and the server 6, transmission of a port detection packet in step S301, and transmission of a bubble packet. A port detection packet is transmitted using the port of one information processing apparatus 1. The port detection packet transmitted in this way is received by the bubble packet transmission port detection unit 65 of the server 6. The bubble packet transmission port detection unit 65 detects the position of the port in the first communication control device 3 used in the transmission of the port detection packet by referring to the header of the port detection packet.

(ステップS304)サーバ6のバブルパケット送信ポート検出部65は、ステップS301、S303における、2つのポート検出用パケットの送信で用いられた第1の通信制御装置3のポートの位置と、バブルパケット送信ポートとが連続しているかどうかを判断する。   (Step S304) The bubble packet transmission port detection unit 65 of the server 6 determines the position of the port of the first communication control device 3 used for transmission of the two port detection packets in steps S301 and S303, and bubble packet transmission. Determine if the port is continuous.

次に、図5のフローチャートにおけるステップS104の処理について、図9を用いて説明する。図9は、送信側、サーバ、受信側の間における情報のやり取りや処理を説明するための図である。   Next, the process of step S104 in the flowchart of FIG. 5 will be described with reference to FIG. FIG. 9 is a diagram for explaining the exchange and processing of information among the transmission side, the server, and the reception side.

(ステップS401)サーバ6のバブルパケット送信ポート検出部65は、バブルパケット送信ポートの位置を検出する。   (Step S401) The bubble packet transmission port detector 65 of the server 6 detects the position of the bubble packet transmission port.

(ステップS402)サーバ6のバブルパケット送信ポート送信部67は、バブルパケット送信ポート情報を第2の情報処理装置2に送信する。そのバブルパケット送信ポート情報は、第2の情報処理装置2のバブルパケット送信ポート受付部23によって受け付けられる。   (Step S <b> 402) The bubble packet transmission port transmission unit 67 of the server 6 transmits bubble packet transmission port information to the second information processing apparatus 2. The bubble packet transmission port information is received by the bubble packet transmission port reception unit 23 of the second information processing apparatus 2.

(ステップS403)サーバ6は、第1の通信制御装置3のIPアドレスを示すアドレス情報を第2の情報処理装置2に送信する。そのアドレス情報は、通信部21で受信され、返信パケット送信部24に渡される。   (Step S <b> 403) The server 6 transmits address information indicating the IP address of the first communication control device 3 to the second information processing device 2. The address information is received by the communication unit 21 and passed to the reply packet transmission unit 24.

(ステップS404)第2の情報処理装置2の返信パケット送信部24は、ステップS403で受け取ったアドレス情報によって特定される第1の第1の通信制御装置3に対して返信パケットを送信する。この返信パケットは、バブルパケット送信ポート受付部23で受け付けられたバブルパケット送信ポート情報の示すバブルパケット送信ポートに対して送信される。   (Step S404) The reply packet transmitter 24 of the second information processing apparatus 2 transmits a reply packet to the first first communication control apparatus 3 specified by the address information received in Step S403. This reply packet is transmitted to the bubble packet transmission port indicated by the bubble packet transmission port information received by the bubble packet transmission port reception unit 23.

なお、図9において、バブルパケット送信ポート情報の送信(ステップS402)と、送信側アドレスの送信(ステップS403)との順序は問わない。   In FIG. 9, the order of transmission of bubble packet transmission port information (step S402) and transmission of the transmission side address (step S403) is not limited.

次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例において、第1の通信制御装置3、第2の通信制御装置4、サーバ6のIPアドレス(第1および第2の通信制御装置3,4については、通信回線5側のアドレス)は、それぞれ以下のとおりであるとする。   Next, the operation of the communication system according to the present embodiment will be described using a specific example. In this specific example, the IP addresses of the first communication control device 3, the second communication control device 4, and the server 6 (for the first and second communication control devices 3 and 4, the addresses on the communication line 5 side) are Suppose that they are as follows.

第1の通信制御装置3:202.132.10.6
第2の通信制御装置4:131.206.10.240
サーバ6:155.32.10.10
以下の具体例においては、具体例1において、第1の通信制御装置3、および第2の通信制御装置4がPS NATを用いている場合について説明する。また、具体例2におい
て、第1の通信制御装置3がSd NATを用いており、第2の通信制御装置4がPS NATを用いている場合について説明する。また、具体例3において、第1の通信制御装置3がSd NATを用いており、第2の通信制御装置4がAS NATを用いている場合について説明する。
First communication control device 3: 202.132.10
Second communication control device 4: 131.206.10.240
Server 6: 155.32.10.10
In the following specific example, the case where the first communication control device 3 and the second communication control device 4 in the specific example 1 use PS NAT will be described. In the second specific example, a case where the first communication control device 3 uses Sd NAT and the second communication control device 4 uses PS NAT will be described. Further, in the third specific example, a case where the first communication control device 3 uses Sd NAT and the second communication control device 4 uses AS NAT will be described.

(具体例1)
図10〜図13は、具体例1について説明するための図である。この具体例1では、第1の情報処理装置1から接続要求が行われる。図10において、第1の情報処理装置1は、サーバ6のIPアドレス「155.32.10.10」をあらかじめ知っており、そのサーバ6に対して、第1の情報処理装置1の機器ID「1234567890123456」を送信する。ここで、この機器IDとしては、例えば、MACアドレスや、EUI64ベースのアドレスなどのGUID(Global Unique ID)を用いることができる。この機器IDの送信は、第1の情報処理装置1のポートP1から、第1の通信制御装置3で割り当てられたポートP2を介して、サーバ6のポートP3に対して行われる。この送信によって、サーバ6は、第1の情報処理装置1の機器IDと、第1の通信制御装置3のIPアドレス「202.132.10.6」と、第1の通信制御装置3におけるポートP2のポート番号「10034」とを知ることができる。これらの情報は、サーバ6において保持される。
(Specific example 1)
10 to 13 are diagrams for explaining the first specific example. In this specific example 1, a connection request is made from the first information processing apparatus 1. In FIG. 10, the first information processing apparatus 1 knows in advance the IP address “155.32.10.10” of the server 6, and the server 6 has the device ID of the first information processing apparatus 1. “12345678890123456” is transmitted. Here, as the device ID, for example, a GUID (Global Unique ID) such as a MAC address or an EUI64-based address can be used. The transmission of the device ID is performed from the port P1 of the first information processing apparatus 1 to the port P3 of the server 6 via the port P2 assigned by the first communication control apparatus 3. By this transmission, the server 6 causes the device ID of the first information processing device 1, the IP address “202.132.10.6” of the first communication control device 3, and the port in the first communication control device 3. It is possible to know the port number “10034” of P2. These pieces of information are held in the server 6.

次に、第1の情報処理装置1は、接続を要求する第2の情報処理装置2の機器ID「9876543210123456」をサーバ6に送信することにより、第2の情報処理装置2への接続要求を行う。すると、サーバ6が、その接続要求を受け取り、第2の情報処理装置2がサーバ6にすでにアクセスしているかどうか判断する。この第2の情報処理装置2によるアクセスも、上述の第1の情報処理装置1と同様にして、第2の情報処理装置2の機器IDを送信することによってなされる。したがって、第2の情報処理装置2がサーバ6にアクセスしていた場合には、サーバ6は、第2の情報処理装置2の機器ID「9876543210123456」と、第2の通信制御装置4のIPアドレス「131.206.10.240」と、第2の情報処理装置2とサーバ6の間での情報の送受信で用いられる第2の通信制御装置4のポートP5のポート番号「23495」とを知っており、それらを保持していることとなる。第2の情報処理装置2がサーバ6にすでにアクセスしている場合には、基準ポート情報の受け付けに関する処理(ステップS101)が開始される。一方、第2の情報処理装置2がサーバ6にアクセスしていない場合には、第1の情報処理装置1からの接続要求は、エラーとなり、第1の情報処理装置1と第2の情報処理装置2の間の通信は確立できない。   Next, the first information processing apparatus 1 transmits a device ID “98776543210123456” of the second information processing apparatus 2 that requests connection to the server 6, thereby requesting connection to the second information processing apparatus 2. Do. Then, the server 6 receives the connection request and determines whether or not the second information processing apparatus 2 has already accessed the server 6. The access by the second information processing apparatus 2 is also performed by transmitting the device ID of the second information processing apparatus 2 in the same manner as the first information processing apparatus 1 described above. Therefore, when the second information processing device 2 is accessing the server 6, the server 6 has the device ID “9876543210123456” of the second information processing device 2 and the IP address of the second communication control device 4. Know "131.206.10.240" and the port number "23495" of the port P5 of the second communication control device 4 used for transmission / reception of information between the second information processing device 2 and the server 6 And will hold them. If the second information processing apparatus 2 has already accessed the server 6, the process related to acceptance of the reference port information (step S101) is started. On the other hand, when the second information processing apparatus 2 is not accessing the server 6, the connection request from the first information processing apparatus 1 results in an error, and the first information processing apparatus 1 and the second information processing Communication between the devices 2 cannot be established.

基準ポート情報の受け付けに関する処理において、サーバ6は、第2の情報処理装置2に、第2の通信制御装置4のポートP5を介して基準ポート検出用パケットを送信する旨の送信要求を行う(ステップS201)。すると、その送信要求が第2の情報処理装置2の基準ポート検出用パケット送信部22において受け付けられる。そして、基準ポート検出用パケット送信部22は、第2の情報処理装置2において、それまでにサーバ6との通信で用いているポートP6とは異なる、新たに割り当てられたポートP8から第2の通信制御装置4を介して基準ポート検出用パケットを送信する(ステップS202)。この基準ポート検出用パケットの送信において、第2の通信制御装置4では、ポートP7(ポート番号「23500」)が新たに割り当てられたとする。この基準ポート検出用パケットは、サーバ6の基準ポート検出部62によって受け付けられる。そして、基準ポートP7の位置として、ポート番号「23500」が検出される(ステップS203)。   In the processing related to reception of the reference port information, the server 6 makes a transmission request to the second information processing device 2 to transmit the reference port detection packet via the port P5 of the second communication control device 4 ( Step S201). Then, the transmission request is accepted by the reference port detection packet transmitter 22 of the second information processing apparatus 2. Then, the reference port detection packet transmission unit 22 uses the newly assigned port P8, which is different from the port P6 used in the communication with the server 6 so far, in the second information processing apparatus 2 from the second port P8. A reference port detection packet is transmitted via the communication control device 4 (step S202). In the transmission of the reference port detection packet, it is assumed that the port P7 (port number “23500”) is newly assigned in the second communication control device 4. The reference port detection packet is received by the reference port detection unit 62 of the server 6. Then, the port number “23500” is detected as the position of the reference port P7 (step S203).

基準ポート送信部63は、そのポート番号「23500」を基準ポート検出部62から受け取り、その基準ポートP7のポート番号「23500」を含む基準ポート情報を構成し、その基準ポート情報を第1の情報処理装置1に送信する(ステップS204)。この
送信は、第1の通信制御装置3におけるポートP2を介して行われる。第1の情報処理装置1の基準ポート受付部12は、その基準ポート情報を、通信部11を介して受け付け、その基準ポート情報に含まれる基準ポートP7のポート番号「23500」をバブルパケット送信部13に渡す。
The reference port transmission unit 63 receives the port number “23500” from the reference port detection unit 62, configures reference port information including the port number “23500” of the reference port P7, and sets the reference port information as the first information. It transmits to the processing apparatus 1 (step S204). This transmission is performed via the port P2 in the first communication control device 3. The reference port accepting unit 12 of the first information processing apparatus 1 accepts the reference port information via the communication unit 11 and uses the port number “23500” of the reference port P7 included in the reference port information as a bubble packet transmitting unit. Pass to 13.

また、サーバ6は、第2の通信制御装置4のIPアドレス「131.206.10.240」を示すアドレス情報を第1の情報処理装置1に送信する(ステップS205)。そのアドレス情報は、通信部11で受信され、バブルパケット送信部13に渡される。このようにして、バブルパケット送信部13は、第2の通信制御装置4のIPアドレス「131.206.10.240」を知ることができる。   Further, the server 6 transmits address information indicating the IP address “131.206.10.240” of the second communication control device 4 to the first information processing device 1 (step S205). The address information is received by the communication unit 11 and passed to the bubble packet transmission unit 13. In this way, the bubble packet transmitting unit 13 can know the IP address “131.206.10.240” of the second communication control device 4.

ポート幅検出用パケット送信部15は、通信部11がアドレス情報を受信したことを検知すると、複数のポート幅検出用パケットを図7で示すようにして送信する(ステップS206)。なお、図10では、ポート幅検出用パケットの送信については明示していない。そのポート幅検出用パケットは、サーバ6のポート幅検出部64で受け付けられ、ポート幅が検出される。この場合、ポート幅は「1」と検出されたとする(ステップS207)。検出されたポート幅は、バブルパケット送信ポート検出部65に渡される。   When detecting that the communication unit 11 has received the address information, the port width detection packet transmitter 15 transmits a plurality of port width detection packets as shown in FIG. 7 (step S206). In FIG. 10, transmission of the port width detection packet is not explicitly shown. The port width detection packet is received by the port width detection unit 64 of the server 6, and the port width is detected. In this case, it is assumed that the port width is detected as “1” (step S207). The detected port width is passed to bubble packet transmission port detector 65.

また、ポート幅検出用パケット送信部26は、サーバ6のポート幅検出部64からの指示により、複数のポート幅検出用パケットを送信する(ステップS208)。なお、図10では、このポート幅検出用パケットの送信についても明示していない。そのポート幅検出用パケットは、サーバ6のポート幅検出部64で受け付けられ、ポート幅が検出される。この場合、ポート幅は「1」と検出されたとする(ステップS209)。その後、ポート幅送信部68は、その検出されたポート幅「1」を、第1の情報処理装置1に送信する(ステップS210)。そして、そのポート幅「1」は、ポート幅受付部19で受け付けられ、バブルパケット送信部13に渡される。   Further, the port width detection packet transmitter 26 transmits a plurality of port width detection packets in response to an instruction from the port width detector 64 of the server 6 (step S208). In FIG. 10, the transmission of the port width detection packet is not clearly shown. The port width detection packet is received by the port width detection unit 64 of the server 6, and the port width is detected. In this case, it is assumed that the port width is detected as “1” (step S209). Thereafter, the port width transmission unit 68 transmits the detected port width “1” to the first information processing apparatus 1 (step S210). The port width “1” is received by the port width receiving unit 19 and passed to the bubble packet transmitting unit 13.

バブルパケット送信部13は、バブルパケットを送信する前に、検出用パケット送信部14に対して、ポート検出用パケットを送信する旨の指示を渡す。すると、検出用パケット送信部14は、それまでにサーバ6との通信で用いておらず、新たに割り当てられたポート(すなわち、第1の情報処理装置1が新たに割り当てたポート)であるポートP9を用いて、サーバ6のポートP15に対してポート検出用パケットを送信する(ステップS301)。ポートP15は、サーバ6から指示されたポートであるとする。このポート検出用パケットは、第1の通信制御装置3において、新たに割り当てられたポートP12(ポート番号「10040」)を用いて送信される。サーバ6のバブルパケット送信ポート検出部65は、このポート検出用パケットを受け付け、第1の通信制御装置3のポートP12のポート番号「10040」を検出する。バブルパケット送信ポート検出部65は、そのポートP12のポート番号「10040」を保持しておく。   Bubble packet transmitter 13 passes an instruction to transmit a port detection packet to detection packet transmitter 14 before transmitting the bubble packet. Then, the detection packet transmission unit 14 has not been used for communication with the server 6 so far, and is a newly assigned port (that is, a port newly assigned by the first information processing apparatus 1). A port detection packet is transmitted to port P15 of server 6 using P9 (step S301). The port P15 is assumed to be a port instructed from the server 6. The port detection packet is transmitted using the newly assigned port P12 (port number “10040”) in the first communication control device 3. The bubble packet transmission port detection unit 65 of the server 6 receives this port detection packet and detects the port number “10040” of the port P12 of the first communication control device 3. Bubble packet transmission port detector 65 holds port number “10040” of port P12.

検出用パケット送信部14は、ポート検出用パケットの送信後に、ポート検出用パケットを送信した旨をバブルパケット送信部13に伝える。すると、バブルパケット送信部13は、それまでにサーバ6との通信で用いておらず、新たに割り当てられたポートであるポートP10を用いて、IPアドレス「131.206.10.240」の第2の通信制御装置4にバブルパケットを送信する(ステップS302)。このバブルパケットの送信では、基準ポート受付部12から受け取った基準ポートP7のポート番号「23500」から、ポート幅受付部19で受け付けられたポート幅「1」の所定の倍数、すなわち50倍(すなわち、α=50)だけ離れたポート番号「23550」のポートP17に対してバブルパケットを送信するものとする。また、そのバブルパケットは、第1の通信制御装置3のポートP13(ポート番号「10041」)を用いて送信されたとする。バブルパケット送信部13は、バブルパケットの送信後、「α=50」である旨をサーバ6に送信
する。すると、サーバ6は、その旨を第2の情報処理装置2に送信する。そして、「α=50」である旨が返信パケット送信部24で受け付けられる。
After transmitting the port detection packet, the detection packet transmission unit 14 notifies the bubble packet transmission unit 13 that the port detection packet has been transmitted. Then, the bubble packet transmitting unit 13 has not been used for communication with the server 6 so far, and uses the port P10 which is a newly allocated port, and the IP address “131.206.10.240” The bubble packet is transmitted to the second communication control device 4 (step S302). In the transmission of the bubble packet, the port number “23500” of the reference port P7 received from the reference port receiving unit 12 and a predetermined multiple of the port width “1” received by the port width receiving unit 19, that is, 50 times (ie, , Α = 50), it is assumed that a bubble packet is transmitted to the port P17 of the port number “23550” separated by a distance. Also, it is assumed that the bubble packet is transmitted using the port P13 (port number “10041”) of the first communication control device 3. The bubble packet transmitting unit 13 transmits “α = 50” to the server 6 after transmitting the bubble packet. Then, the server 6 transmits a message to that effect to the second information processing apparatus 2. Then, the reply packet transmitter 24 accepts that “α = 50”.

バブルパケット送信部13は、バブルパケットの送信後に、ポート検出用パケットを送信する旨の指示を検出用パケット送信部14に渡す。すると、検出用パケット送信部14は、それまでにサーバ6との通信で用いておらず、新たに割り当てられたポートであるポートP11を用いて、サーバ6のポート16に対してポート検出用パケットを送信する(ステップS303)。このポート検出用パケットは、第1の通信制御装置3において、新たに割り当てられたポートP14(ポート番号「10042」)を用いて送信される。このように、バブルパケットと、ポート検出用パケットとは、第1の通信制御装置3における異なるポートを用いて送信される。   Bubble packet transmitter 13 passes an instruction to transmit port detection packet to detection packet transmitter 14 after transmitting the bubble packet. Then, the detection packet transmitting unit 14 has not been used for communication with the server 6 until then, and uses the port P11 which is a newly assigned port to the port 16 of the server 6 for the port detection packet. Is transmitted (step S303). The port detection packet is transmitted using the newly assigned port P14 (port number “10042”) in the first communication control device 3. As described above, the bubble packet and the port detection packet are transmitted using different ports in the first communication control device 3.

サーバ6のバブルパケット送信ポート検出部65は、このポート検出用パケットを受け付け、第1の通信制御装置3のポートP14のポート番号「10042」を検出する。そして、バブルパケット送信ポート検出部65は、保持していたポートP12のポート番号「10040」と、検出したポートP14のポート番号「10042」との差が「2」であり、ステップS207で検出したポート幅「1」の2倍であることから、2つのポート検出用パケットの送信で用いられた第1の通信制御装置3におけるポートP12,P14と、バブルパケット送信ポートP13とが連続していると判断する(ステップS304)。その結果、バブルパケット送信ポートの位置を検出できると判断し(ステップS103)、バブルパケット送信ポート検出部65は、バブルパケット送信ポートの位置として、ポートP12とポートP14の真ん中であるポート番号「10041」を検出する(ステップS401)。   The bubble packet transmission port detector 65 of the server 6 receives this port detection packet and detects the port number “10042” of the port P14 of the first communication control device 3. The bubble packet transmission port detector 65 detects that the difference between the held port number “10040” of the port P12 and the detected port number “10042” of the port P14 is “2” in step S207. Since it is twice the port width “1”, the ports P12 and P14 and the bubble packet transmission port P13 in the first communication control device 3 used for transmitting the two port detection packets are continuous. Is determined (step S304). As a result, it is determined that the position of the bubble packet transmission port can be detected (step S103), and the bubble packet transmission port detector 65 sets the port number “10041” in the middle of the ports P12 and P14 as the position of the bubble packet transmission port. Is detected (step S401).

バブルパケット送信ポート送信部67は、バブルパケット送信ポート検出部65で検出されたバブルパケット送信ポートP13のポート番号「10041」を含むバブルパケット送信ポート情報を構成し、そのバブルパケット送信ポート情報を、第2の通信制御装置4のポートP5を介して第2の情報処理装置2に送信する(ステップS402)。そのバブルパケット送信ポート情報は、第2の情報処理装置2のバブルパケット送信ポート受付部23において受け付けられる。そして、バブルパケット送信ポート情報に含まれるバブルパケット送信ポートP13のポート番号「10041」が返信パケット送信部24に渡される。   The bubble packet transmission port transmission unit 67 configures bubble packet transmission port information including the port number “10041” of the bubble packet transmission port P13 detected by the bubble packet transmission port detection unit 65, and the bubble packet transmission port information is The data is transmitted to the second information processing device 2 via the port P5 of the second communication control device 4 (step S402). The bubble packet transmission port information is received by the bubble packet transmission port reception unit 23 of the second information processing apparatus 2. Then, the port number “10041” of the bubble packet transmission port P13 included in the bubble packet transmission port information is passed to the reply packet transmission unit 24.

また、サーバ6は、第1の通信制御装置3のIPアドレス「202.132.10.6」を示すアドレス情報を第2の情報処理装置2に送信する(ステップS403)。そのアドレス情報は、通信部21で受信され、返信パケット送信部24に渡される。このようにして、返信パケット送信部24は、第1の通信制御装置3のIPアドレス「202.132.10.6」を知ることができる。   The server 6 transmits address information indicating the IP address “202.132.10.6” of the first communication control device 3 to the second information processing device 2 (step S403). The address information is received by the communication unit 21 and passed to the reply packet transmission unit 24. In this way, the reply packet transmitter 24 can know the IP address “202.132.16” of the first communication control device 3.

返信パケット送信部24は、IPアドレス「202.132.10.6」の第1の通信制御装置3におけるポート番号「10041」のバブルパケット送信ポートP13に対して、50個の返信パケットを送信する(ステップS404)。この50個というのは、返信パケット送信部24がサーバ6から受け付けたαの値に対応している。返信パケット送信部24は、この50個の返信パケットを、第2の情報処理装置2において新たに割り当てられる(すなわち、それまでのサーバ6との通信等で用いられていない)50個のポートP20〜P21を用いて送信する。したがって、その返信パケットは、第2の通信制御装置4においても、新たに割り当てられる50個のポートP18〜P19を用いて送信されることとなる(図12参照)。なお、第2の通信制御装置4において、基準ポート検出用パケットが送信された時点に割り当てられた最新のポートがポートP7であり、そのポートP7からポート番号が50だけ離れたポートP17にバブルパケットが送信されてい
るため、返信パケットの送信時にすでにポートP17が、第2の情報処理装置2以外の機器によって使用されている場合を除き、50個の返信ポートのいずれかがバブルパケット送信対象ポートP17を用いて第1の通信制御装置3に送信されることとなる。そして、第1の通信制御装置3は、PS NATを用いており、バブルパケットをバブルパケット送信対象ポートP17に対して送信している送信履歴が第1の通信制御装置3に残っているため、バブルパケット送信対象ポートP17を用いて送信された返信パケットのみを受け付けることができる。その返信パケットは、第1の情報処理装置1のポートP10を介して返信パケット受付部17で受け付けられる。
The reply packet transmission unit 24 transmits 50 reply packets to the bubble packet transmission port P13 having the port number “10041” in the first communication control device 3 having the IP address “202.132.10.6”. (Step S404). The number of 50 corresponds to the value of α received from the server 6 by the reply packet transmission unit 24. The reply packet transmitter 24 newly allocates the 50 reply packets in the second information processing apparatus 2 (that is, 50 ports P20 that have not been used in communication with the server 6 or the like so far). Transmit using ~ P21. Therefore, the reply packet is also transmitted using the 50 newly assigned ports P18 to P19 in the second communication control device 4 (see FIG. 12). In the second communication control unit 4, the latest port assigned at the time when the reference port detection packet is transmitted is the port P7, and the bubble packet is sent to the port P17 which is separated from the port P7 by the port number 50. Since the port P17 is already used by a device other than the second information processing apparatus 2 when the reply packet is transmitted, any one of the 50 reply ports is a bubble packet transmission target port. It is transmitted to the first communication control device 3 using P17. Since the first communication control device 3 uses PS NAT and the transmission history of transmitting bubble packets to the bubble packet transmission target port P17 remains in the first communication control device 3, Only reply packets transmitted using the bubble packet transmission target port P17 can be accepted. The reply packet is received by the reply packet receiving unit 17 via the port P10 of the first information processing apparatus 1.

ここで、この具体例1においては、この返信パケットの受け付けにより、第1の情報処理装置1と第2の情報処理装置2との間の通信が確立することとなるが、続けて再返信パケットの送信についても説明する。   Here, in this specific example 1, the communication between the first information processing apparatus 1 and the second information processing apparatus 2 is established by accepting this reply packet. The transmission of will also be described.

第2の情報処理装置2の返信パケット送信部24は、50個の返信パケットの送信後に、返信パケットの送信を終了した旨を、第2の通信制御装置4のポートP5を介してサーバ6に送信する。すると、サーバ6が返信パケットの送信を終了した旨を受け取り、その旨を第1の通信制御装置3のポートP2を介して第1の情報処理装置1に送信する。第1の情報処理装置1の返信パケット受付部17は、その旨を受け付けると、すでに返信パケットを受け付けているため、返信パケット17のヘッダに含まれる返信パケットの送信された第2の通信制御装置4のポートP17のポート番号「23550」を取得し、そのポート番号と、再返信パケットを送信する旨の指示とを、再返信パケット送信部18に渡す(ステップS105)。なお、返信パケット受付部17が返信パケットを受け付けていない場合には、返信パケット受付部17は、返信パケットを受け付けていない旨をサーバ6に送信する。その結果、サーバ6は、再度、第2の情報処理装置2に基準ポート検出用パケットの送信要求を送信し、第1の情報処理装置1と第2の情報処理装置2との接続を確立するための処理が再度行われることとなる(ステップS101〜S104)。   The reply packet transmitter 24 of the second information processing device 2 informs the server 6 via the port P5 of the second communication control device 4 that the reply packet has been transmitted after the 50 reply packets have been transmitted. Send. Then, the server 6 receives that the transmission of the reply packet has been completed, and transmits that fact to the first information processing apparatus 1 via the port P2 of the first communication control apparatus 3. When the reply packet accepting unit 17 of the first information processing apparatus 1 accepts that fact, the reply packet accepting unit 17 has already accepted the reply packet. Therefore, the second communication control apparatus to which the reply packet included in the header of the reply packet 17 is transmitted. 4 is acquired, and the port number and an instruction to transmit the reply packet are passed to the reply packet transmitter 18 (step S105). If the reply packet accepting unit 17 has not accepted a reply packet, the reply packet accepting unit 17 transmits to the server 6 that no reply packet has been accepted. As a result, the server 6 transmits a reference port detection packet transmission request to the second information processing apparatus 2 again, and establishes a connection between the first information processing apparatus 1 and the second information processing apparatus 2. Therefore, the process for this is performed again (steps S101 to S104).

再返信パケット送信部18は、返信パケット受付部17から受け取ったポート番号「23550」のポートP17に対して、再返信パケットを送信する(ステップS106)。その再返信パケットは、第1の通信制御装置3のポートP13、および第2の通信制御装置4のポートP17を用いて第2の情報処理装置2に送信され、第2の情報処理装置2の再返信パケット受付部25で受け付けられる。   The reply packet transmitting unit 18 transmits the reply packet to the port P17 having the port number “23550” received from the reply packet receiving unit 17 (step S106). The re-reply packet is transmitted to the second information processing device 2 using the port P13 of the first communication control device 3 and the port P17 of the second communication control device 4, and the second information processing device 2 Re-reply packet accepting unit 25 accepts it.

また、再返信パケット送信部18は、再返信パケットの送信後に、再返信パケットの送信を終了した旨を、第1の通信制御装置3のポートP2を介してサーバ6に送信する。すると、サーバ6が再返信パケットの送信を終了した旨を受け取り、その旨を第2の通信制御装置4のポートP5を介して第2の情報処理装置2に送信する。第2の情報処理装置2の再返信パケット受付部25は、その旨を受け付ける。この場合には、再返信パケット受付部25が再返信パケットをすでに受け付けているため、第1の情報処理装置1と第2の情報処理装置2との間の通信を確立する処理は終了となる(ステップS107)。なお、再返信パケット受付部25が再返信パケットを受け付けていない場合には、再返信パケット受付部25は、再返信パケットを受け付けていない旨をサーバ6に送信する。その結果、サーバ6は、再度、第2の情報処理装置2に基準ポート検出用パケットの送信要求を送信し、第1の情報処理装置1と第2の情報処理装置2との接続を確立するための処理が再度行われることとなる(ステップS101〜S106)。   Also, the reply packet transmitter 18 transmits to the server 6 via the port P2 of the first communication control device 3 that the reply packet has been transmitted after the reply packet is transmitted. Then, the server 6 receives that the transmission of the reply packet has been completed, and transmits that fact to the second information processing device 2 via the port P5 of the second communication control device 4. The reply packet accepting unit 25 of the second information processing apparatus 2 accepts that fact. In this case, since the reply packet accepting unit 25 has already accepted the reply packet, the process for establishing communication between the first information processing apparatus 1 and the second information processing apparatus 2 ends. (Step S107). If the reply packet accepting unit 25 does not accept the reply packet, the reply packet accepting unit 25 transmits to the server 6 that the reply packet is not accepted. As a result, the server 6 transmits a reference port detection packet transmission request to the second information processing apparatus 2 again, and establishes a connection between the first information processing apparatus 1 and the second information processing apparatus 2. Therefore, the process for this is performed again (steps S101 to S106).

その後、第1の情報処理装置1と第2の情報処理装置2との間で、サーバ6を介さない、Peer to PeerのUDPによる通信が、第1の通信制御装置3のポートP13、および第2の通信制御装置4のポートP17を介して行われる。   Thereafter, peer-to-peer UDP communication between the first information processing apparatus 1 and the second information processing apparatus 2 without using the server 6 is performed by the port P13 of the first communication control apparatus 3 and the first information processing apparatus 2. This is performed via the port P17 of the second communication control device 4.

なお、この具体例1では、ポート検出用パケットと、バブルパケットとが第1の通信制御装置3における連続したポートを用いて送信された場合について説明したが、例えば、ポートP12のポート番号が「10040」であり、ポートP14のポート番号が「10043」である場合のように、ポート検出用パケットと、バブルパケットとが第1の通信制御装置3における連続したポートを用いて送信されていない場合には、バブルパケットと、ポート検出用パケットとの送信が、ポート検出用パケットの送信で用いられた第1の通信制御装置3のポートと、バブルパケット送信ポートとが連続したポートとなるまで繰り返される(ステップS102、S103)。ここで、ポート検出用パケットの送信で用いられた第1の通信制御装置3のポートと、バブルパケット送信ポートとが第1の通信制御装置3における連続したポートとならない理由としては、第1の通信制御装置3のローカル側に第1の情報処理装置1以外の装置(図示せず)が接続されており、ポート検出用パケットの送信からバブルパケットの送信まで、またはバブルパケットの送信からポート検出用パケットの送信までに、その装置に対して、第1の通信制御装置3のポートが割り当てられた、ということがある。   In the specific example 1, the case where the port detection packet and the bubble packet are transmitted using consecutive ports in the first communication control device 3 has been described. For example, the port number of the port P12 is “ 10040 ”and when the port number of the port P14 is“ 10043 ”, the port detection packet and the bubble packet are not transmitted using consecutive ports in the first communication control device 3 The transmission of the bubble packet and the port detection packet is repeated until the port of the first communication control device 3 used for transmitting the port detection packet and the bubble packet transmission port become a continuous port. (Steps S102 and S103). Here, the reason why the port of the first communication control device 3 used for transmission of the port detection packet and the bubble packet transmission port are not continuous ports in the first communication control device 3 is as follows. A device (not shown) other than the first information processing device 1 is connected to the local side of the communication control device 3, and from the transmission of the port detection packet to the transmission of the bubble packet, or from the transmission of the bubble packet to the port detection There is a case where the port of the first communication control device 3 is assigned to the device before the transmission of the packet for use.

また、この具体例1において、第1の情報処理装置1からの機器IDの送信や、第2の情報処理装置2からの機器IDの送信、また、サーバ6からのアドレス情報の送信等の装置間での情報の送受信については、第1の情報処理装置1等における図示しない制御部によってなされるものとする。このことは、以下の具体例においても同様である。   In the first specific example, the apparatus such as the transmission of the device ID from the first information processing apparatus 1, the transmission of the apparatus ID from the second information processing apparatus 2, or the transmission of address information from the server 6 is performed. Information transmission / reception between them is performed by a control unit (not shown) in the first information processing apparatus 1 or the like. The same applies to the following specific examples.

また、図11において、ポート検出用パケットの送信先ポートP15,P16は、同一のポートであってもよく、また、ポートP3と同一であってもよい。   In FIG. 11, the port detection packet destination ports P15 and P16 may be the same port or the same as the port P3.

また、図11において、第1の通信制御装置3がPS NATである場合には、ポートP9,ポートP10,ポートP11が同一のポートであってもよい。ただし、この場合であっても、ポートP9(=ポートP10,P11)は、1回目のポート検出用パケットの送信時に新たに割り当てられたポートである。また、ポートP15とポートP16とは異なる。   In FIG. 11, when the first communication control device 3 is PS NAT, the port P9, the port P10, and the port P11 may be the same port. However, even in this case, the port P9 (= ports P10 and P11) is a port newly assigned when the first port detection packet is transmitted. Port P15 and port P16 are different.

(具体例2)
具体例2では、第1の通信制御装置3がSd NATを用いており、第2の通信制御装置4がPS NATを用いている場合について説明する。
(Specific example 2)
In specific example 2, a case will be described in which the first communication control device 3 uses Sd NAT and the second communication control device 4 uses PS NAT.

この場合であっても、第2の情報処理装置2から第1の通信制御装置3に対して返信パケットを送信するまでは、具体例1と同様であり、その説明を省略する。なお、この具体例2においても、具体例1と同様のポート番号等を用いてバブルパケットの送信等の処理が行われているものとする。この具体例2の場合には、第1の通信制御装置3においてSd NAT、すなわち受信フィルタフールがNoフィルタのNATを用いているため、第2の情報処理装置2から送信された50個の返信パケットは、すべて、第1の情報処理装置1のポートP10を介して返信パケット受付部17で受け付けられる。   Even in this case, the process until the reply packet is transmitted from the second information processing apparatus 2 to the first communication control apparatus 3 is the same as in the first specific example, and the description thereof is omitted. Also in this specific example 2, it is assumed that processing such as bubble packet transmission is performed using the same port number as in specific example 1. In the case of this specific example 2, since the first communication control device 3 uses Sd NAT, that is, the reception filter full uses the NAT of the No filter, 50 replies transmitted from the second information processing device 2 are used. All the packets are received by the reply packet receiving unit 17 via the port P10 of the first information processing apparatus 1.

返信パケット受付部17は、返信パケットの送信で用いられた第2の通信制御装置4のポート番号を各返信パケットから取得し、そのポート番号を再返信パケット送信部18に渡す。再返信パケット送信部18は、そのポート番号を受け取り、第2の通信制御装置4の受け取った各ポート番号に対して、再返信パケットを送信する(図14参照)。第1の通信制御装置3で用いているSd NATは、送信ポート割り当てルールがPort Sensitiveであるため、第1の通信制御装置3におけるバブルパケット送信ポートP13を用いて第2の通信制御装置4に対して送信を行うことができるのは、第2の通信制御装置4のバブルパケット送信対象ポートP17にパケットを送信した場合のみである。したがって、図14で示されるように、バブルパケット送信対象ポートP17以外に送
信された再返信ポートは、第1の通信制御装置3で新たに割り当てられたポートP22〜P23を用いて送信される。第2の通信制御装置4は、PS NATを用いているため、返信パケットを送信した第1の通信制御装置3のポート以外からの再返信パケットを受け付けることはできない。したがって、第2の情報処理装置2の再返信パケット受付部25は、バブルパケット送信対象ポートP17に送信された再返信パケットのみを受け付けることができる。このようにして、第1の情報処理装置1と、第2の情報処理装置2との間での通信が確立されることとなる。
The reply packet accepting unit 17 acquires the port number of the second communication control device 4 used for sending the reply packet from each reply packet, and passes the port number to the re-reply packet transmitting unit 18. The re-reply packet transmitter 18 receives the port number and transmits a re-reply packet to each port number received by the second communication control device 4 (see FIG. 14). The Sd NAT used in the first communication control device 3 uses the bubble packet transmission port P13 in the first communication control device 3 to transmit to the second communication control device 4 because the transmission port assignment rule is Port Sensitive. The transmission can be performed only when a packet is transmitted to the bubble packet transmission target port P17 of the second communication control device 4. Therefore, as shown in FIG. 14, the re-reply port transmitted to other than the bubble packet transmission target port P <b> 17 is transmitted using the ports P <b> 22 to P <b> 23 newly assigned by the first communication control device 3. Since the second communication control device 4 uses PS NAT, it cannot accept re-reply packets from other than the port of the first communication control device 3 that sent the reply packet. Therefore, the reply packet accepting unit 25 of the second information processing apparatus 2 can accept only the reply packet transmitted to the bubble packet transmission target port P17. In this way, communication between the first information processing apparatus 1 and the second information processing apparatus 2 is established.

ここで、第1の情報処理装置1から第2の通信制御装置4に対して再返信パケットを送信する意義について説明する。第1の情報処理装置1が返信パケットを受け取ったとしても、その返信パケットの通過したポートを介して、第1の情報処理装置1と第2の情報処理装置2との間の通信が確実に確立するわけではない。上記の具体例2のように、受け取った返信パケットのうち、バブルパケット送信対象ポートP17を介して送信された返信パケットの経路についてのみ、通信を確立することができるからである。また、次のような状況も考えられる。具体例2において、返信パケットがバブルパケット送信対象ポートP17を用いないで送信された場合(例えば、返信パケットの送信までに、他の機器によってバブルパケット送信対象ポートP17が用いられた場合)であっても、第1の情報処理装置1は、すべての返信パケットを受け付けることができる。しかし、第1の情報処理装置1が、その返信パケットに対する再返信パケットを送信したとしても、その再返信パケットは第2の情報処理装置2で受け付けられず、通信は確立されない。このように、再返信パケットの送信により、第1の情報処理装置1と第2の情報処理装置2との間で確立することができ得るPeer to Peerの通信で用いるポートの位置を確認することができ、また、第1の情報処理装置1と第2の情報処理装置2との間での通信を確立できるかどうかを確認することができる。   Here, the significance of transmitting a re-reply packet from the first information processing apparatus 1 to the second communication control apparatus 4 will be described. Even if the first information processing apparatus 1 receives the reply packet, the communication between the first information processing apparatus 1 and the second information processing apparatus 2 is reliably performed via the port through which the reply packet has passed. It is not established. This is because communication can be established only for the path of the reply packet transmitted via the bubble packet transmission target port P17 among the received reply packets as in the above specific example 2. The following situation is also conceivable. In the specific example 2, the reply packet is transmitted without using the bubble packet transmission target port P17 (for example, when the bubble packet transmission target port P17 is used by another device before the transmission of the reply packet). However, the first information processing apparatus 1 can accept all reply packets. However, even if the first information processing apparatus 1 transmits a re-reply packet for the reply packet, the re-reply packet is not accepted by the second information processing apparatus 2 and communication is not established. As described above, the position of the port used in peer-to-peer communication that can be established between the first information processing apparatus 1 and the second information processing apparatus 2 is confirmed by transmitting the reply packet. It is also possible to confirm whether communication between the first information processing apparatus 1 and the second information processing apparatus 2 can be established.

(具体例3)
具体例3では、第1の通信制御装置3がSd NATを用いており、第2の通信制御装置4がAS NATを用いている場合について説明する。この具体例3では、バブルパケット送信対象ポートを用いない通信が第1の情報処理装置1と第2の情報処理装置2との間で確立される特殊なケースについて説明する。
(Specific example 3)
In specific example 3, a case where the first communication control device 3 uses Sd NAT and the second communication control device 4 uses AS NAT will be described. In this specific example 3, a special case will be described in which communication that does not use the bubble packet transmission target port is established between the first information processing apparatus 1 and the second information processing apparatus 2.

図15は、第2の情報処理装置2からの返信パケットの送信について説明するための図である。この返信パケットの送信において、バブルパケット送信対象ポートP17がすでに他の機器によって用いられているため、返信パケットは、バブルパケット送信対象ポートP17を含まない第2の通信制御装置4におけるポートP24〜P25を介して送信されたとする。第1の通信制御装置3がNoフィルタのNATを用いているため、第1の情報処理装置1は、このすべての返信パケットを受け付ける。   FIG. 15 is a diagram for explaining transmission of a reply packet from the second information processing apparatus 2. In the transmission of the reply packet, the bubble packet transmission target port P17 is already used by another device. Therefore, the reply packet does not include the bubble packet transmission target port P17. The ports P24 to P25 in the second communication control device 4 do not include the reply packet. Is sent via. Since the first communication control device 3 uses the NAT of the No filter, the first information processing device 1 accepts all the reply packets.

図16は、再返信パケットの送信について説明するための図である。図16で示されるように、再返信パケット送信部18が第2の通信制御装置4のポートP24〜P25に対して再返信パケット送信したとする。この場合には、第1の通信制御装置3がSd NATを用いているため、新たに割り当てられたポートP26〜P27を用いて再返信パケットが第2の通信制御装置4のポートP24〜P25に対して送信される。第2の通信制御装置4は、AS NAT、すなわち、Address SensitiveフィルタのNATを用いているため、これらの再返信パケットは第2の通信制御装置4で受け付けられ、第2の情報処理装置2のポートP20〜P21に渡される。その後、第2の情報処理装置2は、再返信パケットのうち、いずれか1つ(例えば、最初に届いたものなど)を選択し、その再返信パケットの送信された経路(例えば、第1の通信制御装置3のポートP26、第2の通信制御装置4のポートP24)を介して第1の情報処理装置1との通信を行うことができる。   FIG. 16 is a diagram for explaining the transmission of a re-reply packet. As shown in FIG. 16, it is assumed that the reply packet transmission unit 18 transmits a reply packet to the ports P24 to P25 of the second communication control device 4. In this case, since the first communication control device 3 uses Sd NAT, the reply packet is sent to the ports P24 to P25 of the second communication control device 4 using the newly assigned ports P26 to P27. Sent to. Since the second communication control device 4 uses AS NAT, that is, the NAT of the Address Sensitive filter, these re-reply packets are accepted by the second communication control device 4, and the second information processing device 2 Passed to ports P20 to P21. Thereafter, the second information processing apparatus 2 selects any one of the re-reply packets (for example, the first packet that arrives first), and the route (for example, the first re-reply packet) is transmitted. Communication with the first information processing apparatus 1 can be performed via the port P26 of the communication control apparatus 3 and the port P24 of the second communication control apparatus 4.

この具体例3の状況は、第1の通信制御装置3がNoフィルタ、あるいはASフィルタを用いており、第2の通信制御装置4がNoフィルタ、あるいはASフィルタを用いている場合に妥当する。したがって、これらの場合には、バブルパケット送信ポートP13の位置を正確に把握することができれば、第1の情報処理装置1と第2の情報処理装置2との接続を確実に実現することができることとなる。   The situation of Specific Example 3 is appropriate when the first communication control device 3 uses a No filter or AS filter, and the second communication control device 4 uses a No filter or AS filter. Therefore, in these cases, the connection between the first information processing apparatus 1 and the second information processing apparatus 2 can be reliably realized if the position of the bubble packet transmission port P13 can be accurately grasped. It becomes.

また、第1の通信制御装置3で用いているNATがNoフィルタである場合には、すべての返信パケットを第1の情報処理装置1で受け付けることができる。また、第1の通信制御装置3で用いているNATがASフィルタである場合にも、第2の通信制御装置4に対して、バブルパケットを送信しているため、すべての返信パケットを第1の情報処理装置1で受け付けることができる。また、第1の通信制御装置3で用いているNATのポート割り当てルールがCone、あるいはAddress Sensitiveである場合には、第1の情報処理装置1は、受け付けた返信パケットに対して、バブルパケット送信ポートP13を用いた再返信パケットの送信を行うことができる。したがって、第1の通信制御装置3で用いているNATのフィルタがNoフィルタかASフィルタであり、ポート割り当てルールがConeかAddress Sensitiveである場合には、第2の通信制御装置4のNATのタイプによらず、バブルパケット送信ポートP13の位置を正確に把握することができれば、第1の情報処理装置1と第2の情報処理装置2との接続を確実に実現することができることとなる。   Further, when the NAT used in the first communication control device 3 is a No filter, the first information processing device 1 can accept all reply packets. Even when the NAT used in the first communication control device 3 is an AS filter, since the bubble packet is transmitted to the second communication control device 4, all reply packets are sent to the first communication control device 3. The information processing apparatus 1 can accept the information. When the NAT port assignment rule used in the first communication control device 3 is Cone or Address Sensitive, the first information processing device 1 transmits a bubble packet to the received reply packet. A re-reply packet can be transmitted using the port P13. Therefore, if the NAT filter used in the first communication control device 3 is a No filter or an AS filter and the port assignment rule is Cone or Address Sensitive, the NAT type of the second communication control device 4 Regardless, if the position of the bubble packet transmission port P13 can be accurately grasped, the connection between the first information processing apparatus 1 and the second information processing apparatus 2 can be realized with certainty.

以上から、図17で示されるように、本実施の形態による通信システムでは、第1の通信制御装置3と第2の通信制御装置4で用いられるNATのタイプによらずに、通信を確立することができる。その結果、第1の通信制御装置3と第2の通信制御装置4で用いられるNATのタイプに関する判断を行うことなく、第1の情報処理装置1と第2の情報処理装置2との間の通信を確立することができ得る。特に、それらのNATの組み合わせが特定ものである場合には、返信パケットがバブルパケット送信対象ポートを用いないで送信されたとしても、バブルパケット送信ポートの位置を正確に検出できているときには、第1の情報処理装置1と第2の情報処理装置2との間の通信を確立することができる(図17の「◎」の場合)。なお、それ以外のとき(図17の「○」の場合)には、バブルパケット送信ポートの位置を正確に検出できたとしても、バブルパケット送信対象ポートを用いて返信パケットを送信しなければ、通信を確立することはできない。したがって、そのときには、バブルパケット送信対象ポートを用いて返信パケットを送信できるまで、通信を確立するための処理が繰り返されることとなる。なお、図17で示されるように、第1の通信制御装置3、および第2の通信制御装置4は、Open NAT(NATを用いない)であってもよい。   From the above, as shown in FIG. 17, in the communication system according to the present embodiment, communication is established regardless of the NAT type used in the first communication control device 3 and the second communication control device 4. be able to. As a result, the determination between the first information processing device 1 and the second information processing device 2 can be performed without making a determination regarding the type of NAT used in the first communication control device 3 and the second communication control device 4. Communication can be established. In particular, when the combination of these NATs is a specific one, even if the reply packet is transmitted without using the bubble packet transmission target port, the position of the bubble packet transmission port can be accurately detected. Communication between the first information processing apparatus 1 and the second information processing apparatus 2 can be established (in the case of “◎” in FIG. 17). In other cases (in the case of “◯” in FIG. 17), even if the position of the bubble packet transmission port can be accurately detected, if a reply packet is not transmitted using the bubble packet transmission target port, Communication cannot be established. Therefore, at that time, the process for establishing communication is repeated until the reply packet can be transmitted using the bubble packet transmission target port. As shown in FIG. 17, the first communication control device 3 and the second communication control device 4 may be Open NAT (not using NAT).

(実施の形態2)
本発明の実施の形態2による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、バブルパケット送信ポートの検出や、ポート幅の検出等をサーバではなく、情報処理装置において行うことによって、サーバの処理負荷を軽減するものである。
(Embodiment 2)
A communication system according to Embodiment 2 of the present invention will be described with reference to the drawings. The communication system according to the present embodiment reduces the processing load on the server by performing bubble packet transmission port detection, port width detection, and the like not in the server but in the information processing apparatus.

本実施の形態による通信システムの構成は、第1の情報処理装置1、第2の情報処理装置2、サーバ6に代えて、それぞれ第1の情報処理装置10、第2の情報処理装置20、サーバ60を備える以外、図1と同様であり、その説明を省略する。   The configuration of the communication system according to the present embodiment is different from the first information processing device 1, the second information processing device 2, and the server 6 in that the first information processing device 10, the second information processing device 20, and the like. Except for the provision of the server 60, it is the same as FIG.

図18は、本実施の形態による第1の情報処理装置10の構成を示すブロック図である。図18において、第1の情報処理装置10は、通信部11と、基準ポート受付部12と、バブルパケット送信部13と、検出用パケット送信部14と、ポート幅検出用パケット
送信部15と、返信パケット受付部17と、再返信パケット送信部18と、ポート幅受付部19と、検出用ポート情報受付部71と、バブルパケット送信ポート検出部72と、バブルパケット送信ポート送信部73と、ポート幅検出用ポート情報受付部74と、ポート幅検出部75とを備える。なお、検出用ポート情報受付部71、バブルパケット送信ポート検出部72、バブルパケット送信ポート送信部73、ポート幅検出用ポート情報受付部74、ポート幅検出部75以外の構成および動作は、ポート幅受付部19が第2の情報処理装置20からサーバ60を介して送信されたポート幅情報を受け付ける以外、実施の形態1と同様であり、その説明を省略する。
FIG. 18 is a block diagram showing a configuration of the first information processing apparatus 10 according to the present embodiment. 18, the first information processing apparatus 10 includes a communication unit 11, a reference port reception unit 12, a bubble packet transmission unit 13, a detection packet transmission unit 14, a port width detection packet transmission unit 15, Reply packet accepting unit 17, re-reply packet sending unit 18, port width accepting unit 19, detection port information accepting unit 71, bubble packet sending port detecting unit 72, bubble packet sending port sending unit 73, port A width detection port information receiving unit 74 and a port width detection unit 75 are provided. The configuration and operation other than the detection port information reception unit 71, bubble packet transmission port detection unit 72, bubble packet transmission port transmission unit 73, port width detection port information reception unit 74, and port width detection unit 75 are the same as the port width. Except for accepting the port width information transmitted from the second information processing apparatus 20 via the server 60, the accepting unit 19 is the same as in the first embodiment, and a description thereof will be omitted.

検出用ポート情報受付部71は、サーバ60から送信された検出用ポート情報を、通信部11を介して受け付ける。ここで、検出用ポート情報とは、検出用パケット送信部14によって送信されたポート検出用パケットが通過した第1の通信制御装置3のポートの位置を示す情報である。   The detection port information receiving unit 71 receives the detection port information transmitted from the server 60 via the communication unit 11. Here, the detection port information is information indicating the position of the port of the first communication control device 3 through which the port detection packet transmitted by the detection packet transmitter 14 has passed.

バブルパケット送信ポート検出部72は、検出用ポート情報受付部71が受け付けた検出用ポート情報に基づいて、バブルパケット送信ポートの位置を検出する。バブルパケット送信ポート検出部72は、ポート幅検出部75が検出した第1の通信制御装置3におけるポート幅を用いて、バブルパケット送信ポートの位置を検出する。このバブルパケット送信ポートの位置の検出は、実施の形態1におけるバブルパケット送信ポート検出部65と同様に行われるものであり、その説明を省略する。なお、バブルパケット送信ポート検出部72は、バブルパケット送信ポートの位置を検出できなかった場合に、ポート検出用パケットを再度送信する旨の指示を検出用パケット送信部14に渡し、バブルパケットを再度送信する旨の指示をバブルパケット送信部13に渡す。その結果、検出用パケット送信部14は、その指示に応じてポート検出用パケットを再度送信する。また、バブルパケット送信部13も、その指示に応じてバブルパケットを再度送信する。なお、この再送信は、バブルパケット送信ポート検出部72がバブルパケット送信ポートの位置を検出できるまで、あるいは、所定の上限の回数(例えば、10回など)や、所定の時間(例えば、30秒など)等の所定の制限まで繰り返される。   Bubble packet transmission port detection unit 72 detects the position of the bubble packet transmission port based on the detection port information received by detection port information reception unit 71. Bubble packet transmission port detector 72 detects the position of the bubble packet transmission port using the port width in first communication control device 3 detected by port width detector 75. The detection of the position of the bubble packet transmission port is performed in the same manner as the bubble packet transmission port detection unit 65 in the first embodiment, and the description thereof is omitted. When the position of the bubble packet transmission port cannot be detected, the bubble packet transmission port detection unit 72 gives an instruction to the port for packet detection again to transmit to the detection packet transmission unit 14, and the bubble packet is transmitted again. An instruction to transmit is passed to bubble packet transmitter 13. As a result, the detection packet transmitter 14 transmits the port detection packet again according to the instruction. The bubble packet transmitter 13 also transmits the bubble packet again according to the instruction. This retransmission is performed until the bubble packet transmission port detection unit 72 can detect the position of the bubble packet transmission port, or a predetermined upper limit number of times (for example, 10 times) or a predetermined time (for example, 30 seconds). Etc.) is repeated until a predetermined limit.

バブルパケット送信ポート送信部73は、バブルパケット送信ポート検出部72が検出したバブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を、サーバ60を介して第2の情報処理装置20に送信する。   The bubble packet transmission port transmission unit 73 transmits bubble packet transmission port information indicating the position of the bubble packet transmission port detected by the bubble packet transmission port detection unit 72 to the second information processing apparatus 20 via the server 60.

ポート幅検出用ポート情報受付部74は、ポート幅検出用ポート情報を受け付ける。ここで、ポート幅検出用ポート情報とは、ポート幅検出用パケット送信部15によって送信されたポート幅検出用パケットが通過した第1の通信制御装置3のポートの位置を示す情報である。このポート幅検出用ポート情報は、サーバ60から送信されたものである。   The port width detection port information receiving unit 74 receives port width detection port information. Here, the port width detection port information is information indicating the port position of the first communication control device 3 through which the port width detection packet transmitted by the port width detection packet transmitter 15 has passed. The port width detection port information is transmitted from the server 60.

ポート幅検出部75は、ポート幅検出用ポート情報受付部74が受け付けたポート幅検出用ポート情報に基づいて、第1の通信制御装置3におけるポート幅を検出する。このポート幅の検出は、実施の形態1におけるポート幅検出部64と同様に行われるものであり、その説明を省略する。   The port width detection unit 75 detects the port width in the first communication control device 3 based on the port width detection port information received by the port width detection port information reception unit 74. The detection of the port width is performed in the same manner as the port width detection unit 64 in the first embodiment, and the description thereof is omitted.

図19は、本実施の形態による第2の情報処理装置20の構成を示すブロック図である。図19において、第2の情報処理装置20は、通信部21と、基準ポート検出用パケット送信部22と、バブルパケット送信ポート受付部23と、返信パケット送信部24と、再返信パケット受付部25と、ポート幅検出用パケット送信部26と、ポート幅検出用ポート情報受付部81と、ポート幅検出部82と、ポート幅送信部83とを備える。なお、ポート幅検出用ポート情報受付部81、ポート幅検出部82、ポート幅送信部83以外の構成および動作は、実施の形態1と同様であり、その説明を省略する。   FIG. 19 is a block diagram showing a configuration of the second information processing apparatus 20 according to the present embodiment. In FIG. 19, the second information processing apparatus 20 includes a communication unit 21, a reference port detection packet transmission unit 22, a bubble packet transmission port reception unit 23, a reply packet transmission unit 24, and a re-reply packet reception unit 25. A port width detection packet transmission unit 26, a port width detection port information reception unit 81, a port width detection unit 82, and a port width transmission unit 83. The configurations and operations other than the port width detection port information receiving unit 81, the port width detection unit 82, and the port width transmission unit 83 are the same as those in the first embodiment, and a description thereof is omitted.

ポート幅検出用ポート情報受付部81は、ポート幅検出用ポート情報を受け付ける。ここで、ポート幅検出用ポート情報とは、ポート幅検出用パケット送信部26によって送信されたポート幅検出用パケットが通過した第2の通信制御装置4のポートの位置を示す情報である。このポート幅検出用ポート情報は、サーバ60から送信されたものである。   The port width detection port information receiving unit 81 receives port width detection port information. Here, the port width detection port information is information indicating the position of the port of the second communication control device 4 through which the port width detection packet transmitted by the port width detection packet transmitter 26 has passed. The port width detection port information is transmitted from the server 60.

ポート幅検出部82は、ポート幅検出用ポート情報受付部81が受け付けたポート幅検出用ポート情報に基づいて、第2の通信制御装置4におけるポート幅を検出する。このポート幅の検出は、実施の形態1におけるポート幅検出部64と同様に行われるものであり、その説明を省略する。   The port width detection unit 82 detects the port width in the second communication control device 4 based on the port width detection port information received by the port width detection port information reception unit 81. The detection of the port width is performed in the same manner as the port width detection unit 64 in the first embodiment, and the description thereof is omitted.

ポート幅送信部83は、ポート幅検出部82が検出した第2の通信制御装置4におけるポート幅を示す情報であるポート幅情報を、サーバ60を介して第1の情報処理装置10に送信する。   The port width transmission unit 83 transmits port width information, which is information indicating the port width in the second communication control device 4 detected by the port width detection unit 82, to the first information processing device 10 via the server 60. .

図20は、本実施の形態によるサーバ60の構成を示すブロック図である。図20において、サーバ60は、通信部61と、基準ポート検出部62と、基準ポート送信部63と、検出用ポート検出部91と、検出用ポート情報送信部92と、ポート幅検出用ポート検出部93と、ポート幅検出用ポート情報送信部94とを備える。なお、検出用ポート検出部91、検出用ポート情報送信部92、ポート幅検出用ポート検出部93、ポート幅検出用ポート情報送信部94以外の構成および動作は、実施の形態1と同様であり、その説明を省略する。   FIG. 20 is a block diagram showing the configuration of the server 60 according to this embodiment. 20, the server 60 includes a communication unit 61, a reference port detection unit 62, a reference port transmission unit 63, a detection port detection unit 91, a detection port information transmission unit 92, and a port width detection port detection. Unit 93 and a port width detection port information transmission unit 94. The configuration and operation other than the detection port detection unit 91, the detection port information transmission unit 92, the port width detection port detection unit 93, and the port width detection port information transmission unit 94 are the same as those in the first embodiment. The description is omitted.

検出用ポート検出部91は、第1の情報処理装置10から送信されたポート検出用パケットを受け付け、そのポート検出用パケットに基づいてポート検出用パケットが通過した第1の通信制御装置3のポートの位置を検出する。そのポート位置の検出は、ポート検出用パケットに含まれる(例えば、ポート検出用パケットのヘッダに含まれる)ポート検出用パケットが通過した第1の通信制御装置3のポートの位置を取得することによって行われる。   The detection port detection unit 91 receives the port detection packet transmitted from the first information processing apparatus 10, and the port of the first communication control apparatus 3 through which the port detection packet has passed based on the port detection packet. The position of is detected. The detection of the port position is performed by acquiring the position of the port of the first communication control device 3 through which the port detection packet included in the port detection packet (for example, included in the header of the port detection packet) has passed. Done.

検出用ポート情報送信部92は、検出用ポート検出部91が検出したポートの位置を示す検出用ポート情報を第1の情報処理装置10に送信する。   The detection port information transmission unit 92 transmits detection port information indicating the position of the port detected by the detection port detection unit 91 to the first information processing apparatus 10.

ポート幅検出用ポート検出部93は、第1の情報処理装置10から第1の通信制御装置3を介して送信されたポート幅検出用パケットを受け付け、そのポート幅検出用パケットに基づいて、そのポート幅検出用パケットが通過した第1の通信制御装置3のポートの位置を検出する。また、ポート幅検出用ポート検出部93は、第2の情報処理装置20から第2の通信制御装置4を介して送信されたポート幅検出用パケットを受け付け、そのポート幅検出用パケットに基づいて、そのポート幅検出用パケットが通過した第2の通信制御装置4のポートの位置を検出する。   The port width detection port detection unit 93 accepts a port width detection packet transmitted from the first information processing apparatus 10 via the first communication control apparatus 3, and based on the port width detection packet, The port position of the first communication control device 3 through which the port width detection packet has passed is detected. Further, the port width detection port detection unit 93 receives a port width detection packet transmitted from the second information processing device 20 via the second communication control device 4, and based on the port width detection packet. The port position of the second communication control device 4 through which the port width detection packet has passed is detected.

ポート幅検出用ポート情報送信部94は、ポート幅検出用ポート検出部93が検出した、ポート幅検出用パケットが通過した第1の通信制御装置3のポートの位置を示すポート幅検出用ポート情報を第1の情報処理装置10に送信する。また、ポート幅検出用ポート情報送信部94は、ポート幅検出用ポート検出部93が検出した、ポート幅検出用パケットが通過した第2の通信制御装置4のポートの位置を示すポート幅検出用ポート情報を第2の情報処理装置20に送信する。   The port width detection port information transmitting unit 94 detects port width detection port information indicating the position of the port of the first communication control device 3 through which the port width detection packet has been detected, detected by the port width detection port detection unit 93. Is transmitted to the first information processing apparatus 10. The port width detection port information transmission unit 94 detects the port width indicating the position of the port of the second communication control device 4 through which the port width detection packet has been detected, detected by the port width detection port detection unit 93. The port information is transmitted to the second information processing apparatus 20.

なお、ポート幅検出用パケットが通過した第1の通信制御装置3におけるポートの位置を検出する第1のポート幅検出用ポート検出部と、ポート幅検出用パケットが通過した第
2の通信制御装置4におけるポートの位置を検出する第2のポート幅検出用ポート検出部とを備えてもよい。同様に、ポート幅検出用パケットが通過した第1の通信制御装置3におけるポートの位置を示すポート幅検出用ポート情報を第1の情報処理装置10に送信する第1のポート幅検出用ポート情報送信部と、ポート幅検出用パケットが通過した第2の通信制御装置4におけるポートの位置を示すポート幅検出用ポート情報を第2の情報処理装置20に送信する第2のポート幅検出用ポート情報送信部と備えてもよい。それらを1つで実現したのが、ポート幅検出用ポート検出部93、およびポート幅検出用ポート情報送信部94である。すなわち、ポート幅検出用ポート検出部93のうち、ポート幅検出用パケットが通過した第1の通信制御装置3におけるポートの位置を検出する部分が第1のポート幅検出用ポート検出部となり、ポート幅検出用パケットが通過した第2の通信制御装置4におけるポートの位置を検出する部分が第2のポート幅検出用ポート検出部となる。同様に、ポート幅検出用ポート情報送信部94のうち、ポート幅検出用パケットが通過した第1の通信制御装置3におけるポートの位置を示すポート幅検出用ポート情報を第1の情報処理装置10に送信する部分が第1のポート幅検出用ポート情報送信部となり、ポート幅検出用パケットが通過した第2の通信制御装置4におけるポートの位置を示すポート幅検出用ポート情報を第2の情報処理装置20に送信する部分が第2のポート幅検出用ポート情報送信部となる。
A first port width detection port detection unit that detects the position of the port in the first communication control device 3 through which the port width detection packet has passed, and a second communication control device through which the port width detection packet has passed. 4 may include a second port width detection port detecting unit that detects the position of the port. Similarly, first port width detection port information for transmitting to the first information processing apparatus 10 port width detection port information indicating the position of the port in the first communication control device 3 through which the port width detection packet has passed. A second port width detection port for transmitting to the second information processing device 20 port width detection port information indicating the position of the port in the transmission unit and the second communication control device 4 through which the port width detection packet has passed. You may provide with an information transmission part. A single port width detection port detection unit 93 and a port width detection port information transmission unit 94 have realized them. That is, in the port width detection port detection unit 93, the part that detects the position of the port in the first communication control device 3 through which the port width detection packet has passed becomes the first port width detection port detection unit. The part that detects the position of the port in the second communication control unit 4 through which the width detection packet has passed becomes the second port width detection port detection unit. Similarly, in the port width detection port information transmission unit 94, port width detection port information indicating the position of the port in the first communication control device 3 through which the port width detection packet has passed is obtained as the first information processing apparatus 10. The first port width detection port information transmission unit is a portion that transmits the port width detection port information, and port width detection port information indicating the position of the port in the second communication control device 4 through which the port width detection packet has passed is second information. The part transmitted to the processing device 20 is the second port width detection port information transmission unit.

次に、本実施の形態による通信システムの動作について説明する。なお、本実施の形態による通信システムが通信を開始するまでの動作は、バブルパケット送信ポートの検出や、バブルパケット等の再送信の指示を第1の情報処理装置10で行う以外、実施の形態1における図5で示される動作と同様であり、その説明を省略する。   Next, the operation of the communication system according to the present embodiment will be described. The operations until the communication system according to the present embodiment starts communication are the same as those in the embodiment except that the first information processing apparatus 10 instructs the first information processing apparatus 10 to detect a bubble packet transmission port or to retransmit a bubble packet or the like. 1 is the same as the operation shown in FIG.

次に、図5のフローチャートにおけるステップS101の処理について、図21を用いて説明する。図21は、送信側、サーバ、受信側の間における情報のやり取りや処理を説明するための図である。なお、ステップS201〜S206の処理は、実施の形態1における図6に関する説明と同様であり、その説明を省略する。   Next, the process of step S101 in the flowchart of FIG. 5 will be described with reference to FIG. FIG. 21 is a diagram for explaining the exchange and processing of information among the transmission side, the server, and the reception side. Note that the processing in steps S201 to S206 is the same as that described with reference to FIG. 6 in the first embodiment, and description thereof is omitted.

(ステップS501)サーバ60のポート幅検出用ポート検出部93は、第1の情報処理装置10から送信されたポート幅検出用パケットを受け付ける。そして、ポート幅検出用ポート検出部93は、ポート幅検出用パケットのヘッダに含まれる、そのポート幅検出用パケットの通過した第1の通信制御装置3のポートの位置を検出する。   (Step S501) The port width detection port detector 93 of the server 60 receives the port width detection packet transmitted from the first information processing apparatus 10. Then, the port width detection port detection unit 93 detects the position of the port of the first communication control device 3 through which the port width detection packet has passed, which is included in the header of the port width detection packet.

(ステップS502)ポート幅検出用ポート情報送信部94は、ポート幅検出用ポート検出部93によって検出された、ポート幅検出用パケットの通過した第1の通信制御装置3のポートの位置を示す情報であるポート幅検出用ポート情報を第1の情報処理装置10に送信する。そのポート幅検出用ポート情報は、第1の情報処理装置10におけるポート幅検出用ポート情報受付部74で受け付けられる。   (Step S502) The port width detection port information transmitter 94 detects the port position of the first communication control device 3 through which the port width detection packet has been detected, which is detected by the port width detection port detector 93. Is transmitted to the first information processing apparatus 10. The port width detection port information is received by the port width detection port information receiving unit 74 in the first information processing apparatus 10.

(ステップS503)ポート幅検出部75は、ポート幅検出用ポート情報受付部74で受け付けられたポート幅検出用ポート情報に基づいて、第1の通信制御装置3のポート幅を検出する。なお、このポート幅の検出は、実施の形態1と同様に行われるものであり、その説明を省略する。   (Step S503) The port width detection unit 75 detects the port width of the first communication control device 3 based on the port width detection port information received by the port width detection port information reception unit 74. The detection of the port width is performed in the same manner as in the first embodiment, and the description thereof is omitted.

(ステップS504)サーバ60のポート幅検出用ポート検出部93は、第2の情報処理装置20から送信されたポート幅検出用パケットを受け付ける。そして、ポート幅検出用ポート検出部93は、ポート幅検出用パケットのヘッダに含まれる、そのポート幅検出用パケットの通過した第2の通信制御装置4のポートの位置を検出する。   (Step S <b> 504) The port width detection port detector 93 of the server 60 receives the port width detection packet transmitted from the second information processing apparatus 20. Then, the port width detection port detection unit 93 detects the position of the port of the second communication control device 4 through which the port width detection packet has passed, which is included in the header of the port width detection packet.

(ステップS505)ポート幅検出用ポート情報送信部94は、ポート幅検出用ポート
検出部93によって検出された、ポート幅検出用パケットの通過した第2の通信制御装置4のポートの位置を示す情報であるポート幅検出用ポート情報を第2の情報処理装置20に送信する。そのポート幅検出用ポート情報は、第2の情報処理装置20におけるポート幅検出用ポート情報受付部81で受け付けられる。
(Step S505) The port width detection port information transmission unit 94 indicates information indicating the position of the port of the second communication control device 4 through which the port width detection packet has been detected, which is detected by the port width detection port detection unit 93. Is transmitted to the second information processing apparatus 20. The port width detection port information is received by the port width detection port information receiving unit 81 in the second information processing apparatus 20.

(ステップS506)ポート幅検出部82は、ポート幅検出用ポート情報受付部81で受け付けられたポート幅検出用ポート情報に基づいて、第2の通信制御装置4のポート幅を検出する。なお、このポート幅の検出は、実施の形態1と同様に行われるものであり、その説明を省略する。   (Step S506) The port width detection unit 82 detects the port width of the second communication control device 4 based on the port width detection port information received by the port width detection port information reception unit 81. The detection of the port width is performed in the same manner as in the first embodiment, and the description thereof is omitted.

(ステップS507)ポート幅送信部83は、第2の通信制御装置4のポート幅を示す情報であるポート幅情報を、そのポート幅情報を第1の情報処理装置10に送信する旨の指示と共にサーバ60に送信する。   (Step S507) The port width transmission unit 83 transmits port width information, which is information indicating the port width of the second communication control apparatus 4, together with an instruction to transmit the port width information to the first information processing apparatus 10. Send to server 60.

(ステップS508)サーバ60の通信部61は、ポート幅情報を受信し、そのポート幅情報を第1の情報処理装置10に送信する。そのポート幅情報は、第1の情報処理装置10におけるポート幅受付部19で受け付けられる。   (Step S <b> 508) The communication unit 61 of the server 60 receives the port width information and transmits the port width information to the first information processing apparatus 10. The port width information is received by the port width receiving unit 19 in the first information processing apparatus 10.

次に、図5のフローチャートにおけるステップS102の処理について、図22を用いて説明する。図22は、送信側、サーバ、受信側の間における情報のやり取りや処理を説明するための図である。なお、ステップS301〜S303の処理は、ポート検出用パケットがサーバ60における検出用ポート検出部91で受け付けられる以外、実施の形態1における図8に関する説明と同様であり、その説明を省略する。   Next, the process of step S102 in the flowchart of FIG. 5 will be described with reference to FIG. FIG. 22 is a diagram for explaining the exchange and processing of information among the transmission side, the server, and the reception side. Note that the processing in steps S301 to S303 is the same as that described in FIG. 8 in the first embodiment except that the port detection packet is received by the detection port detection unit 91 in the server 60, and the description thereof is omitted.

(ステップS601)サーバ60の検出用ポート検出部91は、第1の情報処理装置10から送信されたポート検出用パケットを受け付ける。そして、検出用ポート検出部91は、ポート検出用パケットのヘッダに含まれる、そのポート検出用パケットの通過した第1の通信制御装置3のポートの位置を検出する。   (Step S <b> 601) The detection port detection unit 91 of the server 60 receives the port detection packet transmitted from the first information processing apparatus 10. Then, the detection port detection unit 91 detects the position of the port of the first communication control device 3 through which the port detection packet has passed, which is included in the header of the port detection packet.

(ステップS602)検出用ポート情報送信部92は、検出用ポート検出部91によって検出された、ポート検出用パケットの通過した第1の通信制御装置3のポートの位置を示す検出用ポート情報を第1の情報処理装置10に送信する。その検出用ポート情報は、第1の情報処理装置10における検出用ポート情報受付部71で受け付けられる。   (Step S602) The detection port information transmission unit 92 sets detection port information indicating the position of the port of the first communication control device 3 through which the port detection packet has been detected, detected by the detection port detection unit 91. 1 to the information processing apparatus 10. The detection port information is received by the detection port information receiving unit 71 in the first information processing apparatus 10.

(ステップS603)サーバ60の検出用ポート検出部91は、第1の情報処理装置10から送信されたポート検出用パケットを受け付ける。そして、検出用ポート検出部91は、ポート検出用パケットのヘッダに含まれる、そのポート検出用パケットの通過した第1の通信制御装置3のポートの位置を検出する。   (Step S <b> 603) The detection port detection unit 91 of the server 60 receives the port detection packet transmitted from the first information processing apparatus 10. Then, the detection port detection unit 91 detects the position of the port of the first communication control device 3 through which the port detection packet has passed, which is included in the header of the port detection packet.

(ステップS604)検出用ポート情報送信部92は、検出用ポート検出部91によって検出された、ポート検出用パケットの通過した第1の通信制御装置3のポートの位置を示す検出用ポート情報を第1の情報処理装置10に送信する。その検出用ポート情報は、第1の情報処理装置10における検出用ポート情報受付部71で受け付けられる。   (Step S604) The detection port information transmitting unit 92 sets detection port information indicating the position of the port of the first communication control device 3 through which the port detection packet has been detected, which is detected by the detection port detection unit 91. 1 to the information processing apparatus 10. The detection port information is received by the detection port information receiving unit 71 in the first information processing apparatus 10.

(ステップS605)第1の情報処理装置10のバブルパケット送信ポート検出部72は、ステップS301、S303における、2つのポート検出用パケットの送信で用いられた第1の通信制御装置3のポートの位置と、バブルパケット送信ポートとが連続しているかどうかを判断する。なお、具体的な判断手法については、実施の形態1と同様であり、その説明を省略する。   (Step S605) The bubble packet transmission port detector 72 of the first information processing device 10 determines the position of the port of the first communication control device 3 used in the transmission of the two port detection packets in steps S301 and S303. And the bubble packet transmission port are determined. Note that the specific determination method is the same as that of the first embodiment, and a description thereof will be omitted.

なお、図22のフローチャートにおいて、第1の情報処理装置10がステップS602で送信された検出用ポート情報を受信してからバブルパケットを送信する場合について説明しているが、検出用ポート情報の受信と、バブルパケットの送信との順序はこれに限定されない。例えば、2回目のポート検出用パケットの送信(ステップS303)を行った後に、1回目の検出用ポート情報の送信(ステップS602)、および2回目の検出用ポート情報の送信(ステップS604)を行ってもよい。また、ステップS601,S603で検出したポート位置を示す検出用ポート情報を、まとめて送信してもよい。   In the flowchart of FIG. 22, the case where the first information processing apparatus 10 transmits the bubble packet after receiving the detection port information transmitted in step S602 has been described. The order of transmission of bubble packets is not limited to this. For example, after the second port detection packet transmission (step S303), the first detection port information transmission (step S602) and the second detection port information transmission (step S604) are performed. May be. In addition, detection port information indicating the port positions detected in steps S601 and S603 may be transmitted together.

次に、図5のフローチャートにおけるステップS104の処理について、図23を用いて説明する。図23は、送信側、サーバ、受信側の間における情報のやり取りや処理を説明するための図である。なお、ステップS403、S404の処理は、実施の形態1における図9に関する説明と同様であり、その説明を省略する。   Next, the process of step S104 in the flowchart of FIG. 5 will be described with reference to FIG. FIG. 23 is a diagram for explaining the exchange and processing of information among the transmission side, the server, and the reception side. Note that the processing in steps S403 and S404 is the same as that described with reference to FIG. 9 in the first embodiment, and the description thereof is omitted.

(ステップS701)第1の情報処理装置10のバブルパケット送信ポート検出部72は、バブルパケット送信ポートの位置を検出する。なお、具体的な判断手法については、実施の形態1と同様であり、その説明を省略する。   (Step S701) The bubble packet transmission port detector 72 of the first information processing apparatus 10 detects the position of the bubble packet transmission port. Note that the specific determination method is the same as that of the first embodiment, and a description thereof will be omitted.

(ステップS702)第1の情報処理装置10のバブルパケット送信ポート送信部73は、バブルパケット送信ポート情報を、そのバブルパケット送信ポート情報を第2の情報処理装置20に送信する旨の指示と共にサーバ60に送信する。   (Step S702) The bubble packet transmission port transmission unit 73 of the first information processing apparatus 10 transmits the bubble packet transmission port information together with an instruction to transmit the bubble packet transmission port information to the second information processing apparatus 20. 60.

(ステップS703)サーバ60の通信部61は、バブルパケット送信ポート情報を受信し、そのバブルパケット送信ポート情報を第2の情報処理装置20に送信する。そのバブルパケット送信ポート情報は、第2の情報処理装置20におけるバブルパケット送信ポート受付部23で受け付けられる。   (Step S <b> 703) The communication unit 61 of the server 60 receives the bubble packet transmission port information, and transmits the bubble packet transmission port information to the second information processing apparatus 20. The bubble packet transmission port information is received by the bubble packet transmission port reception unit 23 in the second information processing apparatus 20.

なお、本実施の形態における通信システムの動作の具体例については、第1の通信制御装置3、および第2の通信制御装置4におけるポート幅の検出を、それぞれ第1の情報処理装置10、および第2の情報処理装置20で行い、バブルパケット送信ポートの位置の検出を第1の情報処理装置10で行い、それらに付随して行われる処理(例えば、バブルパケット送信ポート情報の第1の情報処理装置10から第2の情報処理装置20までの送信など)を行う以外、実施の形態1における具体例と同様であり、その説明を省略する。   In addition, about the specific example of operation | movement of the communication system in this Embodiment, the detection of the port width in the 1st communication control apparatus 3 and the 2nd communication control apparatus 4 is 1st information processing apparatus 10, and Performed by the second information processing device 20, the position of the bubble packet transmission port is detected by the first information processing device 10, and processing performed accompanying them (for example, the first information of the bubble packet transmission port information) Except for transmission from the processing apparatus 10 to the second information processing apparatus 20, etc.), and the description thereof will be omitted.

以上から、本実施の形態による通信システムでは、実施の形態1と同様の効果に加え、第1の通信制御装置3、および第2の通信制御装置4におけるポート幅の検出や、バブルパケット送信ポートの位置の検出等を第1の情報処理装置10、および第2の情報処理装置20において行うことによって、サーバ60における処理負担を軽減することができる。特に、待ち受けの必要な処理(例えば、1回目のポート検出用パケットが送信された後に、2回目のポート検出用パケットが送信されるのを待つ処理など)は処理負担が大きいため、そのような待ち受けの必要な処理をサーバで行わないことにより、サーバ60における処理負担が大幅に軽減される。   As described above, in the communication system according to the present embodiment, in addition to the same effects as those of the first embodiment, the detection of the port width and the bubble packet transmission port in the first communication control device 3 and the second communication control device 4 The processing load on the server 60 can be reduced by detecting the position of the first information processing apparatus 10 and the second information processing apparatus 20. In particular, processing that requires standby (for example, processing that waits for the second port detection packet to be transmitted after the first port detection packet is transmitted) has a large processing load. By not performing processing that requires standby on the server, the processing load on the server 60 is greatly reduced.

なお、本実施の形態では、第1の通信制御装置3におけるポート幅の検出を第1の情報処理装置10で行う場合について説明したが、第1の情報処理装置10では、バブルパケット送信ポートの検出、およびバブルパケット送信ポートの送信を行い、第1の通信制御装置3におけるポート幅の検出は、実施の形態1と同様にサーバにおいて行ってもよい。同様に、第2の通信制御装置4におけるポート幅の検出、およびバブルパケット送信ポートの位置の検出のいずれかを、実施の形態1と同様にサーバにおいて行ってもよい。   In the present embodiment, the case where the first information processing apparatus 10 detects the port width in the first communication control apparatus 3 has been described. However, in the first information processing apparatus 10, the bubble packet transmission port The detection and transmission of the bubble packet transmission port may be performed, and the detection of the port width in the first communication control device 3 may be performed in the server as in the first embodiment. Similarly, either the detection of the port width in the second communication control device 4 or the detection of the position of the bubble packet transmission port may be performed in the server as in the first embodiment.

また、本実施の形態では、第2の通信制御装置4におけるポート幅の検出を第2の情報
処理装置20で行う場合について説明したが、第2の通信制御装置4におけるポート幅の検出を第1の情報処理装置10において行ってもよい。このようにすることで、第2の情報処理装置20から第1の情報処理装置10に、サーバ60を介してポート幅情報を送信しなくてよくなる。なお、この場合には、第2の情報処理装置20から送信されたポート幅検出用パケットの通過した第2の通信制御装置4におけるポートの位置を示す情報であるポート幅検出用ポート情報は、サーバ60から第1の情報処理装置10に送信されることになる。
In the present embodiment, the case where the second information processing apparatus 20 detects the port width in the second communication control apparatus 4 has been described. However, the detection of the port width in the second communication control apparatus 4 It may be performed in one information processing apparatus 10. By doing so, it is not necessary to transmit port width information from the second information processing apparatus 20 to the first information processing apparatus 10 via the server 60. In this case, port width detection port information, which is information indicating the position of the port in the second communication control device 4 through which the port width detection packet transmitted from the second information processing device 20 has passed, The data is transmitted from the server 60 to the first information processing apparatus 10.

また、本実施の形態では、バブルパケット送信ポートの検出を第1の情報処理装置10で行う場合について説明したが、バブルパケット送信ポートの検出を第2の情報処理装置20において行ってもよい。このようにすることで、第1の情報処理装置10から第2の情報処理装置20に、サーバ60を介してバブルパケット送信ポート情報を送信しなくてよくなる。なお、この場合には、第1の情報処理装置10から送信されたポート検出用パケットの通過した第1の通信制御装置3におけるポートの位置を示す情報である検出用ポート情報は、サーバ60から第2の情報処理装置20に送信されることになる。また、この場合には、第1の通信制御装置3におけるポート幅の検出を第2の情報処理装置20において行ってもよい。   In the present embodiment, the case where the bubble packet transmission port is detected by the first information processing apparatus 10 has been described, but the bubble packet transmission port may be detected by the second information processing apparatus 20. By doing so, it is not necessary to transmit bubble packet transmission port information from the first information processing apparatus 10 to the second information processing apparatus 20 via the server 60. In this case, the detection port information, which is information indicating the position of the port in the first communication control device 3 through which the port detection packet transmitted from the first information processing device 10 has passed, is received from the server 60. It is transmitted to the second information processing apparatus 20. In this case, the second information processing device 20 may detect the port width in the first communication control device 3.

また、本実施の形態では、基準ポート情報がサーバ60から第1の情報処理装置10に送信される場合について説明したが、基準ポート情報は、基準ポート検出用パケットを送信した第2の情報処理装置20に送信されてもよい。この場合には、第2の情報処理装置20からサーバ60を介して、第1の情報処理装置10に基準ポート情報が再度、送信されることになる。   In the present embodiment, the case where the reference port information is transmitted from the server 60 to the first information processing apparatus 10 has been described. However, the reference port information is the second information processing that transmits the reference port detection packet. It may be transmitted to the device 20. In this case, the reference port information is transmitted again from the second information processing apparatus 20 to the first information processing apparatus 10 via the server 60.

また、本実施の形態において、ポート幅検出用パケット、基準ポート検出用パケット、ポート検出用パケットに、それらのパケットが通過した通信制御装置におけるポートの位置を示す情報を送信する情報処理装置を特定するための情報(例えば、機器IDやIPアドレスなど)が含まれており、サーバ60では、その情報に基づいて、検出したポートの位置を示す情報を送信してもよい。例えば、ポート幅検出用パケット送信部15が送信するポート幅検出用パケットに、ポート幅検出用ポート情報の送信先である第1の情報処理装置10の機器IDが含まれており、ポート幅検出用ポート情報送信部94は、その機器IDに対応する第1の情報処理装置10にポート幅検出用ポート情報を送信してもよい。   Also, in this embodiment, an information processing device that transmits information indicating the port position in the communication control device through which the packet has passed is specified for the port width detection packet, the reference port detection packet, and the port detection packet. Information (for example, a device ID and an IP address) is included, and the server 60 may transmit information indicating the detected port position based on the information. For example, the port width detection packet transmitted by the port width detection packet transmitter 15 includes the device ID of the first information processing apparatus 10 that is the transmission destination of the port width detection port information. The port information transmission unit 94 may transmit port width detection port information to the first information processing apparatus 10 corresponding to the device ID.

(実施の形態3)
本発明の実施の形態3による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、片方の情報処理装置が、通信制御装置を介さないで直接通信を行うものである。
(Embodiment 3)
A communication system according to Embodiment 3 of the present invention will be described with reference to the drawings. In the communication system according to the present embodiment, one information processing apparatus performs direct communication without using a communication control apparatus.

図24は、本実施の形態による通信システムの構成を示すブロック図である。図24において、本実施の形態による通信システムは、第1の情報処理装置1と、第2の情報処理装置2と、第1の通信制御装置3と、サーバ6とを備える。なお、この図24で示される本実施の形態による通信システムは、第2の通信制御装置を備えない以外、実施の形態1による通信システムと同様のものである。また、第1の情報処理装置1、第2の情報処理装置2、サーバ6の構成および動作は、実施の形態1と同様であり、その説明を省略する。   FIG. 24 is a block diagram showing a configuration of a communication system according to the present embodiment. 24, the communication system according to the present embodiment includes a first information processing device 1, a second information processing device 2, a first communication control device 3, and a server 6. The communication system according to the present embodiment shown in FIG. 24 is the same as the communication system according to the first embodiment except that the second communication control device is not provided. The configurations and operations of the first information processing apparatus 1, the second information processing apparatus 2, and the server 6 are the same as those in the first embodiment, and a description thereof is omitted.

ここで、第2の情報処理装置2は、通信制御装置を介さないで通信を行うものであるため、第2の情報処理装置2は、Full Cone NATの通信制御装置を介して通信を行っているように判断される。したがって、本実施の形態における動作は、実施の形態1において第2の通信制御装置4がFull Cone NATである場合と同様の処理
となり、第1の情報処理装置1と第2の情報処理装置2との間の通信を確立することができる(図17において、片方のNATがOpen NATである場合が、本実施の形態に対応する)。
Here, since the second information processing apparatus 2 performs communication without using the communication control apparatus, the second information processing apparatus 2 performs communication through the communication control apparatus of the Full Cone NAT. To be judged. Therefore, the operation in the present embodiment is the same as that in the first embodiment when the second communication control device 4 is a Full Cone NAT, and the first information processing device 1 and the second information processing device 2 are the same. (In FIG. 17, the case where one NAT is an Open NAT corresponds to this embodiment).

以上のように、本実施の形態による通信システムによれば、第2の情報処理装置2が通信制御装置を介さないで通信を行う場合であっても、第1の情報処理装置1と第2の情報処理装置2との間の通信を確立することができる。   As described above, according to the communication system according to the present embodiment, even when the second information processing apparatus 2 performs communication without going through the communication control apparatus, the first information processing apparatus 1 and the second information processing apparatus 2 Communication with the information processing apparatus 2 can be established.

なお、本実施の形態では、実施の形態1の通信システムにおいて、第2の通信制御装置を備えない構成について説明したが、実施の形態2の通信システムにおいて、第2の通信制御装置を備えない構成であってもよい。このような、第2の情報処理装置が通信制御装置を介さない場合であっても、第1の情報処理装置と第2の情報処理装置との間の通信を確立することができる。   In the present embodiment, the configuration in which the second communication control device is not provided in the communication system in the first embodiment has been described, but the second communication control device is not provided in the communication system in the second embodiment. It may be a configuration. Even when the second information processing apparatus does not pass through the communication control apparatus, communication between the first information processing apparatus and the second information processing apparatus can be established.

また、本実施の形態では、第2の情報処理装置2が通信制御装置を介さないで通信を行う場合について説明したが、第2の情報処理装置2は、通信制御装置を介して通信を行い、第1の情報処理装置1が通信制御装置を介さないで通信を行う場合であっても、同様に第1の情報処理装置1と第2の情報処理装置2との間の通信を確立することができる。   Moreover, although the case where the second information processing apparatus 2 performs communication without using the communication control apparatus has been described in the present embodiment, the second information processing apparatus 2 performs communication via the communication control apparatus. Even when the first information processing apparatus 1 performs communication without going through the communication control apparatus, the communication between the first information processing apparatus 1 and the second information processing apparatus 2 is similarly established. be able to.

なお、上記各実施の形態において、サーバ6,60が情報処理装置に相手方の通信制御装置のIPアドレスを通知する機能を有する場合について説明したが、この機能は、サーバ6等とは別のサーバにおいて実現されてもよい。すなわち、一方の情報処理装置に他方の通信制御装置のアドレスを通知するサーバと、バブルパケット送信ポートを検出する処理等を行うサーバとは別のサーバであってもよい。すなわち、図25で示される通信システムにおいて、第1の情報処理装置1、および第2の情報処理装置2は、第1の通信制御装置3、および第2の通信制御装置4のアドレスをアドレスサーバ6bから取得し、情報処理装置間の通信を確立する処理においては、サーバ6aを用いるようにしてもよい。   In each of the above embodiments, the case where the servers 6 and 60 have a function of notifying the information processing apparatus of the IP address of the communication control apparatus of the other party has been described. However, this function is different from the server 6 and the like. May be realized. In other words, a server that notifies one information processing device of the address of the other communication control device and a server that performs processing for detecting a bubble packet transmission port and the like may be different servers. That is, in the communication system shown in FIG. 25, the first information processing apparatus 1 and the second information processing apparatus 2 use the addresses of the first communication control apparatus 3 and the second communication control apparatus 4 as address servers. The server 6a may be used in the processing acquired from 6b and establishing communication between the information processing apparatuses.

また、一方の情報処理装置に他方の通信制御装置(通信制御装置を備えない場合には情報処理装置)のアドレスを通知する処理や、発呼側の情報処理装置が相手方(着呼側)の情報処理装置を呼び出す処理等において、SIP(Session Initiation Protocol)を用いてもよい。   Also, the process of notifying the address of the other communication control device (or the information processing device if no communication control device is provided) to one information processing device or the information processing device on the calling side being the partner (calling side) SIP (Session Initiation Protocol) may be used in processing for calling an information processing apparatus.

また、上記各実施の形態では、基準ポートが基準ポート検出用パケットの送信時に、最新に割り当てられるポートであると説明したが、この基準ポートは最新に割り当てられるポートでなくてもよい。例えば、第2の通信制御装置4に接続されている機器が第2の情報処理装置2、20のみであり、第2の通信制御装置4で使用されているポートの数を大体把握することができる場合には、サーバ6、60との通信で用いている第2の通信制御装置4のポートを基準ポートとしてもよい。この場合には、基準ポート検出用パケットは、サーバ6、60と通信を行うパケットとなる。   In each of the above embodiments, it has been described that the reference port is the most recently assigned port when the reference port detection packet is transmitted. However, this reference port may not be the most recently assigned port. For example, the devices connected to the second communication control device 4 are only the second information processing devices 2 and 20, and it is possible to roughly grasp the number of ports used in the second communication control device 4. If possible, the port of the second communication control device 4 used for communication with the servers 6 and 60 may be used as the reference port. In this case, the reference port detection packet is a packet for communicating with the servers 6 and 60.

また、上記各実施の形態では、主にポート検出用パケットをバブルパケットの送信の前後で2回送信する場合について説明したが、ポート検出用パケットをバブルパケットの送信の前後のいずれか1回送信するだけでもよい。この場合には、バブルパケット送信ポートと、ポート検出用パケットの送信で用いられた第1の通信制御装置3のポートとが連続していると仮定してバブルパケット送信ポートの検出を行う。もし、その仮定が正しくなかった場合には、再度、基準ポート検出用パケットの送信等を行うこととなる(ステップS101からの処理を繰り返す)。   In each of the above embodiments, the case where the port detection packet is mainly transmitted twice before and after the transmission of the bubble packet has been described. However, the port detection packet is transmitted any one time before and after the transmission of the bubble packet. Just do it. In this case, the bubble packet transmission port is detected on the assumption that the bubble packet transmission port and the port of the first communication control device 3 used for transmitting the port detection packet are continuous. If the assumption is not correct, the reference port detection packet is transmitted again (the processing from step S101 is repeated).

また、上記各実施の形態では、バブルパケット送信ポート検出部65、72によって、
バブルパケット送信ポートの位置を検出できるかどうか判断してから、バブルパケット送信ポートの位置の検出を行う場合について説明したが、所定の場合には、その判断を行わないで、バブルパケット送信ポートの位置の検出を行ってもよい。その所定の場合とは、例えば、第1の通信制御装置3に第1の情報処理装置1、10以外が接続されておらず、バブルパケット送信ポートと、ポート検出用パケットの送信で用いられた第1の通信制御装置3のポートとが連続する可能性が高い場合などがある。もしこの場合に、検出したバブルパケット送信ポートの位置が誤ったものであり、第1の通信制御装置3で用いているNATのタイプが所定のものであれば、返信パケットを第1の情報処理装置1、10が受け付けられないこととなり、再度、基準ポート検出用パケットの送信から繰り返されることとなる。
In each of the above embodiments, the bubble packet transmission port detectors 65 and 72
Although the case where the position of the bubble packet transmission port is detected after determining whether the position of the bubble packet transmission port can be detected has been described, in a predetermined case, the determination of the bubble packet transmission port is not performed without performing the determination. The position may be detected. The predetermined case means that, for example, the first communication control device 3 is not connected to any device other than the first information processing devices 1 and 10 and is used for transmitting the bubble packet transmission port and the port detection packet. There is a case where there is a high possibility that the port of the first communication control device 3 is continuous. In this case, if the position of the detected bubble packet transmission port is incorrect and the NAT type used in the first communication control device 3 is a predetermined type, the reply packet is processed as the first information processing. The devices 1 and 10 are not accepted, and the process is repeated from the transmission of the reference port detection packet again.

また、バブルパケット送信ポート検出部65、72において、バブルパケット送信ポートと、ポート検出用パケットの送信で用いられた第1の通信制御装置3のポートとが連続しないと判断された場合には、上記各実施の形態における説明のように再送信指示を第1の情報処理装置1に送信したり、バブルパケット送信装置13等に再送信の指示を行ったりしてもよく、あるいは、通信の確立の処理を終了してもよく、基準ポート検出用パケットの送信からの処理を再度行ってもよい。   When the bubble packet transmission port detectors 65 and 72 determine that the bubble packet transmission port and the port of the first communication control device 3 used for transmitting the port detection packet are not continuous, As described in the above embodiments, a retransmission instruction may be transmitted to the first information processing apparatus 1, a retransmission instruction may be issued to the bubble packet transmission apparatus 13 or the like, or communication establishment may be performed. The processing from the transmission of the reference port detection packet may be performed again.

また、バブルパケット送信ポート検出部65、72では、バブルパケット送信ポートと、ポート検出用パケットの送信で用いられた第1の通信制御装置3のポートとが連続であるかどうかの判断を、連続である蓋然性が高い場合には連続であると判断することにより行ってもよい。例えば、第1の通信制御装置3のポート幅が「1」と「2」で変化し得る場合(例えば、時間的に変わる場合)には、ポート検出用パケットの送信で用いられた第1の通信制御装置3のポートの間隔が「2」、「3」、「4」であれば連続である可能性があるため、連続であると判断してその後の処理に進むようにしてもよい。なお、この場合でも、例えば、ポート検出用パケットの送信で用いられた第1の通信制御装置3のポートの間隔が「5」であれば、連続でないと判断される。   The bubble packet transmission port detectors 65 and 72 continuously determine whether or not the bubble packet transmission port and the port of the first communication control device 3 used for transmitting the port detection packet are continuous. When the probability of being is high, it may be performed by determining that it is continuous. For example, when the port width of the first communication control device 3 can change between “1” and “2” (for example, when it changes over time), the first used for transmission of the port detection packet If the port interval of the communication control device 3 is “2”, “3”, or “4”, there is a possibility that the port is continuous. Even in this case, for example, if the interval of the ports of the first communication control device 3 used for transmission of the port detection packet is “5”, it is determined that it is not continuous.

また、上記各実施の形態では、ポート幅検出部64、75、82によってポート幅を検出する場合について説明したが、このポート幅は、ユーザによる手入力や所定の記録媒体(例えば、CD−ROMや着脱可能なメモリ等)、通信等によってサーバ6、60や第1の情報処理装置1、10に渡されてもよく、あるいは、第1の通信制御装置3等において記憶されているポート幅を取得してもよい。このことは、第1の情報処理装置1、10等が第2の通信制御装置4等のIPアドレスを知ることについてもいえることである。すなわち、IPアドレスが、ユーザの手入力等によって第1の情報処理装置1、10等に入力されてもよい。   In each of the above-described embodiments, the case where the port width is detected by the port width detectors 64, 75, and 82 has been described. This port width can be manually input by a user or a predetermined recording medium (for example, a CD-ROM). Or a removable memory, etc.), may be passed to the servers 6 and 60 and the first information processing apparatus 1 and 10 by communication, or the port width stored in the first communication control apparatus 3 or the like You may get it. This also applies to the fact that the first information processing device 1, 10, etc. knows the IP address of the second communication control device 4, etc. That is, the IP address may be input to the first information processing apparatus 1, 10 or the like by a user's manual input or the like.

また、上記各実施の形態では、第1の情報処理装置1、10がバブルパケット、およびポート検出用パケットを、第1の情報処理装置1、10のそれぞれ新たなポートを用いて送信する場合について説明したが、例えば、第1の情報処理装置1が第1の通信制御装置3がPort Sensitiveのポート割り当てルールであるNATを用いていることを検知した場合には、第1の情報処理装置1、10は、バブルパケット、およびポート検出用パケットを、第1の情報処理装置1、10の同一のポートから送信してもよい。ただし、この場合には、ポート検出用パケットの送信先のポート(サーバ6、60のポート)を異なるものにしておく必要がある。   In each of the above embodiments, the first information processing apparatuses 1 and 10 transmit a bubble packet and a port detection packet using the new ports of the first information processing apparatuses 1 and 10, respectively. As described above, for example, when the first information processing apparatus 1 detects that the first communication control apparatus 3 uses the NAT that is the port assignment rule of Port Sensitive, the first information processing apparatus 1 10 may transmit the bubble packet and the port detection packet from the same port of the first information processing apparatus 1 or 10. However, in this case, it is necessary to make the transmission destination ports (ports of the servers 6 and 60) of the port detection packet different.

また、上記各実施の形態では、返信パケットの送信時に新たに割り当てられた第2の通信制御装置4のポートを用いて返信パケットを送信する場合について説明したが、これは一例であって、返信パケットの送信で用いられる第2の通信制御装置4のポートに、それまでに使用されているポート、例えば、基準ポート検出用パケットの送信で用いられたポ
ートなどが含まれていてもよい。
In each of the above embodiments, the case where the reply packet is transmitted using the port of the second communication control device 4 newly assigned at the time of transmission of the reply packet has been described. Ports of the second communication control device 4 used for packet transmission may include ports used so far, for example, ports used for transmission of reference port detection packets.

また、基準ポートからバブルパケット送信対象ポートまでにおいて割り当て可能なポートの数(α)を、バブルパケット等の再送を行うごとに、大きくしてもよい。すなわち、バブルパケット送信部13は、バブルパケット等を再送するごとに、より基準ポートから離れたバブルパケット送信対象ポートに対してバブルパケットを送信してもよい。このようにすることで、返信パケットが送信されるまでにバブルパケット送信対象ポートが使用されることを、より回避しやすくなる。   Further, the number (α) of ports that can be allocated from the reference port to the bubble packet transmission target port may be increased every time a bubble packet or the like is retransmitted. That is, every time the bubble packet transmission unit 13 retransmits the bubble packet, the bubble packet transmission unit 13 may transmit the bubble packet to a bubble packet transmission target port that is further away from the reference port. This makes it easier to avoid the use of the bubble packet transmission target port until the reply packet is transmitted.

また、上記各実施の形態では、返信パケット送信部24がバブルパケット送信部13から、サーバ6を介して、基準ポートからバブルパケット送信対象ポートまでにおいて割り当て可能なポートの数(α)を受け付ける場合について説明したが、そのαの値は、サーバ6、60から、バブルパケット送信部13と返信パケット送信部24とに送信されてもよく(この場合には、ポート幅情報が第1の情報処理装置1に送信されなくてもよい)、また、第1の情報処理装置1、10、および第2の情報処理装置2、20において、そのαの値があらかじめ設定されていてもよい。   In each of the above embodiments, the reply packet transmission unit 24 receives the number (α) of ports that can be allocated from the reference port to the bubble packet transmission target port via the server 6 from the bubble packet transmission unit 13. The value of α may be transmitted from the servers 6 and 60 to the bubble packet transmitter 13 and the reply packet transmitter 24 (in this case, the port width information is the first information processing). The value of α may be set in advance in the first information processing apparatus 1, 10 and the second information processing apparatus 2, 20.

また、上記各実施の形態では、返信パケット送信部24が、基準ポートからバブルパケット送信対象ポートまでにおいて割り当て可能なポートの数(α)だけの返信パケットを送信すると説明したが、返信パケット送信部24は、α以上の返信パケットを送信してもよく、α以下の返信パケットを送信してもよい。例えば、返信パケット送信部24は、αの値をバブルパケット送信部13からサーバ6、60を介して受け取るのではなく、基準ポートとバブルパケット送信対象ポートとのポート番号の差を受け取り、その差の値に対応する数の返信パケットを送信してもよい。この場合には、返信パケット送信部24は、αの倍数の返信パケットを送信することとなる。ここで、図6のステップS209に関する説明で述べたように、ポート幅検出部68、82で検出した第2の通信制御装置4におけるポート幅が、実際のポート幅の倍数である可能性がある場合には、基準ポートとバブルパケット送信対象ポートとのポート番号の差の値を、返信パケットの個数とした方がよい。バブルパケット送信対象ポートを用いた返信パケットの送信を、より確実に行うことができるからである。また、例えば、第2の情報処理装置2、20が、第2の通信制御装置4において基準ポートの割り当ての後に割り当てられたポートの数を知っている場合には、αからそれだけの数を引いた数の返信パケットを送信してもよい。そのようにしても、返信パケットがバブルパケット送信対象ポートを用いて送信されることになるからである(ただし、第2の通信制御装置4のポート幅の検出が正確である必要がある)。したがって、バブルパケット送信対象ポートの1つ前のポートまでが割り当てられているような場合には、返信パケットは1つだけ送信されてもよい。   In each of the above embodiments, it has been described that the reply packet transmitter 24 transmits reply packets corresponding to the number (α) of ports that can be allocated from the reference port to the bubble packet transmission target port. 24 may transmit a reply packet equal to or larger than α, or may transmit a reply packet equal to or smaller than α. For example, the reply packet transmission unit 24 does not receive the value of α from the bubble packet transmission unit 13 via the servers 6 and 60, but receives the difference between the port numbers of the reference port and the bubble packet transmission target port. The number of reply packets corresponding to the value of may be transmitted. In this case, the reply packet transmitter 24 transmits reply packets that are multiples of α. Here, as described in connection with step S209 in FIG. 6, the port width in the second communication control device 4 detected by the port width detection units 68 and 82 may be a multiple of the actual port width. In this case, the value of the port number difference between the reference port and the bubble packet transmission target port should be the number of return packets. This is because the transmission of the reply packet using the bubble packet transmission target port can be performed more reliably. Also, for example, when the second information processing device 2 or 20 knows the number of ports assigned after the reference port assignment in the second communication control device 4, subtract that number from α. Any number of reply packets may be sent. Even if it does so, it is because a reply packet will be transmitted using a bubble packet transmission object port (however, the detection of the port width of the 2nd communication control apparatus 4 needs to be accurate). Therefore, when up to the port preceding the bubble packet transmission target port is allocated, only one reply packet may be transmitted.

また、上記各実施の形態では、返信パケットを受け付けた後に、再返信パケットを送信する場合について説明したが、返信パケットの受け付けによって第1の情報処理装置1、10と第2の情報処理装置2、20との間の通信を確立することができる場合には、再返信パケットを送付しなくてもよい。例えば、第1の情報処理装置1、10がバブルパケット送信対象ポートを用いて送信された返信パケットを受け付けた場合には、バブルパケット送信ポート、およびバブルパケット送信対象ポートを介したPeer to Peer通信が可能であるため、再返信パケットを送信しなくてもよい。   In each of the above-described embodiments, a case has been described in which a reply packet is transmitted after a reply packet is received. However, the first information processing apparatuses 1 and 10 and the second information processing apparatus 2 are received by receiving a reply packet. , 20 may be established, the reply packet need not be sent. For example, when the first information processing apparatus 1 or 10 accepts a reply packet transmitted using a bubble packet transmission target port, peer-to-peer communication via the bubble packet transmission port and the bubble packet transmission target port Therefore, it is not necessary to send a re-reply packet.

また、上記各実施の形態の具体例では、返信パケットを受け付けることができたかどうかを、第2の情報処理装置2、20から返信パケットを送信した旨をサーバ6、60を介して受け取った時に、返信パケットをすでに受け付けているかどうかで判断したが、例えば、バブルパケットを送信してから所定時間(例えば、15秒など)経過しても返信パケットを受け付けない場合には、返信パケットを受け付けることができなかった(すなわち
、通信を確立できなかった)と判断してもよい。また、このことは、再返信パケットについても同様であり、返信パケットを送信してから所定時間経過しても再返信パケットを受け付けていない場合には、再返信パケットを受け付けることができなかった(すなわち、通信を確立できなかった)と判断してもよい。
Further, in the specific examples of the above embodiments, whether or not the reply packet has been accepted is received via the servers 6 and 60 that the reply packet has been transmitted from the second information processing apparatus 2 or 20. Judgment is made based on whether or not a reply packet has already been received. For example, if a reply packet is not accepted even after a predetermined time (for example, 15 seconds) has elapsed since the transmission of the bubble packet, the reply packet is accepted. It may be determined that communication could not be established (that is, communication could not be established). This also applies to the reply packet. If the reply packet is not accepted even after a predetermined time has elapsed since the reply packet was transmitted, the reply packet could not be accepted ( That is, it may be determined that communication could not be established.

また、上記各実施の形態では、1つのサーバ6、60によって、基準ポート情報の送信や、バブルパケット送信ポートの検出等を行う場合について説明したが、複数のサーバによってそれらの処理を行ってもよい。   Further, in each of the above embodiments, the case where the transmission of the reference port information or the detection of the bubble packet transmission port is performed by one server 6 or 60 has been described, but the processing may be performed by a plurality of servers. Good.

(実施の形態4)
本発明の実施の形態4による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムでは、上記各実施の形態において説明したバブルパケット送信ポートの位置の検出方法を用いて、SIPによる通信を行う場合について説明する。
(Embodiment 4)
A communication system according to Embodiment 4 of the present invention will be described with reference to the drawings. In the communication system according to the present embodiment, a case will be described in which SIP communication is performed using the bubble packet transmission port position detection method described in the above embodiments.

図26は、本実施の形態による通信システムの構成を示すブロック図である。図26において、本実施の形態による通信システムは、第1の情報処理装置30と、通信制御装置3と、第2の情報処理装置40と、ポート検出サーバ51と、SIPサーバ52とを備える。なお、通信制御装置3は、NAT機能を有しており、アドレスの変換、ポートの割り当て、パケットのフィルタリング等を行うものであり、上記各実施の形態における第1の通信制御装置3と同様のものであるため、その説明を省略する。   FIG. 26 is a block diagram showing a configuration of a communication system according to the present embodiment. In FIG. 26, the communication system according to the present embodiment includes a first information processing device 30, a communication control device 3, a second information processing device 40, a port detection server 51, and a SIP server 52. The communication control device 3 has a NAT function and performs address conversion, port assignment, packet filtering, and the like, and is the same as the first communication control device 3 in each of the above embodiments. Therefore, the description thereof is omitted.

図27は、本実施の形態による第1の情報処理装置30の構成を示すブロック図である。図27において、第1の情報処理装置30は、通信部11と、バブルパケット送信部13と、検出用パケット送信部14と、ポート幅検出用パケット送信部15と、検出用ポート情報受付部71と、バブルパケット送信ポート検出部72と、ポート幅検出用ポート情報受付部74と、ポート幅検出部75と、SIP処理部31とを備える。なお、SIP処理部31以外の構成および動作は、実施の形態2と同様のものであり、その説明を省略する。ただし、バブルパケット送信部13は、基準ポート受付部12が受け付けた基準ポート情報の示す基準ポートの位置に基づいてバブルパケットを送信するのではなく、SIP処理部31から受け取ったバブルパケット送信対象ポートの位置を示す情報に基づいて、そのバブルパケット送信対象ポートに対してバブルパケットを送信する。   FIG. 27 is a block diagram showing a configuration of the first information processing apparatus 30 according to the present embodiment. 27, the first information processing apparatus 30 includes a communication unit 11, a bubble packet transmission unit 13, a detection packet transmission unit 14, a port width detection packet transmission unit 15, and a detection port information reception unit 71. A bubble packet transmission port detection unit 72, a port width detection port information reception unit 74, a port width detection unit 75, and a SIP processing unit 31. The configuration and operation other than the SIP processing unit 31 are the same as those in the second embodiment, and a description thereof will be omitted. However, the bubble packet transmitting unit 13 does not transmit a bubble packet based on the position of the reference port indicated by the reference port information received by the reference port receiving unit 12, but the bubble packet transmission target port received from the SIP processing unit 31. The bubble packet is transmitted to the bubble packet transmission target port based on the information indicating the position of the bubble packet.

SIP処理部31は、SIPに関する処理を行う。具体的には、SIPサーバ52との間で、接続要求の送信や、通信相手のアドレス、ポート番号等の取得等の処理を行う。これらの処理については、従来から行われている処理と同様であるため、その説明を省略する。   The SIP processing unit 31 performs processing related to SIP. Specifically, processing such as transmission of a connection request and acquisition of the address and port number of the communication partner is performed with the SIP server 52. Since these processes are the same as those conventionally performed, the description thereof is omitted.

第2の情報処理装置40は、SIPサーバ52を介して他のクライアント端末とPeer to Peerの音声通信を行う端末装置(例えば、VoIPの電話端末装置)である。第2の情報処理装置40は、第2の情報処理装置40のIPアドレスと、送信ポートの位置と、受信ポートの位置とをSIPサーバ52を介して他のクライアント端末に教えるものであり、また、他のクライアント端末の受信ポートを、SIPサーバ52を介して受け取り、Peer to Peerの音声通信において、パケットの送信先をその受信ポートに設定することができるものである。ここで、あるクライアント端末の送信ポートとは、そのクライアント端末が他のクライアント端末に対して情報を送信するポートである。また、あるクライアント端末の受信ポートとは、そのクライアント端末が他のクライアント端末から情報を受信するポートである。第2の情報処理装置40は、SIPの一般的なクライアント端末であり、その詳細な説明を省略する。   The second information processing apparatus 40 is a terminal apparatus (for example, a VoIP telephone terminal apparatus) that performs peer-to-peer voice communication with another client terminal via the SIP server 52. The second information processing apparatus 40 teaches other client terminals via the SIP server 52 the IP address of the second information processing apparatus 40, the position of the transmission port, and the position of the reception port. The receiving port of another client terminal can be received via the SIP server 52, and the packet transmission destination can be set to the receiving port in Peer to Peer voice communication. Here, the transmission port of a certain client terminal is a port through which the client terminal transmits information to other client terminals. A reception port of a client terminal is a port through which the client terminal receives information from another client terminal. The second information processing apparatus 40 is a general SIP client terminal, and a detailed description thereof is omitted.

図28は、本実施の形態によるポート検出サーバ51の構成を示すブロック図である。
図28において、ポート検出サーバ51は、第1の情報処理装置30から送信されたバブルパケットの通過した通信制御装置3のポートの位置を検出するための処理を行うものである。ポート検出サーバ51は、通信部61と、検出用ポート検出部91と、検出用ポート情報送信部92と、ポート幅検出用ポート検出部93と、ポート幅検出用ポート情報送信部94とを備える。なお、これらの各構成は、実施の形態2と同様であり、その説明を省略する。
FIG. 28 is a block diagram showing the configuration of the port detection server 51 according to this embodiment.
In FIG. 28, the port detection server 51 performs processing for detecting the position of the port of the communication control device 3 through which the bubble packet transmitted from the first information processing device 30 has passed. The port detection server 51 includes a communication unit 61, a detection port detection unit 91, a detection port information transmission unit 92, a port width detection port detection unit 93, and a port width detection port information transmission unit 94. . Each of these configurations is the same as that of the second embodiment, and the description thereof is omitted.

SIPサーバ52は、SIPに関する処理を行うサーバである。SIPに関する処理としては、例えば、クライアントからのアドレス通知を受けてアドレスを登録するレジストラの処理や、クライアントのアドレスを管理するロケーション・サービスの処理、クライアントからの発呼要求を受けて、ロケーション・サービスであて先のアドレスを検索し、あて先のクライアントに転送するプロキシサーバの処理などである。なお、このSIPサーバ52の有する各機能は、2以上のサーバによって実現されてもよい。また、このSIPサーバが、第1の情報処理装置30側と、第2の情報処理装置40側とでそれぞれ備えられていてもよい。この場合には、例えば、第1の情報処理装置30、第1のSIPサーバ、第2のSIPサーバ、第2の情報処理装置40という経路によって、第1の情報処理装置30から第2の情報処理装置40までの情報のリレーが行われる。このSIPサーバ52の処理は、従来から行われている処理と同様であるため、その詳細な説明を省略する。   The SIP server 52 is a server that performs processing related to SIP. As processing related to SIP, for example, a registrar processing for registering an address upon receiving an address notification from a client, a location service processing for managing a client address, and a location service receiving a call request from a client. For example, a proxy server process that searches for a destination address and forwards it to a destination client. Each function of the SIP server 52 may be realized by two or more servers. Further, this SIP server may be provided on each of the first information processing apparatus 30 side and the second information processing apparatus 40 side. In this case, for example, the first information processing device 30, the first SIP server, the second SIP server, the second information processing device 40, and the second information Information relay up to the processing device 40 is performed. Since the processing of the SIP server 52 is the same as the processing conventionally performed, the detailed description thereof is omitted.

次に、本実施の形態による通信システムの動作について説明する。図29は、発呼側、ポート検出サーバ51、SIPサーバ52、着呼側の間における情報のやり取りや処理を説明するための図である。なお、図29では、第1の情報処理装置30、通信制御装置3を発呼側であるとし、第2の情報処理装置40を着呼側であるとする。   Next, the operation of the communication system according to the present embodiment will be described. FIG. 29 is a diagram for explaining information exchange and processing among the calling side, the port detection server 51, the SIP server 52, and the called side. In FIG. 29, it is assumed that the first information processing device 30 and the communication control device 3 are the calling side, and the second information processing device 40 is the called side.

(ステップS801)発呼側の装置である第1の情報処理装置30と、ポート検出サーバ51との間で、所定のパケットの送受信を行うことにより、発呼側の通信制御装置3のポート幅を検出する。このポート幅の検出の具体的な処理については、実施の形態2の図21におけるステップS206、S501、S502、S503と同様であり、その説明を省略する。   (Step S801) By transmitting / receiving a predetermined packet between the first information processing device 30 which is a device on the calling side and the port detection server 51, the port width of the communication control device 3 on the calling side. Is detected. The specific processing for detecting the port width is the same as steps S206, S501, S502, and S503 in FIG. 21 of the second embodiment, and a description thereof is omitted.

(ステップS802)第1の情報処理装置30は、SIPサーバ52に第2の情報処理装置40との通信を要求する旨の通信要求を送信する。この通信要求では、通信先のクライアント(すなわち、第2の情報処理装置40)のIPアドレスと、送信ポートの位置と、受信ポートの位置とを第1の情報処理装置30に送信する旨の指示が含まれているものとする。   (Step S <b> 802) The first information processing apparatus 30 transmits a communication request to the SIP server 52 to request communication with the second information processing apparatus 40. In this communication request, an instruction to transmit to the first information processing apparatus 30 the IP address of the communication destination client (that is, the second information processing apparatus 40), the position of the transmission port, and the position of the reception port. Is included.

(ステップS803)SIPサーバ52は、第1の情報処理装置30から送信された通信要求を、第2の情報処理装置40に中継する。そして、その通信要求は、第2の情報処理装置40で受信される。   (Step S803) The SIP server 52 relays the communication request transmitted from the first information processing apparatus 30 to the second information processing apparatus 40. The communication request is received by the second information processing apparatus 40.

(ステップS804)第2の情報処理装置40は、第2の情報処理装置40のIPアドレス、送信ポートの位置、受信ポートの位置を示す情報を含む通信先情報をSIPサーバ52に送信する。   (Step S804) The second information processing apparatus 40 transmits communication destination information including information indicating the IP address, the transmission port position, and the reception port position of the second information processing apparatus 40 to the SIP server 52.

(ステップS805)SIPサーバ52は、第2の情報処理装置40から送信された通信先情報を、第1の情報処理装置30に中継する。そして、その通信先情報は、第1の情報処理装置30のSIP処理部31で受け付けられる。   (Step S <b> 805) The SIP server 52 relays the communication destination information transmitted from the second information processing apparatus 40 to the first information processing apparatus 30. The communication destination information is received by the SIP processing unit 31 of the first information processing apparatus 30.

(ステップS806)第1の情報処理装置30は、ポート検出パケットや、バブルパケ
ットを送信し、それに対して、ポート検出サーバ51から、検出用ポート情報を受信する。このバブルパケット等の送受信の具体的な処理については、実施の形態2の図22の処理と同様であり、その説明を省略する。なお、本実施の形態では、バブルパケットは、SIP処理部31で受け付けられた通信先情報を用いて、第2の情報処理装置40の送信ポートに送信される。すなわち、本実施の形態では、バブルパケット送信対象ポートは、第2の情報処理装置40の送信ポートである。また、連続性の判断(図21のステップS605)においては、ステップS801で検出された通信制御装置3のポート幅が用いられる。
(Step S <b> 806) The first information processing apparatus 30 transmits a port detection packet and a bubble packet, and receives detection port information from the port detection server 51. The specific processing for transmission / reception of the bubble packet and the like is the same as the processing in FIG. In the present embodiment, the bubble packet is transmitted to the transmission port of the second information processing apparatus 40 using the communication destination information received by the SIP processing unit 31. That is, in the present embodiment, the bubble packet transmission target port is the transmission port of the second information processing apparatus 40. In the determination of continuity (step S605 in FIG. 21), the port width of the communication control device 3 detected in step S801 is used.

(ステップS807)第1の情報処理装置30のバブルパケット送信ポート検出部72は、バブルパケット送信ポートの位置を検出可能であるかどうか判断する。ステップS806における連続性の判断(図21のステップS605)において、2つのポート検出用パケットの送信で用いられた通信制御装置3のポートと、バブルパケット送信ポートとが連続していると判断された場合には、バブルパケット送信ポートの位置を検出可能であると判断してステップS808に進み、そうでない場合には、バブルパケット送信ポートの位置を検出可能でないと判断してステップS806に戻る。   (Step S807) The bubble packet transmission port detector 72 of the first information processing apparatus 30 determines whether or not the position of the bubble packet transmission port can be detected. In the determination of continuity in step S806 (step S605 in FIG. 21), it is determined that the port of the communication control device 3 used for transmitting the two port detection packets and the bubble packet transmission port are continuous. In this case, it is determined that the position of the bubble packet transmission port can be detected, and the process proceeds to step S808. Otherwise, it is determined that the position of the bubble packet transmission port cannot be detected, and the process returns to step S806.

(ステップS808)バブルパケット送信ポート検出部72は、バブルパケット送信ポートの位置を検出する。このバブルパケット送信ポートの位置が、発呼側における受信ポートの位置となる。   (Step S808) Bubble packet transmission port detector 72 detects the position of the bubble packet transmission port. The position of the bubble packet transmission port is the position of the reception port on the calling side.

(ステップS809)SIP処理部31は、通信制御装置3のグローバル側のIPアドレスと、ステップS808で検出されたバブルパケット送信ポート(すなわち、受信ポート)の位置とを含む通信要求を、SIPサーバ52に送信する。なお、通信制御装置3のグローバル側のIPアドレスについては、あらかじめ、ポート幅の検出等の処理において取得しておくものとする。   (Step S809) The SIP processing unit 31 sends a communication request including the IP address on the global side of the communication control device 3 and the position of the bubble packet transmission port (ie, reception port) detected in Step S808 to the SIP server 52. Send to. Note that the global IP address of the communication control device 3 is acquired in advance in processing such as port width detection.

(ステップS810)SIPサーバ52は、第1の情報処理装置30から送信された通信要求を、第2の情報処理装置40に中継する。そして、その通信要求は、第2の情報処理装置40で受信される。   (Step S810) The SIP server 52 relays the communication request transmitted from the first information processing apparatus 30 to the second information processing apparatus 40. The communication request is received by the second information processing apparatus 40.

(ステップS811)第2の情報処理装置40は、受信した通信要求に対して、接続準備が完了した旨の応答を送信する。   (Step S811) In response to the received communication request, the second information processing apparatus 40 transmits a response indicating that preparation for connection has been completed.

(ステップS812)SIPサーバ52は、その応答を第1の情報処理装置30に中継する。   (Step S812) The SIP server 52 relays the response to the first information processing apparatus 30.

(ステップS813)第1の情報処理装置40は、第2の情報処理装置40から受け取った応答に対する確認を送信する。   (Step S813) The first information processing apparatus 40 transmits a confirmation for the response received from the second information processing apparatus 40.

(ステップS814)SIPサーバ52は、その確認を第2の情報処理装置40に中継する。このようにして、発呼側と着呼側でのPeer to Peerでの接続を行う準備が完了し、第1の情報処理装置30が第2の情報処理装置40の受信ポートに情報を送信し、第2の情報処理装置40が通信制御装置3の受信ポート(バブルパケット送信ポート)に情報を送信することによって、第1の情報処理装置30と、第2の情報処理装置40との間での、SIPサーバ52等のリレーサーバを介さない通信が行われることになる。   (Step S814) The SIP server 52 relays the confirmation to the second information processing apparatus 40. In this way, the preparation for peer-to-peer connection on the calling side and the called side is completed, and the first information processing device 30 transmits information to the reception port of the second information processing device 40. The second information processing device 40 transmits information to the reception port (bubble packet transmission port) of the communication control device 3, so that the first information processing device 30 and the second information processing device 40 are connected. Thus, communication without using a relay server such as the SIP server 52 is performed.

なお、図29の各ステップの処理の順序については、ある程度の任意性がある。例えば、ステップS801のポート幅の検出処理は、ステップS806のバブルパケット等の送
受信の処理よりも以前に行われるのであれば、通信要求の送信処理(ステップS802)や、通信先情報の送信処理(ステップS804)の後に実行されてもよい。
Note that the order of processing of each step in FIG. 29 has a certain degree of arbitraryness. For example, if the port width detection process in step S801 is performed before the transmission / reception process of bubble packets or the like in step S806, a communication request transmission process (step S802) or a communication destination information transmission process ( It may be executed after step S804).

次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例において、第1の情報処理装置30、および第2の情報処理装置40は、あらかじめSIPサーバ52に対して、アドレス情報の登録を行っているものとする。また、第1の情報処理装置30の機器IDは、「AAA@abc...com」であり、第2の情報処理装置40の機器IDは、「BBB@abc...com」であるとする。ここで、この具体例は、機器IDが「AAA@abc...com」等である場合について説明するが、機器IDは、メールアドレスや、電話番号などのように、クライアント端末を特定できる情報であれば、その形式を問わず、どのようなものであってもよい。   Next, the operation of the communication system according to the present embodiment will be described using a specific example. In this specific example, it is assumed that the first information processing apparatus 30 and the second information processing apparatus 40 have registered address information with the SIP server 52 in advance. Further, the device ID of the first information processing apparatus 30 is “AAA @ abc ... com”, and the device ID of the second information processing apparatus 40 is “BBB @ abc ... com”. To do. Here, this specific example describes a case where the device ID is “AAA @ abc ... com” or the like, but the device ID is information that can identify the client terminal such as an email address or a telephone number. As long as it is any format, any format may be used.

まず、第1の情報処理装置30は、ポート検出サーバ51に対して、ポート幅検出用パケットを送信することにより、通信制御装置3のポート幅の検出を行う(ステップS801)。この処理の詳細については、実施の形態2と同様であり、その説明を省略する。   First, the first information processing device 30 detects the port width of the communication control device 3 by transmitting a port width detection packet to the port detection server 51 (step S801). Details of this processing are the same as those in the second embodiment, and the description thereof is omitted.

次に、第1の情報処理装置30は、通信要求を、図30で示されるポートP1からSIPサーバ52のポートP3に送信する(ステップS802)。この通信要求は、いわゆる「INVITEリクエスト」と呼ばれるものである。この通信要求には、第1の情報処理装置30の機器ID「AAA@abc...com」と、通信を要求する相手先の第2の情報処理装置40の機器ID「BBB@abc...com」とが含まれる。また、この通信要求には、IPアドレスと、送信ポートの位置と、受信ポートの位置を示す情報を送信する旨の指示が含まれている。なお、第2の情報処理装置40が通信要求を受信することにより、IPアドレス等を送信する旨の指示を受信したと判断してもよい。すなわち、通信要求に指示のコマンドが含まれていなくてもよい。   Next, the first information processing apparatus 30 transmits a communication request from the port P1 shown in FIG. 30 to the port P3 of the SIP server 52 (step S802). This communication request is a so-called “INVITE request”. In this communication request, the device ID “AAA @ abc ... com” of the first information processing device 30 and the device ID “BBB @ abc..com” of the second information processing device 40 of the counterpart who requests communication are included. .com ". This communication request includes an instruction to transmit information indicating the IP address, the position of the transmission port, and the position of the reception port. Note that it may be determined that the second information processing apparatus 40 has received an instruction to transmit an IP address or the like by receiving a communication request. That is, an instruction command may not be included in the communication request.

その通信要求は、SIPサーバ52で受信される。そして、SIPサーバ52は、第2の情報処理装置40の機器ID「BBB@abc...com」に対応するIPアドレスとポート番号を検索し、そのIPアドレスのポート番号に対して、通信要求を送信する(ステップS803)。   The communication request is received by the SIP server 52. Then, the SIP server 52 searches for the IP address and port number corresponding to the device ID “BBB @ abc ... com” of the second information processing apparatus 40, and sends a communication request to the port number of the IP address. Is transmitted (step S803).

第2の情報処理装置40は、その通信要求を受信すると、第2の情報処理装置40のIPアドレスと、送信ポートsPortの位置と、受信ポートrPortの位置とを示す情報である通信先情報をSIPサーバ52のポートP3に送信する(ステップS804)。この通信先情報にも、第1の情報処理装置30の機器IDと、第2の情報処理装置40の機器IDとが含まれている。なお、通常のSIPでは、通信先情報には、通信先の送信ポートの位置は含まれない。したがって、通信先情報に通信先の送信ポートの位置が含まれる点については、SIPの拡張である。   When the second information processing apparatus 40 receives the communication request, the second information processing apparatus 40 receives communication destination information, which is information indicating the IP address of the second information processing apparatus 40, the position of the transmission port sPort, and the position of the reception port rPort. It transmits to port P3 of the SIP server 52 (step S804). This communication destination information also includes the device ID of the first information processing device 30 and the device ID of the second information processing device 40. In normal SIP, the communication destination information does not include the position of the communication destination transmission port. Therefore, the point that the communication destination information includes the position of the transmission port of the communication destination is an extension of SIP.

その通信先情報は、SIPサーバ52で受信され、通信制御装置3を介して第1の情報処理装置30に送信される(ステップS805)。その通信先情報は、第1の情報処理装置30のSIP処理部31で受け付けられる。SIP処理部31は、その通信先情報に含まれる第2の情報処理装置40のIPアドレスと、送信ポートsPortの位置を示す情報を、バブルパケット送信部13に渡す。   The communication destination information is received by the SIP server 52 and transmitted to the first information processing apparatus 30 via the communication control apparatus 3 (step S805). The communication destination information is received by the SIP processing unit 31 of the first information processing apparatus 30. The SIP processing unit 31 passes the IP address of the second information processing apparatus 40 included in the communication destination information and information indicating the position of the transmission port sPort to the bubble packet transmission unit 13.

その後、バブルパケットの送信処理等が行われる(ステップS806)。具体的には、検出用パケット送信部14は、ポート検出用パケットを、第1の情報処理装置30において新たに割り当てられたポートP5から、ポート検出サーバ51のポートP11に送信する。そのポート検出用パケットは、ポート検出サーバ51の検出用ポート検出部91で受け付けられ、ポート検出用パケットのヘッダに含まれる通信制御装置3のポートP8のポ
ート番号が検出される。検出用ポート情報送信部92は、そのポートP8のポート番号をペイロードに含む検出用ポート情報を、通信制御装置3のポートP8に送信する。その検出用ポート情報は、通信制御装置3においてアドレス変換され、第1の情報処理装置30のポートP5に送信される。そして、検出用ポート情報受付部71において、その検出用ポート情報が受け付けられる。
After that, bubble packet transmission processing and the like are performed (step S806). Specifically, the detection packet transmitter 14 transmits the port detection packet from the port P5 newly assigned in the first information processing apparatus 30 to the port P11 of the port detection server 51. The port detection packet is received by the detection port detection unit 91 of the port detection server 51, and the port number of the port P8 of the communication control device 3 included in the header of the port detection packet is detected. The detection port information transmission unit 92 transmits detection port information including the port number of the port P8 in the payload to the port P8 of the communication control device 3. The port information for detection is address-converted in the communication control device 3 and transmitted to the port P5 of the first information processing device 30. Then, the detection port information receiving unit 71 receives the detection port information.

そのポート検出用パケットの送信の直後に、バブルパケット送信部13は、バブルパケットを第2の情報処理装置40のポートsPortに送信する。そのバブルパケットは、第1の情報処理装置30のポートP6から送信される。ここで、ポートP6は、ポートP5と異なるポートであり、バブルパケットの送信時に第1の情報処理装置30において新たに割り当てられたポートである。   Immediately after the transmission of the port detection packet, the bubble packet transmitter 13 transmits the bubble packet to the port sPort of the second information processing apparatus 40. The bubble packet is transmitted from the port P6 of the first information processing apparatus 30. Here, the port P6 is a port different from the port P5, and is a port newly assigned in the first information processing apparatus 30 when the bubble packet is transmitted.

そのバブルパケットの送信の直後に、検出用パケット送信部14は、再度、ポート検出用パケットを、ポート検出サーバ51のポートP11に送信する。そのポート検出用パケットは、第1の情報処理装置30のポートP7から送信される。ここで、ポートP7は、ポートP5、ポートP6と異なるポートであり、ポート検出用パケットの送信時に第1の情報処理装置30において新たに割り当てられたポートである。そのポート検出用パケットは、ポート検出サーバ51において受信される。また、1回目のポート検出用パケットの場合と同様にして、検出用ポート情報がポート検出サーバ51から第1の情報処理装置30に送信される。   Immediately after the transmission of the bubble packet, the detection packet transmitter 14 transmits the port detection packet to the port P11 of the port detection server 51 again. The port detection packet is transmitted from the port P7 of the first information processing apparatus 30. Here, the port P7 is a port different from the ports P5 and P6, and is a port newly assigned in the first information processing apparatus 30 when the port detection packet is transmitted. The port detection packet is received by the port detection server 51. Similarly to the case of the first port detection packet, detection port information is transmitted from the port detection server 51 to the first information processing apparatus 30.

第1の情報処理装置30の検出用ポート情報受付部71は、この検出用ポート情報を受け付け、2つのポート検出用パケットの送信で用いられた通信制御装置3のポートの位置と、バブルパケット送信ポートとが連続しているかどうか判断する。この判断は、ポートP10と、ポートP8との差が、ステップS801で検出された通信制御装置3のポート幅の2倍に等しいかどうかによって判断される。ポートP10と、ポートP8との差が、通信制御装置3のポート幅の2倍であったとすると、バブルパケット送信ポート検出部72は、2つのポート検出用パケットの送信で用いられた通信制御装置3のポートと、バブルパケット送信ポートとが連続していると判断し、バブルパケット送信ポートを検出可能であると判断して(ステップS807)、そのポートP8のポート番号と、ポートP10のポート番号とのちょうど真ん中のポート番号を、バブルパケット送信ポートの位置として検出する(ステップS808)。バブルパケット送信ポート検出部72は、その検出したバブルパケット送信ポートの位置を、SIP処理部31に渡す。   The detection port information receiving unit 71 of the first information processing device 30 receives this detection port information, and the position of the port of the communication control device 3 used for transmission of the two port detection packets, and bubble packet transmission Determine if the port is continuous. This determination is made based on whether or not the difference between the port P10 and the port P8 is equal to twice the port width of the communication control device 3 detected in step S801. If the difference between the port P10 and the port P8 is twice the port width of the communication control device 3, the bubble packet transmission port detection unit 72 uses the communication control device used for transmitting the two port detection packets. 3 and the bubble packet transmission port are determined to be continuous, it is determined that the bubble packet transmission port can be detected (step S807), and the port number of the port P8 and the port number of the port P10 are determined. Is detected as the position of the bubble packet transmission port (step S808). The bubble packet transmission port detection unit 72 passes the detected position of the bubble packet transmission port to the SIP processing unit 31.

SIP処理部31は、そのバブルパケット送信ポートの位置と、通信制御装置3のグローバル側のアドレスとを含む通信要求を再度、SIPサーバ52に送信する(ステップS809)。この通信要求も、いわゆる「INVITEリクエスト」と呼ばれるものであり、第1の情報処理装置30の機器IDと、第2の情報処理装置40の機器IDとが含まれる。その通信要求は、SIPサーバ52において中継され、第2の情報処理装置40に送信される(ステップS810)。この通信も、ポートP1〜P4を介して行われる。   The SIP processing unit 31 again transmits a communication request including the position of the bubble packet transmission port and the global address of the communication control device 3 to the SIP server 52 (step S809). This communication request is also referred to as a so-called “INVITE request”, and includes the device ID of the first information processing device 30 and the device ID of the second information processing device 40. The communication request is relayed by the SIP server 52 and transmitted to the second information processing apparatus 40 (step S810). This communication is also performed via the ports P1 to P4.

第2の情報処理装置40は、その通信要求を受信することによって、発呼側のIPアドレスと、受信ポートの位置とを知ることができる。また、第2の情報処理装置40は、通信要求に対する応答をSIPサーバ52に送信する(ステップS811)。この応答にも、第1の情報処理装置30と、第2の情報処理装置40との機器IDが含まれている。その応答は、SIPサーバ52において中継され、通信制御装置3のポートP2を介して第1の情報処理装置30に送信される(ステップS812)。   The second information processing device 40 can know the IP address of the calling side and the position of the receiving port by receiving the communication request. The second information processing apparatus 40 transmits a response to the communication request to the SIP server 52 (step S811). This response also includes the device IDs of the first information processing apparatus 30 and the second information processing apparatus 40. The response is relayed by the SIP server 52 and transmitted to the first information processing apparatus 30 via the port P2 of the communication control apparatus 3 (step S812).

通信の相手側からの応答に対して、SIPサーバ52経由で、応答に対する確認を送信する(ステップS813、S814)。この確認の送信は、いわゆる「ACK」と呼ばれ
るものである。その後、図31で示されるように、第1の情報処理装置30からは、第2の情報処理装置40のポートrPortに情報が送信され、第2の情報処理装置40からは、通信制御装置3のポートP9に情報が送信される。通信制御装置3のポートP9に送信された情報は、通信制御装置3においてアドレス変換され、第1の情報処理装置30のポートP6に送信される。このようにして、第1の情報処理装置30と、第2の情報処理装置40との間において、通信が確立され、両者間における通話が行われることになる。
In response to the response from the communication partner, confirmation of the response is transmitted via the SIP server 52 (steps S813 and S814). This transmission of confirmation is called “ACK”. Thereafter, as shown in FIG. 31, information is transmitted from the first information processing apparatus 30 to the port rPort of the second information processing apparatus 40, and the communication control apparatus 3 is transmitted from the second information processing apparatus 40. Information is transmitted to port P9. The information transmitted to the port P9 of the communication control device 3 is address-converted in the communication control device 3 and transmitted to the port P6 of the first information processing device 30. In this way, communication is established between the first information processing apparatus 30 and the second information processing apparatus 40, and a call is made between them.

なお、本実施の形態では、図29で示されるシーケンスを用いて説明したが、情報処理装置の間の通信を確立するシーケンスは、図29で示されるものに限定されない。例えば、ステップS811の応答の送信において、第2の情報処理装置40のIPアドレスを示す情報、および受信ポートの位置を示す情報をSIPサーバ52経由で第1の情報処理装置30に送信してもよい。この場合には、第1の情報処理装置30が、そのSIPサーバ52を経由して送信された情報を用いることにより、第1の情報処理装置30と、第2の情報処理装置40との間の通信が確立される。ただし、ステップS811で送信される第2の情報処理装置40のIPアドレスは、ステップS804で送信されたものと同一のものである。また、第2の情報処理装置40は、ステップS804で送信した通信先情報によって示される送信ポートを、第1の情報処理装置30との通信における送信ポートとして用いるものとする。   In the present embodiment, the sequence illustrated in FIG. 29 is used for description. However, the sequence for establishing communication between the information processing apparatuses is not limited to that illustrated in FIG. For example, even when the information indicating the IP address of the second information processing device 40 and the information indicating the position of the reception port are transmitted to the first information processing device 30 via the SIP server 52 in the transmission of the response in step S811. Good. In this case, the first information processing apparatus 30 uses the information transmitted via the SIP server 52, so that the first information processing apparatus 30 and the second information processing apparatus 40 are connected. Communication is established. However, the IP address of the second information processing apparatus 40 transmitted in step S811 is the same as that transmitted in step S804. In addition, the second information processing apparatus 40 uses the transmission port indicated by the communication destination information transmitted in step S804 as a transmission port in communication with the first information processing apparatus 30.

以上のように、本実施の形態による通信システムによれば、実施の形態1〜3において説明したバブルパケット送信ポートの位置を検出する手法を用いることによって、通信制御装置3がどのような種類のNATを用いていた場合であっても、SIPによる情報処理装置間の通信を確立することができる。このように、バブルパケット送信ポートの位置を検出する手法は、実施の形態1〜3において説明したシステムやシーケンス以外において用いられてもよい。   As described above, according to the communication system according to the present embodiment, by using the method for detecting the position of the bubble packet transmission port described in the first to third embodiments, what kind of communication control device 3 is used. Even when NAT is used, communication between information processing apparatuses using SIP can be established. As described above, the method of detecting the position of the bubble packet transmission port may be used in systems other than the systems and sequences described in the first to third embodiments.

なお、本実施の形態では、通信制御装置3のポート幅や、バブルパケット送信ポートの位置の検出を、クライアント側で行う場合について説明したが、実施の形態1と同様に、それらの処理のうち、任意の1以上の処理をサーバ側において行ってもよい。   In the present embodiment, the case in which the port width of the communication control device 3 and the position of the bubble packet transmission port are detected on the client side has been described. However, as in the first embodiment, among these processes, Any one or more processes may be performed on the server side.

また、本実施の形態では、ポート検出サーバ51と、SIPサーバ52とを別々に備える場合について説明したが、それらを同一のサーバとして構成してもよい。   In the present embodiment, the case where the port detection server 51 and the SIP server 52 are provided separately has been described, but they may be configured as the same server.

また、本実施の形態では、SIPを用いて、情報処理装置間での通信を確立する場合について説明したが、情報処理装置間の通信を確立する他のプロトコルを用いてもよい。その場合にも、ポート検出サーバ51を備えることにより、バブルパケット送信ポートの位置を検出することができ、NAT機能を有する通信制御装置を介した通信を行うことが可能となる。   In this embodiment, the case where communication between information processing apparatuses is established using SIP has been described, but another protocol for establishing communication between information processing apparatuses may be used. Even in this case, by providing the port detection server 51, the position of the bubble packet transmission port can be detected, and communication via the communication control device having the NAT function can be performed.

また、例えば実施の形態4で説明したように、上記各実施の形態において、通信システムは、バブルパケットを送信する情報処理装置と、バブルパケット送信ポートの位置を検出するための処理を行うサーバとを備えた通信システムであって、そのバブルパケット送信ポートの位置を検出するためのものであってもよい。すなわち、本発明における通信システムは、以下のような通信システムであってもよい。この通信システムは、情報処理装置と、情報処理装置の通信を制御する通信制御装置と、サーバとを備えた通信システムであって、情報処理装置が、通信制御装置を介して、通信制御装置に送信履歴を残すためのバブルパケットを送信するバブルパケット送信部と、バブルパケットの送信で用いられる、通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために用いられるポート検出用パケットを、バブルパケット送信部がバブルパケットを送信する前後に、サーバに送信する検出用パケット送信部と、を備え、サーバが、情報処理装置から送信
されたポート検出用パケットを受け付け、ポート検出用パケットに基づいてバブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部を備えた、ものである。この通信システムにおいて、サーバにおいて検出されたバブルパケット送信ポートの位置は、送信部によって情報処理装置に送信されてもよく、あるいは、その他の方法によって情報処理装置に渡されてもよい。その他の方法としては、例えば、バブルパケット送信ポートの位置を示す情報を記録媒体に記録し、情報処理装置がその記録媒体から情報を読み出すことであってもよく、あるいは、サーバにおいてバブルパケット送信ポートの位置を示す情報が表示され、その表示を見ることによって、ユーザが情報処理装置にポートの範囲を示す情報を入力することであってもよい。
For example, as described in the fourth embodiment, in each of the above embodiments, the communication system includes an information processing apparatus that transmits a bubble packet, a server that performs processing for detecting the position of the bubble packet transmission port, and May be for detecting the position of the bubble packet transmission port. That is, the communication system in the present invention may be the following communication system. The communication system is a communication system including an information processing device, a communication control device that controls communication of the information processing device, and a server, and the information processing device is connected to the communication control device via the communication control device. A bubble packet transmitter for transmitting bubble packets for leaving a transmission history, and a port detection packet used for detecting the position of a bubble packet transmission port, which is a port of a communication control device, used for transmission of bubble packets. A detection packet transmission unit that transmits to the server before and after the bubble packet transmission unit transmits the bubble packet, and the server receives the port detection packet transmitted from the information processing apparatus, and converts the packet into a port detection packet. A bubble packet transmission port detector for detecting the position of the bubble packet transmission port based on . In this communication system, the position of the bubble packet transmission port detected in the server may be transmitted to the information processing apparatus by the transmission unit, or may be passed to the information processing apparatus by other methods. As another method, for example, information indicating the position of the bubble packet transmission port may be recorded on a recording medium, and the information processing apparatus may read the information from the recording medium. Alternatively, the server may use the bubble packet transmission port. The information indicating the position of the port may be displayed, and by viewing the display, the user may input information indicating the port range to the information processing apparatus.

また、例えば実施の形態4で説明したように、上記各実施の形態において、通信システムは、バブルパケットを送信する情報処理装置と、バブルパケット送信ポートの位置を検出するための処理を行うサーバとを備えた通信システムであって、そのバブルパケット送信ポートの位置を検出するためのものであってもよい。すなわち、本発明における通信システムは、以下のような通信システムであってもよい。この通信システムは、情報処理装置と、情報処理装置の通信を制御する通信制御装置と、サーバとを備えた通信システムであって、情報処理装置が、通信制御装置を介して、通信制御装置に送信履歴を残すためのバブルパケットを送信するバブルパケット送信部と、バブルパケットの送信で用いられる、通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために用いられるポート検出用パケットを、バブルパケット送信部がバブルパケットを送信する前後に、サーバに送信する検出用パケット送信部と、ポート検出用パケットが通過した通信制御装置のポートの位置を示す検出用ポート情報を受け付ける検出用ポート情報受付部と、検出用ポート情報受付部が受け付けた検出用ポート情報に基づいて、バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部と、を備え、サーバが、ポート検出用パケットを受け付け、当該ポート検出用パケットが通過した通信制御装置のポートの位置を検出する検出用ポート検出部と、検出用ポート検出部が検出したポートの位置を示す検出用ポート情報を情報処理装置に送信する検出用ポート情報送信部と、を備えた、ものである。このように、バブルパケット送信ポートの位置の検出をサーバではなく、情報処理装置において行ってもよい。この通信システムにおいて、情報処理装置において検出されたバブルパケット送信ポートの位置は、送信部によって他の情報処理装置に送信されてもよく、あるいは、その他の方法によって他の情報処理装置に渡されてもよい。その他の方法としては、例えば、バブルパケット送信ポートの位置を示す情報を記録媒体に記録し、他の情報処理装置がその記録媒体から情報を読み出すことであってもよく、あるいは、情報処理装置においてバブルパケット送信ポートの位置を示す情報が表示され、その表示を見ることによって、ユーザが他の情報処理装置にバブルパケット送信ポートの位置を示す情報を入力することであってもよい。   For example, as described in the fourth embodiment, in each of the above embodiments, the communication system includes an information processing apparatus that transmits a bubble packet, a server that performs processing for detecting the position of the bubble packet transmission port, and May be for detecting the position of the bubble packet transmission port. That is, the communication system according to the present invention may be the following communication system. The communication system is a communication system including an information processing device, a communication control device that controls communication of the information processing device, and a server, and the information processing device is connected to the communication control device via the communication control device. A bubble packet transmission unit that transmits a bubble packet for leaving a transmission history, and a port detection packet that is used to detect the position of the bubble packet transmission port that is a port of the communication control device, which is used in the transmission of the bubble packet. The detection packet transmission unit that transmits to the server before and after the bubble packet transmission unit transmits the bubble packet, and the detection port that receives the detection port information indicating the position of the port of the communication control device through which the port detection packet has passed Based on the detection port information received by the information reception unit and the detection port information reception unit, bubble packet transmission is performed. A bubble packet transmission port detection unit for detecting a port position, wherein the server accepts the port detection packet and detects the port position of the communication control device through which the port detection packet has passed. And a detection port information transmission unit that transmits detection port information indicating the position of the port detected by the detection port detection unit to the information processing apparatus. Thus, the position of the bubble packet transmission port may be detected by the information processing apparatus instead of the server. In this communication system, the position of the bubble packet transmission port detected in the information processing apparatus may be transmitted to the other information processing apparatus by the transmission unit, or passed to the other information processing apparatus by another method. Also good. As another method, for example, information indicating the position of the bubble packet transmission port may be recorded on a recording medium, and another information processing apparatus may read the information from the recording medium, or in the information processing apparatus Information indicating the position of the bubble packet transmission port may be displayed, and by viewing the display, the user may input information indicating the position of the bubble packet transmission port to another information processing apparatus.

また、上記各実施の形態では、各情報処理装置が通信制御装置を1つだけ介して通信回線5に接続される場合について説明したが、複数の通信制御装置を介して通信回線5に接続されている場合(すなわち、多段接続のNAT)であっても、情報処理装置間の通信を確立することができ得る。   In each of the above embodiments, the case where each information processing apparatus is connected to the communication line 5 through only one communication control apparatus has been described. However, the information processing apparatus is connected to the communication line 5 via a plurality of communication control apparatuses. Communication (ie, multi-stage NAT), it is possible to establish communication between information processing apparatuses.

また、上記各実施の形態では、第1の通信制御装置3、および第2の通信制御装置4がNATの機能を有するものであると説明したが、第1の通信制御装置3、および第2の通信制御装置4は、NATの機能に代えて、あるいはNATの機能と共にパケットフィルタリングのファイアウォール(Firewall)の機能を有するものであってもよい。ここで、パケットフィルタリングとは、例えば、前述の受信フィルタルールに基づいた受信パケットの選択を行うものである。第1の通信制御装置3が、そのような受信フィルタルールに基づいたファイアウォール機能を有する場合、ローカル側(第1の情報処理装置1等の側)からグローバル側(通信回線5)へのバブルパケットの送信によって第1の通信
制御装置3に送信履歴を残すことで、バブルパケット送信ポートに送信された返信パケットを受け付けることができるようになる。また、第2の通信制御装置4が、そのような受信フィルタルールに基づいたファイアウォール機能を有する場合、ローカル側(第2の情報処理装置2等の側)からグローバル側へのバブルパケット送信対象ポートを介した返信パケットの送信によって、第1の情報処理装置1等と、第2の情報処理装置2等との間での通信が確立され得ることとなる。
In each of the above embodiments, the first communication control device 3 and the second communication control device 4 have been described as having the NAT function. However, the first communication control device 3 and the second communication control device 4 have the NAT function. The communication control device 4 may have a firewall function for packet filtering instead of the NAT function or together with the NAT function. Here, the packet filtering is, for example, selection of a received packet based on the above-described reception filter rule. When the first communication control device 3 has a firewall function based on such a reception filter rule, a bubble packet from the local side (the first information processing device 1 or the like) to the global side (the communication line 5) By leaving the transmission history in the first communication control device 3 by transmitting the message, it becomes possible to accept the reply packet transmitted to the bubble packet transmission port. Further, when the second communication control device 4 has a firewall function based on such a reception filter rule, the bubble packet transmission target port from the local side (the second information processing device 2 or the like) to the global side By transmitting the reply packet via the communication information, communication between the first information processing apparatus 1 and the like and the second information processing apparatus 2 and the like can be established.

また、第1の情報処理装置、および第2の情報処理装置は、アプリケーションとしてのファイアウォールの機能を実装するものであってもよく、そうでなくてもよい。   Further, the first information processing apparatus and the second information processing apparatus may or may not implement a firewall function as an application.

また、上記各実施の形態では、サーバ6等をIPアドレスによって特定する場合について説明したが、サーバ6等をドメイン名(例えば、server.pana.netなど)によって特定してもよい。この場合には、そのドメイン名がDNSサーバを用いて、IPアドレスに変換されることにより、サーバを特定することができる。   Further, although cases have been described with the above embodiments where the server 6 or the like is specified by an IP address, the server 6 or the like may be specified by a domain name (for example, server.pana.net). In this case, the domain name is converted into an IP address using a DNS server, whereby the server can be specified.

また、上記各実施の形態における通信で用いられるプロトコルは、IPv4(Internet Protocol version 4)であってもよく、あるいは、IPv6(Internet Protocol version 6)であってもよい。   Further, the protocol used for communication in each of the above embodiments may be IPv4 (Internet Protocol version 4) or IPv6 (Internet Protocol version 6).

また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。   In each of the above embodiments, each process (each function) may be realized by centralized processing by a single device (system), or by distributed processing by a plurality of devices. May be.

また、上記各実施の形態において、通信の要求を出す側がバブルパケットを送信する側である場合について説明したが、通信の要求を受け取る側がバブルパケットを送信する側であってもよい。   Further, although cases have been described with the above embodiments where a communication requesting side is a side that transmits a bubble packet, a side that receives a communication request may be a side that transmits a bubble packet.

また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成してもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラム制御によるソフトウェアにより構成してもよい。なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第1の情報処理装置の通信を制御する第1の通信制御装置と、第2の情報処理装置の通信を制御する第2の通信制御装置とを介して、第2の情報処理装置と通信する第1の情報処理装置における処理を実行させるためのプログラムであって、第1の通信制御装置に送信履歴を残すために送信されるバブルパケットの送信の対象の基準となる第2の通信制御装置におけるポートである基準ポートの位置を示す基準ポート情報を受け付ける基準ポート受付ステップと、基準ポート情報に基づいて、第1の通信制御装置を介して、バブルパケットを第2の通信制御装置に送信するバブルパケット送信ステップと、バブルパケットの送信で用いられる、第1の通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために、ポート検出用パケットを送信する検出用パケット送信ステップと、バブルパケット送信ポートに対して、第2の情報処理装置から第2の通信制御装置を介して送信された返信パケットを受け付ける返信パケット受付ステップと、を実行させるためのものである。   In each of the above embodiments, each component may be configured by dedicated hardware, or a component that can be realized by software may be configured by software under program control. The software that realizes the information processing apparatus in each of the above embodiments is a program as described below. In other words, the program is sent to the computer via the first communication control device that controls communication of the first information processing device and the second communication control device that controls communication of the second information processing device. A program for executing processing in a first information processing apparatus that communicates with a second information processing apparatus, the target of transmission of a bubble packet transmitted to leave a transmission history in the first communication control apparatus A reference port receiving step for receiving reference port information indicating a position of a reference port that is a port in the second communication control device serving as a reference, and a bubble packet is transmitted via the first communication control device based on the reference port information. A bubble packet transmitting step for transmitting to the second communication control device, and a bubble packet which is a port of the first communication control device used for transmitting the bubble packet In order to detect the position of the communication port, a detection packet transmission step for transmitting a port detection packet and a bubble packet transmission port are transmitted from the second information processing device via the second communication control device. A reply packet receiving step for receiving the reply packet.

また、このプログラムでは、基準ポートは、第2の通信制御装置で割り当てられたポートのうち、基準ポートの位置を検出するための基準ポート検出用パケットが第2の情報処理装置から送信された時点における最新のポートであってもよい。   Further, in this program, the reference port is a point in time when a reference port detection packet for detecting the position of the reference port among the ports assigned by the second communication control device is transmitted from the second information processing device. May be the latest port.

また、このプログラムでは、検出用パケット送信ステップにおいて、バブルパケット送信ステップでバブルパケットを送信する前後に、ポート検出用パケットを送信してもよい
In this program, in the detection packet transmission step, the port detection packet may be transmitted before and after transmitting the bubble packet in the bubble packet transmission step.

また、このプログラムでは、バブルパケット、およびポート検出用パケットが、第1の通信制御装置における異なるポートを用いて送信されてもよい。   In this program, the bubble packet and the port detection packet may be transmitted using different ports in the first communication control apparatus.

また、このプログラムでは、バブルパケット、およびポート検出用パケットが、第1の情報処理装置において新たに割り当てられたポートを用いて送信されてもよい。   In this program, the bubble packet and the port detection packet may be transmitted using a port newly assigned in the first information processing apparatus.

また、このプログラムでは、コンピュータに、バブルパケット、およびポート検出用パケットを再度送信する旨の再送信指示を受け付ける再送信指示受付ステップをさらに実行させ、検出用パケット送信ステップでは、再送信指示受付ステップで再送信指示を受け付けた場合に、ポート検出用パケットを再度送信し、バブルパケット送信ステップでは、再送信指示受付ステップで再送信指示を受け付けた場合に、バブルパケットを再度送信してもよい。   The program further causes the computer to execute a retransmission instruction reception step for receiving a retransmission instruction for retransmitting the bubble packet and the port detection packet. In the detection packet transmission step, the retransmission instruction reception step The port detection packet may be retransmitted when the retransmission instruction is received in step 1. In the bubble packet transmission step, the bubble packet may be transmitted again when the retransmission instruction is received in the retransmission instruction reception step.

また、このプログラムでは、コンピュータに、第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、第1の通信制御装置を介して送信するポート幅検出用パケット送信ステップをさらに実行させてもよい。   The program further includes a port width detection packet transmission step of transmitting, to the computer, a port width detection packet for detecting the port width in the first communication control device via the first communication control device. It may be executed.

また、このプログラムでは、第2の通信制御装置における、バブルパケットを送信する対象のポートであるバブルパケット送信対象ポートが、基準ポートから所定のポート割り当て後に割り当てられるポートであってもよい。   In this program, the bubble packet transmission target port, which is the target port for transmitting bubble packets in the second communication control device, may be a port assigned after a predetermined port assignment from the reference port.

また、このプログラムでは、コンピュータに、第2の通信制御装置におけるポート幅を示す情報であるポート幅情報を受け付けるポート幅受付ステップをさらに実行させ、バブルパケット送信ステップでは、基準ポートとのポート間隔がポート幅情報の示すポート幅のM倍(Mは1以上の整数)であるバブルパケット送信対象ポートに対してバブルパケットを送信してもよい。   In this program, the computer further executes a port width receiving step for receiving port width information, which is information indicating the port width in the second communication control apparatus. In the bubble packet transmitting step, the port interval with the reference port is A bubble packet may be transmitted to a bubble packet transmission target port that is M times the port width indicated by the port width information (M is an integer of 1 or more).

また、このプログラムでは、コンピュータに、返信パケット受付ステップで返信パケットを受け付けた場合に、当該返信パケットの送信で用いられた第2の通信制御装置のポートに対して、再返信パケットを送信する再返信パケット送信ステップをさらに実行させてもよい。   Also, in this program, when a reply packet is accepted in the reply packet accepting step, the program sends a re-reply packet to the port of the second communication control device used for sending the reply packet. A reply packet transmission step may be further executed.

また、このプログラムでは、コンピュータに、ポート検出用パケットが通過した第1の通信制御装置のポートの位置を示す検出用ポート情報を受け付ける検出用ポート情報受付ステップと、検出用ポート情報受付ステップで受け付けた検出用ポート情報に基づいて、バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出ステップと、バブルパケット送信ポート検出ステップで検出したバブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を送信するバブルパケット送信ポート送信ステップと、をさらに実行させてもよい。   Further, in this program, the detection port information receiving step for receiving the detection port information indicating the position of the port of the first communication control device through which the port detection packet has passed and the detection port information receiving step are received by the computer. Based on the detected port information, a bubble packet transmission port detection step for detecting the position of the bubble packet transmission port and bubble packet transmission port information indicating the position of the bubble packet transmission port detected in the bubble packet transmission port detection step are transmitted. The bubble packet transmission port transmission step to be performed may be further executed.

また、このプログラムでは、検出用パケット送信ステップで、バブルパケット送信ポート検出ステップにおいてバブルパケット送信ポートの位置を検出できなかった場合に、ポート検出用パケットを再度送信し、バブルパケット送信ステップで、バブルパケット送信ポート検出ステップにおいてバブルパケット送信ポートの位置を検出できなかった場合に、バブルパケットを再度送信してもよい。   Further, in this program, when the position of the bubble packet transmission port cannot be detected in the bubble packet transmission port detection step in the detection packet transmission step, the port detection packet is transmitted again, and in the bubble packet transmission step, the bubble packet transmission step If the position of the bubble packet transmission port cannot be detected in the packet transmission port detection step, the bubble packet may be transmitted again.

また、このプログラムでは、コンピュータに、第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、第1の通信制御装置を介して送信するポート
幅検出用パケット送信ステップと、ポート幅検出用パケットが通過した第1の通信制御装置のポートの位置を示すポート幅検出用ポート情報を受け付けるポート幅検出用ポート情報受付ステップと、ポート幅検出用ポート情報受付部が受け付けたポート幅検出用ポート情報に基づいて、第1の通信制御装置におけるポート幅を検出するポート幅検出ステップと、をさらに実行させ、バブルパケット送信ポート検出ステップで、ポート幅検出ステップで検出した第1の通信制御装置におけるポート幅を用いてバブルパケット送信ポートの位置を検出してもよい。
Further, in this program, a port width detection packet transmission step for transmitting a port width detection packet for detecting a port width in the first communication control device to the computer via the first communication control device; Port width detection port information receiving step for receiving port width detection port information indicating the position of the port of the first communication control device through which the port width detection packet has passed, and the port received by the port width detection port information reception unit A port width detection step of detecting a port width in the first communication control device based on the width detection port information, and performing a first step detected in the port width detection step in the bubble packet transmission port detection step. The position of the bubble packet transmission port may be detected using the port width in the communication control device.

上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第1の情報処理装置の通信を制御する第1の通信制御装置と、第2の情報処理装置の通信を制御する第2の通信制御装置とを介して、第2の情報処理装置と通信する第1の情報処理装置における処理を実行させるためのプログラムであって、第1の通信制御装置は、第2の情報処理装置から第2の通信制御装置を介して、第2の通信制御装置に送信履歴を残すためのバブルパケットが送信されるものであり、バブルパケットの送信の対象の基準となる第1の通信制御装置におけるポートである基準ポートの位置を検出するための基準ポート検出用パケットを送信する基準ポート検出用パケット送信ステップと、第2の情報処理装置からのバブルパケットの送信で用いられた、第2の通信制御装置のポートであるバブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を受け付けるバブルパケット送信ポート受付ステップと、バブルパケット送信ポート情報の示すバブルパケット送信ポートに対して返信パケットを送信する返信パケット送信ステップと、を実行させるためのものである。   The software that implements the information processing apparatus in each of the above embodiments is the following program. In other words, the program is sent to the computer via the first communication control device that controls communication of the first information processing device and the second communication control device that controls communication of the second information processing device. A program for executing processing in a first information processing apparatus that communicates with a second information processing apparatus, wherein the first communication control apparatus is connected to the second information processing apparatus via the second communication control apparatus. The bubble packet for leaving the transmission history is transmitted to the second communication control device, and the position of the reference port which is the port in the first communication control device serving as the reference of the bubble packet transmission target is determined. A reference port detection packet transmission step for transmitting a reference port detection packet for detection, and a second communication control device used in transmission of the bubble packet from the second information processing device A bubble packet transmission port reception step for receiving bubble packet transmission port information indicating the position of the bubble packet transmission port, which is a port, and a reply packet transmission step for transmitting a reply packet to the bubble packet transmission port indicated by the bubble packet transmission port information; , To execute.

また、このプログラムでは、返信パケット送信ステップにおいて、返信パケットを、第1の通信制御装置の異なるN個(Nは2以上の整数)のポートを用いて送信してもよい。   Further, in this program, in the reply packet transmission step, the reply packet may be transmitted using N different ports (N is an integer of 2 or more) of the first communication control device.

また、このプログラムでは、N個のポートが、返信パケットの送信時に、第1の通信制御装置において新たに割り当てられるものであってもよい。   In this program, N ports may be newly assigned in the first communication control apparatus when a reply packet is transmitted.

また、このプログラムでは、Nが、第1の通信制御装置における、基準ポートからバブルパケットが送信されたポートまでにおいて割り当て可能なポートの数以上であってもよい。   In this program, N may be equal to or greater than the number of ports that can be assigned from the reference port to the port to which the bubble packet is transmitted in the first communication control apparatus.

また、このプログラムでは、コンピュータに、返信パケットの送信で用いられた第1の通信制御装置のポートに対して、第2の情報処理装置から送信された再返信パケットを受け付ける再返信パケット受付ステップをさらに実行させてもよい。   In this program, the computer further includes a re-reply packet accepting step for accepting a re-reply packet transmitted from the second information processing device to the port of the first communication control device used for transmitting the reply packet. Further, it may be executed.

また、このプログラムでは、コンピュータに、第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、第1の通信制御装置を介して送信するポート幅検出用パケット送信ステップをさらに実行させてもよい。   The program further includes a port width detection packet transmission step of transmitting, to the computer, a port width detection packet for detecting the port width in the first communication control device via the first communication control device. It may be executed.

また、このプログラムでは、コンピュータに、ポート幅検出用パケットが通過した第1の通信制御装置のポートの位置を示すポート幅検出用ポート情報を受け付けるポート幅検出用ポート情報受付ステップと、ポート幅検出用ポート情報受付ステップで受け付けたポート幅検出用ポート情報に基づいて、第1の通信制御装置におけるポート幅を検出するポート幅検出ステップと、ポート幅検出ステップで検出した第1の通信制御装置におけるポート幅を示す情報であるポート幅情報を送信するポート幅送信ステップと、をさらに実行させてもよい。   Further, in this program, a port width detection port information receiving step for receiving port width detection port information indicating the position of the port of the first communication control device through which the port width detection packet has passed, and port width detection A port width detection step for detecting a port width in the first communication control device based on the port width detection port information received in the port information reception step, and a first communication control device detected in the port width detection step. A port width transmission step of transmitting port width information, which is information indicating the port width, may be further executed.

上記実施の形態におけるサーバを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第1の情報処理装置、および第2の
情報処理装置が、第1の情報処理装置の通信を制御する第1の通信制御装置、および第2の情報処理装置の通信を制御する第2の通信制御装置を介して行う通信を確立させるサーバにおける処理を実行させるためのプログラムであって、第1の通信制御装置に送信履歴を残すために第1の情報処理装置が送信するバブルパケットの送信の対象の基準となる第2の通信制御装置におけるポートである基準ポートの位置を検出するために、第2の情報処理装置から第2の通信制御装置を介して送信された基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて基準ポートの位置を検出する基準ポート検出ステップと、基準ポート検出ステップで検出した基準ポートの位置を示す基準ポート情報を第1の情報処理装置に送信する基準ポート送信ステップと、第1の情報処理装置から第2の通信制御装置へのバブルパケットの送信で用いられる第1の通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、第1の情報処理装置から送信されたポート検出用パケットを受け付け、ポート検出用パケットに基づいてバブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出ステップと、バブルパケット送信ポート検出ステップで検出したバブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を第2の情報処理装置に送信するバブルパケット送信ポート送信ステップと、を実行させるためのものである。
The software that implements the server in the above embodiment is the following program. In other words, this program is stored in a computer in which the first information processing apparatus and the second information processing apparatus control communication of the first information processing apparatus, and the second information processing apparatus. A program for executing processing in a server for establishing communication performed via a second communication control device that controls communication of the first information processing in order to leave a transmission history in the first communication control device In order to detect the position of a reference port that is a port in the second communication control device that is a reference for transmission of bubble packets transmitted by the device, the second information processing device passes through the second communication control device. A reference port detection step for receiving the transmitted reference port detection packet and detecting the position of the reference port based on the reference port detection packet; and a reference port detection step. The reference port transmission step for transmitting the reference port information indicating the position of the reference port detected by the group to the first information processing apparatus and the transmission of the bubble packet from the first information processing apparatus to the second communication control apparatus. In order to detect the position of the bubble packet transmission port which is a port in the first communication control device, the port detection packet transmitted from the first information processing device is received and bubble packet transmission is performed based on the port detection packet. Bubble packet transmission port detecting step for detecting the position of the port, and bubble packet transmission port for transmitting bubble packet transmission port information indicating the position of the bubble packet transmission port detected in the bubble packet transmission port detecting step to the second information processing apparatus And a transmission step.

また、このプログラムでは、コンピュータに、バブルパケット送信ポート検出ステップでバブルパケット送信ポートの位置を検出できなかった場合に、バブルパケット、およびポート検出用パケットを再度送信する旨の指示である再送信指示を第1の情報処理装置に送信する再送信指示送信ステップをさらに実行させてもよい。   In addition, in this program, if the position of the bubble packet transmission port cannot be detected in the bubble packet transmission port detection step, the retransmission instruction is an instruction to retransmit the bubble packet and the port detection packet. May be further executed in a retransmission instruction transmission step of transmitting the message to the first information processing apparatus.

また、このプログラムでは、バブルパケット送信ポート検出ステップにおいて、バブルパケットの送信の前後に送信されたポート検出用パケットを受け付け、当該ポート検出用パケットの送信で用いられた第1の通信制御装置における2つのポートと、バブルパケット送信ポートとが連続しているかどうか判断し、連続している場合には、2つのポートで挟まれるポートの位置をバブルパケット送信ポートの位置として検出してもよい。   Further, in this program, in the bubble packet transmission port detection step, the port detection packet transmitted before and after the transmission of the bubble packet is received, and 2 in the first communication control device used in the transmission of the port detection packet. It is determined whether two ports and bubble packet transmission ports are continuous. If they are continuous, the position of the port sandwiched between the two ports may be detected as the position of the bubble packet transmission port.

また、このプログラムでは、バブルパケット送信ポート検出ステップにおいて、ポート検出用パケットの送信で用いられた第1の通信制御装置における2つのポートの間隔が、第1の通信制御装置におけるポート幅の2倍である場合に、連続していると判断してもよい。   In this program, in the bubble packet transmission port detection step, the interval between the two ports in the first communication control device used for transmitting the port detection packet is twice the port width in the first communication control device. If it is, it may be determined that it is continuous.

また、このプログラムでは、コンピュータに、第1の情報処理装置から第1の通信制御装置を介して送信された第1のポート幅検出用パケットを受け付け、当該第1のポート幅検出用パケットに基づいて第1の通信制御装置におけるポート幅を検出する第1のポート幅検出ステップをさらに実行させ、バブルパケット送信ポート検出ステップでは、第1のポート幅検出部が検出したポート幅を用いて判断を行ってもよい。   Further, in this program, the computer receives a first port width detection packet transmitted from the first information processing apparatus via the first communication control apparatus, and based on the first port width detection packet. The first port width detection step of detecting the port width in the first communication control device is further executed, and in the bubble packet transmission port detection step, a determination is made using the port width detected by the first port width detection unit. You may go.

また、このプログラムでは、コンピュータに、第2の情報処理装置から第2の通信制御装置を介して送信された第2のポート幅検出用パケットを受け付け、当該第2のポート幅検出用パケットに基づいて第2の通信制御装置におけるポート幅を検出する第2のポート幅検出ステップと、第2のポート幅検出ステップで検出したポート幅を示す情報であるポート幅情報を第1の情報処理装置に送信するポート幅送信ステップと、をさらに実行させてもよい。   Further, in this program, the computer receives a second port width detection packet transmitted from the second information processing device via the second communication control device, and based on the second port width detection packet. A second port width detecting step for detecting the port width in the second communication control device, and port width information, which is information indicating the port width detected in the second port width detecting step, in the first information processing device. A port width transmission step of transmitting may be further executed.

また、上記実施の形態におけるサーバを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第1の情報処理装置、および第2の情報処理装置が、第1の情報処理装置の通信を制御する第1の通信制御装置、および第2の情報処理装置の通信を制御する第2の通信制御装置を介して行う通信を確立させ
るサーバにおける処理を実行させるためのプログラムであって、第1の通信制御装置に送信履歴を残すために第1の情報処理装置が送信するバブルパケットの送信の対象の基準となる第2の通信制御装置におけるポートである基準ポートの位置を検出するために、第2の情報処理装置から第2の通信制御装置を介して送信された基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて基準ポートの位置を検出する基準ポート検出ステップと、基準ポート検出ステップで検出した基準ポートの位置を示す基準ポート情報を第1の情報処理装置に送信する基準ポート送信ステップと、第1の情報処理装置から第2の通信制御装置へのバブルパケットの送信で用いられる第1の通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、第1の情報処理装置から送信されたポート検出用パケットを受け付け、当該ポート検出用パケットに基づいてポート検出用パケットが通過した第1の通信制御装置のポートの位置を検出する検出用ポート検出ステップと、検出用ポート検出ステップで検出したポートの位置を示す検出用ポート情報を第1の情報処理装置に送信する検出用ポート情報送信ステップと、を実行させるためのものである。
Moreover, the software which implement | achieves the server in the said embodiment is the following programs. In other words, this program is stored in a computer in which the first information processing apparatus and the second information processing apparatus control communication of the first information processing apparatus, and the second information processing apparatus. A program for executing processing in a server for establishing communication performed via a second communication control device that controls communication of the first information processing in order to leave a transmission history in the first communication control device In order to detect the position of a reference port that is a port in the second communication control device that is a reference for transmission of bubble packets transmitted by the device, the second information processing device passes through the second communication control device. A reference port detection step for receiving the transmitted reference port detection packet and detecting the position of the reference port based on the reference port detection packet; and a reference port detection step. The reference port transmission step for transmitting the reference port information indicating the position of the reference port detected by the group to the first information processing apparatus and the transmission of the bubble packet from the first information processing apparatus to the second communication control apparatus. In order to detect the position of the bubble packet transmission port that is a port in the first communication control device, the port detection packet transmitted from the first information processing device is received, and the port detection is performed based on the port detection packet. A detection port detection step for detecting the position of the port of the first communication control device through which the packet for transmission has passed, and detection port information indicating the position of the port detected in the detection port detection step for the first information processing device And a detection port information transmission step for transmission.

また、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置、情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成する情報処理装置における処理を実行させるためのプログラムであって、通信制御装置を介して、通信制御装置に送信履歴を残すためのバブルパケットを送信するバブルパケット送信ステップと、バブルパケットの送信で用いられる、通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために用いられるポート検出用パケットを、バブルパケット送信ステップでバブルパケットを送信する前後に、サーバに送信する検出用パケット送信ステップと、を実行させるためのものである。   Moreover, the software which implement | achieves the information processing apparatus in each said embodiment is the following programs. That is, this program is a program for causing a computer to execute processing in an information processing apparatus, a communication control apparatus that controls communication of the information processing apparatus, and a communication system that includes a server. A bubble packet transmission step for transmitting a bubble packet for leaving a transmission history in the communication control device via the control device, and a position of the bubble packet transmission port which is a port of the communication control device used for transmitting the bubble packet is detected. A detection packet transmission step of transmitting the port detection packet used for the transmission to the server before and after transmitting the bubble packet in the bubble packet transmission step.

また、上記各実施の形態におけるサーバを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置、情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成するサーバにおける処理を実行させるためのプログラムであって、通信制御装置に送信履歴を残すために情報処理装置が送信するバブルパケットの送信で用いられる通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、バブルパケットの送信の前後に情報処理装置から送信されたポート検出用パケットを受け付けるステップと、ポート検出用パケットに基づいてバブルパケット送信ポートの位置を検出するステップと、を実行させるためのものである。   Moreover, the software which implement | achieves the server in each said embodiment is the following programs. That is, this program is a program for causing a computer to execute processing in an information processing device, a communication control device that controls communication of the information processing device, and a server that constitutes a communication system including the server. In order to detect the position of the bubble packet transmission port, which is a port in the communication control device used in the transmission of the bubble packet transmitted by the information processing device in order to leave a transmission history, the information processing device before and after the transmission of the bubble packet. The step of receiving the transmitted port detection packet and the step of detecting the position of the bubble packet transmission port based on the port detection packet are executed.

また、上記各実施の形態におけるサーバを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置、情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成するサーバにおける処理を実行させるためのプログラムであって、通信制御装置に送信履歴を残すために情報処理装置が送信するバブルパケットの送信で用いられる通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、バブルパケットの送信の前後に情報処理装置から送信されたポート検出用パケットを受け付けるステップと、ポート検出用パケットが通過した通信制御装置のポートの位置を検出するステップと、ポート検出用パケットが通過した通信制御装置のポートの位置を示す検出用ポート情報を情報処理装置に送信するステップと、を実行させるためのものである。   Moreover, the software which implement | achieves the server in each said embodiment is the following programs. That is, this program is a program for causing a computer to execute processing in an information processing device, a communication control device that controls communication of the information processing device, and a server that constitutes a communication system including the server. In order to detect the position of the bubble packet transmission port, which is a port in the communication control device used in the transmission of the bubble packet transmitted by the information processing device in order to leave a transmission history, the information processing device before and after the transmission of the bubble packet. Receiving the transmitted port detection packet; detecting the port position of the communication control device through which the port detection packet has passed; and detecting the port position of the communication control device through which the port detection packet has passed. Transmitting the port information to the information processing apparatus. It is those of the eye.

なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受け付ける受付ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。   In the above program, in a transmission step for transmitting information, a reception step for receiving information, etc., processing performed by hardware, for example, processing performed by a modem or an interface card in the transmission step (only performed by hardware). Not included).

また、このプログラムは、サーバなどからダウンロードされることによって流通してもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されることにより流通してもよい。   The program may be distributed by being downloaded from a server or the like, or distributed by being recorded on a predetermined recording medium (for example, an optical disk such as a CD-ROM, a magnetic disk, or a semiconductor memory). Also good.

また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。   Further, the computer that executes this program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.

このように、本発明による通信システム等は、通信制御装置を介した複数の情報処理装置間での通信を確立することができ、情報処理装置間での通信を行うものとして有用である。   As described above, the communication system or the like according to the present invention can establish communication between a plurality of information processing apparatuses via the communication control apparatus, and is useful as a communication between information processing apparatuses.

本発明の実施の形態1による通信システムの構成を示すブロック図The block diagram which shows the structure of the communication system by Embodiment 1 of this invention. 同実施の形態による第1の情報処理装置の構成を示すブロック図The block diagram which shows the structure of the 1st information processing apparatus by the embodiment 同実施の形態による第2の情報処理装置の構成を示すブロック図The block diagram which shows the structure of the 2nd information processing apparatus by the embodiment 同実施の形態によるサーバの構成を示すブロック図The block diagram which shows the structure of the server by the embodiment 同実施の形態による通信システムの動作を示すフローチャートThe flowchart which shows the operation | movement of the communication system by the embodiment 同実施の形態における通信の確立に関する処理について説明するための図The figure for demonstrating the process regarding the establishment of communication in the embodiment 同実施の形態におけるポート幅の検出について説明するための図The figure for demonstrating the detection of the port width in the embodiment 同実施の形態における通信の確立に関する処理について説明するための図The figure for demonstrating the process regarding the establishment of communication in the embodiment 同実施の形態における通信の確立に関する処理について説明するための図The figure for demonstrating the process regarding the establishment of communication in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment 同実施の形態における接続可能な通信制御装置の特性の組み合わせを示す図The figure which shows the combination of the characteristic of the communication control apparatus which can be connected in the embodiment 本発明の実施の形態2による第1の情報処理装置の構成を示すブロック図The block diagram which shows the structure of the 1st information processing apparatus by Embodiment 2 of this invention. 同実施の形態による第2の情報処理装置の構成を示すブロック図The block diagram which shows the structure of the 2nd information processing apparatus by the embodiment 同実施の形態によるサーバの構成を示すブロック図The block diagram which shows the structure of the server by the embodiment 同実施の形態における通信の確立に関する処理について説明するための図The figure for demonstrating the process regarding the establishment of communication in the embodiment 同実施の形態における通信の確立に関する処理について説明するための図The figure for demonstrating the process regarding the establishment of communication in the embodiment 同実施の形態における通信の確立に関する処理について説明するための図The figure for demonstrating the process regarding the establishment of communication in the embodiment 本発明の実施の形態3による通信システムの構成を示すブロック図The block diagram which shows the structure of the communication system by Embodiment 3 of this invention. 他の実施の形態による通信システムの構成を示すブロック図The block diagram which shows the structure of the communication system by other embodiment. 本発明の実施の形態4による通信システムの構成を示すブロック図The block diagram which shows the structure of the communication system by Embodiment 4 of this invention. 同実施の形態による第1の情報処理装置の構成を示すブロック図The block diagram which shows the structure of the 1st information processing apparatus by the embodiment 同実施の形態によるサーバの構成を示すブロック図The block diagram which shows the structure of the server by the embodiment 同実施の形態における通信の確立に関する処理について説明するための図The figure for demonstrating the process regarding the establishment of communication in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment 同実施の形態における具体例について説明するための図The figure for demonstrating the specific example in the embodiment NATの特性(タイプ)について説明するための図The figure for explaining the characteristic (type) of NAT 通信システムの一例を示す図The figure which shows an example of a communication system 従来の接続可能なNATの組み合わせを示す図The figure which shows the combination of NAT which can be connected conventionally

符号の説明Explanation of symbols

1 第1の情報処理装置
2 第2の情報処理装置
3 第1の通信制御装置
4 第2の通信制御装置
5 通信回線
6 サーバ
11,21,61 通信部
12 基準ポート受付部
13 バブルパケット送信部
14 検出用パケット送信部
15,26 ポート幅検出用パケット送信部
16 再送信指示受付部
17 返信パケット受付部
18 再返信パケット受付部
19 ポート幅受付部
22 基準ポート検出用パケット送信部
23 バブルパケット送信ポート受付部
24 返信パケット送信部
25 再返信パケット受付部
62 基準ポート検出部
63 基準ポート送信部
64 ポート幅検出部
65 バブルパケット送信ポート検出部
66 再送信指示送信部
67 バブルパケット送信ポート送信部
68 ポート幅送信部
DESCRIPTION OF SYMBOLS 1 1st information processing apparatus 2 2nd information processing apparatus 3 1st communication control apparatus 4 2nd communication control apparatus 5 Communication line 6 Server 11, 21, 61 Communication part 12 Reference | standard port reception part 13 Bubble packet transmission part DESCRIPTION OF SYMBOLS 14 Detection packet transmission part 15,26 Port width detection packet transmission part 16 Retransmission instruction | indication reception part 17 Reply packet reception part 18 Re-reply packet reception part 19 Port width reception part 22 Reference | standard port detection packet transmission part 23 Bubble packet transmission Port accepting unit 24 Reply packet transmitting unit 25 Reply packet accepting unit 62 Reference port detecting unit 63 Reference port transmitting unit 64 Port width detecting unit 65 Bubble packet transmitting port detecting unit 66 Retransmission instruction transmitting unit 67 Bubble packet transmitting port transmitting unit 68 Port width transmitter

Claims (88)

第1の情報処理装置と、第2の情報処理装置と、前記第1の情報処理装置の通信を制御する第1の通信制御装置と、前記第2の情報処理装置の通信を制御する第2の通信制御装置と、前記第1の情報処理装置と前記第2の情報処理装置間の通信を確立させるサーバとを備えた通信システムであって、
前記第1の情報処理装置は、
前記第1の通信制御装置に送信履歴を残すために送信されるバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を示す基準ポート情報を受け付ける基準ポート受付部と、
前記基準ポート情報に基づいて、前記第1の通信制御装置を介して、前記バブルパケットを前記第2の通信制御装置に送信するバブルパケット送信部と、
前記バブルパケットの送信で用いられる、前記第1の通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために、ポート検出用パケットを前記サーバに送信する検出用パケット送信部と、
前記バブルパケット送信ポートに対して、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された返信パケットを受け付ける返信パケット受付部と、を備え
前記第2の情報処理装置は、
前記基準ポートの位置を検出するための基準ポート検出用パケットを送信する基準ポート検出用パケット送信部と、
前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を受け付けるバブルパケット送信ポート受付部と、
前記バブルパケット送信ポート情報の示す前記バブルパケット送信ポートに対して返信パケットを送信する返信パケット送信部と、を備え、
前記サーバは、
前記第2の情報処理装置から送信された前記基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて前記基準ポートの位置を検出する基準ポート検出部と、
前記基準ポート検出部が検出した前記基準ポートの位置を示す基準ポート情報を前記第1の情報処理装置に送信する基準ポート送信部と、
前記第1の情報処理装置から送信された前記ポート検出用パケットを受け付け、前記ポート検出用パケットに基づいて前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部と、
前記バブルパケット送信ポート情報を前記第2の情報処理装置に送信するバブルパケット送信ポート送信部と、を備えた通信システム。
A first information processing apparatus; a second information processing apparatus; a first communication control apparatus that controls communication of the first information processing apparatus; and a second that controls communication of the second information processing apparatus. A communication control device and a server for establishing communication between the first information processing device and the second information processing device,
The first information processing apparatus includes:
Criteria for accepting reference port information indicating the position of a reference port that is a port in the second communication control device serving as a reference for transmission of a bubble packet transmitted to leave a transmission history in the first communication control device The port reception department,
A bubble packet transmission unit configured to transmit the bubble packet to the second communication control device via the first communication control device based on the reference port information;
A detection packet transmitter for transmitting a port detection packet to the server in order to detect a position of a bubble packet transmission port, which is a port of the first communication control device, used in the transmission of the bubble packet;
A reply packet accepting unit that accepts a reply packet transmitted from the second information processing device via the second communication control device to the bubble packet transmission port; ,
A reference port detection packet transmitter for transmitting a reference port detection packet for detecting the position of the reference port;
A bubble packet transmission port reception unit for receiving bubble packet transmission port information indicating the position of the bubble packet transmission port;
A reply packet transmitter that transmits a reply packet to the bubble packet transmission port indicated by the bubble packet transmission port information,
The server
A reference port detection unit that receives the reference port detection packet transmitted from the second information processing apparatus and detects the position of the reference port based on the reference port detection packet;
A reference port transmitter that transmits reference port information indicating the position of the reference port detected by the reference port detector to the first information processing apparatus;
A bubble packet transmission port detection unit that receives the port detection packet transmitted from the first information processing apparatus and detects a position of the bubble packet transmission port based on the port detection packet;
A bubble communication port transmission unit that transmits the bubble packet transmission port information to the second information processing apparatus.
前記サーバは、
前記バブルパケット送信ポート検出部が前記バブルパケット送信ポートの位置を検出できなかった場合に、前記バブルパケット、および前記ポート検出用パケットを再度送信する旨の指示である再送信指示を前記第1の情報処理装置に送信する再送信指示送信部をさらに備え、
前記第1の情報処理装置は、
前記サーバから送信された前記再送信指示を受け付ける再送信指示受付部をさらに備え、前記検出用パケット送信部は、前記再送信指示受付部が前記再送信指示を受け付けた場合に、前記ポート検出用パケットを再度、前記サーバに送信し、
前記バブルパケット送信部は、前記再送信指示受付部が前記再送信指示を受け付けた場合に、前記バブルパケットを再度、前記サーバに送信する、請求項1記載の通信システム。
The server
If the bubble packet transmission port detection unit cannot detect the position of the bubble packet transmission port, a retransmission instruction that is an instruction to retransmit the bubble packet and the port detection packet is sent to the first packet packet. A retransmission instruction transmission unit for transmitting to the information processing apparatus;
The first information processing apparatus includes:
A retransmission instruction receiving unit that receives the retransmission instruction transmitted from the server; and the detection packet transmitting unit is configured to detect the port when the retransmission instruction receiving unit receives the retransmission instruction. Send the packet again to the server,
The communication system according to claim 1, wherein the bubble packet transmission unit transmits the bubble packet to the server again when the retransmission instruction reception unit receives the retransmission instruction.
前記第1の情報処理装置は、
前記返信パケット受付部が前記返信パケットを受け付けた場合に、当該返信パケットの送
信で用いられた前記第2の通信制御装置のポートに対して、再返信パケットを送信する再返信パケット送信部をさらに備え、
前記第2の情報処理装置は、
前記再返信パケットを受け付ける再返信パケット受付部をさらに備えた、請求項1または2記載の通信システム。
The first information processing apparatus includes:
When the reply packet accepting unit accepts the reply packet, the reply packet transmitting unit further transmits a reply packet to the port of the second communication control device used for transmitting the reply packet. Prepared,
The second information processing apparatus
The communication system according to claim 1, further comprising a re-reply packet accepting unit that accepts the re-reply packet.
第1の情報処理装置の通信を制御する第1の通信制御装置と、第2の情報処理装置の通信を制御する第2の通信制御装置とを介して、前記第2の情報処理装置と通信する前記第1の情報処理装置であって、
前記第1の通信制御装置に送信履歴を残すために送信されるバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を示す基準ポート情報を受け付ける基準ポート受付部と、
前記基準ポート情報に基づいて、前記第1の通信制御装置を介して、前記バブルパケットを前記第2の通信制御装置に送信するバブルパケット送信部と、
前記バブルパケットの送信で用いられる、前記第1の通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために、ポート検出用パケットを送信する検出用パケット送信部と、
前記バブルパケット送信ポートに対して、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された返信パケットを受け付ける返信パケット受付部と、を備えた第1の情報処理装置。
Communication with the second information processing device via a first communication control device that controls communication of the first information processing device and a second communication control device that controls communication of the second information processing device The first information processing apparatus,
Criteria for accepting reference port information indicating the position of a reference port that is a port in the second communication control device serving as a reference for transmission of a bubble packet transmitted to leave a transmission history in the first communication control device The port reception department,
A bubble packet transmission unit configured to transmit the bubble packet to the second communication control device via the first communication control device based on the reference port information;
A detection packet transmitter for transmitting a port detection packet to detect a position of a bubble packet transmission port, which is a port of the first communication control device, used in the transmission of the bubble packet;
A first information processing apparatus comprising: a reply packet receiving unit that receives a reply packet transmitted from the second information processing apparatus via the second communication control apparatus to the bubble packet transmission port.
前記基準ポートは、前記第2の通信制御装置で割り当てられたポートのうち、前記基準ポートの位置を検出するための基準ポート検出用パケットが前記第2の情報処理装置から送信された時点における最新のポートである、請求項4記載の第1の情報処理装置。 The reference port is the latest at the time when a reference port detection packet for detecting the position of the reference port is transmitted from the second information processing device among the ports assigned by the second communication control device. The first information processing apparatus according to claim 4, wherein the first information processing apparatus is a port. 前記検出用パケット送信部は、前記バブルパケット送信部が前記バブルパケットを送信する前後に、前記ポート検出用パケットを送信する、請求項4または5記載の第1の情報処理装置。 6. The first information processing apparatus according to claim 4, wherein the detection packet transmission unit transmits the port detection packet before and after the bubble packet transmission unit transmits the bubble packet. 前記バブルパケット、および前記ポート検出用パケットは、前記第1の通信制御装置における異なるポートを用いて送信されるものである、請求項6記載の第1の情報処理装置。 The first information processing apparatus according to claim 6, wherein the bubble packet and the port detection packet are transmitted using different ports in the first communication control apparatus. 前記バブルパケット、および前記ポート検出用パケットは、前記第1の情報処理装置において新たに割り当てられたポートを用いて送信される、請求項7記載の第1の情報処理装置。 The first information processing apparatus according to claim 7, wherein the bubble packet and the port detection packet are transmitted using a port newly assigned in the first information processing apparatus. 前記バブルパケット、および前記ポート検出用パケットを再度送信する旨の再送信指示を受け付ける再送信指示受付部をさらに備え、
前記検出用パケット送信部は、前記再送信指示受付部が前記再送信指示を受け付けた場合に、前記ポート検出用パケットを再度送信し、
前記バブルパケット送信部は、前記再送信指示受付部が前記再送信指示を受け付けた場合に、前記バブルパケットを再度送信する、請求項4記載の第1の情報処理装置。
A retransmission instruction receiving unit that receives a retransmission instruction to retransmit the bubble packet and the port detection packet;
When the retransmission instruction receiving unit receives the retransmission instruction, the detection packet transmitting unit transmits the port detection packet again,
The first information processing apparatus according to claim 4, wherein the bubble packet transmission unit transmits the bubble packet again when the retransmission instruction reception unit receives the retransmission instruction.
前記第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、前記第1の通信制御装置を介して送信するポート幅検出用パケット送信部をさらに備えた、請求項4記載の第1の情報処理装置。 5. The port width detection packet transmitting unit further transmits a port width detection packet for detecting a port width in the first communication control device via the first communication control device. The first information processing apparatus. 前記第2の通信制御装置における、前記バブルパケットを送信する対象のポートであるバブルパケット送信対象ポートは、前記基準ポートから所定のポート割り当て後に割り当てられるポートである、請求項4記載の第1の情報処理装置。 5. The first port according to claim 4, wherein a bubble packet transmission target port that is a target port for transmitting the bubble packet in the second communication control device is a port assigned after a predetermined port assignment from the reference port. Information processing device. 前記第2の通信制御装置におけるポート幅を示す情報であるポート幅情報を受け付けるポート幅受付部をさらに備え、
前記バブルパケット送信部は、前記基準ポートとのポート間隔が前記ポート幅情報の示す前記ポート幅のM倍(Mは1以上の整数)である前記バブルパケット送信対象ポートに対して前記バブルパケットを送信する、請求項11記載の第1の情報処理装置。
A port width receiving unit that receives port width information that is information indicating a port width in the second communication control device;
The bubble packet transmission unit transmits the bubble packet to the bubble packet transmission target port whose port interval with the reference port is M times the port width indicated by the port width information (M is an integer of 1 or more). The first information processing apparatus according to claim 11, which transmits the first information processing apparatus.
前記返信パケット受付部が前記返信パケットを受け付けた場合に、当該返信パケットの送信で用いられた前記第2の通信制御装置のポートに対して、再返信パケットを送信する再返信パケット送信部をさらに備えた、請求項4記載の第1の情報処理装置。 When the reply packet accepting unit accepts the reply packet, the reply packet transmitting unit further transmits a reply packet to the port of the second communication control device used for transmitting the reply packet. The first information processing apparatus according to claim 4 provided. 第1の情報処理装置の通信を制御する第1の通信制御装置と、第2の情報処理装置の通信を制御する第2の通信制御装置とを介して、前記第2の情報処理装置と通信する前記第1の情報処理装置であって、
前記第1の通信制御装置は、前記第2の情報処理装置から前記第2の通信制御装置を介して、前記第2の通信制御装置に送信履歴を残すためのバブルパケットが送信されるものであり、
前記バブルパケットの送信の対象の基準となる前記第1の通信制御装置におけるポートである基準ポートの位置を検出するための基準ポート検出用パケットを送信する基準ポート検出用パケット送信部と、
前記第2の情報処理装置からの前記バブルパケットの送信で用いられた、前記第2の通信制御装置のポートであるバブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を受け付けるバブルパケット送信ポート受付部と、
前記バブルパケット送信ポート情報の示す前記バブルパケット送信ポートに対して返信パケットを送信する返信パケット送信部と、を備えた第1の情報処理装置。
Communication with the second information processing device via a first communication control device that controls communication of the first information processing device and a second communication control device that controls communication of the second information processing device The first information processing apparatus,
The first communication control device transmits a bubble packet for leaving a transmission history to the second communication control device from the second information processing device via the second communication control device. Yes,
A reference port detection packet transmitter for transmitting a reference port detection packet for detecting a position of a reference port that is a port in the first communication control device that is a reference for transmission of the bubble packet;
Bubble packet transmission port reception for receiving bubble packet transmission port information indicating the position of the bubble packet transmission port, which is a port of the second communication control device, used for transmission of the bubble packet from the second information processing apparatus And
A first information processing apparatus comprising: a reply packet transmission unit that transmits a reply packet to the bubble packet transmission port indicated by the bubble packet transmission port information.
前記返信パケット送信部は、前記返信パケットを、前記第1の通信制御装置の異なるN個(Nは2以上の整数)のポートを用いて送信する、請求項14記載の第1の情報処理装置。 The first information processing apparatus according to claim 14, wherein the reply packet transmitting unit transmits the reply packet using N different ports (N is an integer of 2 or more) of the first communication control apparatus. . 前記N個のポートは、前記返信パケットの送信時に、前記第1の通信制御装置において新たに割り当てられるものである、請求項15記載の第1の情報処理装置。 16. The first information processing apparatus according to claim 15, wherein the N ports are newly allocated in the first communication control apparatus when the reply packet is transmitted. 前記Nは、前記第1の通信制御装置における、前記基準ポートから前記バブルパケットが送信されたポートまでにおいて割り当て可能なポートの数以上である、請求項15または16記載の第1の情報処理装置。 17. The first information processing apparatus according to claim 15, wherein N is equal to or more than a number of ports that can be allocated from the reference port to a port to which the bubble packet is transmitted in the first communication control apparatus. . 前記返信パケットの送信で用いられた前記第1の通信制御装置のポートに対して、前記第2の情報処理装置から送信された再返信パケットを受け付ける再返信パケット受付部をさらに備えた、請求項14記載の第1の情報処理装置。 The apparatus further comprises a re-reply packet accepting unit that accepts a re-reply packet transmitted from the second information processing device to the port of the first communication control device used for transmitting the reply packet. 14. The first information processing apparatus according to 14. 前記第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、前記第1の通信制御装置を介して送信するポート幅検出用パケット送信部をさらに備えた、請求項14記載の第1の情報処理装置。 The port width detection packet transmitting unit for transmitting a port width detection packet for detecting a port width in the first communication control device via the first communication control device. The first information processing apparatus. 第1の情報処理装置、および第2の情報処理装置が、前記第1の情報処理装置の通信を制御する第1の通信制御装置、および前記第2の情報処理装置の通信を制御する第2の通信制御装置を介して行う通信を確立させるサーバであって、
前記第1の通信制御装置に送信履歴を残すために前記第1の情報処理装 置が送信するバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基
準ポートの位置を検出するために、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて前記基準ポートの位置を検出する基準ポート検出部と、
前記基準ポート検出部が検出した前記基準ポートの位置を示す基準ポート情報を前記第1の情報処理装置に送信する基準ポート送信部と、
前記第1の情報処理装置から前記第2の通信制御装置への前記バブルパケットの送信で用いられる前記第1の通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記第1の情報処理装置から送信されたポート検出用パケットを受け付け、前記ポート検出用パケットに基づいて前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部と、
前記バブルパケット送信ポート検出部が検出した前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を前記第2の情報処理装置に送信するバブルパケット送信ポート送信部と、を備えたサーバ。
The first information processing device and the second information processing device are a first communication control device that controls communication of the first information processing device, and a second that controls communication of the second information processing device. A server that establishes communication through the communication control device of
Position of a reference port that is a port in the second communication control device that is a reference for transmission of a bubble packet transmitted by the first information processing device in order to leave a transmission history in the first communication control device In order to detect the reference port detection packet transmitted from the second information processing apparatus via the second communication control apparatus, the position of the reference port is determined based on the reference port detection packet. A reference port detector to detect;
A reference port transmitter that transmits reference port information indicating the position of the reference port detected by the reference port detector to the first information processing apparatus;
In order to detect a position of a bubble packet transmission port that is a port in the first communication control device used in transmission of the bubble packet from the first information processing device to the second communication control device, A bubble packet transmission port detection unit that receives a port detection packet transmitted from one information processing apparatus and detects a position of the bubble packet transmission port based on the port detection packet;
A server comprising: a bubble packet transmission port transmission unit configured to transmit bubble packet transmission port information indicating a position of the bubble packet transmission port detected by the bubble packet transmission port detection unit to the second information processing apparatus.
前記バブルパケット送信ポート検出部が前記バブルパケット送信ポートの位置を検出できなかった場合に、前記バブルパケット、および前記ポート検出用パケットを再度送信する旨の指示である再送信指示を前記第1の情報処理装置に送信する再送信指示送信部をさらに備えた、請求項20記載のサーバ。 When the bubble packet transmission port detection unit cannot detect the position of the bubble packet transmission port, a retransmission instruction that is an instruction to retransmit the bubble packet and the port detection packet is sent to the first packet. 21. The server according to claim 20, further comprising a retransmission instruction transmission unit that transmits to the information processing apparatus. 前記バブルパケット送信ポート検出部は、前記バブルパケットの送信の前後に送信された前記ポート検出用パケットを受け付け、当該ポート検出用パケットの送信で用いられた前記第1の通信制御装置における2つのポートと、前記バブルパケット送信ポートとが連続しているかどうか判断し、連続している場合には、前記2つのポートで挟まれるポートの位置を前記バブルパケット送信ポートの位置として検出する、請求項20または21記載のサーバ。 The bubble packet transmission port detection unit receives the port detection packet transmitted before and after transmission of the bubble packet, and uses two ports in the first communication control device used in transmission of the port detection packet. And when the bubble packet transmission port is continuous, the position of the port sandwiched between the two ports is detected as the position of the bubble packet transmission port. Or the server according to 21. 前記バブルパケット送信ポート検出部は、前記ポート検出用パケットの送信で用いられた前記第1の通信制御装置における2つのポートの間隔が、前記第1の通信制御装置におけるポート幅の2倍である場合に、連続していると判断する、請求項22記載のサーバ。 In the bubble packet transmission port detection unit, an interval between two ports in the first communication control device used for transmitting the port detection packet is twice a port width in the first communication control device. 23. The server of claim 22, wherein the server determines that the server is continuous. 前記第1の情報処理装置から前記第1の通信制御装置を介して送信された第1のポート幅検出用パケットを受け付け、当該第1のポート幅検出用パケットに基づいて前記第1の通信制御装置におけるポート幅を検出する第1のポート幅検出部をさらに備え、
前記バブルパケット送信ポート検出部は、前記第1のポート幅検出部が検出したポート幅を用いて前記判断を行う、請求項23記載のサーバ。
A first port width detection packet transmitted from the first information processing apparatus via the first communication control apparatus is received, and the first communication control is performed based on the first port width detection packet. A first port width detection unit for detecting a port width in the apparatus;
The server according to claim 23, wherein the bubble packet transmission port detection unit makes the determination using the port width detected by the first port width detection unit.
前記第2の情報処理装置から前記第2の通信制御装置を介して送信された第2のポート幅検出用パケットを受け付け、当該第2のポート幅検出用パケットに基づいて前記第2の通信制御装置におけるポート幅を検出する第2のポート幅検出部と、
前記第2のポート幅検出部が検出した前記ポート幅を示す情報であるポート幅情報を前記第1の情報処理装置に送信するポート幅送信部と、をさらに備えた、請求項20記載のサーバ。
Receiving a second port width detection packet transmitted from the second information processing apparatus via the second communication control apparatus, and performing the second communication control based on the second port width detection packet; A second port width detector for detecting a port width in the apparatus;
21. The server according to claim 20, further comprising: a port width transmission unit that transmits port width information, which is information indicating the port width detected by the second port width detection unit, to the first information processing apparatus. .
第1の情報処理装置、および第2の情報処理装置が、前記第1の情報処理装置の通信を制御する第1の通信制御装置、および前記第2の情報処理装置の通信を制御する第2の通信制御装置を介して通信を行う通信方法であって、
前記第1の通信制御装置に送信履歴を残すために前記第1の情報処理装置が送信するバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を検出するための基準ポート検出用パケットを、前記第2の情報処理装置が前記第2の通信制御装置を介して送信する基準ポート検出用パケット送信ステップと、
前記基準ポート検出用パケットを受け付け、前記基準ポートの位置を検出する基準ポート検出ステップと、
前記基準ポート検出ステップで検出された前記基準ポートの位置を示す情報である基準ポート情報を送信する基準ポート送信ステップと、
前記基準ポート情報を受け付ける基準ポート受付ステップと、
前記第1の情報処理装置が、前記基準ポート受付ステップで受け付けた基準ポート情報に基づいて、前記第1の通信制御装置を介して、前記バブルパケットを前記第2の通信制御装置に送信するバブルパケット送信ステップと、
前記バブルパケットの送信で用いられる、前記第1の通信制御装置のポートであるバブルパケット送信ポートの位置を検出する前記バブルパケット送信ポート検出ステップと、
前記バブルパケット送信ポート検出ステップで検出された前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を送信するバブルパケット送信ポート送信ステップと、
前記バブルパケット送信ポート情報を受け付けるバブルパケット送信ポート受付ステップと、
前記バブルパケット送信ポート受付ステップで受け付けたバブルパケット送信ポート情報の示すバブルパケット送信ポートに対して、前記第2の情報処理装置から返信パケットを送信する返信ステップと、を備えた通信方法。
The first information processing device and the second information processing device are a first communication control device that controls communication of the first information processing device, and a second that controls communication of the second information processing device. A communication method for performing communication via the communication control device of
The position of a reference port that is a port in the second communication control device, which is a reference for transmission of a bubble packet transmitted by the first information processing device in order to leave a transmission history in the first communication control device. A reference port detection packet transmission step in which the second information processing device transmits a reference port detection packet for detection via the second communication control device;
A reference port detection step of receiving the reference port detection packet and detecting a position of the reference port;
A reference port transmission step of transmitting reference port information which is information indicating a position of the reference port detected in the reference port detection step;
A reference port receiving step for receiving the reference port information;
The first information processing apparatus transmits the bubble packet to the second communication control apparatus via the first communication control apparatus based on the reference port information received in the reference port reception step. A packet transmission step;
The bubble packet transmission port detection step for detecting a position of a bubble packet transmission port which is a port of the first communication control device used in the transmission of the bubble packet;
A bubble packet transmission port transmission step of transmitting bubble packet transmission port information indicating a position of the bubble packet transmission port detected in the bubble packet transmission port detection step;
A bubble packet transmission port reception step for receiving the bubble packet transmission port information;
A reply method comprising: a reply step of sending a reply packet from the second information processing apparatus to the bubble packet transmission port indicated by the bubble packet transmission port information accepted in the bubble packet transmission port acceptance step.
前記バブルパケット送信ポート検出ステップは、
前記バブルパケットを送信する前に、前記バブルパケット送信ポートを特定するための第1のポート検出用パケットを、前記第1の情報処理装置が前記第1の通信制御装置を介して送信する第1の送信ステップと、
前記第1のポート検出用パケットを受け付け、前記第1のポート検出用パケットの送信で用いられた前記第1の通信制御装置のポートである第1のポートの位置を検出する第1の検出ステップと、
前記バブルパケットを送信した後に、前記バブルパケット送信ポートを特定するための第2のポート検出用パケットを、前記第1の情報処理装置が前記第1の通信制御装置を介して送信する第2の送信ステップと、
前記第2のポート検出用パケットを受け付け、前記第2のポート検出用パケットの送信で用いられた前記第1の通信制御装置のポートである第2のポートの位置を検出する第2の検出ステップと、
前記第1のポートの位置、および前記第2のポートの位置に基づいて、前記バブルパケット送信ポートの位置を検出するポート検出ステップと、を含む、請求項26記載の通信方法。
The bubble packet transmission port detection step includes:
Before transmitting the bubble packet, the first information processing apparatus transmits a first port detection packet for specifying the bubble packet transmission port via the first communication control apparatus. Sending step,
A first detection step of accepting the first port detection packet and detecting a position of a first port which is a port of the first communication control device used in transmission of the first port detection packet. When,
After the bubble packet is transmitted, a second port detection packet for specifying the bubble packet transmission port is transmitted from the first information processing apparatus via the first communication control apparatus. Sending step;
A second detection step of accepting the second port detection packet and detecting a position of a second port which is a port of the first communication control device used in transmission of the second port detection packet; When,
27. A communication method according to claim 26, further comprising a port detection step of detecting a position of the bubble packet transmission port based on a position of the first port and a position of the second port.
前記バブルパケット送信ポート検出ステップは、
前記第1の検出ステップ、および前記第2の検出ステップで位置の検出された前記第1のポート、および前記第2のポートと、前記バブルパケット送信ポートとが連続しているかどうか判断する判断ステップをさらに備え、
前記ポート検出ステップでは、前記判断ステップで連続していると判断された場合に、前記バブルパケット送信ポートの位置を検出する、請求項27記載の通信方法。
The bubble packet transmission port detection step includes:
A determination step of determining whether the first port and the second port whose positions are detected in the first detection step and the second detection step are continuous with the bubble packet transmission port. Further comprising
28. The communication method according to claim 27, wherein, in the port detection step, the position of the bubble packet transmission port is detected when it is determined that the determination is continued in the determination step.
前記判断ステップで、連続していないと判断された場合に、前記第1の送信ステップ、前記第1の検出ステップ、前記バブルパケット送信ステップ、前記第2の送信ステップ、前記第2の検出ステップ、および前記判断ステップを、当該判断ステップで、連続していると判断されるまで繰り返す、請求項28記載の通信方法。 If it is determined in the determination step that the transmission is not continuous, the first transmission step, the first detection step, the bubble packet transmission step, the second transmission step, the second detection step, 29. The communication method according to claim 28, wherein the determination step is repeated until it is determined that the determination step is continuous. 前記第1の情報処理装置が前記第2の通信制御装置のアドレスを取得する第1のアドレス取得ステップをさらに備え、
前記バブルパケット送信ステップでは、前記第1のアドレス取得ステップで取得したアドレスに対して前記バブルパケットを送信する、請求項26から29のいずれか記載の通信方法。
The first information processing apparatus further includes a first address acquisition step of acquiring an address of the second communication control apparatus;
30. The communication method according to claim 26, wherein, in the bubble packet transmission step, the bubble packet is transmitted to the address acquired in the first address acquisition step.
前記第2の情報処理装置が前記第1の通信制御装置のアドレスを取得する第2のアドレス取得ステップをさらに備え、
前記返信ステップでは、前記第2のアドレス取得ステップで取得したアドレスに対して前記返信パケットを送信する、請求項26記載の通信方法。
The second information processing apparatus further includes a second address acquisition step of acquiring an address of the first communication control apparatus;
27. The communication method according to claim 26, wherein, in the reply step, the reply packet is transmitted to the address acquired in the second address acquisition step.
前記返信ステップでの前記返信パケットの送信により、前記第1の情報処理装置と前記第2の情報処理装置との間の通信を確立できなかった場合には、再度、前記各ステップの処理を実行する、請求項26記載の通信方法。 If communication between the first information processing apparatus and the second information processing apparatus cannot be established due to the transmission of the reply packet in the reply step, the process of each step is executed again. The communication method according to claim 26. 前記返信パケットを受け付ける返信受付ステップと、
前記返信受付ステップにおいて前記返信パケットが受け付けられた場合に、前記第1の情報処理装置が、前記返信パケットの送信で用いられた前記第2の通信制御装置のポートに対して、再返信パケットを送信する再返信ステップと、をさらに備えた、請求項26記載の通信方法。
A reply accepting step for accepting the reply packet;
When the reply packet is accepted in the reply accepting step, the first information processing apparatus sends a re-reply packet to the port of the second communication control apparatus used for transmitting the reply packet. 27. The communication method according to claim 26, further comprising a re-reply step for transmitting.
前記再返信ステップでの前記再返信パケットの送信により、前記第1の情報処理装置と前記第2の情報処理装置との間の通信を確立できなかった場合には、再度、前記各ステップの処理を実行する、請求項33記載の通信方法。 If communication between the first information processing apparatus and the second information processing apparatus cannot be established due to the transmission of the re-reply packet in the re-reply step, the process of each step is performed again. The communication method according to claim 33, wherein: コンピュータに、
第1の情報処理装置の通信を制御する第1の通信制御装置と、第2の情報処理装置の通信を制御する第2の通信制御装置とを介して、前記第2の情報処理装置と通信する前記第1の情報処理装置における処理を実行させるためのプログラムであって、
前記第1の通信制御装置に送信履歴を残すために送信されるバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を示す基準ポート情報を受け付ける基準ポート受付ステップと、
前記基準ポート情報に基づいて、前記第1の通信制御装置を介して、前記バブルパケットを前記第2の通信制御装置に送信するバブルパケット送信ステップと、
前記バブルパケットの送信で用いられる、前記第1の通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために、ポート検出用パケットを送信する検出用パケット送信ステップと、
前記バブルパケット送信ポートに対して、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された返信パケットを受け付ける返信パケット受付ステップと、を実行させるためのプログラム。
On the computer,
Communication with the second information processing device via a first communication control device that controls communication of the first information processing device and a second communication control device that controls communication of the second information processing device A program for executing processing in the first information processing apparatus,
Criteria for accepting reference port information indicating the position of a reference port that is a port in the second communication control device serving as a reference for transmission of a bubble packet transmitted to leave a transmission history in the first communication control device A port reception step;
A bubble packet transmitting step of transmitting the bubble packet to the second communication control device via the first communication control device based on the reference port information;
A detection packet transmission step of transmitting a port detection packet to detect a position of a bubble packet transmission port, which is a port of the first communication control device, used in the transmission of the bubble packet;
A program for causing the bubble packet transmission port to execute a reply packet accepting step of accepting a reply packet transmitted from the second information processing apparatus via the second communication control apparatus.
前記基準ポートは、前記第2の通信制御装置で割り当てられたポートのうち、前記基準ポートの位置を検出するための基準ポート検出用パケットが前記第2の情報処理装置から送信された時点における最新のポートである、請求項35記載のプログラム。 The reference port is the latest at the time when a reference port detection packet for detecting the position of the reference port is transmitted from the second information processing device among the ports assigned by the second communication control device. 36. The program according to claim 35, wherein the program is a port. 前記検出用パケット送信ステップでは、前記バブルパケット送信ステップでバブルパケットを送信する前後に、前記ポート検出用パケットを送信する、請求項35または36記載のプログラム。 37. The program according to claim 35, wherein in the detection packet transmission step, the port detection packet is transmitted before and after transmitting the bubble packet in the bubble packet transmission step. 前記バブルパケット、および前記ポート検出用パケットは、前記第1の通信制御装置における異なるポートを用いて送信されるものである、請求項37記載のプログラム。 38. The program according to claim 37, wherein the bubble packet and the port detection packet are transmitted using different ports in the first communication control apparatus. 前記バブルパケット、および前記ポート検出用パケットは、前記第1の情報処理装置において新たに割り当てられたポートを用いて送信される、請求項38記載のプログラム。 39. The program according to claim 38, wherein the bubble packet and the port detection packet are transmitted using a port newly assigned in the first information processing apparatus. コンピュータに、
前記バブルパケット、および前記ポート検出用パケットを再度送信する旨の再送信指示を受け付ける再送信指示受付ステップをさらに実行させ、
前記検出用パケット送信ステップでは、前記再送信指示受付ステップで前記再送信指示を受け付けた場合に、前記ポート検出用パケットを再度送信し、
前記バブルパケット送信ステップでは、前記再送信指示受付ステップで前記再送信指示を受け付けた場合に、前記バブルパケットを再度送信する、請求項35記載のプログラム。
On the computer,
Further executing a retransmission instruction receiving step for receiving a retransmission instruction for retransmitting the bubble packet and the port detection packet;
In the detection packet transmission step, when the retransmission instruction is received in the retransmission instruction reception step, the port detection packet is transmitted again,
36. The program according to claim 35, wherein, in the bubble packet transmission step, the bubble packet is transmitted again when the retransmission instruction is received in the retransmission instruction reception step.
コンピュータに、
前記第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、前記第1の通信制御装置を介して送信するポート幅検出用パケット送信ステップをさらに実行させるための、請求項35記載のプログラム。
On the computer,
The port width detection packet transmitting step of transmitting a port width detection packet for detecting a port width in the first communication control device via the first communication control device is further executed. 35. The program according to 35.
前記第2の通信制御装置における、前記バブルパケットを送信する対象のポートであるバブルパケット送信対象ポートは、前記基準ポートから所定のポート割り当て後に割り当てられるポートである、請求項35記載のプログラム。 36. The program according to claim 35, wherein a bubble packet transmission target port that is a target port for transmitting the bubble packet in the second communication control device is a port assigned after a predetermined port assignment from the reference port. コンピュータに、
前記第2の通信制御装置におけるポート幅を示す情報であるポート幅情報を受け付けるポート幅受付ステップをさらに実行させ、
前記バブルパケット送信ステップでは、前記基準ポートとのポート間隔が前記ポート幅情報の示す前記ポート幅のM倍(Mは1以上の整数)である前記バブルパケット送信対象ポートに対して前記バブルパケットを送信する、請求項42記載のプログラム。
On the computer,
A port width receiving step of receiving port width information that is information indicating a port width in the second communication control device;
In the bubble packet transmission step, the bubble packet is transmitted to the bubble packet transmission target port whose port interval with the reference port is M times the port width indicated by the port width information (M is an integer of 1 or more). The program according to claim 42, which is transmitted.
コンピュータに、
前記返信パケット受付ステップで前記返信パケットを受け付けた場合に、当該返信パケットの送信で用いられた前記第2の通信制御装置のポートに対して、再返信パケットを送信する再返信パケット送信ステップをさらに実行させるための、請求項35記載のプログラム。
On the computer,
A re-reply packet transmitting step of transmitting a re-reply packet to the port of the second communication control device used for transmitting the reply packet when the reply packet is accepted in the reply packet accepting step; 36. The program according to claim 35, for execution.
コンピュータに、
第1の情報処理装置の通信を制御する第1の通信制御装置と、第2の情報処理装置の通信を制御する第2の通信制御装置とを介して、前記第2の情報処理装置と通信する前記第1の情報処理装置における処理を実行させるためのプログラムであって、
前記第1の通信制御装置は、前記第2の情報処理装置から前記第2の通信制御装置を介して、前記第2の通信制御装置に送信履歴を残すためのバブルパケットが送信されるものであり、
前記バブルパケットの送信の対象の基準となる前記第1の通信制御装置におけるポートである基準ポートの位置を検出するための基準ポート検出用パケットを送信する基準ポート検出用パケット送信ステップと、
前記第2の情報処理装置からの前記バブルパケットの送信で用いられた、前記第2の通信制御装置のポートであるバブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を受け付けるバブルパケット送信ポート受付ステップと、
前記バブルパケット送信ポート情報の示す前記バブルパケット送信ポートに対して返信パケットを送信する返信パケット送信ステップと、を実行させるためのプログラム。
On the computer,
Communication with the second information processing device via a first communication control device that controls communication of the first information processing device and a second communication control device that controls communication of the second information processing device A program for executing processing in the first information processing apparatus,
The first communication control device transmits a bubble packet for leaving a transmission history to the second communication control device from the second information processing device via the second communication control device. Yes,
A reference port detection packet transmission step of transmitting a reference port detection packet for detecting a position of a reference port which is a port in the first communication control device serving as a reference for transmission of the bubble packet;
Bubble packet transmission port reception for receiving bubble packet transmission port information indicating the position of the bubble packet transmission port, which is a port of the second communication control device, used for transmission of the bubble packet from the second information processing apparatus Steps,
A reply packet transmission step of transmitting a reply packet to the bubble packet transmission port indicated by the bubble packet transmission port information.
前記返信パケット送信ステップでは、前記返信パケットを、前記第1の通信制御装置の異
なるN個(Nは2以上の整数)のポートを用いて送信する、請求項45記載のプログラム。
46. The program according to claim 45, wherein in the reply packet transmission step, the reply packet is transmitted using N different ports (N is an integer of 2 or more) of the first communication control device.
前記N個のポートは、前記返信パケットの送信時に、前記第1の通信制御装置において新たに割り当てられるものである、請求項46記載のプログラム。 47. The program according to claim 46, wherein the N ports are newly allocated in the first communication control device when the reply packet is transmitted. 前記Nは、前記第1の通信制御装置における、前記基準ポートから前記バブルパケットが送信されたポートまでにおいて割り当て可能なポートの数以上である、請求項46または47記載のプログラム。 48. The program according to claim 46 or 47, wherein N is equal to or more than a number of ports that can be allocated from the reference port to a port to which the bubble packet is transmitted in the first communication control apparatus. コンピュータに、
前記返信パケットの送信で用いられた前記第1の通信制御装置のポートに対して、前記第2の情報処理装置から送信された再返信パケットを受け付ける再返信パケット受付ステップをさらに実行させるための、請求項45記載のプログラム。
On the computer,
In order to further execute a re-reply packet accepting step of accepting a re-reply packet transmitted from the second information processing device to the port of the first communication control device used in the transmission of the reply packet. The program according to claim 45.
コンピュータに、
前記第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、前記第1の通信制御装置を介して送信するポート幅検出用パケット送信ステップをさらに実行させるための、請求項45記載のプログラム。
On the computer,
The port width detection packet transmitting step for transmitting a port width detection packet for detecting a port width in the first communication control device via the first communication control device is further executed. 45. The program according to 45.
コンピュータに、
第1の情報処理装置、および第2の情報処理装置が、前記第1の情報処理装置の通信を制御する第1の通信制御装置、および前記第2の情報処理装置の通信を制御する第2の通信制御装置を介して行う通信を確立させるサーバにおける処理を実行させるためのプログラムであって、
前記第1の通信制御装置に送信履歴を残すために前記第1の情報処理装置が送信するバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を検出するために、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて前記基準ポートの位置を検出する基準ポート検出ステップと、
前記基準ポート検出ステップで検出した前記基準ポートの位置を示す基準ポート情報を前記第1の情報処理装置に送信する基準ポート送信ステップと、
前記第1の情報処理装置から前記第2の通信制御装置への前記バブルパケットの送信で用いられる前記第1の通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記第1の情報処理装置から送信されたポート検出用パケットを受け付け、前記ポート検出用パケットに基づいて前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出ステップと、
前記バブルパケット送信ポート検出ステップで検出した前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を前記第2の情報処理装置に送信するバブルパケット送信ポート送信ステップと、を実行させるためのプログラム。
On the computer,
The first information processing device and the second information processing device are a first communication control device that controls communication of the first information processing device, and a second that controls communication of the second information processing device. A program for executing processing in a server for establishing communication performed via the communication control device of
The position of a reference port that is a port in the second communication control device, which is a reference for transmission of a bubble packet transmitted by the first information processing device in order to leave a transmission history in the first communication control device. To detect, a reference port detection packet transmitted from the second information processing device via the second communication control device is received, and the position of the reference port is detected based on the reference port detection packet A reference port detection step,
A reference port transmission step of transmitting reference port information indicating the position of the reference port detected in the reference port detection step to the first information processing apparatus;
In order to detect a position of a bubble packet transmission port that is a port in the first communication control device used in transmission of the bubble packet from the first information processing device to the second communication control device, A bubble packet transmission port detection step for receiving a port detection packet transmitted from one information processing apparatus and detecting the position of the bubble packet transmission port based on the port detection packet;
A bubble packet transmission port transmission step for transmitting bubble packet transmission port information indicating the position of the bubble packet transmission port detected in the bubble packet transmission port detection step to the second information processing apparatus.
第1の情報処理装置と、第2の情報処理装置と、前記第1の情報処理装置の通信を制御する第1の通信制御装置と、前記第2の情報処理装置の通信を制御する第2の通信制御装置と、前記第1の情報処理装置と前記第2の情報処理装置間の通信を確立させるサーバとを備えた通信システムであって、
前記第1の情報処理装置は、
前記第1の通信制御装置に送信履歴を残すために送信されるバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を示す基準ポート情報を受け付ける基準ポート受付部と、
前記基準ポート情報に基づいて、前記第1の通信制御装置を介して、前記バブルパケット
を前記第2の通信制御装置に送信するバブルパケット送信部と、
前記バブルパケットの送信で用いられる、前記第1の通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために、ポート検出用パケットを前記サーバに送信する検出用パケット送信部と、
前記バブルパケット送信ポートに対して、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された返信パケットを受け付ける返信パケット受付部と、
前記ポート検出用パケットが通過した前記第1の通信制御装置のポートの位置を示す検出用ポート情報を受け付ける検出用ポート情報受付部と、
前記検出用ポート情報受付部が受け付けた検出用ポート情報に基づいて、前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部と、
前記バブルパケット送信ポート検出部が検出した前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を、前記サーバを介して前記第2の情報処理装置に送信するバブルパケット送信ポート送信部と、を備え
前記第2の情報処理装置は、
前記基準ポートの位置を検出するための基準ポート検出用パケットをサーバに送信する基準ポート検出用パケット送信部と、
前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を受け付けるバブルパケット送信ポート受付部と、
前記バブルパケット送信ポート情報の示す前記バブルパケット送信ポートに対して返信パケットを送信する返信パケット送信部と、を備え、
前記サーバは、
前記第2の情報処理装置から送信された前記基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて前記基準ポートの位置を検出する基準ポート検出部と、
前記基準ポート検出部が検出した前記基準ポートの位置を示す基準ポート情報を前記第1の情報処理装置に送信する基準ポート送信部と、
前記第1の情報処理装置から送信された前記ポート検出用パケットを受け付け、当該ポート検出用パケットに基づいて前記ポート検出用パケットが通過した前記第1の通信制御装置のポートの位置を検出する検出用ポート検出部と、
前記検出用ポート検出部が検出したポートの位置を示す検出用ポート情報を前記第1の情報処理装置に送信する検出用ポート情報送信部と、を備えた通信システム。
A first information processing apparatus; a second information processing apparatus; a first communication control apparatus that controls communication of the first information processing apparatus; and a second that controls communication of the second information processing apparatus. A communication control device and a server for establishing communication between the first information processing device and the second information processing device,
The first information processing apparatus includes:
Criteria for accepting reference port information indicating the position of a reference port that is a port in the second communication control device serving as a reference for transmission of a bubble packet transmitted to leave a transmission history in the first communication control device The port reception department,
A bubble packet transmission unit configured to transmit the bubble packet to the second communication control device via the first communication control device based on the reference port information;
A detection packet transmitter for transmitting a port detection packet to the server in order to detect a position of a bubble packet transmission port, which is a port of the first communication control device, used in the transmission of the bubble packet;
A reply packet accepting unit that accepts a reply packet transmitted from the second information processing device to the bubble packet transmission port via the second communication control device;
A detection port information receiving unit that receives detection port information indicating a port position of the first communication control device through which the port detection packet has passed;
A bubble packet transmission port detection unit for detecting a position of the bubble packet transmission port based on the detection port information received by the detection port information reception unit;
A bubble packet transmission port transmission unit that transmits bubble packet transmission port information indicating the position of the bubble packet transmission port detected by the bubble packet transmission port detection unit to the second information processing apparatus via the server; The second information processing apparatus comprises
A reference port detection packet transmitter for transmitting a reference port detection packet for detecting the position of the reference port to a server;
A bubble packet transmission port reception unit for receiving bubble packet transmission port information indicating the position of the bubble packet transmission port;
A reply packet transmitter that transmits a reply packet to the bubble packet transmission port indicated by the bubble packet transmission port information,
The server
A reference port detection unit that receives the reference port detection packet transmitted from the second information processing apparatus and detects the position of the reference port based on the reference port detection packet;
A reference port transmitter that transmits reference port information indicating the position of the reference port detected by the reference port detector to the first information processing apparatus;
Detection that receives the port detection packet transmitted from the first information processing device and detects the position of the port of the first communication control device through which the port detection packet has passed based on the port detection packet Port detection unit,
And a detection port information transmission unit configured to transmit detection port information indicating a position of the port detected by the detection port detection unit to the first information processing apparatus.
前記ポート検出用パケットが通過した前記第1の通信制御装置のポートの位置を示す検出用ポート情報を受け付ける検出用ポート情報受付部と、
前記検出用ポート情報受付部が受け付けた検出用ポート情報に基づいて、前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部と、
前記バブルパケット送信ポート検出部が検出した前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を送信するバブルパケット送信ポート送信部と、をさらに備えた、請求項4記載の第1の情報処理装置。
A detection port information receiving unit that receives detection port information indicating a port position of the first communication control device through which the port detection packet has passed;
A bubble packet transmission port detection unit for detecting a position of the bubble packet transmission port based on the detection port information received by the detection port information reception unit;
5. The first information processing according to claim 4, further comprising: a bubble packet transmission port transmission unit that transmits bubble packet transmission port information indicating a position of the bubble packet transmission port detected by the bubble packet transmission port detection unit. apparatus.
前記バブルパケット送信ポート検出部は、前記バブルパケット送信ポートの位置を検出できなかった場合に、前記ポート検出用パケットを再度送信する旨の指示を前記検出用パケット送信部に渡し、前記バブルパケットを再度送信する旨の指示を前記バブルパケット送信部に渡し、
前記検出用パケット送信部は、前記指示に応じて前記ポート検出用パケットを再度送信し、
前記バブルパケット送信部は、前記指示に応じて前記バブルパケットを再度送信する、請求項53記載の第1の情報処理装置。
The bubble packet transmission port detection unit, when the position of the bubble packet transmission port cannot be detected, passes an instruction to the packet transmission unit for detection to transmit the port detection packet again, and the bubble packet Give an instruction to transmit again to the bubble packet transmitter,
The detection packet transmitter transmits the port detection packet again according to the instruction,
54. The first information processing apparatus according to claim 53, wherein the bubble packet transmitting unit transmits the bubble packet again in response to the instruction.
前記第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、
前記第1の通信制御装置を介して送信するポート幅検出用パケット送信部と、
前記ポート幅検出用パケットが通過した前記第1の通信制御装置のポートの位置を示すポート幅検出用ポート情報を受け付けるポート幅検出用ポート情報受付部と、
前記ポート幅検出用ポート情報受付部が受け付けたポート幅検出用ポート情報に基づいて、前記第1の通信制御装置におけるポート幅を検出するポート幅検出部と、をさらに備え、
前記バブルパケット送信ポート検出部は、前記ポート幅検出部が検出した前記第1の通信制御装置におけるポート幅を用いて前記バブルパケット送信ポートの位置を検出する、請求項53または54記載の第1の情報処理装置。
A port width detection packet for detecting a port width in the first communication control device;
A port width detection packet transmitter for transmitting via the first communication control device;
A port width detection port information receiving unit for receiving port width detection port information indicating the position of the port of the first communication control device through which the port width detection packet has passed;
A port width detection unit that detects a port width in the first communication control device based on the port width detection port information received by the port width detection port information reception unit;
55. The first of claim 53 or 54, wherein the bubble packet transmission port detection unit detects a position of the bubble packet transmission port using a port width in the first communication control device detected by the port width detection unit. Information processing device.
前記ポート幅検出用パケットが通過した前記第1の通信制御装置のポートの位置を示すポート幅検出用ポート情報を受け付けるポート幅検出用ポート情報受付部と、
前記ポート幅検出用ポート情報受付部が受け付けたポート幅検出用ポート情報に基づいて、前記第1の通信制御装置におけるポート幅を検出するポート幅検出部と、
前記ポート幅検出部が検出した前記第1の通信制御装置におけるポート幅を示す情報であるポート幅情報を送信するポート幅送信部と、をさらに備えた、請求項19記載の第1の情報処理装置。
A port width detection port information receiving unit for receiving port width detection port information indicating the position of the port of the first communication control device through which the port width detection packet has passed;
A port width detection unit for detecting a port width in the first communication control device based on the port width detection port information received by the port width detection port information reception unit;
The first information processing according to claim 19, further comprising: a port width transmission unit that transmits port width information that is information indicating a port width in the first communication control device detected by the port width detection unit. apparatus.
第1の情報処理装置、および第2の情報処理装置が、前記第1の情報処理装置の通信を制御する第1の通信制御装置、および前記第2の情報処理装置の通信を制御する第2の通信制御装置を介して行う通信を確立させるサーバであって、
前記第1の通信制御装置に送信履歴を残すために前記第1の情報処理装置が送信するバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を検出するために、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて前記基準ポートの位置を検出する基準ポート検出部と、
前記基準ポート検出部が検出した前記基準ポートの位置を示す基準ポート情報を前記第1の情報処理装置に送信する基準ポート送信部と、
前記第1の情報処理装置から前記第2の通信制御装置への前記バブルパケットの送信で用いられる前記第1の通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記第1の情報処理装置から送信されたポート検出用パケットを受け付け、当該ポート検出用パケットに基づいて前記ポート検出用パケットが通過した前記第1の通信制御装置のポートの位置を検出する検出用ポート検出部と、
前記検出用ポート検出部が検出したポートの位置を示す検出用ポート情報を前記第1の情報処理装置に送信する検出用ポート情報送信部と、を備えたサーバ。
The first information processing device and the second information processing device are a first communication control device that controls communication of the first information processing device, and a second that controls communication of the second information processing device. A server that establishes communication through the communication control device of
The position of a reference port that is a port in the second communication control device, which is a reference for transmission of a bubble packet transmitted by the first information processing device in order to leave a transmission history in the first communication control device. To detect, a reference port detection packet transmitted from the second information processing device via the second communication control device is received, and the position of the reference port is detected based on the reference port detection packet A reference port detector to
A reference port transmitter that transmits reference port information indicating the position of the reference port detected by the reference port detector to the first information processing apparatus;
In order to detect a position of a bubble packet transmission port that is a port in the first communication control device used in transmission of the bubble packet from the first information processing device to the second communication control device, Detection port detection for receiving a port detection packet transmitted from one information processing device and detecting the position of the port of the first communication control device through which the port detection packet has passed based on the port detection packet And
A detection port information transmission unit configured to transmit detection port information indicating a position of the port detected by the detection port detection unit to the first information processing apparatus;
前記第1の情報処理装置から前記第1の通信制御装置を介して送信された第1のポート幅検出用パケットを受け付け、当該第1のポート幅検出用パケットに基づいて前記第1のポート幅検出用パケットが通過した前記第1の通信制御装置のポートの位置を検出する第1のポート幅検出用ポート検出部と、
前記第1のポート幅検出用ポート検出部が検出したポートの位置を示すポート幅検出用ポート情報を前記第1の情報処理装置に送信する第1のポート幅検出用ポート情報送信部と、をさらに備えた、請求項57記載のサーバ。
The first port width detection packet transmitted from the first information processing apparatus via the first communication control apparatus is received, and the first port width is determined based on the first port width detection packet. A first port width detection port detector for detecting the position of the port of the first communication control device through which the detection packet has passed;
A first port width detection port information transmission unit for transmitting port width detection port information indicating the position of the port detected by the first port width detection port detection unit to the first information processing apparatus; 58. The server of claim 57, further comprising:
前記第2の情報処理装置から前記第2の通信制御装置を介して送信された第2のポート幅検出用パケットを受け付け、当該第2のポート幅検出用パケットに基づいて前記第2のポート幅検出用パケットが通過した前記第2の通信制御装置のポートの位置を検出する第2のポート幅検出用ポート検出部と、
前記第2のポート幅検出用ポート検出部が検出したポートの位置を示すポート幅検出用ポート情報を前記第2の情報処理装置に送信する第2のポート幅検出用ポート情報送信部と
、をさらに備えた、請求項57または58記載のサーバ。
Receiving a second port width detection packet transmitted from the second information processing apparatus via the second communication control apparatus, and based on the second port width detection packet, the second port width A second port width detection port detection unit for detecting the position of the port of the second communication control device through which the detection packet has passed;
A second port width detection port information transmission unit for transmitting port width detection port information indicating the position of the port detected by the second port width detection port detection unit to the second information processing apparatus; 59. The server according to claim 57 or 58, further comprising:
コンピュータに、
前記ポート検出用パケットが通過した前記第1の通信制御装置のポートの位置を示す検出用ポート情報を受け付ける検出用ポート情報受付ステップと、
前記検出用ポート情報受付ステップで受け付けた検出用ポート情報に基づいて、前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出ステップと、
前記バブルパケット送信ポート検出ステップで検出した前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を送信するバブルパケット送信ポート送信ステップと、をさらに実行させるための、請求項35記載のプログラム。
On the computer,
A detection port information reception step for receiving detection port information indicating a port position of the first communication control device through which the port detection packet has passed;
A bubble packet transmission port detection step for detecting the position of the bubble packet transmission port based on the detection port information received in the detection port information reception step;
36. The program according to claim 35, further causing a bubble packet transmission port transmission step of transmitting bubble packet transmission port information indicating a position of the bubble packet transmission port detected in the bubble packet transmission port detection step.
前記検出用パケット送信ステップでは、前記バブルパケット送信ポート検出ステップにおいて前記バブルパケット送信ポートの位置を検出できなかった場合に、前記ポート検出用パケットを再度送信し、
前記バブルパケット送信ステップでは、前記バブルパケット送信ポート検出ステップにおいて前記バブルパケット送信ポートの位置を検出できなかった場合に、前記バブルパケットを再度送信する、請求項60記載のプログラム。
In the detection packet transmission step, when the position of the bubble packet transmission port could not be detected in the bubble packet transmission port detection step, the port detection packet is transmitted again,
61. The program according to claim 60, wherein in the bubble packet transmission step, the bubble packet is transmitted again when the position of the bubble packet transmission port cannot be detected in the bubble packet transmission port detection step.
コンピュータに、
前記第1の通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、前記第1の通信制御装置を介して送信するポート幅検出用パケット送信ステップと、
前記ポート幅検出用パケットが通過した前記第1の通信制御装置のポートの位置を示すポート幅検出用ポート情報を受け付けるポート幅検出用ポート情報受付ステップと、
前記ポート幅検出用ポート情報受付部が受け付けたポート幅検出用ポート情報に基づいて、前記第1の通信制御装置におけるポート幅を検出するポート幅検出ステップと、をさらに実行させ、
前記バブルパケット送信ポート検出ステップでは、前記ポート幅検出ステップで検出した前記第1の通信制御装置におけるポート幅を用いて前記バブルパケット送信ポートの位置を検出する、請求項60または61記載のプログラム。
On the computer,
A port width detection packet transmitting step for transmitting a port width detection packet for detecting a port width in the first communication control device via the first communication control device;
A port width detection port information receiving step for receiving port width detection port information indicating the position of the port of the first communication control device through which the port width detection packet has passed;
A port width detection step of detecting a port width in the first communication control device based on the port width detection port information received by the port width detection port information receiving unit;
62. The program according to claim 60, wherein, in the bubble packet transmission port detection step, the position of the bubble packet transmission port is detected using the port width in the first communication control device detected in the port width detection step.
コンピュータに、
前記ポート幅検出用パケットが通過した前記第1の通信制御装置のポートの位置を示すポート幅検出用ポート情報を受け付けるポート幅検出用ポート情報受付ステップと、
前記ポート幅検出用ポート情報受付ステップで受け付けたポート幅検出用ポート情報に基づいて、前記第1の通信制御装置におけるポート幅を検出するポート幅検出ステップと、前記ポート幅検出ステップで検出した前記第1の通信制御装置におけるポート幅を示す情報であるポート幅情報を送信するポート幅送信ステップと、をさらに実行させるための、請求項50記載のプログラム。
On the computer,
A port width detection port information receiving step for receiving port width detection port information indicating the position of the port of the first communication control device through which the port width detection packet has passed;
Based on the port width detection port information received in the port width detection port information reception step, a port width detection step for detecting a port width in the first communication control device, and the port width detection step detected by the port width detection step 51. The program according to claim 50, further causing a port width transmission step of transmitting port width information that is information indicating a port width in the first communication control device.
コンピュータに、
第1の情報処理装置、および第2の情報処理装置が、前記第1の情報処理装置の通信を制御する第1の通信制御装置、および前記第2の情報処理装置の通信を制御する第2の通信制御装置を介して行う通信を確立させるサーバにおける処理を実行させるためのプログラムであって、
前記第1の通信制御装置に送信履歴を残すために前記第1の情報処理装置が送信するバブルパケットの送信の対象の基準となる前記第2の通信制御装置におけるポートである基準ポートの位置を検出するために、前記第2の情報処理装置から前記第2の通信制御装置を介して送信された基準ポート検出用パケットを受け付け、当該基準ポート検出用パケットに基づいて前記基準ポートの位置を検出する基準ポート検出ステップと、
前記基準ポート検出ステップで検出した前記基準ポートの位置を示す基準ポート情報を前
記第1の情報処理装置に送信する基準ポート送信ステップと、
前記第1の情報処理装置から前記第2の通信制御装置への前記バブルパケットの送信で用いられる前記第1の通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記第1の情報処理装置から送信されたポート検出用パケットを受け付け、当該ポート検出用パケットに基づいて前記ポート検出用パケットが通過した前記第1の通信制御装置のポートの位置を検出する検出用ポート検出ステップと、
前記検出用ポート検出ステップで検出したポートの位置を示す検出用ポート情報を前記第1の情報処理装置に送信する検出用ポート情報送信ステップと、を実行させるためのプログラム。
On the computer,
The first information processing device and the second information processing device are a first communication control device that controls communication of the first information processing device, and a second that controls communication of the second information processing device. A program for executing processing in a server for establishing communication performed via the communication control device of
The position of a reference port that is a port in the second communication control device, which is a reference for transmission of a bubble packet transmitted by the first information processing device in order to leave a transmission history in the first communication control device. To detect, a reference port detection packet transmitted from the second information processing device via the second communication control device is received, and the position of the reference port is detected based on the reference port detection packet A reference port detection step,
A reference port transmission step of transmitting reference port information indicating the position of the reference port detected in the reference port detection step to the first information processing apparatus;
In order to detect a position of a bubble packet transmission port that is a port in the first communication control device used in transmission of the bubble packet from the first information processing device to the second communication control device, Detection port detection for receiving a port detection packet transmitted from one information processing device and detecting the position of the port of the first communication control device through which the port detection packet has passed based on the port detection packet Steps,
A detection port information transmission step of transmitting detection port information indicating the position of the port detected in the detection port detection step to the first information processing apparatus.
情報処理装置と、前記情報処理装置の通信を制御する通信制御装置と、サーバとを備えた通信システムであって、
前記情報処理装置は、
前記通信制御装置を介して、前記通信制御装置に送信履歴を残すためのバブルパケットを送信するバブルパケット送信部と、
前記バブルパケットの送信で用いられる、前記通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために用いられるポート検出用パケットを、前記バブルパケット送信部が前記バブルパケットを送信する前後に、前記サーバに送信する検出用パケット送信部と、を備えた、通信システム。
A communication system comprising an information processing device, a communication control device for controlling communication of the information processing device, and a server,
The information processing apparatus includes:
A bubble packet transmitter for transmitting a bubble packet for leaving a transmission history in the communication control device via the communication control device;
Before and after the bubble packet transmission unit transmits the bubble packet, the port detection packet used for detecting the position of the bubble packet transmission port, which is the port of the communication control device, is used in the transmission of the bubble packet. And a detection packet transmitter for transmitting to the server.
前記バブルパケット、および前記ポート検出用パケットは、前記情報処理装置において新たに割り当てられたポートを用いて送信される、請求項65記載の通信システム。 66. The communication system according to claim 65, wherein the bubble packet and the port detection packet are transmitted using a port newly assigned in the information processing apparatus. 前記サーバは、
前記情報処理装置から送信された前記ポート検出用パケットを受け付け、前記ポート検出用パケットに基づいて前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部を備える、請求項65または66記載の通信システム。
The server
67. A bubble packet transmission port detection unit that receives the port detection packet transmitted from the information processing apparatus and detects a position of the bubble packet transmission port based on the port detection packet. Communications system.
前記サーバは、
前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を送信するバブルパケット送信ポート送信部をさらに備えた、請求項67記載の通信システム。
The server
68. The communication system according to claim 67, further comprising a bubble packet transmission port transmission unit configured to transmit bubble packet transmission port information indicating a position of the bubble packet transmission port.
前記サーバは、
前記バブルパケット送信ポート検出部が前記バブルパケット送信ポートの位置を検出できなかった場合に、前記バブルパケット、および前記ポート検出用パケットを再度送信する旨の指示である再送信指示を前記情報処理装置に送信する再送信指示送信部をさらに備え、
前記情報処理装置は、
前記サーバから送信された前記再送信指示を受け付ける再送信指示受付部をさらに備え、前記検出用パケット送信部は、前記再送信指示受付部が前記再送信指示を受け付けた場合に、前記ポート検出用パケットを再度、前記サーバに送信し、
前記バブルパケット送信部は、前記再送信指示受付部が前記再送信指示を受け付けた場合に、前記バブルパケットを再度、前記サーバに送信する、請求項67記載の通信システム。
The server
When the bubble packet transmission port detection unit cannot detect the position of the bubble packet transmission port, the information processing apparatus receives a retransmission instruction that is an instruction to retransmit the bubble packet and the port detection packet. A retransmission instruction transmission unit for transmitting to
The information processing apparatus includes:
A retransmission instruction receiving unit that receives the retransmission instruction transmitted from the server; and the detection packet transmitting unit is configured to detect the port when the retransmission instruction receiving unit receives the retransmission instruction. Send the packet again to the server,
68. The communication system according to claim 67, wherein the bubble packet transmission unit transmits the bubble packet to the server again when the retransmission instruction reception unit receives the retransmission instruction.
前記バブルパケット送信ポート検出部は、前記通信制御装置のポート幅を用いて前記バブルパケット送信ポートの位置を検出する、請求項67記載の通信システム。 68. The communication system according to claim 67, wherein the bubble packet transmission port detection unit detects a position of the bubble packet transmission port using a port width of the communication control device. 前記情報処理装置は、
前記通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、前記通
信制御装置を介して送信するポート幅検出用パケット送信部をさらに備え、
前記サーバは、
前記ポート幅検出用パケットを受け付け、当該ポート幅検出用パケットに基づいて前記通信制御装置のポート幅を検出するポート幅検出部をさらに備え、
前記バブルパケット送信ポート検出部は、前記ポート幅検出部が検出したポート幅を用いて前記バブルパケット送信ポートの位置を検出する、請求項70記載の通信システム。
The information processing apparatus includes:
A port width detection packet transmitter for transmitting the port width detection packet for detecting the port width in the communication control device via the communication control device;
The server
A port width detection unit that receives the port width detection packet and detects the port width of the communication control device based on the port width detection packet;
The communication system according to claim 70, wherein the bubble packet transmission port detection unit detects the position of the bubble packet transmission port using the port width detected by the port width detection unit.
前記情報処理装置は、
前記ポート検出用パケットが通過した前記通信制御装置のポートの位置を示す検出用ポート情報を受け付ける検出用ポート情報受付部と、
前記検出用ポート情報受付部が受け付けた検出用ポート情報に基づいて、前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出部と、をさらに備え、
前記サーバは、
前記ポート検出用パケットを受け付け、当該ポート検出用パケットが通過した前記通信制御装置のポートの位置を検出する検出用ポート検出部と、
前記検出用ポート検出部が検出したポートの位置を示す検出用ポート情報を前記情報処理装置に送信する検出用ポート情報送信部と、を備えた、請求項65または66記載の通信システム。
The information processing apparatus includes:
A detection port information receiving unit that receives detection port information indicating a port position of the communication control device through which the port detection packet has passed;
A bubble packet transmission port detection unit that detects a position of the bubble packet transmission port based on the detection port information received by the detection port information reception unit;
The server
A detection port detection unit that receives the port detection packet and detects the position of the port of the communication control device through which the port detection packet has passed;
67. The communication system according to claim 65 or 66, further comprising: a detection port information transmission unit that transmits detection port information indicating a position of the port detected by the detection port detection unit to the information processing apparatus.
前記情報処理装置は、
前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を送信するバブルパケット送信ポート送信部をさらに備えた、請求項72記載の通信システム。
The information processing apparatus includes:
75. The communication system according to claim 72, further comprising a bubble packet transmission port transmission unit that transmits bubble packet transmission port information indicating a position of the bubble packet transmission port.
前記検出用パケット送信部は、前記バブルパケット送信ポート検出部が前記バブルパケット送信ポートの位置を検出できなかった場合に、前記ポート検出用パケットを再度送信し、
前記バブルパケット送信部は、前記バブルパケット送信ポート検出部が前記バブルパケット送信ポートの位置を検出できなかった場合に、前記バブルパケットを再度送信する、請求項72記載の通信システム。
When the bubble packet transmission port detector cannot detect the position of the bubble packet transmission port, the detection packet transmitter transmits the port detection packet again,
The communication system according to claim 72, wherein the bubble packet transmission unit transmits the bubble packet again when the bubble packet transmission port detection unit cannot detect the position of the bubble packet transmission port.
前記バブルパケット送信ポート検出部は、前記通信制御装置のポート幅を用いて前記バブルパケット送信ポートの位置を検出する、請求項72記載の通信システム。 The communication system according to claim 72, wherein the bubble packet transmission port detection unit detects a position of the bubble packet transmission port using a port width of the communication control device. 前記情報処理装置は、
前記通信制御装置におけるポート幅を検出するためのポート幅検出用パケットを、前記通信制御装置を介して送信するポート幅検出用パケット送信部と、
前記ポート幅検出用パケットが通過した前記通信制御装置のポートの位置を示すポート幅検出用ポート情報を受け付けるポート幅検出用ポート情報受付部と、
前記ポート幅検出用ポート情報受付部が受け付けたポート幅検出用ポート情報に基づいて、前記通信制御装置におけるポート幅を検出するポート幅検出部と、をさらに備え、
前記サーバは、
前記ポート幅検出用パケットを受け付け、当該ポート幅検出用パケットが通過した前記通信制御装置のポートの位置を検出するポート幅検出用ポート検出部と、
前記ポート幅検出用ポート検出部が検出したポートの位置を示すポート幅検出用ポート情報を前記情報処理装置に送信するポート幅検出用ポート情報送信部と、をさらに備え、
前記バブルパケット送信ポート検出部は、前記ポート幅検出部が検出した前記通信制御装置のポート幅を用いて前記バブルパケット送信ポートの位置を検出する、請求項75記載の通信システム。
The information processing apparatus includes:
A port width detection packet transmitter for transmitting a port width detection packet for detecting a port width in the communication control device via the communication control device;
A port width detection port information receiving unit for receiving port width detection port information indicating a port position of the communication control device through which the port width detection packet has passed;
A port width detection unit that detects a port width in the communication control device based on the port width detection port information received by the port width detection port information reception unit;
The server
A port width detection port detection unit that receives the port width detection packet and detects a port position of the communication control device through which the port width detection packet has passed;
A port width detection port information transmission unit that transmits port width detection port information indicating the position of the port detected by the port width detection port detection unit to the information processing apparatus;
The communication system according to claim 75, wherein the bubble packet transmission port detection unit detects a position of the bubble packet transmission port using a port width of the communication control device detected by the port width detection unit.
前記バブルパケット送信ポート情報を受け付けるバブルパケット送信ポート受付部と、
前記バブルパケット送信ポート情報の示す前記バブルパケット送信ポートに対して返信パケットを送信する返信パケット送信部と、を備えた第2の情報処理装置をさらに備え、
前記情報処理装置は、
前記第2の情報処理装置から送信された返信パケットを受け付ける返信パケット受付部をさらに備えた、請求項73記載の通信システム。
A bubble packet transmission port reception unit for receiving the bubble packet transmission port information;
A reply packet transmission unit that transmits a reply packet to the bubble packet transmission port indicated by the bubble packet transmission port information;
The information processing apparatus includes:
74. The communication system according to claim 73, further comprising a reply packet accepting unit that accepts a reply packet transmitted from the second information processing apparatus.
請求項65記載の通信システムを構成する情報処理装置。 68. An information processing apparatus constituting the communication system according to claim 65. 請求項77記載の通信システムを構成する第2の情報処理装置。 78. A second information processing apparatus constituting the communication system according to claim 77. 請求項65記載の通信システムを構成するサーバ。 68. A server constituting the communication system according to claim 65. 情報処理装置、前記情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成する前記情報処理装置において用いられる通信方法であって、
前記通信制御装置を介して、前記通信制御装置に送信履歴を残すためのバブルパケットを送信するバブルパケット送信ステップと、
前記バブルパケットの送信で用いられる、前記通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために用いられるポート検出用パケットを、前記バブルパケット送信ステップで前記バブルパケットを送信する前後に、前記サーバに送信する検出用パケット送信ステップと、を備えた通信方法。
An information processing apparatus, a communication control apparatus for controlling communication of the information processing apparatus, and a communication method used in the information processing apparatus constituting a communication system including a server,
A bubble packet transmitting step for transmitting a bubble packet for leaving a transmission history in the communication control device via the communication control device;
Before and after transmitting the bubble packet in the bubble packet transmission step, the port detection packet used for detecting the position of the bubble packet transmission port, which is the port of the communication control device, is used in the transmission of the bubble packet. And a detection packet transmitting step for transmitting to the server.
前記ポート検出用パケットが通過した前記通信制御装置のポートの位置を示す検出用ポート情報を受け付ける検出用ポート情報受付ステップと、
前記検出用ポート情報受付ステップで受け付けた検出用ポート情報に基づいて、前記バブルパケット送信ポートの位置を検出するバブルパケット送信ポート検出ステップと、をさらに備えた請求項81記載の通信方法。
A detection port information receiving step for receiving detection port information indicating a port position of the communication control device through which the port detection packet has passed;
84. The communication method according to claim 81, further comprising: a bubble packet transmission port detection step for detecting a position of the bubble packet transmission port based on the detection port information received in the detection port information reception step.
前記バブルパケット送信ポート検出ステップで検出した前記バブルパケット送信ポートの位置を示すバブルパケット送信ポート情報を送信するバブルパケット送信ポート送信ステップをさらに備えた、請求項82記載の通信方法。 83. The communication method according to claim 82, further comprising a bubble packet transmission port transmission step for transmitting bubble packet transmission port information indicating a position of the bubble packet transmission port detected in the bubble packet transmission port detection step. 情報処理装置、前記情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成する前記サーバにおいて用いられる通信方法であって、
前記通信制御装置に送信履歴を残すために前記情報処理装置が送信するバブルパケットの送信で用いられる前記通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記バブルパケットの送信の前後に前記情報処理装置から送信されたポート検出用パケットを受け付けるステップと、
前記ポート検出用パケットに基づいて前記バブルパケット送信ポートの位置を検出するステップと、を備えた通信方法。
An information processing apparatus, a communication control apparatus for controlling communication of the information processing apparatus, and a communication method used in the server constituting a communication system including a server,
The transmission of the bubble packet to detect the position of the bubble packet transmission port which is a port in the communication control device used in the transmission of the bubble packet transmitted by the information processing device to leave a transmission history in the communication control device Receiving a port detection packet transmitted from the information processing apparatus before and after
Detecting a position of the bubble packet transmission port based on the port detection packet.
情報処理装置、前記情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成する前記サーバにおいて用いられる通信方法であって、
前記通信制御装置に送信履歴を残すために前記情報処理装置が送信するバブルパケットの送信で用いられる前記通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記バブルパケットの送信の前後に前記情報処理装置から送信されたポート検出用パケットを受け付けるステップと、
前記ポート検出用パケットが通過した前記通信制御装置のポートの位置を検出するステップと、
前記ポート検出用パケットが通過した前記通信制御装置のポートの位置を示す検出用ポート情報を前記情報処理装置に送信するステップと、を備えた通信方法。
An information processing apparatus, a communication control apparatus for controlling communication of the information processing apparatus, and a communication method used in the server constituting a communication system including a server,
The transmission of the bubble packet to detect the position of the bubble packet transmission port which is a port in the communication control device used in the transmission of the bubble packet transmitted by the information processing device to leave a transmission history in the communication control device Receiving a port detection packet transmitted from the information processing apparatus before and after
Detecting the position of the port of the communication control device through which the port detection packet has passed;
And transmitting to the information processing apparatus detection port information indicating a port position of the communication control apparatus through which the port detection packet has passed.
コンピュータに、
情報処理装置、前記情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成する前記情報処理装置における処理を実行させるためのプログラムであって、
前記通信制御装置を介して、前記通信制御装置に送信履歴を残すためのバブルパケットを送信するバブルパケット送信ステップと、
前記バブルパケットの送信で用いられる、前記通信制御装置のポートであるバブルパケット送信ポートの位置を検出するために用いられるポート検出用パケットを、前記バブルパケット送信ステップで前記バブルパケットを送信する前後に、前記サーバに送信する検出用パケット送信ステップと、を実行させるためのプログラム。
On the computer,
An information processing apparatus, a communication control apparatus that controls communication of the information processing apparatus, and a program for executing processing in the information processing apparatus that constitutes a communication system including a server,
A bubble packet transmitting step for transmitting a bubble packet for leaving a transmission history in the communication control device via the communication control device;
Before and after transmitting the bubble packet in the bubble packet transmission step, the port detection packet used for detecting the position of the bubble packet transmission port, which is the port of the communication control device, is used in the transmission of the bubble packet. And a detection packet transmission step to be transmitted to the server.
コンピュータに、
情報処理装置、前記情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成する前記サーバにおける処理を実行させるためのプログラムであって、
前記通信制御装置に送信履歴を残すために前記情報処理装置が送信するバブルパケットの送信で用いられる前記通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記バブルパケットの送信の前後に前記情報処理装置から送信されたポート検出用パケットを受け付けるステップと、
前記ポート検出用パケットに基づいて前記バブルパケット送信ポートの位置を検出するステップと、を実行させるためのプログラム。
On the computer,
An information processing apparatus, a communication control apparatus for controlling communication of the information processing apparatus, and a program for executing processing in the server constituting a communication system including a server,
The transmission of the bubble packet to detect the position of the bubble packet transmission port which is a port in the communication control device used in the transmission of the bubble packet transmitted by the information processing device to leave a transmission history in the communication control device Receiving a port detection packet transmitted from the information processing apparatus before and after
Detecting a position of the bubble packet transmission port based on the port detection packet.
コンピュータに、
情報処理装置、前記情報処理装置の通信を制御する通信制御装置、およびサーバを備える通信システムを構成する前記サーバにおける処理を実行させるためのプログラムであって、
前記通信制御装置に送信履歴を残すために前記情報処理装置が送信するバブルパケットの送信で用いられる前記通信制御装置におけるポートであるバブルパケット送信ポートの位置を検出するために、前記バブルパケットの送信の前後に前記情報処理装置から送信されたポート検出用パケットを受け付けるステップと、
前記ポート検出用パケットが通過した前記通信制御装置のポートの位置を検出するステップと、
前記ポート検出用パケットが通過した前記通信制御装置のポートの位置を示す検出用ポート情報を前記情報処理装置に送信するステップと、を実行させるためのプログラム。
On the computer,
An information processing apparatus, a communication control apparatus for controlling communication of the information processing apparatus, and a program for executing processing in the server constituting a communication system including a server,
The transmission of the bubble packet to detect the position of the bubble packet transmission port which is a port in the communication control device used in the transmission of the bubble packet transmitted by the information processing device to leave a transmission history in the communication control device Receiving a port detection packet transmitted from the information processing apparatus before and after
Detecting the position of the port of the communication control device through which the port detection packet has passed;
Transmitting the port information for detection indicating the position of the port of the communication control device through which the port detection packet has passed to the information processing device.
JP2007304056A 2003-11-07 2007-11-26 Communication system, information processing apparatus, server, and information processing method Active JP4389994B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007304056A JP4389994B2 (en) 2003-11-07 2007-11-26 Communication system, information processing apparatus, server, and information processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003378289 2003-11-07
JP2004121592 2004-04-16
JP2007304056A JP4389994B2 (en) 2003-11-07 2007-11-26 Communication system, information processing apparatus, server, and information processing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006024387A Division JP4389885B2 (en) 2003-11-07 2006-02-01 Communication system, information processing apparatus, server, and communication method

Publications (2)

Publication Number Publication Date
JP2008099321A true JP2008099321A (en) 2008-04-24
JP4389994B2 JP4389994B2 (en) 2009-12-24

Family

ID=39381588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007304056A Active JP4389994B2 (en) 2003-11-07 2007-11-26 Communication system, information processing apparatus, server, and information processing method

Country Status (1)

Country Link
JP (1) JP4389994B2 (en)

Also Published As

Publication number Publication date
JP4389994B2 (en) 2009-12-24

Similar Documents

Publication Publication Date Title
US8234383B2 (en) Bubble packet port identification using detection packets
KR100770101B1 (en) Information processing device, and bubble packet transmission method and program
US9137027B2 (en) Bootstrapping in peer-to-peer networks with network address translators
EP2051451A1 (en) Communication apparatus, communication method and communication system
EP2220852B1 (en) Communicating a selection of a potential configuration
EP2449749B1 (en) Method and apparatus for relaying packets
WO2007125530A2 (en) Routing path optimization between si p endpoints according to nat topology
JP3933183B2 (en) Communication system, information processing apparatus, server, and communication method
JP3849711B2 (en) Communication system, information processing apparatus, server, and communication method
JP4389885B2 (en) Communication system, information processing apparatus, server, and communication method
JP3933182B2 (en) Communication system, information processing apparatus, server, and communication method
JP4389994B2 (en) Communication system, information processing apparatus, server, and information processing method
JP4389886B2 (en) Communication system, information processing apparatus, server, and communication method
JP2008205676A (en) Information processing system, information processor, information processing method and information processing program
Muller et al. ANTS-a framework for knowledge based NAT traversal
Baldi et al. NAT Traversal
JP4345751B2 (en) Information processing apparatus and bubble packet transmission method
JP2011151604A (en) Signal processing apparatus and program
JP2004248030A (en) Calling terminal, called terminal, packet filter device, communication control apparatus, communication system, communication method, and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090805

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: 20090915

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: 20090928

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4389994

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131016

Year of fee payment: 4