WO2005041500A1 - 通信システム、情報処理装置、サーバ、および通信方法 - Google Patents
通信システム、情報処理装置、サーバ、および通信方法 Download PDFInfo
- Publication number
- WO2005041500A1 WO2005041500A1 PCT/JP2004/015721 JP2004015721W WO2005041500A1 WO 2005041500 A1 WO2005041500 A1 WO 2005041500A1 JP 2004015721 W JP2004015721 W JP 2004015721W WO 2005041500 A1 WO2005041500 A1 WO 2005041500A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- port
- packet
- information processing
- range
- communication control
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
Definitions
- the present invention relates to a communication system or the like for establishing communication between a plurality of information processing devices.
- NAT Network Address Translation
- the transmission port assignment rule does not depend on the destination (IP address and port) of the packet. If the port and IP address of the information processing device on the local side (for example, LAN side) of the NAT are the same, the NAT The Cone type, which has the same port on the global side (for example, the WAN side of the Internet) that is assigned, the Address Sensitive type, which assigns a new port for each packet destination address, and the new Cone type, which assigns a new port for each packet destination port There is a Port Sensitive type to which ports are assigned.
- the local side of NAT The reception filter rule that determines the acceptability of a packet from the global side to the port to which the packet was sent includes a packet that is received only from the address that sent the packet from that port. There is a Sensitive filter, a Port Sensitive filter that receives packets only from the port that sent packets from that port, and a No filter that has no filter.
- Full Cone NAT A transmission port assignment rule of the Cone type and a reception port filter rule of the No filter.
- Restricted Cone NAT The outgoing port assignment rule is Cone type and the incoming port filter rule is Address Sensitive filter.
- Port Sensitive Symmetric NAT An outgoing port allocation rule of the port sensitive type and a receiving port filter rule of the port sensitive filter.
- Non-Patent Document 2 Ietf.org/internet-dra ftsZdraft—takeda—symmetric—nat—traversal—00 txt>
- Non-Patent Document 3 Ietf.org/internet-dra ftsZdraft—takeda—symmetric—nat—traversal—00 txt>
- FIG. 40 when communication is performed from PC1, which is an information processing device connected to the local side of NAT1, to PC2, NAT1 is referred to as NAT on the transmitting side, and NAT2 is referred to as NAT on the receiving side. Then, the combination of NATs that can establish communication between PC1 and PC2 is as shown in FIG.
- the abbreviations of NAT in FIG. 41 are as described in the following embodiment.
- connection of “* 1” in FIG. 41 is conventionally known, and the connection of “* 2” is described in Non-Patent Document 1 above, and the connection of “* 3” Is described in Non-Patent Document 2 above. Yes. Also, even with a combination of NATs that can establish communication, in the connection of “* 3”, the port width of the NAT can be reliably understood, and the position of the latest port of the NAT on the receiving side can be reliably determined. Unless you know, communication cannot be established, and uncertainty remains.
- a NAT port that has passed a bubble packet (a packet transmitted to leave a transmission history in the NAT) transmitted from one information processing device is assumed. Range detected! / ,.
- One object of the present invention is to provide a communication system and the like that can more reliably establish communication between a plurality of information processing devices that perform communication via a communication control device that controls communication. It is.
- Another object of the present invention is to provide a communication system or the like that can detect a range of ports in a communication control device through which a transmitted bubble packet has passed through an information processing device.
- a communication system comprises a first information processing device, a second information processing device, and a first communication control for controlling communication between the first information processing device.
- a communication comprising: a device; a second communication control device that controls communication between the second information processing device; and a server that establishes communication between the first information processing device and the second information processing device.
- the first information processing device sends a bubble packet for leaving a transmission history in the first communication control device to the second communication control device via the first communication control device.
- the second information processing device transmits a bubble packet transmitting unit, which transmits a bubble packet, and a bubble packet transmission port, which is a port of the first communication control device, used for transmitting the bubble packet.
- Sent via control unit A reply packet receiving unit that receives a reply packet, wherein the second information processing device includes a reply packet transmitting unit that transmits the reply packet to one or more ports including at least the bubble packet transmitting port. It is provided.
- the first information processing device is transmitted by transmitting a reply packet to the port of the first communication control device assigned by transmitting the bubble packet. It may be possible to establish communication between the information processing apparatus and the second information processing apparatus.
- the first information processing device includes a first communication control device that controls communication of the first information processing device, and a second communication control that controls communication of the second information processing device.
- the first information processing device communicating with the second information processing device via a control device, and transmitting a transmission history to the first communication control device via the first communication control device.
- a bubble packet transmitting unit that transmits a bubble packet to be retained to the second communication control device;
- a reply packet receiving unit that receives a reply packet transmitted from the second information processing device via the second communication control device.
- a bubble packet transmission port used for establishing communication with the second information processing device is assigned to the first communication control device by transmitting a bubble packet.
- the reply packet transmitted to the bubble packet transmission port communication between the first information processing device and the second information processing device can be established.
- the first information processing device and the second information processing device may include a first communication control device that controls communication of the first information processing device, and a second information processing device.
- a server that establishes communication via a second communication control device that controls communication of the first information processing device, wherein the first information processing device and the second information processing device are communicated with each other.
- An information transmitting / receiving unit for transmitting / receiving, a characteristic determining unit for determining characteristics of the first communication control device and the second communication control device, and the first information processing unit according to a determination result by the characteristic determining unit
- a transmission / reception determination unit that determines one of the second information processing apparatuses as a transmission side (transmission side information processing apparatus) and the other as a reception side (reception side information processing apparatus). Things.
- the first information processing device and the second information processing device may include 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 first information processing device.
- a server that establishes communication via a second communication control device that controls communication of the second information processing device, wherein the first information processing device transmits the second communication control device to the second communication control device.
- Range detection for detecting a range of a port including a bubble packet transmission port, which is a port of the first communication control device, used for transmitting a bubble packet for leaving a transmission history in the first communication control device. For detecting a port position of the first communication control device through which the range detection packet has passed, and a detection port indicating the position of the port detected by the detection port detection unit.
- port A detecting port data transmitter for transmitting broadcast before Symbol first information processing apparatus, those equipped with.
- the first information processing device can transmit detection port information used for detecting a port range including the bubble packet transmission port to the first information processing device. it can.
- the first information processing device and the second information processing device may include a first communication control device that controls communication of the first information processing device, and A server that establishes communication via a second communication control device that controls communication of the first information processing device, wherein the first information processing device leaves a transmission history in the first communication control device.
- Packet information indicating a position of a bubble packet transmission target port which is a port in the second communication control device to which a bubble packet to be transmitted, is transmitted to the first information processing device. It has a packet transmission target port transmission unit.
- the position of the target port for transmitting a bubble packet can be notified to the first information processing apparatus by using the port information for transmitting a bubble packet.
- a 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.
- a bubble packet transmitting unit for transmitting one or more bubble packets for leaving a transmission history in the communication control device via the control device; and a port of the communication control device used for transmitting one or more of the bubble packets.
- There is one or more bubble bucket A range detection packet transmitting unit that transmits a range detection packet used to detect a range of ports including a port transmission port to the server, wherein the server receives the range detection packet, and A range detection unit that detects a range of ports including one or more of the bubble packet transmission ports based on the detection packet.
- the range of the port including the bubble packet transmission port can be detected in the server by the range detection packet transmitted from the information processing device.
- the packet can be accepted by the information processing device.
- a 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, wherein the information processing device includes the communication device.
- a bubble packet transmitting unit for transmitting one or more bubble packets for leaving a transmission history in the communication control device via the control device; and a port of the communication control device used for transmitting one or more of the bubble packets.
- a range detection packet transmitting unit that transmits a range detection packet used to detect a range of a port including one or more bubble bucket transmission ports to the server, and the communication through which the range detection packet passes
- a detection port information receiving unit that receives detection port information indicating a port position of the control device; and a detection port information reception unit that receives the detection port information reception unit.
- a range detection unit that detects a range of a port including one or more of the bubble packet transmission ports based on the port information.
- the server receives the range detection packet, and receives the range detection packet.
- a port detection unit for detecting a position of a port of the communication control device through which the communication has passed, and a detection port for transmitting detection port information indicating the position of the port detected by the detection port detection unit to the information processing device. And a communication port information transmission unit.
- the range of the port including the bubble packet transmission port can be detected in the information processing device by the range detection packet transmitted by the information processing device.
- Other devices within the port range including the detected bubble packet transmission port By transmitting a packet, the packet can be accepted by the information processing device.
- FIG. 1 is a block diagram showing a configuration of a communication system according to a first embodiment of the present invention.
- FIG. 2 is a block diagram showing a configuration of a first information processing apparatus according to the embodiment.
- FIG. 3 is a block diagram showing a configuration of a second information processing apparatus according to the embodiment.
- FIG. 4 is a block diagram showing a configuration of first and second servers according to the embodiment.
- FIG. 5 is a flowchart showing an operation of the communication system according to the embodiment.
- FIG. 6 is a flowchart showing processing related to transmission / reception determination in the embodiment.
- FIG. 7 is a diagram for describing determination of characteristics of the communication control device according to the embodiment.
- FIG. 8 is a diagram for explaining determination of characteristics of the communication control device according to the embodiment.
- FIG. 9 is a diagram for explaining determination of characteristics of the communication control device according to the embodiment.
- FIG. 10 is a flowchart showing a process related to the establishment of communication in the embodiment.
- FIG. 11 is a diagram for describing detection of a port width in the embodiment.
- FIG. 12 is a diagram for describing a specific example in the embodiment.
- FIG. 13 is a view for explaining a specific example in the embodiment.
- FIG. 14 is a view for explaining a specific example in the embodiment.
- FIG. 15 is a diagram for describing a specific example according to the embodiment.
- FIG. 16 is a diagram for describing a specific example in the same embodiment.
- FIG. 17 is a diagram showing combinations of characteristics of connectable communication control devices according to the embodiment.
- FIG. 18 is a block diagram showing a configuration of a first information processing apparatus according to Embodiment 2 of the present invention.
- FIG. 19 is a block diagram showing a configuration of a second information processing apparatus according to the embodiment.
- FIG. 20 is a block diagram showing a configuration of first and second servers according to the embodiment.
- FIG. 21 is a flowchart showing a process related to the establishment of communication in the embodiment.
- FIG. 22 is a flowchart showing a process related to the establishment of communication in the embodiment.
- FIG. 23 is a flowchart showing a process related to the establishment of communication in the embodiment.
- FIG. 24 is a block diagram showing a configuration of a communication system according to a third embodiment of the present invention.
- FIG. 25 is a block diagram showing a configuration of a communication system according to Embodiment 4 of the present invention.
- FIG. 26 is a block diagram showing a configuration of a first information processing apparatus according to the embodiment.
- FIG. 27 is a block diagram showing a configuration of a second information processing apparatus according to the embodiment.
- FIG. 28 is a block diagram showing a configuration of a server according to the embodiment.
- FIG. 29 is a flowchart showing processing related to transmission / reception determination in the embodiment.
- FIG. 30 is a diagram for describing determination of characteristics of the communication control device according to the embodiment.
- FIG. 31 is a flowchart showing a process related to establishing communication in the embodiment.
- FIG. 32 is a flowchart showing a process related to the establishment of communication in the embodiment.
- FIG. 33 is a flowchart showing processing related to the establishment of communication in the embodiment.
- FIG. 34 is a diagram for describing a specific example in the same embodiment.
- FIG. 35 is a diagram for describing a specific example in the same embodiment.
- FIG. 36 is a diagram for describing a specific example in the same embodiment.
- FIG. 37 is a diagram for describing a specific example in the same embodiment.
- FIG. 38 is a diagram for describing a specific example in the same embodiment.
- FIG. 39 is a diagram showing combinations of characteristics of connectable communication control devices according to the embodiment.
- FIG. 40 is a diagram illustrating an example of a communication system.
- FIG. 41 is a diagram showing a conventional combination of connectable NATs.
- FIG. 1 is a block diagram showing a configuration of a communication system according to the present embodiment.
- a 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 second communication control device 4. And a first server 6 and a second server 7.
- the first communication control device 3, the second communication control device 4, the first server 6, and the second server 7 are connected via a wired or wireless communication line 5.
- the communication line 5 is, for example, the Internet.
- 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. Although the case is shown, other devices may be connected to the first communication control device 3 and the second communication control device 4.
- FIG. 2 is a block diagram showing a configuration of the first information processing apparatus 1.
- a first information processing apparatus 1 includes a communication unit 11, a bubble packet transmission unit 12, a range detection packet Transmission unit 13, reply packet reception unit 14, port detection packet transmission unit 15, bubble packet transmission target port reception unit 16, range reception unit 17, port width reception unit 18, reply packet transmission unit 19
- a communication unit 11 includes a communication unit 11, a bubble packet transmission unit 12, a range detection packet Transmission unit 13, reply packet reception unit 14, port detection packet transmission unit 15, bubble packet transmission target port reception unit 16, range reception unit 17, port width reception unit 18, reply packet transmission unit 19
- a communication unit 11 includes a communication unit 11, a bubble packet transmission unit 12, a range detection packet Transmission unit 13, reply packet reception unit 14, port detection packet transmission unit 15, bubble packet transmission target port reception unit 16, range reception unit 17, port width reception unit 18, reply packet transmission unit 19
- a communication unit 11 includes a communication unit 11, a bubble packet transmission unit 12, a range detection packet Transmission unit 13, reply packet reception unit 14, port detection packet transmission unit 15, bubble packet transmission target port reception unit 16, range reception unit
- the communication unit 11 performs communication between each component inside the first information processing device 1 such as the bubble packet transmission unit 12 and the first communication control device 3.
- the bubble packet transmitting unit 12 transmits a public packet to the second communication control device 4 via the communication unit 11 and the first communication control device 3.
- a 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.
- Establishing communication means starting peer-to-peer communication between the first information processing device 1 and the second information processing device 2 without using a server.
- Retaining the transmission history means that the first communication control device 3 allocates a port (opens a port) for receiving a reply packet described later.
- a bubble packet is transmitted for the purpose of retaining the transmission history.
- the transmission history for accepting a reply packet is stored in the first communication control device 3.
- a predetermined packet that has left its transmission history is called a bubble packet.
- This bubble packet may contain any information, or may not contain any information.
- This bubble packet is transmitted by a connectionless protocol such as UDP (User Datagram Protocol).
- Range detection packet transmitting section 13 transmits the range detection packet to first server 6 or second server 7.
- This range detection packet is used to detect the range of the port including the bubble packet transmission port.
- the bubble packet transmission port is a port of the first communication control device 3 used for transmitting a bubble packet.
- This range detection packet is transmitted before the bubble packet is transmitted and after the Z or bubble packet is transmitted.
- the range detection packet may be transmitted to different addresses (IP addresses) before and after the transmission.
- This range detection bucket is transmitted by, for example, UDP or Transmission Control Protocol (TCP). It is.
- This range detection packet may contain any information or may not contain any information.
- the reply packet receiving unit 14 receives a reply packet transmitted from the second information processing device 2 via the second communication control device 4. This reply packet has been transmitted to the port assigned by transmitting the bubble packet in the first communication control device 3, ie, the bubble bucket transmission port. By accepting this reply packet, communication between the first information processing device 1 and the second information processing device 2 is established.
- This reply packet is transmitted by, for example, UDP.
- This reply packet may or may not contain any information, and may or may not contain any information.
- the port number detection packet transmitting unit 15 transmits a port number detection packet for detecting the port number in the first communication control device 3 to the first server via the first communication control device 3.
- the port width is the width (interval) of ports used (allocated) 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 after the port with the port number “20000” is the port with the port number “20002”.
- the port number detection packet is transmitted by, for example, UDP or TCP. This port number detection packet may contain any information or may not contain any information.
- Bubble packet transmission target port receiving unit 16 receives bubble packet transmission target port information.
- the bubble packet transmission target port information is information indicating a position of a bubble packet transmission target port which is a target port for transmitting a bubble packet in the second communication control device 4.
- the first information processing apparatus 1 can know the position of the bubble packet transmission target port.
- the bubble packet transmission target port for example, there is a port where the second information processing device 2 transmits and receives information to and from the first server 6.
- the information processing apparatus on the transmission side is a side that transmits a bubble packet when establishing communication between the first information processing apparatus 1 and the second information processing apparatus 2.
- the side that transmits a bubble packet and the side that issues a request for communication (connection) are the same, so It is also the side that issues a request for communication.
- the information processing device on the opposite side that is, the information processing device that transmits a reply packet to a bubble packet, is referred to as a receiving information processing device.
- the side transmitting the return packet and the side receiving the communication request are the same, so the receiving side Is also the recipient.
- Each unit from the range receiving unit 17 to the reply packet transmitting unit 19 described below is used when the first information processing device 1 operates as an information processing device on the receiving side.
- Range receiving unit 17 receives range information.
- the range information is information indicating the range of ports through which the reply packet transmitting unit 19 transmits a reply packet to the second communication control device 4.
- the range of the port including the bubble packet transmission port in the second communication control device 4 (the port used for transmitting the bubble packet from the second information processing device 2 to the first communication control device 3) is indicated. , For example, by a port number.
- the port range may be indicated by indicating only the upper limit of the port or only the lower limit of the port, or the range of the port may be indicated by the upper and lower limits of the port.
- the upper limit of the port indicates the port with the larger port number
- the lower limit of the port indicates the port with the smaller port number.
- the port width receiving unit 18 receives port width information, which is information indicating a port width in the second communication control device 4.
- the reply packet transmitting unit 19 transmits a reply packet to one or more ports including at least a bubble packet transmission port in the second communication control device 4. At this time, the reply packet is transmitted to the port including the bubble packet transmission port in the second communication control device 4 by transmitting the reply packet to the port in the range indicated by the range information received by the range receiving unit 17. can do.
- the reply packet is transmitted for each port width indicated by the port width information. As a result, when the port width indicated by the port width information is 2 or more, a reply packet can be transmitted efficiently.
- the reply packet may be transmitted from, for example, a port where the first information processing device 1 communicates with the first server 6.
- FIG. 3 is a block diagram showing a configuration of the second information processing device 2.
- the second information processing apparatus 2 includes a communication unit 21, a bubble packet transmission unit 22, a range detection packet transmission unit 23, a reply packet reception unit 24, and a port width detection packet transmission unit 25.
- each unit from the communication unit 21 to the reply packet transmission unit 29 in the second information processing device 2 includes the first information processing device 1, the first communication control device 3, and the second information processing device 2, Except that the second communication control device 4 is replaced, the configuration is the same as that of the first information processing device 1 from the communication unit 11 to the reply packet transmission unit 19, and the description is omitted.
- the portion from the bubble packet transmitting section 22 to the bubble packet transmission target port receiving section 26 in the second information processing apparatus 2 is used when the second information processing apparatus 2 operates as a transmitting side.
- the range from the range receiving unit 27 to the reply packet transmitting unit 29 is used when the second information processing device 2 operates as a receiving side.
- the first communication control device 3 controls communication of the first information processing device 1, and uses a so-called nut (NAT) to control the local side (the first information processing device 1 side). ) And communication with the global side (communication line 5 side).
- the NAT includes a full cone NAT, a restricted cone nut (Restricted Cone NAT, hereinafter abbreviated as “R NAT”), a port restricted cone nut (Port Restricted Cone NAT). , "PR NAT”), Address Sensitive Symmetric NAT (hereinafter abbreviated as "AS NAT”), Port Sensitive Symmetric NAT (hereinafter abbreviated as "PS NAT”). ).
- the second communication control device 4 controls communication of the second information processing device 2, and uses a nut similarly to the first communication control device 3.
- the combination of the first communication control device 3 and the second communication control device 4 includes a combination of PS NATs. Except for the matching, communication between the first information processing device 1 and the second information processing device 2 can be established.
- the port assignment is performed such that the port number increases or decreases for each predetermined port width. . In the following description, a case will be described where the port numbers are assigned so as to increase.
- FIG. 4 is a block diagram showing a configuration of the first server 6 and the second server 7.
- the first server 6 includes a communication unit 61, an information transmission / reception unit 62, a characteristic determination unit 63, a transmission / reception determination unit 64, a bubble packet transmission target port transmission unit 65, a range detection unit 66, A range transmitting unit 67, a port width detecting unit 68, and a port width transmitting unit 69 are provided.
- the second server 7 includes a communication unit 71.
- the communication units 61 and 71 communicate each unit of the first server 6, such as the information transmission / reception unit 62, with the first information processing device 1, the second information processing device 2, and the like.
- the communication unit 61 and the communication unit 71 exchange information between servers. Although only the communication unit 71 is specifically shown in the second server 7, other components may be provided in addition to the communication unit 71.
- the information transmitting and receiving unit 62 transmits and receives information to and from the first information processing device 1 and the second information processing device 2.
- the information transmission / reception by the information transmission / reception unit 62 is performed via the communication unit 61 and the communication unit 71.
- the characteristic determining section 63 determines the characteristics of the first communication control device 3 and the second communication control device 4.
- the characteristics of the first communication control device 3 and the second communication control device 4 refer to the type of NAT used in the first communication control device 3 and the like. Therefore, the characteristics of the first communication control device 3 are determined to be, for example, Full Cone NAT or AS NAT.
- the transmission / reception determining unit 64 sends one of the first information processing device 1 and the second information processing device 2 to the transmitting side (transmitting side information processing device) according to the determination result by the characteristic determining unit 63. And the other is determined to be the receiving side (receiving side information processing device).
- the communication control device that controls the communication of the transmitting information processing device becomes the transmitting communication control device, and the receiving information processing device
- the communication control device that controls the communication of the receiver becomes the communication control device on the receiving side.
- the bubble packet transmission target port transmitting section 65 transmits bubble packet transmission target port information indicating the position of the bubble packet transmission target port in the reception side communication control device to the transmission side information processing device.
- the range detecting unit 66 receives the range detecting packet to which the transmitting-side information processing device has also been transmitted, and detects the range of the port including the bubble packet transmitting port based on the received range detecting packet.
- the port range may be detected by acquiring a port number included in the header of the range detection packet and recording the port number in a predetermined memory or the like.
- the range detection packet may be transmitted from the transmission-side information processing device to the communication unit 61, or may be transmitted to the communication unit 71 of the second server 7 by the communication unit 61. It may have been received via 61. In the latter case, the first server 6 and the second server 7 have different IP addresses! /.
- the range transmitting unit 67 transmits range information, which is information indicating a port range including the bubble packet transmission port detected by the range detecting unit 66, to the receiving-side information processing device.
- Port width detection section 68 receives a port number detection packet transmitted from the transmission side information processing device via the transmission side communication control device.
- the port number detection packet is a packet used for detecting the port number in the transmission-side communication control device.
- the port width detection unit 68 detects the port width in the transmission-side communication control device based on the received port width detection packet.
- the port-width transmitting unit 69 transmits port-width information, which is information indicating the port width detected by the port-width detecting unit 68, to the receiving-side information processing device.
- Step S101 The characteristic determination unit 63 in the first server 6 determines the characteristics of the first communication control device 3 and the second communication control device 4 so that the first information processing device 1, It decides which of the second information processing device 2 and the second information processing device 2 will be the transmitting side and the receiving side.
- Step S102 A bubble packet is transmitted from the transmitting information processing apparatus to the receiving communication control apparatus, and a reply packet is transmitted from the receiving information processing apparatus to at least one port including at least a bubble packet transmitting port. This establishes communication.
- the detailed processing in steps S101 and S102 will be described later.
- FIG. 6 is a flowchart showing a process in which the first server 6 determines transmission / reception in step S101.
- the first information processing device 1 and the first communication control device 3 are devices on the transmitting side
- the second information processing device 2 and the second communication control device 4 are devices on the receiving side.
- the description is the same as that in the following flowchart.
- Step S201 The characteristic determining unit 63 of the first server 6 determines the characteristic of the first communication control device 3 on the transmitting side. The method for determining the characteristics will be described later.
- Step S202 The transmission / reception determining unit 64 determines whether the first communication control device 3 uses PS NAT. Then, if PS NAT is used, the process proceeds to step S205. If not, the process proceeds to step S203.
- Step S203 The transmission / reception determining unit 64 determines whether the first communication control device 3 uses PR NAT. Then, if PR NAT is used, the process proceeds to step S204, and if not, the transmission / reception determination process ends. That is, the first information processing device 1 and the first communication control device 3 are regarded as transmitting devices, and the second information processing device 2 and the second communication control device 4 are regarded as receiving devices. Of 102 communications Perform establishment processing.
- Step S204 The transmission / reception determining unit 64 switches the transmission / reception, and the transmission / reception determining process ends. That is, the first information processing device 1 and the first communication control device 3 are regarded as devices on the receiving side, and the second information processing device 2 and the second communication control device 4 are regarded as devices on the transmitting side.
- the communication establishment processing of 102 is performed.
- Step S205 The characteristic determining unit 63 determines the characteristic of the second communication control device 4 on the receiving side.
- Step S206 The transmission / reception determining unit 64 determines whether or not the second communication control device 4 uses PS NAT. If PS NAT is used, both the transmitting side and the receiving side use PS NAT, and communication cannot be established, resulting in an error. On the other hand, if PS NAT is not used, the process proceeds to step S207.
- Step S207 The transmission / reception determining unit 64 determines whether or not the second communication control device 4 uses AS NAT. Then, if AS NAT is used, the process proceeds to step S204, otherwise, the transmission / reception determination process ends.
- the first information processing device 1 and the first communication control device 3 are regarded as transmission-side devices
- the second information processing device 2 and the second communication control device 4 are regarded as reception-side devices.
- the communication establishment processing of 102 is performed.
- this flowchart is an example of processing for determining transmission and reception, and transmission and reception may be determined by other methods.
- the transmitting side uses PR NAT
- the transmission and reception are switched without discriminating the type of NAT used on the receiving side. If the number of times of judgment processing can be large, after it is determined that the sending side uses PR NAT, it is determined whether the receiving side uses PS NAT or AS NAT, and that judgment is made. As a result, transmission and reception may be switched only when it is determined that one of them is used.
- the first information processing device 1 transmits a predetermined packet to the port P of the first server 6. Send to 101.
- the transmitted packet is received by the characteristic determination unit 63 via the communication unit 61.
- the characteristic determining unit 63 sends an instruction to transmit a packet to the port P100 of the first communication control device 3 detected by accepting the packet, via the communication unit 61 to the second server 7.
- the packet is transmitted from the communication unit 71 to the port P100.
- the characteristic determination unit 63 determines that the first communication control device 3 uses Full Cone NAT. Judge. On the other hand, when the first information processing device 1 cannot receive the packet from the communication unit 71 to the port P100, the determination is performed by the method described in FIG.
- the first information processing apparatus 1 transmits a predetermined packet to the ports P 101 and P 103 of the first server 6 and the port P 102 of the second server 7.
- the characteristic determining unit 63 receives the packet transmitted to the ports P101 and P103, and receives the packet transmitted to the port P102 via the communication unit 71. Then, it is determined whether or not the ports Pa and Pb in the first communication control device 3 through which the packet has passed are the same. If the port Pa and the port Pb are different, it is determined that the first communication control device 3 uses PS NAT.
- the port Pa is equal to the port Pb, it is determined whether the port Pb is equal to the port Pc. Then, when the port Pb is different from the port Pc, it is determined that the first communication control device 3 uses AS NAT.
- the determination is performed by the method described in FIG.
- the first information processing device 1 transmits a predetermined packet to the port P 101 of the first server 6.
- the characteristic determining unit 63 receives the packet, and transmits the packet to a port P100 of the first communication control device 3 through which the packet has passed from a port P103 different from the port P101. If the first information processing device 1 can receive the packet from the port P103, the characteristic determining unit 63 determines that the first communication control device 3 uses R NAT, and If the device 1 cannot receive the packet from the port P103, the characteristic determining unit 63 determines that the first communication control device 3 uses the PR NAT. I refuse.
- the characteristic determination unit 63 can determine the characteristic of the first communication control device 3 by the method described with reference to FIGS. 7 to 9. Although the detailed description is omitted in the above description, transmission of a packet from the first information processing device 1 and the like are performed according to an instruction of the characteristic determination unit 63.
- FIG. 10 is a diagram for explaining information exchange and processing among the information processing device on the transmission side, the server, and the information processing device on the reception side with respect to the establishment of communication.
- the servers in FIG. 10 indicate both the first server 6 and the second server 7. Further, for convenience of explanation, it is assumed that first information processing device 1 and first communication control device 3 are a transmitting side, and second information processing device 2 and second communication control device 4 are a receiving side. And
- Step S301 The information transmitting / receiving unit 62 in the first server 6 transmits address information indicating the IP address of the second communication control device 4 to the first information processing device 1.
- the transmitted address information is received by the communication unit 11 of the first information processing device 1 and passed to the bubble packet transmission unit 12.
- Step S302 The bubble packet transmission target port transmitting section 65 transmits bubble packet transmission target port information to the first information processing apparatus 1.
- the transmitted bubble packet transmission target port information is received by the bubble packet transmission target port receiving unit 16 via the communication unit 11, and is passed to the bubble packet transmitting unit 12.
- the port number differential detection packet transmitting unit 15 in the first information processing device 1 transmits the port number differential detection packet to the first server 6.
- the ports of the first communication control device 3 through which the plurality of port width detection packets pass are different from each other.
- the port number differential detection packet is transmitted from, for example, a plurality of ports having different port numbers in the first information processing device 1.
- FIG. 11 is a diagram for explaining transmission of a port width detection packet.
- the port-width detection bucket transmitting unit 15 transmits port-width detection packets to the port P200 of the first server 6 sequentially from different ports P205 to P208. Then, the first communication control device 3 Therefore, those packets pass through different ports P201 to P204, respectively.
- FIG. 11 is a diagram for explaining transmission of a port width detection packet.
- the first information processing apparatus 1 uses the ports P205 and P208 for communication with the first server 6 before transmitting the port number differential detection packet, and it is assumed that the first information processing apparatus 1 is! / ⁇ .
- the port width detection unit 68 in the first server 6 receives the port number detection packet transmitted from the first information processing device 1, and based on the port number detection packet, Detect port width. A method for detecting the port width will be described.
- the port width detection unit 68 can detect the ports P201 to P204 of the first communication control device 3 used for transmitting each port number detection packet by receiving the port number detection packet. For example, if the port interval between port P202 and port P201 is 12, the port interval between port P203 and port P202 is 6, and the port interval between port P204 and port P203 is 18, The small port interval “6” may be detected as the port width. On the other hand, the greatest common divisor of those port intervals may be detected as the port width.
- the port interval between port P202 and port P201 is 12, the port interval between port P203 and port P202 is 6, and the port interval between port P204 and port P203 is 9, the maximum of them is The common divisor “3” may be detected as the port width.
- the port width detected in this way is passed to the port number transmitting section 69.
- the port width detection method is not limited to these, and the port width may be detected by other methods.
- the number of port number detection packets transmitted when detecting the port number is not limited to four, and can be set arbitrarily within a range in which the port number can be detected.
- Range detecting packet transmitting section 13 transmits the range detecting packet to first server 6 via first communication control device 3.
- the packet is transmitted such that the range detection packet passes through the port that is most recently allocated in the first communication control device 3. This is so that the range of ports including the bubble packet transmission port can be appropriately limited.
- the range detection packet transmission unit 13 uses the port of the first information processing device 1 that has not been used so far in the communication between the first information processing device 1 and the first server 6, and Send the detection packet. This The range detection packet transmitted in this manner is accepted by range detection section 66 of first server 6.
- the range detecting unit 66 knows the position of the port of the first communication control device 3 used for transmitting the range detecting packet by referring to the port number included in the header of the received range detecting packet. Can be.
- Step S 306 The bubble packet transmitting unit 12 transmits the IP address of the second communication control device 4 indicated by the address information transmitted in step S 301 and the bubble packet transmission target port information transmitted in step S 302 Based on this, the bubble packet is transmitted to the public packet transmission target port of the second communication control device 4.
- the second communication control device 4 uses Full Cone NAT to explain the following steps.
- the port for transmitting the noble packet is the second information processing device 2 such as a port used for transmitting and receiving information between the second information processing device 2 and the first server 6. If the port is used by the second information processing device 2, the second information processing device 2 receives the bubble packet, and the communication is established.
- Step S 307 Range detection packet transmitting section 13 transmits the range detection packet to second server 7 via first communication control device 3.
- the range detection packet is received by range detection section 66 via communication section 71 and communication section 61.
- the first communication control device 3 may use AS NAT
- the range detection packet after the transmission of the bubble packet may be transmitted to the first server 6.
- a port of the first information processing device 1 that has not been used in the communication with the first server 6 is used to transmit the range detection packet. Transmission shall be performed.
- the range detection packet transmitted in this manner is accepted by the range detection unit 66 of the first Sano 6.
- the range detection unit 66 can know the position of the port of the first communication control device 3 used in transmitting the range detection packet.
- Step S308 The range detection unit 66 determines the range of the port including the bubble packet transmission port based on the range detection packet transmitted in step S305 and step S307. Is detected. Specifically, the first communication control device 3 used in transmitting the range detection packet in step S307 is transmitted from the port of the first communication control device 3 used in transmitting the range detection packet in step S305. Up to the port is detected as a range of ports including the bubble packet transmission port.
- Range transmitting section 67 transmits range information indicating the range of the port including the bubble packet transmission port, detected by range detecting section 66, to second information processing device 2.
- the range information is received by the range receiving unit 27 in the second information processing device 2 and passed to the reply packet transmitting unit 29.
- Step S310 The information transmitting / receiving unit 62 transmits address information indicating the IP address of the first communication control device 3 to the second information processing device 2.
- the transmitted address information is accepted by the communication unit 21 and passed to the reply packet transmission unit 29.
- Port width transmitting section 69 transmits port width information indicating the port width detected by port width detecting section 68 to second information processing device 2.
- the port width information is received by the port width receiving unit 28 of the second information processing device 2 and is passed to the reply packet transmitting unit 29.
- Step S 312 Reply packet transmitter 29 transmits a reply packet to first communication control device 3 specified by the IP address indicated by the address information received in step S 310. This reply packet is transmitted to the port in the range indicated by the range information received from the range receiving unit 27 for each port width indicated by the port width information.
- Step S313 The reply packet receiving unit 14 of the first information processing device 1 receives the reply packet transmitted from the second information processing device 2. By receiving this reply packet, communication between the first information processing device 1 and the second information processing device 2 is established. Thereafter, transmission and reception of information (for example, tunnel communication) between the first information processing device 1 and the second information processing device 2 without passing through the first server 6 or the second server 7 is performed. Is
- the port width detection may be performed before transmission of the port width information (step S311).
- the port width detection (step S311) may be performed.
- the port width information may be transmitted to the receiving side.
- the sender's key The transmission of the dress (step S310) may be performed simultaneously with, for example, the transmission of the address on the receiving side (step S301).
- the reply packet is not accepted (that is, the reply packet is sent). If the second information processing device 2 cannot receive from the first information processing device 1 the fact that the second information processing device 2 has accepted the return packet even after a predetermined time elapses, the detected port width differs. Therefore, the second information processing device 2 may set the port width to 1 and transmit the reply packet again. Alternatively, when the port width is calculated using the greatest common divisor, the common divisor from the greatest common divisor to 1 may be sequentially set as the port width, and the return packet may be transmitted again.
- the greatest common divisor "4" is set as the port width and a reply packet is transmitted, whereby communication can be established. If this is not the case, set [2] as the port width and send the reply packet. If communication cannot be established even by that, the port width is set to “1”.
- the IP addresses of the first communication control device 3, the second communication control device 4, the first server 6, and the second server 7 (for the first and second communication control devices 3, 4). Is the address on the communication line 5 side), respectively.
- First communication control device 3 202. 132. 10. 6
- Second communication control device 4 131.206.10.240
- FIG. 12 and FIG. 13 are diagrams for explaining the first specific example.
- the first information processing device 1 has an IP address “155.32.10.10” of the first server 6 and an IP address “155.32.10.20” of the second server 7.
- the device ID “1234567890123456” of the first information processing device 1 is transmitted to the first server 6 in advance.
- the device ID for example, a GUID (Global Unique ID) such as a MAC address or an EUI64-based address can be used. This transmission of the device ID is performed to the port P3 of the first server 6 via the port P1 of the first communication control device 3.
- GUID Global Unique ID
- the information transmitting / receiving unit 62 of the first server 6 sends the device ID of the first information processing device 1, the IP address of the first communication control device 3 "202.132.10.6", The port number “10130” of the port P1 in the first communication control device 3 can be known. These pieces of information are stored in the information transmitting / receiving section 62.
- the first information processing device 1 transmits the device ID "9876543210123456" of the second information processing device 2 requesting the connection to the first sano 6, so that the second information processing device 1 Requests connection to processing device 2. Then, the information transmitting / receiving unit 62 of the first server 6 receives the connection request, and determines whether or not the second information processing device 2 has already accessed the first server 6. The access by the second information processing device 2 is also performed by transmitting the device ID of the second information processing device 2 in the same manner as in the first information processing device 1 described above.
- the first server 6 sends the device ID “9876543210123456” of the second information processing device 2 to the second communication device.
- the IP address “131. 206. 10. 240” of the control device 4 and the port P2 of the second communication control device 4 used for transmitting and receiving information between the second information processing device 2 and the first server 6 of The user knows the port number “21000”, and these are stored in the information transmitting / receiving unit 62. If the second information processing device 2 has already accessed the first server 6, the information transmitting / receiving unit 62 instructs the characteristic determining unit 63 to make a transmission / reception decision (step S101). By passing the information, the transmission / reception determination process is started. On the other hand, if the second information processing device 2 does not access the first server 6, the connection request from the first information processing device 1 results in an error, and the first information processing device 1 and the first information processing device 1 Communication between the two information processing devices 2 cannot be established.
- the characteristic determination unit 63 determines the characteristics of the first communication control device 3 that is the communication control device on the transmission side (step S201). Then, it is determined that the first communication control device 3 uses AS NAT. Then, the fact is passed to the transmission / reception determining unit 64.
- the transmission / reception determining unit 64 determines that the communication control device on the transmitting side does not use PS NAT and does not use PR NAT (steps S202 and S203). As a result, the transmission and reception are not switched, the first information processing device 1 and the first communication control device 3 are on the transmission side, and the second information processing device 2 and the second communication control device 4 are on the reception side.
- the fact is passed to the information transmitting / receiving section 62, the bubble packet transmission target port transmitting section 65, the range transmitting section 67, and the port width transmitting section 69.
- the information transmitting / receiving unit 62 When the information transmitting / receiving unit 62 receives that the first information processing device 1 is on the transmitting side, it indicates the IP address "131.206.10.240" of the second communication control device 4 on the receiving side. The address information is transmitted to the first information processing device 1 via the port P1 (step S301). Further, the target packet transmitting port transmitting section 65 transmits the target port information for transmitting the bubble packet, which is the information indicating the port number “21000” of the port P2 of the second communication control device 4, to the first information processing device 1. Transmission via P1 (step S302).
- the information is received by the communication unit 11 of the first information processing device 1, and the address information indicating the IP address "131. 206. 10. 240" of the second communication control device 4 is a bubble packet.
- the bubble packet transmission target port information is passed to the transmission unit 12 and passed to the bubble packet transmission target port reception unit 16.
- the bubble packet transmission target port information is received by the bubble packet transmission target port receiving unit 16 and passed to the bubble packet transmitting unit 12. In this way, the bubble packet transmitting unit 12 Obtain the IP address of the second communication control device 4.
- the communication unit 11 informs the port number detection packet transmitting unit 15 that it has received the bubble packet transmission target port information, etc.
- the port number detection packet transmitting unit 15 The packet is transmitted as shown in FIG. 11 (step S303). Note that the transmission of the port number detection packet is not explicitly shown in FIGS.
- the port width detection packet is received by the port width detection unit 68, and the port width is detected. In this case, it is assumed that the port width is detected as "1" (step S304).
- the detected port width is passed to the port width transmitting section 69.
- bubble packet transmitting section 12 Before transmitting the bubble packet, bubble packet transmitting section 12 passes an instruction to transmit range detecting packet to range detecting packet transmitting section 13. Then, the range detection packet transmitting unit 13 transmits the range detection packet to the first server 6 using a port different from the port used for communication with the first server 6. (Step S305). It is assumed that the port P6, which is the destination port of the range detection packet, is the one indicated to the first server 6 and the first information processing device 1. This range detection bucket is assumed to have been transmitted using the port P5 of the first communication control device 3. Then, the range detection unit 66 that has received the range detection packet detects the port number “10135” of the port P5 of the first communication control device 3. The range detection unit 66 holds the port number “10135” of the port P5.
- range detecting packet transmitting section 13 After transmitting the range detecting packet, range detecting packet transmitting section 13 notifies bubble packet transmitting section 12 that the range detecting packet has been transmitted. Then, the bubble packet transmitting unit 12 transmits the bubble packet to the second communication control device 4 having the IP address “131.206.10.240” indicated by the address information received from the communication unit 11 and having the port number “21000”. A bubble packet is transmitted to the port (step S306). Here, it is assumed that the bubble packet has been transmitted using the port P7 (port number “10142”) of the first communication control device 3.
- bubble packet transmitting section 12 After transmitting the bubble packet, bubble packet transmitting section 12 passes to range detecting packet transmitting section 13 an instruction to transmit the range detecting packet. Then, the range detecting bucket transmitter 13 sends the range to the second server 7 having the IP address “155.32.20”. An enclosure detection packet is transmitted (step S307). Note that the bubble packet and the second range detection packet are transmitted from the port of the first information processing device 1 to which the first range detection packet has been transmitted.
- the range detection unit 66 receives the range detection packet via the communication unit 71 of the second server 7 and the communication unit 61 of the first server 6, and detects the port number “10145” of the port P8. . Then, the range detection unit 66 detects a range in which the held port number “10135” of the port P5 and the detected port number “1 0145” of the port P8 are set as the lower limit and the upper limit, respectively (step S308). .
- the range transmitting unit 67 transmits range information indicating the range to the second information processing device 2 via the port P2 of the second communication control device 4. Yes (step S309).
- the range information is received by the range receiving unit 27 of the second information processing device 2 and passed to the reply packet transmitting unit 29.
- Ports P5, P7, and P8 are not consecutive port numbers. However, this is because devices other than the first information processing device 1 (not shown) are located on the local side of the first communication control device 3. ) Is connected, and the transmission power of the range detection packet and the transmission power of the bubble packet or the transmission power of the bubble packet until the transmission power of the range detection packet are transmitted to the first communication control device 3. Is caused by the assignment of the port of
- range transmitting section 67 When range transmitting section 67 notifies range transmitting section 67 to information transmitting / receiving section 62 and port width transmitting section 69 that range information has been transmitted, information transmitting / receiving section 62 transmits the IP address of first communication control device 3 to “202. 132 . 10.6 ”is transmitted to the second information processing device 2 (step S310). Further, the port-width transmitting unit 69 transmits port-width information indicating the port width detected by the port-width detecting unit 68 to the second information processing device 2 (Step S311).
- the address information indicating the IP address of the first communication control device 3 is passed from the communication unit 21 to the reply packet transmission unit 29, and the port width information is passed to the port width reception unit 28, where the reply packet transmission Handed over to part 29.
- the reply packet transmitting unit 29 obtains the IP address of the first communication control device 3, which is the destination of the reply packet.
- the reply packet transmitting unit 29 is an IP address indicated by the address information received from the communication unit 21.
- a reply packet is transmitted to the first communication control device 3 of “202. 132. 10. 6”. This reply packet is transmitted for each port width “1” indicated by the port width information to the port number “10135” and the port “10145” indicated by the range information, as shown in FIG. .
- the second communication control device 4 is a PS NAT, a reply packet transmitted from the second information processing device 2 is transmitted using 11 ports from port P10 to port P11. (Step S312).
- the return packet transmitted to the port P7 (port number “10142”) is the first packet. Is passed to the information processing device 1 and is received by the reply packet receiving unit 14 via the communication unit 11 (step S313). In this way, the first information processing device 1 can know the position of the port of the second communication control device 4 used for transmitting the reply packet. Thereafter, the first information processing device 1 transmits information to the port via the port P7 of the first communication control device 3 so that the first information processing device 1 and the second information processing device 1 communicate with each other. Communication with the device 2 is established, and UDP communication can be performed directly without going through a server.
- the second information processing device 2 transmits a reply packet from the port (the port of the second information processing device 2) that communicates with the first server 6
- a reply packet may be transmitted from another port.
- the first server 6 in order for the first server 6 to detect the position of the target packet transmission target port, the second information processing apparatus from which the packet transmitted from the second information processing apparatus 2 to the first server 6 was transmitted.
- the return packet may be transmitted from the port 2.
- the port of the second communication control device 4 through which the packet has passed becomes a bubble packet transmission target port.
- the bubble packet, the second range detection packet, and the first range detection packet are transmitted from the port of the first information processing device 1 to which the packet is transmitted.
- the bubble packet and the two range detection packets are the first information.
- the information may be transmitted from different ports newly allocated to the information processing device 1.
- the characteristic determining unit 63 determines the characteristic of the first communication control device 3 that is the communication control on the transmitting side (step S201). Then, it is determined that the first communication control device 3 uses the PS NAT, and the fact is passed to the transmission / reception determining unit 64.
- the transmission / reception determining unit 64 determines that the communication control device on the transmission side uses PS NAT (step S202), and instructs the characteristic determination unit 63 to determine the characteristics of the second communication control device 4 on the reception side. give. Then, the characteristic determining unit 63 determines the characteristics of the second communication control device 4 (Step S205).
- the transmission / reception determining unit 64 determines that the communication control device on the receiving side uses AS NAT (steps S206, S207), and switches transmission / reception (step S204). Therefore, the first information processing device 1 and the first communication control device 3 are set on the receiving side, and the second information processing device 2 and the second communication control device 4 are set on the transmitting side. Then, the information that the first information processing device 1 and the first communication control device 3 are set on the receiving side and the second information processing device 2 and the second communication control device 4 are set on the transmitting side is indicated by the information.
- the data is passed to the transmission / reception unit 62, the bubble packet transmission target port transmission unit 65, the range transmission unit 67, and the port width transmission unit 69. Subsequent operations are the same as those of the first example except that the first information processing device 1 and the second information processing device are exchanged, and the first communication control device 3 and the second communication control device 4 are exchanged. The same is true, and the description is omitted.
- first information processing device 1 and the first communication control device 3 are on the receiving side
- second information processing device 2 and the second communication control device 4 are on the transmitting side.
- the notification may be sent to the first information processing device 1 or the second information processing device 2 or the first information processing device 1 or the second information processing device 2 may send the bubble packet transmission target port information.
- Sent when received Side may be detected, and when the range information is received, the receiver may be detected.
- the characteristic determining unit 63 determines the characteristic of the first communication control device 3 that is the communication control on the transmitting side (step S201). Then, it is determined that the first communication control device 3 uses the PS NAT, and the fact is passed to the transmission / reception determining unit 64.
- the transmission / reception determining unit 64 determines that the communication control device on the transmission side uses PS NAT (step S202), and instructs the characteristic determination unit 63 to determine the characteristics of the second communication control device 4 on the reception side. give. Then, the characteristic determining unit 63 determines the characteristics of the second communication control device 4 (Step S205).
- second communication control device 4 uses PR NAT, and that fact is passed to transmission / reception determining unit 64.
- the transmission / reception determining unit 64 determines that the communication control device on the receiving side does not use PS NAT and does not use AS NAT (steps S206 and S207). As a result, the transmission and reception are not switched, the first information processing device 1 and the first communication control device 3 are on the transmission side, and the second information processing device 2 and the second communication control device 4 are on the reception side. Is passed to the information transmitting / receiving unit 62, the bubble packet transmission target port transmitting unit 65, the range transmitting unit 67, and the port width transmitting unit 69.
- a bubble packet or a range detection packet is transmitted from the first information processing device 1, and the range information, the IP address, the port width information, and the like of the first communication control device 3 are subjected to the second information processing.
- the operation received by device 2 is the same as that in specific example 1, and the description thereof is omitted.
- FIG. 14 is a diagram for explaining transmission of a reply packet from the second information processing device 2.
- the reply packet transmitting unit 29 of the second information processing device 2 sends the IP address “202.132.10.6” based on the range information received by the range receiving unit 27 from the first server 6. From port P5 of port number "10135" in the first communication control device 3 Then, a reply packet is transmitted to port P8 of port number "10145" (step S312). The transmission of the reply packet is performed for each port width “1” indicated by the port width information received by the port width receiving unit 28. Since the second communication control device 4 uses PR NAT, the reply packet is transmitted to the first communication control device 3 via the port P2. That is, the reply packet is transmitted from the port of the second information processing device 2 that communicates with the first server 6. The other operations are the same as those in the first embodiment, and the description thereof will not be repeated.
- the first communication control device 3 on the transmitting side is not an AS NAT. Accordingly, the range detecting packet transmitting unit 13 receives the fact as well as the characteristic determining unit 63, and sends the range detecting packet after transmitting the bubble packet to the first server 6 instead of the second server 7. You may make it transmit.
- the first communication control device 3 on the transmitting side uses PS NAT, when transmitting the range detection packet to the first server 6,
- the port on the first information processing device 1 for transmitting the packet may be the same port as the port used for communication with the first server 6 via the port 1.
- range detection is performed for the port P3, which is a different port in the first server 6, and the port P6. It is necessary to send a packet for use.
- Example 4 a case will be described in which the first communication control device 3 and the second communication control device 4 use Full Cone NAT. In this case, only the characteristic portions will be described, and the description of the same points as those in the above specific example will be omitted.
- the first communication control device 3 is Full Cone NAT
- the range detection The packet and the bubble packet are transmitted using the same port P5. Therefore, one bubble packet transmission port is specified by the range information. Therefore, as shown in FIG. 16, the reply packet transmitted from the second information processing device 2 is transmitted to the port P5 via the port P2, and thus, the first information processing device 1 Communication with the second information processing device 2 can be established.
- the destination of the bubble packet is set to port P2 (the port used by the second information processing device 2 for communication with the first server 6).
- port P2 the port used by the second information processing device 2 for communication with the first server 6.
- a range detection packet to be transmitted to the second server 7 is transmitted to the first server 6. Is also good.
- range detection packets transmitted before and after transmission of a bubble packet may be transmitted to the first server 6 using the newly allocated ports in the first information processing device 1, respectively. .
- a new port is allocated in the first communication control device 3 every time the range detection packet is transmitted, and the range of the port including the bubble packet transmission port can be detected. Therefore, even when the first communication control device 3 on the transmitting side uses AS NAT, it is possible to detect the range of the port including the bubble packet transmission packet without using the second server 7. .
- the bubble packet and the range detection packet are transmitted from different ports in the first information processing device 1. When transmitting, the port of the first communication control device 3 through which the range detection packet has passed is different from the port of the first communication control device 3 through which the bubble packet has passed.
- the port (the port in the first information processing device 1) different from the port to which the bubble packet was transmitted is the port through which the transmitted range detection packet has passed (the first port).
- the port position closer to the bubble packet transmission port by one port width than the port in the communication control device 3) may be set as the end of the range for transmitting the return packet.
- the port for transmitting one of the range detection packets (the port in the first information processing device 1) and the port for transmitting the bubble packet are set to the same port. Is also good.
- the same port (port in the first information processing apparatus 1) as the port transmitting the bubble packet is also transmitted by the range detection packet within the port range including the bubble packet transmission port.
- the port of the first communication control device 3 is included.
- the range is detected only before or after transmitting the bubble packet. May be transmitted. Even when the first communication control device 3 uses either R NAT or PR NAT, since the bubble packet and the range detection packet are transmitted from the same port of the first information processing device 1, If there is, as shown in FIG. 15, the port P5, the port P7, and the port P8 are the same port, and the bubble packet transmission port can be specified by one of the range detection packets. Further, when the first communication control device 3 on the transmitting side transmits a bubble packet through a port for communicating with the first server 6 (for example, port P1 in FIG. 15), a range detection is performed. I don't need to send a packet for use.
- FIG. 17 is a table showing whether or not a connection is possible regarding the type of NAT used in the communication control device.
- the first information processing device 1 and the second The connection with the information processing device 2 can be made.
- the exceptional handling according to the type of NAT used in the communication control device is also described.
- the bubble bucket is used regardless of the type of NAT used in the communication control device.
- the packet for range detection before transmission of the packet and the packet for range detection after transmission of the bubble packet are transmitted to different addresses, and the destination port of the bubble packet is transmitted to the information processing device on the receiving side by transmitting and receiving information from the server.
- the combination of “ ⁇ ⁇ ⁇ ⁇ ⁇ ” in FIG. can be connected. Also, for the combination of “ ⁇ ” in FIG. 17, the connection between the information processing apparatuses can be performed by exchanging the transmission and reception.
- the first communication control device 3 uses PS NAT, if the bubble bucket is transmitted to the port P2, the first information processing device 1 is transmitted from the port P2. Only reply packets can be accepted.
- the second communication control device 4 uses PS NAT or AS NAT, and the second communication control device 4 uses the port P2 for communication with the first server 6, the second communication control device 4 The information processing device 2 cannot transmit a reply packet to the first communication control device 3 via the port P2 (ie, cannot transmit a reply packet as shown in FIG. 14). Therefore, in this case, communication cannot be established. However, unless both the sender and the receiver are PS NAT, communication can be established by swapping the sender and the receiver.
- the first communication control device 3 since the first communication control device 3 uses PR NAT, if the bubble packet is transmitted on port P2, the first information processing device 1 G Only the reply packet from P2 can be accepted. On the other hand, since the second communication control device uses AS NAT or PS NAT, it is not possible to return a reply packet via port P2. Therefore, in this case, communication cannot be established.
- the ports P5, P7, and P8 in the first communication control device 3 are the same port. Also in this case, communication can be established by exchanging the transmitting side and the receiving side.
- the first communication control device 3 and the second communication control device 4 are the first communication control devices except for the case where both are PS NAT. Communication between the information processing device 1 and the second information processing device 2 can be established.
- the communication system according to the present embodiment reduces the processing load on the server by detecting the range of ports including the bubble packet transmission port, detecting the port width, and the like in the information processing device that is not a server. is there.
- the configuration of the communication system according to the present embodiment includes first information processing apparatus 10, second information processing apparatus 2, and first server 6, instead of first information processing apparatus 10, second information processing apparatus 10, and first server 6, respectively.
- the configuration is the same as that of FIG. 1 except that the second information processing device 20 and the first server 60 are provided, and the description thereof is omitted.
- FIG. 18 is a block diagram showing a configuration of the first information processing device 10 according to the present embodiment.
- a first information processing apparatus 10 includes a communication unit 11, a bubble packet transmission unit 12, a range detection packet transmission unit 13, a reply packet reception unit 14, and a port width detection packet transmission.
- Unit 15 bubble packet transmission target port reception unit 16, range reception unit 17, port width reception unit 18, reply packet transmission unit 19, detection port information reception unit 71, and range detection unit 72.
- the configuration and operation other than the detection port information reception unit 71, the range detection unit 72, the range transmission unit 73, the port width detection port information reception unit 74, the port width detection unit 75, and the port width transmission unit 76 The configuration is the same as that of the first embodiment except that the width receiving unit 18 receives the port width information transmitted from the second information processing device 20 via the first server 60, and the description thereof is omitted.
- the detection port information reception unit 71 receives the detection port information transmitted from the first server 60 via the communication unit 11.
- the detection port information is the first communication control device through which the range detection packet transmitted by the range detection packet transmitting unit 13 has passed. This is information indicating the position of the port of device 3.
- Range detection section 72 detects the range of ports including the bubble packet transmission port based on the detection port information received by detection port information receiving section 71.
- the port range may be detected by acquiring the port number included in the payload of the packet of the port information for detection and recording the acquired port number in a predetermined memory or the like.
- the range transmitting unit 73 transmits range information, which is information indicating a port range including the bubble packet transmission port detected by the range detecting unit 72, to the second information processing device via the first server 60. Send to 20.
- Port width detection port information reception unit 74 receives port width detection port information.
- the port number detection port information is information indicating the position of the port of the first communication control device 3 through which the port number detection packet transmitted by the port number detection packet transmitting unit 15 has passed. This port number detection port information is transmitted from the first Sano 60.
- 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. This port width detection is performed in the same manner as the port width detection unit 68 in the first embodiment, and the description thereof is omitted.
- the port-width transmitting unit 76 transmits port-width information, which is information indicating the port width of the first communication control device 3 detected by the port-width detecting unit 75, to the second server via the first server 60. The information is transmitted to the information processing device 20.
- the first information processing device 10 includes the first information from the bubble packet transmission unit 12 to the bubble packet transmission target port reception unit 16 and the detection port information reception unit 71 to the port width transmission unit 76. Used when the processing device 10 operates as a transmission side. On the other hand, the range from the range receiving unit 17 to the reply packet transmitting unit 19 is used when the first information processing device 10 operates as a receiving side.
- FIG. 19 is a block diagram showing a configuration of the second information processing device 20 according to the present embodiment.
- the second information processing device 20 includes a communication unit 21, a bubble packet transmission unit 22, a range detection packet transmission unit 23, a reply packet reception unit 24, and a port width detection packet.
- Packet transmission unit 25 bubble packet transmission target port reception unit 26, range reception unit 27, port width reception unit 28, reply packet transmission unit 29, detection port information reception unit 81, range detection A port information detection unit 84; a port width detection unit 85; and a port width transmission unit 86.
- each unit from the communication unit 21 to the port width transmission unit 86 in the second information processing device 20 includes the first information processing device 10, the first communication control device 3, and the second information processing device 20. Except that the second communication control device 4 is replaced, the configuration is the same as that of the first information processing device 10 from the communication unit 11 to the port width transmission unit 76, and the description is omitted.
- the second information processing device 20 from the bubble packet transmission unit 22 to the bubble packet transmission target port reception unit 26, and the detection port information reception unit 81 to the port width transmission unit 86 have the second information It is used when the processing device 20 operates as a transmission side.
- the range from the range receiving unit 27 to the reply packet transmitting unit 29 is used when the second information processing device 20 operates as a receiving side.
- FIG. 20 is a block diagram showing a configuration of the first server 60 according to the present embodiment.
- the first server 60 includes a communication unit 61, an information transmission / reception unit 62, a characteristic determination unit 63, a transmission / reception determination unit 64, a bubble packet transmission target port transmission unit 65, and a detection port detection.
- Configurations and operations 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 of the first embodiment. Same as above, and the description is omitted.
- the detection port detection unit 91 receives the range detection packet transmitted by the transmission-side information processing device, and, based on the range detection packet, transmits the range detection packet of the transmission-side communication control device. Detect the position of the port. The port position is detected by acquiring the position of the port of the communication controller on the transmitting side through which the range detection packet included in the range detection packet (for example, included in the header of the range detection packet) has passed. Be done.
- the range detection packet may be a packet transmitted from the information processing device on the transmission side to the communication unit 61, or may be a packet transmitted to the communication unit 71 of the second server 7. May be received via the communication unit 61. In the latter case, the first server 60 and the second server 7 have different IP addresses! /.
- 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 transmission-side information processing device.
- the port number detection port detection unit 93 receives a port number detection packet transmitted from the transmission side information processing device via the transmission side communication control device, and based on the port number detection packet. Then, the port position of the transmission-side communication control device through which the port number detection packet has passed is detected.
- the port number detection port information transmission unit 94 is a port number detection port information indicating the position of the port of the transmission-side communication control device through which the port number detection packet has been detected, detected by the port number detection port detection unit 93.
- the port information is transmitted to the transmitting information processing device.
- the operation of the communication system according to the present embodiment differs from the first embodiment in that the first information processing device 10 and the second information processing device 20 detect a port range including a bubble packet transmission port and detect a port width.
- the operation is the same as that shown in FIG. 5 in the first embodiment, and the description thereof is omitted.
- FIG. 21 to FIG. 23 are diagrams for explaining the exchange and processing of information between the transmitting side, the server, and the receiving side.
- the servers in FIGS. 21 to 23 indicate both the first server 60 and the second server 7. Further, for convenience of explanation, it is assumed that first information processing device 10 and first communication control device 3 are transmission sides, and second information processing device 20 and second communication control device 4 are reception side. Side. Further, the processing in steps S301-S303, S305-S307, S310, S312, and S313 is the same as that described with reference to FIG. 10 in the first embodiment, and a description thereof will not be repeated.
- Step S401 The port number detection port detection unit 93 of the first server 60 receives the port number detection packet transmitted from the first information processing device 10. Then, the port-width detection port detection unit 93 detects the position of the port of the first communication control device 3 which is included in the header of the port-width detection packet and has passed the port-width detection packet. [0157] (Step S402) The port number detection port information transmitting unit 94 transmits the port number of the first communication control device 3 through which the port number detection packet detected by the port number detection port detecting unit 93 has passed. The port information for port width detection, which is information indicating the position, is transmitted to the first information processing device 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.
- the port width detection unit 75 determines 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. To detect. The detection of the port width is performed in the same manner as in the first embodiment, and a description thereof will be omitted.
- Step S404 The detection port detection unit 91 of the first server 60 receives the range detection packet transmitted from the first information processing device 10. Then, the detection port detection section 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 range detection packet.
- the detection port information transmission unit 92 is a detection port indicating the position of the port of the first communication control device 3 through which the range detection packet has been detected, detected by the detection port detection unit 91.
- the information is transmitted to the first information processing device 10.
- the detection port information is received by the detection port information receiving unit 71 of the first information processing device 10.
- Step S 406 Detection port detection section 91 of first server 60 accepts a range detection packet transmitted from first information processing device 10. Then, the detection port detection section 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 range detection packet.
- the detection port information transmission unit 92 is a detection port indicating the position of the port of the first communication control device 3 through which the range detection packet has been detected, detected by the detection port detection unit 91.
- the information is transmitted to the first information processing device 10.
- the detection port information is received by the detection port information receiving unit 71 of the first information processing device 10.
- Step S408 The range detecting unit 72 of the first information processing device 10 performs the processing in steps S305 and S30.
- the position of the port of the first communication control device 3 through which the range detection packet transmitted in 7 has passed is obtained from the detection port information received by the detection port information reception unit 71, and the positions of the two ports are obtained. Detect the range of ports at both ends.
- Step S409 The range transmitting unit 73 of the first information processing device 10 processes range information, which is information indicating the range of the port detected in step S408, into the second information processing.
- the data is transmitted to the first server 60 together with an instruction to transmit the data to the device 20.
- Step S 410 The communication section 61 of the first server 60 receives the range information, and transmits the range information to the second information processing device 20.
- the range information is received by the range receiving unit 27 of the second information processing device 20.
- the port width transmitting unit 76 transmits the port width information indicating the port width of the first communication control device 3 detected in step S403, and transmits the port width information to the second information processing device 20. Is transmitted to the first server 60 together with an instruction to transmit to the first server 60.
- Step S 412 The communication unit 61 of the first server 60 receives the port width information and transmits the port width information to the second information processing device 20.
- the range information is received by the port width receiving unit 28 of the second information processing device 20.
- the transmitting side address transmission may be performed at the same timing as the receiving side address transmission (step S301).
- transmission of the range detection packet and transmission of the bubble packet may be performed without waiting for reception of the detection port information.
- range detection is performed after the detection port information is received.
- the port width detection in the transmission-side communication control device is performed by the transmission-side information processing device, and the bubble bucket transmission port is set.
- the transmitting side information processing device detects the range of the port including the port, and performs processing accompanying the detection (for example, transmission of range information from the first information processing device 10 to the second information processing device 20). ) Is the same as the specific example in Embodiment 1 except for the above, and the description is omitted.
- the communication system according to the present embodiment has the same effects as those of the first embodiment.
- the detection of the port width in the first communication control device 3 or the second communication control device 4 and the detection of the range of the port including the bubble packet transmission port are performed by the first information processing device 10 or the second information processing device.
- the processing load on the first server 60 can be reduced.
- processing that requires waiting for example, processing of waiting for the transmission of the second range detection packet after the transmission of the first range detection packet
- the processing load on the first server 60 is greatly reduced by not performing the processing that requires the standby on the server.
- the information processing apparatus detects the port width of the communication control apparatus and the port range including the bubble packet transmission port has been described. As in the first embodiment, it may be performed in the server.
- the determination of the characteristics of the communication control device is performed only before the server, but the characteristic determination of the communication control device may be performed in the information processing device. Also in this case, the information indicating the position of the port of the communication control device through which the packet transmitted from the information processing device has passed is transmitted from the server to the information processing device. Can be determined in the same manner as in the first embodiment.
- a communication system according to a third embodiment of the present invention will be described with reference to the drawings.
- one information processing device performs direct communication without using a communication control device.
- FIG. 24 is a block diagram showing a configuration of the communication system according to the present embodiment.
- 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, a first server 6, Server 7.
- 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 it does not include the second communication control device.
- the configurations and operations of the first information processing device 1, the second information processing device 2, the first server 6, and the second server 7 are the same as those in the first embodiment, and a description thereof will be omitted.
- the second information processing device 2 since the second information processing device 2 performs communication without passing through the communication control device, the second information processing device 2 is also required to use a communication control device of Full Cone NAT. It is determined that communication is performed via. 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 Establish communication with
- first information processing device 1 Communication between the second information processing device 2 and the second information processing device 2 can be established.
- the communication system according to the first embodiment has the same configuration as that of the communication system according to the first embodiment except that the second communication control device is not provided.
- the configuration may not include the second communication control device. Even in such a case where the second information processing device does not pass through the communication control device, communication between the first information processing device and the second information processing device can be established.
- second information processing device 2 performs communication without passing through the communication control device.
- second information processing device 2 uses a communication control device. Communication between the first information processing apparatus 1 and the second information processing apparatus 2 even when the first information processing apparatus 1 performs communication without passing through the communication control apparatus. Communication can be established.
- FIG. 25 is a block diagram showing a configuration of the communication system according to the present embodiment.
- the communication system according to the present embodiment includes a first information processing device 30, a second information processing device 40, a first communication control device 3, a second communication control device 4, The server 50 is provided.
- the first communication control device 3 and the second communication control device 4 are the same as in the first embodiment, and a description thereof will be omitted.
- FIG. 26 is a block diagram showing a configuration of the first information processing device 30 according to the present embodiment.
- the first information processing device 30 includes a communication unit 11 and a bubble packet transmitting unit 1
- a range detection packet transmission unit 13 a reply packet reception unit 14
- a port width detection packet transmission unit 15 a bubble packet transmission target port reception unit 16
- a range reception unit 17 a port width Receiving section 18
- reply packet transmitting section 19 detecting port information receiving section 71, range detecting section 72, range transmitting section 73, port width detecting port information receiving section 74, and port width detecting section 75.
- a port width transmission unit 76 a port assignment packet transmission unit 31, a bubble packet transmission target port transmission unit 32, a characteristic determination unit 33, and a characteristic transmission unit 34. Note that the port allocation packet transmitting unit 31 , the bubble packet transmitting target port transmitting unit 32 , the characteristic determining unit 3
- the configuration and operation other than the characteristic transmission unit 34 are as follows.
- the bubble packet transmission unit 12 transmits one or more bubble packets, and the detection port information reception unit 71 and the range detection unit 72 determine the range of the bubble packet transmission port.
- This is the same as the second embodiment, except that the process of detecting the range of the port allocation packet transmitted by the port allocation packet transmitting unit 31 described later is performed together with the detection process, and the description thereof is omitted.
- Port allocation packet transmitting section 31 transmits a port allocation packet for allocating a port for transmitting a reply packet to first communication control device 3. This port assignment packet is transmitted to the second communication control device 4. Port Assignment The port in the second communication control device 4 to which the packet is transmitted is arbitrary. For example, a port assignment packet is transmitted to a port of the second communication control device 4 used by the second information processing device 40 for communication with the server 50. Note that the reply packet transmission unit 19 It is assumed that when transmitting a return packet, the port allocation packet transmitting unit 31 transmits the return packet from the port of the second information processing device 30 to which the port allocation packet has been transmitted.
- the bubble packet transmission target port transmission unit 32 detects the port of the first communication control device 3 ("port allocation packet transmission port") detected by the range detection unit 72 and passed by the port allocation packet transmission unit 31. Is transmitted to the second information processing device 40 via the server 50 as bubble packet transmission target port information.
- the characteristic determining unit 33 determines the characteristic of the first communication control device 3. Specifically, the packet for characteristic determination is transmitted to the server 50, and the packet for characteristic determination, which is information indicating the position of the port of the first communication control device 3 through which the packet for characteristic determination has passed, is received. Thus, the characteristics of the first communication control device 3 are determined.
- the characteristic transmitting unit 34 transmits characteristic information, which is information indicating the characteristic of the first communication control device 3 determined by the characteristic determining unit 33, to the second information processing device 40 via the server 50. .
- FIG. 27 is a block diagram showing a configuration of the second information processing device 40 according to the present embodiment.
- the second information processing device 40 includes a communication unit 21, a bubble packet transmission unit 22, a range detection packet transmission unit 23, a reply packet reception unit 24, and a port width detection packet transmission.
- Unit 25 bubble packet transmission target port reception unit 26, range reception unit 27, port width reception unit 28, reply packet transmission unit 29, detection port information reception unit 81, and range detection unit 82.
- a characteristic determining unit 43 and a characteristic transmitting unit 44 are examples of the third party.
- each unit from the communication unit 21 to the port width transmission unit 86 in the second information processing device 40 includes the first information processing device 30, the first communication control device 3, and the second information processing device 40, Except that the second communication control device 4 is replaced, the configuration is the same as that of the first information processing device 30 from the communication unit 11 to the port width transmission unit 76, and the description is omitted.
- the second information processing apparatus 40 from the bubble packet transmission unit 22 to the bubble packet transmission target port reception unit 26, and from the detection port information reception unit 81 to the port width transmission unit 86 Are used when the second information processing device 40 operates as a transmission side.
- the range receiving unit 27 to the reply packet transmitting unit 29 from the range detecting packet transmitting unit 23, the port allocation packet transmitting unit 41, the bubble packet transmitting target port transmitting unit 42, and the detecting port information receiving unit 81 Up to the width transmitting unit 86 is used when the second information processing device 40 operates as a receiving side.
- the second information processing device 40 operates as a transmitting side, with each component from the range detecting packet transmitting unit 23 and the detecting port information receiving unit 81 to the port width transmitting unit 86.
- the second information processing apparatus 40 operates as the transmitting side, and in the case where the second information processing apparatus 40 operates as the transmitting side, at least one of these configurations will be described. For the case of operating as a side, it may be provided separately.
- FIG. 28 is a block diagram showing a configuration of server 50 according to the present embodiment.
- the server 50 includes a communication unit 61, an information transmitting and receiving unit 62, a bubble packet transmission target port transmitting unit 65, a detecting port detecting unit 91, a detecting port information transmitting unit 92, and a port width detecting unit. It includes a port detection unit 93, a port information detection port information transmission unit 94, a characteristic determination port detection unit 95, a characteristic determination port information transmission unit 96, and a bubble packet transmission target port reception unit 97.
- the configuration and operation of the server 50 other than the characteristic determination port detection unit 95, the characteristic determination port information transmission unit 96, and the bubble packet transmission target port reception unit 97 are the same as those of the detection port detection unit 91 and the detection port information. Same as the second embodiment, except that the transmission unit 92, the port width detection port detection unit 93, and the port width detection port information transmission unit 94 perform processing for both the transmission side information processing device and the reception side information processing device. Therefore, the description is omitted.
- the bubble packet transmission target port transmitting unit 65 transmits the bubble packet target port information received by the bubble packet transmission target port receiving unit 97.
- the characteristic determination port detection unit 95 receives the characteristic determination packet transmitted from the first information processing device 30 or the second information processing device 40, and performs the characteristic determination based on the characteristic determination packet.
- the position of the port of the first communication control device 3 or the second communication control device 4 through which the communication packet has passed is detected.
- the detection of the port position is performed by the first communication control device 3 or the second communication control device that has passed the characteristic determination packet included in the characteristic determination packet (for example, included in the header of the characteristic determination packet). This is performed by acquiring the position of the port of the control device 4.
- the characteristic determination port information transmitting unit 96 transmits the characteristic determination port information indicating the position of the port detected by the characteristic determination port detection unit 95 to the information processing apparatus that transmitted the characteristic determination packet.
- Bubble packet transmission target port receiving section 97 receives bubble packet transmission target port information that is information indicating a bubble packet transmission target port.
- the bubble packet transmission target port indicated by the bubble packet transmission target port information is one or more ports.
- FIG. 29 is a flowchart illustrating a process of determining the transmission side and the reception side of the information processing apparatus.
- the first information processing device 30 and the first communication control device 3 are called devices
- the second information processing device 40 and the second communication control device 4 are called devices. It becomes.
- the calling side is a side that requests communication with the other party's device
- the called side is a side that receives a request for device communication from the calling side.
- Step S501 The characteristic determining unit 43 of the second information processing device 40 determines the characteristics of the second communication control device 4, which is the communication control device on the calling side. The method for determining the characteristics will be described later.
- Step S502 The characteristic determining unit 43 determines whether the second communication control device 4 uses PS NAT. When PS NAT is used, the characteristic transmitting unit 44 transmits the characteristic information indicating that the second communication control device 4 uses PS NAT via the server 50 to the first information processing device 30. And the process proceeds to step S504. Otherwise, the process proceeds to step S503.
- Step S503 The characteristic determining unit 43 determines whether the device on the calling side, that is, the second information processing device
- the receiving device 40 is determined as the receiving device, that is, the device receiving the bubble packet. Then, the process of determining transmission / reception ends.
- Step S504 The characteristic determining unit 33 of the first information processing device 30 determines the characteristics of the first communication control device 3, which is the communication control device on the called side. The method of determining the characteristics will be described later.
- Step S505 The characteristic determining unit 33 determines whether the first communication control device 3 uses PS NAT. If PS NAT is used, the sender and receiver Side uses PS NAT, which results in an error. On the other hand, if PS NAT is not used, the process proceeds to step S506.
- Step S506 The characteristic determining unit 33 determines the called device, that is, the first information processing device 30, as the receiving device, that is, the device that receives the bubble packet. Then, the process of determining transmission / reception ends.
- the characteristic determining unit 33 of the first information processing device 30 transmits two characteristic determining packets from the same port P100 to the port P300 and the port P301 of the server 50, respectively.
- the port P300 and the port P301 are different ports.
- the characteristic determination port detection unit 95 of the server 50 detects the position (P200, P201) of the port of the first communication control device 3 through which each characteristic determination packet transmitted to the ports P300, P301 has passed. Then, the port information for characteristic determination, which is information indicating the position of the port, is transmitted from the port information transmitter for characteristic determination 96 to the first information processing device 30.
- the characteristic determination unit 33 receives the port information for characteristic determination, and determines the characteristic of the first communication control device 3 based on whether the port P200 is equal to the port P201. Specifically, when port P200 is equal to port P201, it is determined that first communication control device 3 does not use PS NAT. On the other hand, when the port P200 is different from the port P201, it is determined that the first communication control device 3 uses PS NAT.
- FIG. 31 to FIG. 33 are diagrams for explaining information exchange and processing between the information processing device on the transmission side, the server, and the information processing device on the reception side with respect to the establishment of communication. Further, for convenience of explanation, it is assumed that the first information processing device 30 and the first communication control device 3 are transmission sides, and the second information processing device 40 and the second communication control device 4 are reception side. Side.
- Step S601 The information transmitting / receiving unit 62 in the server 50 transmits address information indicating the IP address of the first communication control device 3 to the second information processing device 40.
- the transmitted address information is received by the communication unit 21 of the second information processing device 40, and the port assignment is performed.
- the packet is sent to the packet transmission unit 41.
- Step S602 The port number differential detection packet transmitting unit 25 in the second information processing device 40 transmits the port number differential detection packet to the server 50.
- the ports of the second communication control device 4 through which the plurality of port width detection packets pass are different from each other.
- the port number differential detection packet is transmitted from, for example, a plurality of ports having different port numbers in the second information processing device 40.
- Step S603 The port number differential detection port detector 93 of the server 50 receives the port number differential detection packet transmitted from the second information processing device 40. Then, the port number detection port detection unit 93 detects the position of the port of the second communication control device 4 through which the port number detection packet has passed, included in the header of the port number detection packet.
- Step S604 The port number detection port information transmission unit 94 checks the port number of the port of the second communication control device 4 through which the port number detection packet detected by the port number detection port detection unit 93 has passed.
- the port information for port width detection which is information indicating the position, is transmitted to the second information processing device 40.
- the port width detection port information is received by the port width detection port information receiving unit 84 in the second information processing device 40.
- the port width detecting unit 85 determines the port width of the second communication control device 4 based on the port width detecting port information received by the port width detecting port information receiving unit 84. To detect. The detection of the port width is performed in the same manner as in the first embodiment, and a description thereof will be omitted.
- the range detection packet transmitting unit 23 transmits the range detection packet to the server 50 via the second communication control device 4. In this transmission, it is assumed that the range detection packet is transmitted to the second communication control device 4 so as to pass through the port that is most recently allocated. This is to allow the range of ports including the bubble packet transmission port to be appropriately limited. For example, the range detection packet transmitting unit 23 transmits the range detection packet using a port of the second information processing device 40 that has not been used in the communication.
- Step S607 The detection port detection unit 91 of the server 50 receives the range detection packet transmitted from the second information processing device 40. Then, the detection port detection unit 91 The position of the port of the second communication control device 4 included in the header of the range detection packet and through which the port detection packet has passed is detected.
- the detection port information transmission unit 92 is a detection port indicating the position of the port of the second communication control device 4 through which the range detection packet has been detected, detected by the detection port detection unit 91.
- the information is transmitted to the second information processing device 40.
- the detection port information is received by the detection port information receiving unit 81 of the second information processing device 40.
- Step S609 The port assignment packet transmitting section 41 sends the port assignment packet to the first communication control device 3. As the address of the first communication control device 3, the address transmitted in step S601 is used.
- Step S610 The range detecting packet transmitting unit 23 transmits the range detecting packet to the server 50 via the second communication control device 4.
- Step S611 The detection port detection unit 91 of the server 50 receives the range detection packet transmitted from the second information processing device 40. Then, the detection port detection unit 91 detects the position of the port of the second communication control device 4 through which the port detection packet has passed, which is included in the header of the range detection packet.
- the detection port information transmitting unit 92 is a detection port indicating the position of the port of the second communication control device 4 through which the range detection packet has been detected, detected by the detection port detection unit 91.
- the information is transmitted to the second information processing device 40.
- the detection port information is received by the detection port information receiving unit 81 of the second information processing device 40.
- Step S613 The range detection unit 82 of the second information processing device 40 detects the position of the port of the second communication control device 4 through which the range detection packet transmitted in steps S606 and S610 has passed.
- the port information receiving unit 81 also acquires the detection port information received, and detects the range of ports including the port allocation packet transmission port (the target port for transmitting the bubble packet) based on the positions of the two ports. It should be noted that this bubble packet transmission target port may be a single port, or may include two or more ports.
- Step S614 The port width transmission unit 86 of the second information processing device 40 determines in step S605
- the port width information which is the information indicating the detected port width of the second communication control device 4 is transmitted to the server 50 together with an instruction to transmit the port width information to the first information processing device 30.
- the bubble packet transmission target port transmitting unit 42 of the second information processing device 40 transmits bubble packet transmission target port information indicating the bubble packet transmission target port detected in step S613, and transmits the bubble packet transmission target port information.
- the information is transmitted to the server 50 together with an instruction to transmit to the first information processing device 30. These pieces of information may be transmitted in the same packet or may be transmitted in separate packets.
- Step S615 The communication unit 61 of the server 50 receives the port width information and the bubble packet transmission target port information, and transmits the information to the first information processing device 30.
- the bubble packet transmission target port is received by the bubble packet transmission target port receiving unit 97, and transmitted to the first information processing device 30 by the bubble packet transmission target port transmitting unit 65.
- the port width information is received by the port width receiving unit 18 of the first information processing apparatus 30, and the bubble packet transmission target port information is received by the bubble packet transmission target port receiving unit 16.
- Step S616 The information transmitting and receiving unit 62 in the server 50 transmits address information indicating the IP address of the second communication control device 4 to the first information processing device 30.
- the transmitted address information is received by the communication unit 11 of the first information processing device 30 and passed to the bubble bucket transmission unit 12.
- Step S617) The port number differential detection packet transmitting unit 15 in the first information processing device 30 transmits the port number differential detection packet to the server 50.
- the ports of the first communication control device 3 through which the plurality of port width detection packets pass are different from each other.
- the port number detection packet is transmitted from, for example, a plurality of ports having different port numbers in the first information processing device 30.
- Step S618 The port number detection port detection unit 93 of the server 50 receives the port number detection packet transmitted from the first information processing device 30. Then, the port number detection port detection unit 93 detects the position of the port of the first communication control device 3 through which the port number detection packet has passed, included in the header of the port number detection packet.
- the port information detection unit 94 for port width detection performs port detection for port width detection.
- the port number detection port information which is the information indicating the position of the port of the first communication control device 3 through which the port number detection packet has passed, detected by the output unit 93, is transmitted to the first information processing device 30.
- the port number detection port information reception unit 74 of the first information processing device 30 receives the port number detection port information.
- the port width detection unit 75 determines 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. To detect. The detection of the port width is performed in the same manner as in the first embodiment, and a description thereof will be omitted.
- Step S621 The range detecting packet transmitting unit 13 transmits the range detecting packet to the server 50 via the first communication control device 3.
- Step S622 The detection port detection unit 91 of the server 50 receives the range detection packet transmitted from the first information processing device 30. 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 range detection packet.
- the detection port information transmission unit 92 is a detection port indicating the position of the port of the first communication control device 3 through which the range detection packet has been detected, detected by the detection port detection unit 91.
- the information is transmitted to the first information processing device 30.
- the detection port information is received by the detection port information receiving unit 71 in the first information processing device 30.
- Step S624 The bubble packet transmitting unit 12 transmits the IP address of the second communication control device 4 indicated by the address information transmitted in step S616 and the bubble packet transmission target port transmitted in steps S614 and S615. Based on the information, the bubble packet is transmitted to the bubble packet transmission target port of the second communication control device 4.
- the target port for bubble packet transmission includes two or more ports
- the bubble packet transmitting unit 12 transmits a bubble packet for each port width indicated by the port width information received by the port width receiving unit 18.
- Step S625 The range detecting packet transmitting unit 13 transmits the range detecting packet to the server 50 via the first communication control device 3.
- Step S626 The detection port detection unit 91 of the server 50 receives the range detection packet transmitted from the first information processing device 30. 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 range detection packet.
- the detection port information transmission unit 92 is a detection port indicating the position of the port of the first communication control device 3 through which the range detection packet has been detected, detected by the detection port detection unit 91.
- the information is transmitted to the first information processing device 30.
- the detection port information is received by the detection port information receiving unit 71 in the first information processing device 30.
- Step S628 The range detection unit 72 of the first information processing device 30 detects the position of the port of the first communication control device 3 through which the range detection packet transmitted in steps S621 and S625 has passed.
- the port information receiving unit 71 acquires the detection port information received and detects the range of ports including the bubble packet transmission port based on the positions of the two ports. Note that this port range may be a single port or may include two or more ports.
- Step S629) The range transmitting unit 73 of the first information processing device 30 processes range information, which is information indicating the range of the port detected in step S628, into second information processing.
- the data is transmitted to the server 50 together with the instruction to transmit the data to the device 40.
- the port width transmitting unit 76 transmits the port width information, which is information indicating the port width of the first communication control device 3 detected in step S620, to the second information processing device 40. Is sent to the server 50 together with the instruction to do so.
- the range information and the port width information may be transmitted in the same packet, or may be transmitted in separate packets.
- Step S630 The communication unit 61 of the server 50 receives the range information and the port width information, and transmits the range information and the like to the second information processing device 40.
- the range information is received by the range receiving unit 27 of the second information processing device 40.
- the port width information is received by the port width receiving unit 28.
- Step S631 The reply packet transmitting unit 29 sends a reply packet to the first communication control device 3 specified by the IP address indicated by the address information received in step S601. Send This reply packet is transmitted to the port in the range indicated by the range information received from the range receiving unit 27 for each port width indicated by the port width information.
- Step S632 The reply packet receiving unit 14 of the first information processing device 30 receives the reply packet transmitted from the second information processing device 40. By receiving this reply packet, communication between the first information processing device 30 and the second information processing device 40 is established. Then, after this, information transmission / reception (for example, tunnel communication) without passing through the server 50 is performed between the first information processing device 30 and the second information processing device 40.
- information transmission / reception for example, tunnel communication
- the port width detection may be performed before transmission of the port width information. For example, immediately after the port width detection, the port width information is transmitted to the receiving side. May be sent. Also, the transmission of the address on the transmission side (step S601) may be transmitted, for example, simultaneously with the transmission of the port information for detection (step S608). As described above, in FIG. 31 to FIG. 33, there is a certain degree of arbitrariness in the order of processing. In FIG.
- transmission of a range detection packet and transmission of a port assignment packet (steps S606, S609, and S610), transmission of a range detection packet, and transmission of a bubble packet (steps S621, S624, and S625) May be performed without waiting for reception of the detection port information.
- the operation of the communication system according to the present embodiment will be described using a specific example.
- the IP addresses of the first communication control device 3 and the like are the same as those of the specific example of the first embodiment except that the first server 6 becomes the server 50.
- second information processing device 40 is the calling side.
- the case where the second communication control device 4 in the specific example 1 is other than the PS NAT will be described.
- the case where the second communication control device 4 is a PS NAT and the first communication control device 3 is other than the PS NAT will be described.
- step S101 in order to efficiently transmit and receive packets between the server 50 and the first information processing device 30, or between the server 50 and the second information processing device 40, A case will be described in which part of the process of determining transmission and reception (step S101) and establishing communication (step S102) are performed in parallel.
- FIG. 34 to FIG. 38 are diagrams for explaining a specific example.
- the first information processing The device 30 and the second information processing device 40 are accessing the server 50, and the server 50 has already accessed the IP address of the first communication control device 3 and the port of the first communication control device 3. It is assumed that the port number of P1 and the device ID of the first information processing device 30 are held. Similarly, the server 50 holds the IP address of the second communication control device 4, the port number of the port P2 of the second communication control device 4, and the device ID of the second information processing device 40. And shall be.
- the second information processing device 40 transmits the device ID of the first information processing device 30 and a connection request to the server 50. Then, the server 50 transmits the IP address of the first communication control device 3 and the port number of the port P1 to the second information processing device 40 (Step S601). This transmission is performed via port P2.
- the port-width detection packet transmitting unit 25 of the second information processing device 40 transmits the three port-width detection packets (assumed to be UDP packets) to the port of the second information processing device 40, respectively. Send from LPO, LP1, LP2.
- the ports LPO, LP1, and LP2 are different ports newly allocated in the second information processing device 40. Therefore, regardless of the characteristics of the second communication control device 4, each port width detection packet is transmitted to the server 50 via the separate port P5, P6, and P7 in the second communication control device 4. (Step S602).
- Each port number detection packet is received by the port number detection port detection unit 93 via the communication unit 61 of the server 50, and the ports P5, P6, P7 of the second communication control device 4 included in the header of each packet. Is detected (step S603).
- the port number detection port information transmitting unit 94 transmits the port number detection port information, which is a packet including each port number in the payload, to the port of the second communication control device 4 through which each port number detection packet has passed. (Step S604). Specifically, for the port number differential detection packet transmitted via the port P5, port number differential detection port information including the port number of the port P5 in the payload is transmitted to the port P5.
- the port information for port width detection is subjected to address conversion in the second communication control device 4 and transmitted to the port LPO of the second information processing device 40.
- the port number detection port information is received by the port number detection port information receiving unit 84 via the communication unit 21.
- port number detection port information is transmitted to the second information processing device 40 via the ports P6 and P7.
- the port width is also detected by using the range detection packet. Therefore, at this stage, the port width is not detected.
- the port number detection packet transmitted via the port P7 also serves as a characteristic determination packet for determining the characteristics of the second communication control device 4, so that the second communication control device 4
- the port width detection port information transmitted via the port P7 is passed from the communication unit 21 to the characteristic determination unit 43.
- the range detection packet transmitting unit 23 of the second information processing device 40 transmits the range detection packet (assumed to be a UDP packet) from the port LP2 to the port P3 of the Sano 50 (Step S606).
- the range detection packet also serves as a port width detection packet.
- the port P3 is different from the port P4 to which the port number differential detection packet is transmitted. Therefore, when the port assignment rule of the second communication control device 4 is the Port Sensitive type, that is, when the second communication control device 4 is the PS NAT, the second packet through which the range detection packet passes is the second.
- the port P8 in the communication control device 4 of the second port is different from the port P7 through which the port width detection packet transmitted by the port LP2 is transmitted. In this case, port P7 is equal to port P8.
- the detection port detection unit 91 of the server 50 receives the range detection packet transmitted to the port P3 via the communication unit 61.
- the detecting port detecting unit 91 detects the port number of the port P8 of the second communication control device 4 included in the header of the packet (Step S607).
- the detection port information transmitting unit 92 transmits detection port information including the detected port number of the port P8 in the pay port to the port P8 of the second communication control device 4 (step S608). .
- the port information for detection is converted into an address by the second communication control device 4, transmitted to the port LP 2 of the second information processing device 40, and received by the port information receiving portion for detection 81.
- the detection port information is transmitted from the communication unit 21 to the communication unit 21.
- Port information reception unit for port width detection 84, characteristic It is also passed to section 43.
- the characteristic determination packet is also used as a port width detection packet and a range detection packet, the characteristic determination port detector 95 and the characteristic determination port information transmitter 96 of the server 50 It will not be used.
- the port width detection unit 85 performs the second communication based on the port numbers of the ports P5, P6, P7, and P8 of the second communication control device 4 received by the port number detection port information reception unit 84.
- the port width of the control device 4 is detected (step S605). Specifically, if the difference between port P8 and port P7 is not ⁇ , the smallest value among the difference between port P6 and port P5, the difference between port P7 and port P6, and the difference between port P8 and port P7 Is detected as the port width of the second communication control device 4.
- the difference between the port P8 and the port P7 is 0, the smaller of the difference between the port P6 and the port P5 and the difference between the port P7 and the port P6 is used as the port width of the second communication control device 4.
- the difference between the port P8 and the port P7 is 0 because the second communication control device 4 is not a PS NAT.
- the port width is detected as “1”.
- the characteristic determining unit 43 determines the characteristics of the second communication control device 4 based on the port numbers of the ports P7 and P8 (Step S501). More specifically, when the port P7 is equal to the port P8, the characteristics of the second communication control device 4 such as Full Cone NAT, R NAT, and PR NAT If the port P7 is different from the port P8, it is determined that the port NAT rule is Cone type or Address Sensitive type (that is, the port assignment rule is Cone type or Address Sensitive type). Is determined to be the characteristic power PS NAT of the second communication control device 4 (that is, the port assignment rule is of the Port Seisitive type).
- the port P7 is equal to the port P8, and the characteristic determination unit 43 determines that the second communication control device 4 is not a PS NAT. Is determined (step S502).
- the second information processing device 40 on the calling side operates as the information processing device on the receiving side (step S503).
- the port assignment packet transmitting unit 41 of the second information processing device 40 uses the address of the first communication control device 3 transmitted from the server 50 to make the first communication control device 3
- a port assignment packet which is a UDP packet, is transmitted to the port PI (step S609).
- This port assignment packet is also transmitted from the port LP2 of the second information processing device 40.
- This port assignment packet is transmitted via the port P9 of the second communication control device 4. If the second communication control device 4 is AS NAT, port P8 and port P9 will be different.If the second communication control device 4 is Cone-based NAT, port P8 and port P9 will be equal. Become. By setting the lifetime of the port assignment packet (for example, the TTL set for the packet), the port assignment packet may disappear before reaching the port P1.
- the port assignment packet is transmitted in order to leave a transmission history in the second communication control device 4, and the port assignment packet does not have to reach the first communication control device 3.
- the range detection packet transmitter 23 transmits a range detection packet, which is a UDP packet, from the port LP3 of the second information processing device 40 to the port P4 of the server 50 (step S610).
- the port LP3 is a port newly assigned in the second information processing device 40, which is different from any of the ports LP0, LP1, and LP2.
- the range detection packet is transmitted via the port P10 of the second communication control device 4.
- the port P10 is a port different from any of the ports P7, P8, and P9.
- the range detection packet is received by the detection port detection unit 91 of the server 50, and the port number of the port P10 included in the header is detected (step S611).
- the port information for detection including the port number is transmitted from the port information for detection transmission unit 92 to the second information processing apparatus 40 via the port P10 (step S612).
- the detection port information is received by the detection port information receiving unit 81 of the second information processing device 40.
- the target port for transmitting the bubble packet is detected by the range detecting unit 82 (step S613).
- the portion from the port position of port P8 to the port position that should be allocated immediately before port P10 is detected as a bubble packet transmission target port.
- the port P8 may be equal to the port P9. The force may be different between the port P9 and the port P10 regardless of the characteristics of the second communication control device 4. .
- the port position that should be allocated immediately before port P10 is the port width of the second communication control device 4 detected by the port width detection unit 85 from the port number of port P10 (in this specific example, "1 )) This is the position indicated by the port number.
- the bubble packet transmission target port transmission unit 42 transmits the bubble packet transmission target port information indicating the bubble packet transmission target port detected by the range detection unit 82 to the first information processing device 30 together with the server 50. (Step S614).
- the port number transmission unit 86 also transmits the port number information indicating the port number of the second communication control device 4 to the server 50 together with the instruction to transmit to the first information processing device 30 (step S614).
- the characteristic transmitting unit 44 also transmits to the first information processing device 30 information indicating characteristics of the second communication control device 4, that is, characteristic information indicating that the second communication control device 4 is not PS NAT. It is transmitted to the server 50 together with the instruction.
- the information is relayed in the server 50, and transmitted to the first information processing device 30 via the port P1 of the first communication control device 3 (step S615).
- the bubble packet transmission target port information is received by the bubble packet transmission target port reception unit 16.
- the port width information is received by the port width receiving unit 18 and passed to the bubble packet transmitting unit 12 via a path (not shown).
- the characteristic information is passed to the port number detection packet transmission unit 15, the range detection packet transmission unit 13, the bubble packet transmission unit 12, etc., and the second communication control device 4 is not a PS NAT. It is determined that the processing device 30 performs a processing sequence as a transmitting device.
- the server 50 transmits the IP address of the second communication control device 4 on the receiving side to the first information processing device 30 (Step S616).
- the port-width detection packet transmission unit 15 of the first information processing device 30 sends a port-width detection packet, which is a UDP packet, from each of the different ports LP4 and LP5 of the first information processing device 30 to the server. It sends to port P3 of 50 (step S617).
- These port number differential detection packets are transmitted to the server 50 via different ports Pll and P12 of the first communication control device 3, and are received by the port number differential detection port detection unit 93.
- the port number detection unit 93 detects the port numbers of the ports Pll and P12 in the same manner as in the case of the port number detection packet transmitted from the second information processing device 40 (step S618). .
- the port number detection port information transmitting unit 94 transmits port number detection port information, which is a packet including the detected port numbers of the ports Pl l and P 12 in the payload, to the first port P l l and P 12 respectively.
- the information is transmitted to the information processing device 30 (step S619).
- Port information for port width detection The information is received by the port information detecting unit 74 for port width detection. In this example, the port width is also detected by using the range detection packet. Therefore, the port width is not detected at this stage.
- Range detection packet transmitter 13 transmits a range detection packet, which is a UDP packet, from port LP6 of first information processing device 30 (step S621). This range detection packet is transmitted to the port P3 of the server 50 via the port P13 of the first communication control device 3. Here, this range detection packet also serves as a port width detection packet. Further, it is assumed that the port LP6 is a port different from each of the ports LP4 and LP5 and newly assigned to the first information processing device 30 by V.
- the range detection packet is received by the detection port detection unit 91 of the server 50, and the port number of the port P13 is detected (step S622).
- the detection port information transmission unit 92 transmits the detection port information, which is a packet including the detected port number of the port P13 in the payload, to the first information processing device 30 via the port P13 (Step S62 3 ).
- the detection port information is received by the detection port information receiving unit 71. Further, since the range detection packet also serves as a port width detection packet, the communication unit 11 passes the detection port information to the port width detection port information receiving unit 74.
- the port width detecting unit 75 performs the first communication control based on the port numbers of the ports Pll, P12, and P13 of the first communication control device 3 received by the port number detecting port information receiving unit 84.
- the port width of the device 3 is detected (step S620). Specifically, the smaller of the difference between the port P12 and the port P11 and the difference between the port P13 and the port P12 is detected as the port width of the first communication control device 3. In this specific example, it is assumed that the port width is detected as “1”.
- the bubble packet transmitting unit 12 transmits the bubble packet to the bubble packet transmission target ports in the range indicated by the bubble packet transmission target port information (step S624).
- This bubble packet is transmitted from port LP6 of first information processing device 30.
- the bubble packet indicates the port width indicated by the port width information of the second communication control device 4 received by the port width receiving unit 18. (“1” in this specific example).
- the bubble packet is transmitted from the port P14 of the first communication control device 3 to the port P15.
- the message is transmitted through the port of Note that, depending on the characteristics of the second communication control device 4, there is a case where a bubble packet can be accepted at the port LP2.
- the first information processing device 30 and the second information processing device 40 Further processing will be performed to ensure that communication between them can be established.
- Range detection packet transmitter 13 transmits the range detection packet from port LP7 of first information processing device 30 to port P3 of server 50 (step S625).
- the port LP7 is a port different from the port LP6, and is a port newly assigned in the first information processing device 30. Since port LP7 is a new port, port P16 through which the range detection packet passes is different from port P15.
- the range detection packet transmitted via port P16 is accepted by detection port detection section 91 of server 50, and the port number of port P16 is detected (step S626).
- the detection port information transmitting unit 92 transmits the detection port information, which is a packet including the detected port number in the payload, to the first information processing device 30 via the port P16 of the first communication control device 3.
- Step S627 The detection port information transmitted from the server 50 is received by the detection port information receiving unit 71. Then, the range detection unit 72 detects the range of the port including the bubble packet transmission port based on the port positions of the port P13 and the port P16 (Step S628). In this detection, the range from the port position of the port P13 to the port position that should be allocated immediately before the port P16 is detected as a range including the bubble packet transmission port. Regardless of the characteristics of the first communication control device 3, since port P15 and port P16 are different, the range does not include port P16.
- the port position that should be allocated immediately before port P16 is the port width of the first communication control device 3 detected by the port width detection unit 75 from the port number of port P16 ("1" in this specific example). ) Is the position indicated by the port number.
- the range transmitting unit 73 transmits the range information indicating the range of the port detected by the range detecting unit 72 to the server 50 together with the instruction to transmit to the second information processing device 40 (Step S629). Further, the port number transmission unit 76 also transmits the port number information indicating the port number of the first communication control device 3 to the server 50 together with the instruction to transmit the port number information to the second information processing device 40 (step S629).
- the information is relayed in the server 50, and the port P2 of the second communication control device 4 is Is transmitted to the second information processing device 40 through the communication (step S630).
- the range information is received by the range receiving unit 27.
- the port width information is received by the port width receiving unit 28.
- the reply packet transmitting unit 29 transmits the reply packet to the port in the range indicated by the range information received by the range receiving unit 27 (Step S631).
- This reply packet is transmitted from port LP6 of first information processing device 30. If the range information is a range including a plurality of ports, the reply packet is the port width indicated by the port width information of the first communication control device 3 received by the port width receiving unit 28 (this specific example). Then, it is transmitted every "1"). In this specific example, as shown in FIG. 38, the return packet is transmitted via the port P9 of the second communication control device 4. Since the second communication control device 4 is not a PS NAT, all return packets transmitted to the first communication control device 3 are transmitted via the port P9. In this way, the second information processing device 40 transmits the port allocation packet to the first communication control device 3 from the port LP2 so that all return packets are transmitted from the port P9. did.
- the return packet transmitted to the bubble packet transmission port through which the bubble packet transmitted to the port P9 has passed is the first communication control device.
- the address is converted in step 3, and is received by the reply bucket receiving unit 24 of the first information processing device 30 (step S632).
- a plurality of return packets may be accepted by the first information processing device 30.
- the reason for transmitting the port assignment packet in the communication system according to the present embodiment will be briefly described.
- the port P9 is allocated in the second communication control device 4. Since the device on the receiving side is not a PS NAT (see Fig. 29), the second communication control device 4 is not a PS NAT (ie, the port assignment rule is not a Port Sensitive type). Therefore, by transmitting a reply packet from the port LP2 that has transmitted this port assignment packet to the first communication control device 3, The reply packet is transmitted via the port P9 of the second communication control device 4 assigned by transmitting the port assignment packet.
- the port P9 By detecting a range including the port P9 and transmitting a bubble packet to the range, at least one bubble packet can be transmitted to the port P9. Then, by sending a reply packet from port LP2 to the port range including the bubble packet sending port, the port of the first communication control device 3 through which the bubble packet sent to port P9 has passed is Reply packets can be sent via port P9. As a result, even if the first communication control device 3 uses the PR NAT and the PS NAT, the reply packet is accepted by the first information processing device 30, and the first information processing device 30 Communication with the second information processing device 40 can be established. As described above, the port assignment packet is used to assign the port through which the reply packet passes through to the second communication control device 4 (in other words, to determine the range of ports to which the bubble packet is to be transmitted). What is sent.
- Example 2 a case will be described where the second communication control device 4 uses PS NAT and the first communication control device 3 uses something other than PS NAT. It is assumed that the second information processing device 40 is the calling side, as in the first embodiment.
- a port width detection packet, a range detection packet, and a port assignment packet are transmitted from the second information processing device 40, the port width of the second communication control device 4 is detected, and the bubble packet transmission target is transmitted.
- the operation of detecting the position of the port and determining the characteristics of the second communication control device 4 is performed in the same manner as in the first embodiment.
- the first information processing device 30 Will know that the second communication control device 4 is PS NAT. Then, the first information processing device 30 performs the processing from step S601 to step S614 and the first communication control device 3 on the called side (the first information processing device 30 side) in step S504.
- the process of determining the characteristics (the process described with reference to FIGS. 34 and 35 in the specific example 1) is executed. These processes are the same as described in the first embodiment except that the receiving side and the transmitting side are switched. And the description is omitted.
- the first communication control device 3 since the first communication control device 3 does not use PA NAT, it is determined that the called side is the receiving side (step S506). Then, according to the mode in which the receiving side and the transmitting side are switched in the specific example 1, transmission of a bubble packet, detection of a range including a bubble packet transmission port, transmission of a reply packet, and the like are performed, and the first information is transmitted. Communication between the processing device 30 and the second information processing device 40 will be established. The detailed description thereof is the same as that of the specific example 1, and the description is omitted.
- the port allocation packet is also transmitted with the same port (port LP2) as the port that transmitted the first range detection packet.
- the same port (port LP3) that transmitted the range detection packet may also be transmitted.
- the target port for transmitting bubble packets is from the port assigned next to port P8 to port P10.
- the port allocation packet and the two range detection packets are transmitted from different ports (each of which is a port newly allocated to the second information processing device 40). You may do it.
- the bubble packet transmission target port starts from the port assigned next to the port of the second communication control device 4 that has passed the first range detection packet and has received the second range detection packet that has passed the second range detection packet. Up to the port assigned just before the port of the communication control device 4.
- these bubble packet transmission target ports are described as the minimum ports, and a wider V and port range including these bubble packet transmission target ports may be used as bubble packet transmission target ports. .
- transmission of a bubble packet may be performed from port PL7 instead of port PL6.
- the transmission range of the reply packet is from the port assigned after port P13 to port P16.
- the bubble packet and the two range detection packets may also be transmitted at different ports (assuming that the ports are newly assigned ports in the first information processing device 30).
- the range of the port including the bubble packet transmission port is changed from the port assigned next to the port of the first communication control device 3 through which the first range detection packet has passed, to the second range detection packet. Up to the port assigned immediately before the port of the first communication control device 3 that has passed through.
- the range of ports including these bubble packet transmission ports should be the minimum range. A wider port range including these port ranges may be set as the port range including the bubble packet transmission port.
- one packet has a plurality of roles in order to reduce the number of communications between the server 50 and the information processing device, and the packet communication is performed efficiently. Force described in the case Packet transmission may be performed so that one packet has one role. Further, in each of the specific examples described above, the case where the characteristic determination of the communication control device and the establishment of communication between the information processing devices are performed in parallel has been described, but these processes may be performed separately. In such a case, the characteristic determination port detection unit 95 and the characteristic determination port information transmission unit 96 may be used in the characteristic determination.
- the first communication control device 3 and the second communication control device 4 are the first communication control devices except when both are PS NATs. Communication between the information processing device 30 and the second information processing device 40 can be established. Furthermore, the establishment of the communication can be executed without making detailed judgments only by judging whether the communication control device uses PS NAT.
- port width detection, port range detection including a bubble packet transmission port, and bubble packet transmission target port detection are performed in the information processing apparatus. Any one or more of these processes may be performed on the server 50 in the same manner as in the first embodiment!
- the bubble packet may be transmitted to all ports in the communication control device on the receiving side. By doing so, a bubble packet can be transmitted to the port used in transmitting the port assignment packet.
- a return packet may be transmitted to a port other than the well-known port, excluding the port of the well-known port, for which the usage is predetermined in advance.
- the position of the port serving as the base point may be notified to the information processing apparatus on the transmission side.
- the communication system includes an information processing device that transmits a bubble packet and a server that performs a process for detecting a port range including a bubble packet transmission port.
- This server may be two or more servers), and may be a system for detecting a port range including the bubble packet transmission port. That is, the communication system according to the present invention may be the following communication system.
- This communication system is a communication system including an information processing device, a communication control device for controlling communication of the information processing device, and a server. The information processing device is connected to the communication control device via the communication control device.
- a bubble packet transmitting unit that transmits one or more bubble packets for keeping a transmission history, and a port including one or more bubble packet transmitting ports that are ports of a communication control device used for transmitting one or more bubble packets.
- a range detection packet transmitting unit that transmits a range detection packet used for detecting the range to the server, wherein the server receives the range detection packet, and A range detection unit that detects a range of ports including one or more bubble packet transmission ports based on the surrounding detection packet.
- the transmission destination of the bubble packet is, for example, a communication control device that controls communication of another information processing device that is a communication partner that may be another communication control device that is a communication partner of the information processing device. And so on.
- the range of the port detected by the server may be transmitted to the information processing device by the transmission unit, or may be passed to the information processing device by another method.
- information indicating the port range may be recorded on a recording medium, and the information processing apparatus may read out the recording medium power information.
- the information may be displayed, and the user may input information indicating the range of the port to the information processing apparatus by looking at the display.
- one or more bubble packets may be transmitted in the communication system.
- Another 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 transmitting unit that transmits one or more bubble packets for leaving a transmission history in the communication control device, and one or more bubble packet transmission ports that are ports of the communication control device used for transmitting one or more bubble packets.
- a range detection bucket transmitting unit that transmits a range detection packet used to detect a range of ports including a packet to the server, and a detection unit that indicates the position of the port of the communication control device through which the range detection packet has passed.
- a detection port information receiving unit for receiving port information; and one or more bubble packet transmission ports based on the detection port information received by the detection port information receiving unit.
- a range detection unit that detects a range of a port including the port, wherein the server receives the range detection packet, and detects a position of a port of the communication control device through which the range detection packet has passed.
- a detection unit, 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 device.
- the range may be detected by the information processing device other than the server.
- the destination of the bubble packet may be, for example, another communication control device that is a communication partner of the information processing device.
- a communication control device that controls communication of the processing device may be used.
- the range of the port detected by the information processing device may be transmitted to another information processing device by the transmission unit, or may be passed to another information processing device by another method. Is also good.
- information indicating the port range may be recorded on a recording medium, and another information processing apparatus may read out the recording medium power information. May be displayed, and by looking at the display, the user may input information indicating the range of ports to another information processing apparatus.
- one or more bubble packets may be transmitted in the communication system.
- the case where the first server 6, 60, and the server 50 have a function of notifying the information processing device of the IP address of the communication control device of the other party has been described.
- the function may be realized on a server different from the first server 6 or the like. That is, a server that notifies one information processing device of the address of the other communication control device and a server that performs a process related to a range detection packet and the like may be different servers.
- processing for notifying one information processing apparatus of the address of the other information processing apparatus processing for calling information processing apparatus to call information processing apparatus of the other party (called side), SIP ( Session Initiation Protocol) may be used.
- a return packet is transmitted for each port width indicated by the port width information.
- a return packet may be transmitted at a port interval "1" related to the port width. .
- a reply packet to transmit a reply packet to the port range indicated by the range information is transmitted to all ports in the communication control device on the transmitting side. Is also good. By doing so, a reply packet can be transmitted to the bubble packet transmission port used for transmitting the bubble packet.
- the reply packet may be transmitted to all ports in the range. In this case, if all ports are used, and if they are used, even if the purpose of use is determined, a reply packet is sent to a port other than the well-known port, excluding the well-known port. May be. Ma
- the position of the base port may be notified to the information processing apparatus on the receiving side.
- the type of NAT used in the communication control device is determined by the first Sano 6 or the like or by the information processing device.
- the characteristics (NAT type) of the communication control device input from the information processing device by manual input or the like by the user may be held in the first server 6 or the like, or the communication control
- the characteristics are stored in storage means (for example, a non-volatile memory) held by the device, and the first server 6 or the like reads the stored characteristics to obtain the characteristics of the communication control device. May be determined.
- the characteristics of the communication control device may be stored in a device other than the communication control device. For example, a predetermined database server may store the characteristics in association with the ID or model number of the communication control device.
- the timing of the detection is not limited. That is, even after a request to establish communication from any of the information processing devices can be made, or when the information processing device is connected to the first server 6 or the like, the characteristics can be determined in advance. You can! / ,.
- the first server 6 may not be transmitted, and may be passed to the information processing device by manual input by the user. Alternatively, obtain the port width or the like stored in the communication control device or the like.
- the port for transmitting a bubble packet is notified from the first server 6 or the like or the information processing apparatus on the receiving side to the information processing apparatus on the transmitting side
- the port to be transmitted with the bubble packet described above is used.
- the information processing apparatus on the transmitting side may be set in advance, or the information processing apparatus on the transmitting side may determine the position of the bubble packet transmission target port by manual input by the user or by accessing a predetermined server. You may try to detect it.
- Embodiments 13 to 13 the case has been described where the first server and the second server directly communicate with each other.
- the first server and the second server may Information between servers (for example, the port number of port P8 in FIG. 12) via a predetermined shared recording medium May be shared.
- bubble packet transmission target port information is transmitted in order to limit the bubble packet transmission target port to a predetermined port.
- the target port information may be transmitted merely for specifying the destination port of the bubble packet, not for limiting the bubble packet transmission target port.
- each information processing apparatus is connected to communication line 5 via only one communication control device.
- communication lines are connected via a plurality of communication control devices. Even if it is connected to 5 (that is, multi-stage NAT), communication between information processing devices can be established.
- the first communication control device 3 and the second communication control device 4 are described as having NAT functions.
- the second communication control device 4 may have a function of a packet filtering firewall in place of the NAT function or together with the NAT function.
- the packet filtering is, for example, for selecting a received packet based on the above-described reception filter rule.
- the local side the side of the first information processing device 1 and the like
- the communication line 5 the communication line 5
- the second communication control device 4 has a firewall function based on such a reception filter rule, the role on the local side (the side of the second information processing device 2 etc.) and the global side By transmitting a reply packet via the target port for transmitting bubble packets, communication between the first information processing device 1 and the like and the second information processing device 2 and the like can be established.
- the first information processing device 1 and the like, and the second information processing device 2 and the like may or may not implement a function of a firewall as an application.
- the first server 6 and the like described in the case where the first server 6 and the like are specified by the IP address have the domain name (for example, server, pana. Net). Etc.).
- the first server 6 or the like can be specified by converting the domain name into an IP address using a DNS server.
- IPv4 Internet
- IPv6 Internet Protocol version 6
- each process may be realized by centralized processing by a single device (system), or a plurality of devices. It may be realized by distributed processing by.
- 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 for realizing the information processing device in each of the above embodiments is a program as described below. That is, the program is transmitted to the computer via the first communication control device that controls the communication of the first information processing device and the second communication control device that controls the communication of the second information processing device. Is a program for executing a process in a first information processing device communicating with a second information processing device, and stores a transmission history in the first communication control device via the first communication control device.
- Packet transmitting step for transmitting a bubble packet to the second communication control device for transmitting a bubble packet to the second communication control device; and transmitting the second information to a bubble packet transmission port, which is a port of the first communication control device, used for transmitting the bubble packet.
- a reply packet receiving step of receiving a reply packet transmitted from the processing device via the second communication control device.
- the program may further cause the computer to further execute a range detecting packet transmitting step of transmitting a range detecting packet used to detect a range of a port including a bubble packet transmitting port. ⁇ .
- the range detecting buckets may be transmitted before and after the bubble packet transmission in the bubble packet transmitting step.
- the transmission of bubble packets is performed. Before and after the transmission, the range detection packet may be transmitted to different addresses.
- a bubble packet transmission target port information indicating a position of a bubble packet transmission target port, which is a target port for transmitting a bubble packet in the second communication control device is transmitted to the computer.
- the target port reception step may be further executed, and in the bubble packet transmission step, the bubble packet may be transmitted to the bubble packet transmission target port indicated by the bubble packet transmission target port information.
- the target port for transmitting the bubble packet transmits the information between the second information processing device and the server that establishes the communication between the first information processing device and the second information processing device.
- the port may be a port for transmitting and receiving data.
- a port width detection packet for detecting a port width in the first communication control device is transmitted to the computer via the first communication control device.
- the packet transmission step may be further executed.
- the first communication control device transmits a bubble packet from the second information processing device to the second communication control device via the second communication control device.
- the program causes the computer to further execute a range receiving step of receiving range information that is information indicating a range of a port to which a reply packet is transmitted. You may send a reply packet to the port.
- the program causes the computer to further execute a port width receiving step of receiving port width information that is information indicating a port width in the second communication control device. Send a reply packet for each port width shown.
- the software that implements the information processing device according to each of the above embodiments is a program as described below.
- this program stores the first information processing device in the computer.
- a first information processing device that communicates with a second information processing device via a first communication control device that controls communication of the second information processing device and a second communication control device that controls communication of the second information processing device
- the first communication control device transmits a transmission history from the second information processing device to the second communication control device via the second communication control device.
- a bubble packet to be left is transmitted, and one or more ports including at least the port of the second communication control device used for transmitting the bubble packet from the second information processing device are transmitted. This is for executing a reply packet transmitting step of transmitting a reply packet.
- the program causes the computer to further execute a range accepting step of accepting range information that is information indicating a range of a port to which a reply packet is to be transmitted. You may send a reply packet to the port.
- the program causes the computer to further execute a port width receiving step of receiving port width information which is information indicating a port width in the second communication control device.
- a reply packet may be sent for each port width indicated by the information.
- the software that implements the server in each of the above embodiments is the following program.
- the program includes, on the computer, the first information processing device and the second information processing device, the first information processing device controlling the communication of the first information processing device, and the second information processing device.
- a program for executing processing in a server that establishes communication performed through a second communication control device that controls device communication the program comprising a first information processing device and a second information processing device;
- An information transmission / reception step for transmitting / receiving information, a characteristic determination step for determining characteristics of the first communication control device and the second communication control device, and a first A transmission / reception determining step of determining one of the information processing apparatus and the second information processing apparatus as a transmission side (transmission side information processing apparatus) and determining the other side as a reception side (reception side information processing apparatus).
- the computer controls the communication of the receiving side information processing apparatus.
- the transmission-side information processing device sends a bubble packet for leaving a transmission history to the communication control device (transmission-side communication control device) that controls the communication of the transmission-side information processing device.
- a bubble packet transmission target port transmitting step of transmitting bubble packet transmission target port information indicating a position of a bubble packet transmission target port, which is a transmission target port, to the transmission side information processing apparatus may be further executed.
- the bubble packet transmission target port indicated by the bubble packet transmission target port information is the port of the receiving communication control device used for communication between the information transmitting / receiving unit and the receiving information processing device. You can.
- the computer is a port of the transmission-side communication control device that is used by the transmission-side information processing device to transmit a bubble packet to a bubble packet transmission target port in the reception-side communication control device.
- the range detection step of detecting the range of the port including the bubble packet transmission port, and the bubble packet detected in the range detection step A range transmitting step of transmitting range information that is information indicating a range of a port including a transmission port.
- detection may be performed based on range detection packets transmitted to a plurality of addresses.
- a port width detection packet transmitted from the transmission side information processing device via the transmission side communication control device for detecting the port width in the transmission side communication control device is transmitted to the computer.
- a port width transmission step of transmitting the width information is transmitted to the computer.
- the detection port information receiving step for receiving detection port information indicating the position of the port of the first communication control device through which the range detection packet has passed, the detection port information Based on the detection port information received in the reception step, a range detection step for detecting a range of ports including the bubble packet transmission port and a range of ports including the bubble packet transmission port detected in the range detection step are indicated.
- a range transmission step of transmitting range information which is the information that is to be transmitted.
- the port width detection port information receiving step of 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 in the port width detection port information reception step; A port width transmission step of transmitting the port width information, which is information indicating the port width of the first communication control device, to the second information processing device via the server.
- a bubble packet transmission target port information indicating a position of a bubble packet transmission target port, which is a target port for transmitting a bubble packet in the second communication control device is transmitted to the computer.
- the target port reception step may be further executed, and in the bubble packet transmission step, the bubble packet may be transmitted to the bubble packet transmission target port indicated by the bubble packet transmission target port information.
- the bubble packet transmission target port information is information indicating the position of one or more bubble packet transmission target ports.
- the bubble packet may be transmitted to one or more of the indicated bubble packet transmission target ports.
- the program further executes a port assignment packet transmission step of transmitting a port assignment packet for assigning a port for transmitting a reply packet to the computer to the first communication control device. Then, in the reply packet transmitting step, a reply bucket may be transmitted from the port of the first information processing device to which the port assignment packet has been transmitted.
- the above program is used by the computer to detect a range of ports including a port assignment packet transmission port, which is a port of the first communication control device, used for transmitting a port assignment packet. And transmitting a range detection packet to be transmitted.
- the software that implements the information processing device in each of the above embodiments is a program as described below.
- this program provides the computer with an information processing device and information.
- the detection port information reception step of receiving the detection port information indicating the position of the port of the communication control device through which the range detection packet has passed, and the detection port information reception step are performed by the computer.
- the computer may further execute a range transmission step of transmitting range information that is information indicating a port range including one or more bubble packet transmission ports detected in the range detection step.
- the software that implements the server device in each of the above embodiments is a program as described below.
- this program is a program for causing a computer to execute processing in a server constituting a communication system including an information processing device, a communication control device that controls communication of the information processing device, and a server.
- Used to detect the range of ports including one or more bubble packet transmission ports which are ports of the communication control device, used for transmitting one or more bubble packets transmitted to leave a transmission history on the device.
- the information processing device receives the transmitted range detection packet and detects the range of the port including one or more bubble packet transmission ports based on the range detection packet, and the range detection step detects the range. Transmit range information, which is information indicating the range of ports including one or more of the bubble packet transmission ports A circumference transmission step is for to run.
- the other programs are stored in a computer 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.
- Transmission of one or more bubble packets which is a port of the communication control device and is used to transmit one or more bubble packets transmitted to leave a transmission history in the communication control device.
- a detection port used to detect a range of ports including ports which receives a range detection packet transmitted from the information processing device and detects a position of a port of the communication control device through which the range detection packet has passed.
- a detection step and 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 information processing apparatus are executed.
- this program is recorded on a predetermined recording medium (for example, an optical disk such as a CD-ROM, a magnetic disk, or a semiconductor memory) which can be distributed by being downloaded by a server or the like. May also be distributed.
- a predetermined recording medium for example, an optical disk such as a CD-ROM, a magnetic disk, or a semiconductor memory
- the computer that executes this program may be a single computer or a plurality of computers. That is, centralized processing may be performed or distributed processing may be performed. Industrial applicability
- the communication system or the like according to the present invention can establish communication between a plurality of information processing devices via a communication control device, and is useful as a device for performing communication between information processing devices. It is.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04792863.5A EP1681811B1 (en) | 2003-10-27 | 2004-10-22 | Communication system and communication method |
US10/576,065 US7623513B2 (en) | 2003-10-27 | 2004-10-22 | Communication system, information processing apparatus, server, and communication method |
JP2005514980A JP3933182B2 (ja) | 2003-10-27 | 2004-10-22 | 通信システム、情報処理装置、サーバ、および通信方法 |
US12/574,774 US7929541B2 (en) | 2003-10-27 | 2009-10-07 | Communication system, information processing apparatus, server, and communication method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003365668 | 2003-10-27 | ||
JP2003-365668 | 2003-10-27 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/576,065 A-371-Of-International US7623513B2 (en) | 2003-10-27 | 2004-10-22 | Communication system, information processing apparatus, server, and communication method |
US12/574,774 Continuation US7929541B2 (en) | 2003-10-27 | 2009-10-07 | Communication system, information processing apparatus, server, and communication method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005041500A1 true WO2005041500A1 (ja) | 2005-05-06 |
Family
ID=34510185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2004/015721 WO2005041500A1 (ja) | 2003-10-27 | 2004-10-22 | 通信システム、情報処理装置、サーバ、および通信方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US7623513B2 (ja) |
EP (1) | EP1681811B1 (ja) |
JP (1) | JP3933182B2 (ja) |
KR (1) | KR20060102333A (ja) |
CN (1) | CN1875580A (ja) |
MY (1) | MY138020A (ja) |
TW (1) | TW200527860A (ja) |
WO (1) | WO2005041500A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006261895A (ja) * | 2005-03-16 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法 |
US8654755B2 (en) | 2005-11-16 | 2014-02-18 | Kabushiki Kaisha Toshiba | Device and method for communicating with another communication device via network forwarding device |
JP2016208162A (ja) * | 2015-04-17 | 2016-12-08 | 富士通株式会社 | 判定方法および情報処理装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234383B2 (en) * | 2003-11-07 | 2012-07-31 | Panasonic Corporation | Bubble packet port identification using detection packets |
US7680065B2 (en) * | 2005-01-18 | 2010-03-16 | Cisco Technology, Inc. | System and method for routing information packets |
JP4600518B2 (ja) * | 2008-05-20 | 2010-12-15 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム |
JP5218357B2 (ja) * | 2009-09-25 | 2013-06-26 | ブラザー工業株式会社 | 通信方法、通信システム、端末装置 |
JP5887507B2 (ja) * | 2011-11-28 | 2016-03-16 | パナソニックIpマネジメント株式会社 | 通信機器間の接続確立方法、通信機器、及びサーバ装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002082794A2 (en) * | 2001-04-03 | 2002-10-17 | Voxpath Networks, Inc. | System and method for performing ip telephony |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7031275B1 (en) * | 2000-12-28 | 2006-04-18 | Utstarcom, Inc. | Address management for mobile nodes |
TWI232655B (en) * | 2002-05-07 | 2005-05-11 | Realtek Semiconductor Corp | Device and method for network address-port translation |
US7280557B1 (en) * | 2002-06-28 | 2007-10-09 | Cisco Technology, Inc. | Mechanisms for providing stateful NAT support in redundant and asymetric routing environments |
AU2003279775A1 (en) * | 2002-10-04 | 2004-05-04 | Woodstock Systems, Llc | Systems and devices accessing inaccessible servers |
JP2004180003A (ja) | 2002-11-27 | 2004-06-24 | Kitt Peak:Kk | 通信ネットワークシステムおよび通信の接続方法 |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
US7245622B2 (en) * | 2003-03-27 | 2007-07-17 | Microsoft Corporation | Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload |
JP3741312B2 (ja) | 2003-03-28 | 2006-02-01 | ソニー株式会社 | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム |
EP1677465B1 (en) * | 2003-11-07 | 2014-08-13 | Panasonic Corporation | Communication system, information processing apparatus and communication method |
JP2007528677A (ja) * | 2004-03-09 | 2007-10-11 | クリーク コミュニケーションズ エルエルシー | シンメトリック・ファイアウォールの背後のクライアントのピアツーピア接続のためのシステムおよび方法 |
US7451212B2 (en) * | 2004-03-17 | 2008-11-11 | At&T Intellectual Property I, L.P. | Logical port configuration system |
US8050272B2 (en) * | 2004-06-29 | 2011-11-01 | Damaka, Inc. | System and method for concurrent sessions in a peer-to-peer hybrid communications network |
-
2004
- 2004-10-22 JP JP2005514980A patent/JP3933182B2/ja active Active
- 2004-10-22 US US10/576,065 patent/US7623513B2/en active Active
- 2004-10-22 KR KR20067008114A patent/KR20060102333A/ko not_active Application Discontinuation
- 2004-10-22 CN CNA2004800316988A patent/CN1875580A/zh active Pending
- 2004-10-22 EP EP04792863.5A patent/EP1681811B1/en active Active
- 2004-10-22 WO PCT/JP2004/015721 patent/WO2005041500A1/ja active Application Filing
- 2004-10-25 MY MYPI20044394 patent/MY138020A/en unknown
- 2004-10-26 TW TW93132378A patent/TW200527860A/zh unknown
-
2009
- 2009-10-07 US US12/574,774 patent/US7929541B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002082794A2 (en) * | 2001-04-03 | 2002-10-17 | Voxpath Networks, Inc. | System and method for performing ip telephony |
Non-Patent Citations (4)
Title |
---|
"The calbe guy - 2003 nen 4 gatsu: Windows XP Peer-to-Peer update no IPv6 kino", April 2003 (2003-04-01), XP002988197, Retrieved from the Internet <URL:http://www.microsoft.com/japan/technet/communitiy/columns/cableguy/cg0403.mspx> [retrieved on 20050118] * |
OIKAWA T. ET AL.: "IPv6style: Advanced networking pack for Windows XP daikaibo dai 1 kai IPv6 setsuzoku o sarani tokoteki ni suru teredo", 29 September 2003, XP008138048 * |
See also references of EP1681811A4 * |
XP002988196, Retrieved from the Internet <URL:http://www.ipv6style.jp/jp/tryout/20030929/20030929_p.shtml> [retrieved on 20050118] * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006261895A (ja) * | 2005-03-16 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法 |
JP4665568B2 (ja) * | 2005-03-16 | 2011-04-06 | パナソニック株式会社 | 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法 |
US8654755B2 (en) | 2005-11-16 | 2014-02-18 | Kabushiki Kaisha Toshiba | Device and method for communicating with another communication device via network forwarding device |
JP2016208162A (ja) * | 2015-04-17 | 2016-12-08 | 富士通株式会社 | 判定方法および情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20070140226A1 (en) | 2007-06-21 |
TW200527860A (en) | 2005-08-16 |
US7623513B2 (en) | 2009-11-24 |
EP1681811A1 (en) | 2006-07-19 |
CN1875580A (zh) | 2006-12-06 |
JP3933182B2 (ja) | 2007-06-20 |
EP1681811A4 (en) | 2011-04-27 |
US20100023646A1 (en) | 2010-01-28 |
JPWO2005041500A1 (ja) | 2007-11-29 |
KR20060102333A (ko) | 2006-09-27 |
US7929541B2 (en) | 2011-04-19 |
MY138020A (en) | 2009-04-30 |
EP1681811B1 (en) | 2019-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7522594B2 (en) | Method and apparatus to permit data transmission to traverse firewalls | |
EP1739897B1 (en) | Information processing device, and bubble packet transmission method and program | |
US7441270B1 (en) | Connectivity in the presence of barriers | |
US20070076729A1 (en) | Peer-to-peer communication traversing symmetric network address translators | |
US11621917B2 (en) | Transparent multiplexing of IP endpoints | |
WO2005041500A1 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
JP4389886B2 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
WO2005046143A1 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
JP3849711B2 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
EP1809000A1 (en) | Information processing device, information processing system, information processing method, and program | |
Müller et al. | On the applicability of knowledge based nat-traversal for home networks | |
JP2008205676A (ja) | 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム | |
EP3044929B1 (en) | A mobile-device based proxy for browser-originated procedures | |
JP4389885B2 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
JP4389994B2 (ja) | 通信システム、情報処理装置、サーバ、および情報処理方法 | |
KR20020037223A (ko) | 공인 및 사설 아이피주소를 이용한 통신서비스방법 및시스템 | |
KR100511059B1 (ko) | 보안 유지된 네트웍과 개방된 네트웍간에 멀티미디어 통신시스템 및 방법 | |
JP4345751B2 (ja) | 情報処理装置、及びバブルパケット送信方法 | |
Fan et al. | An SDN-assisted carrier-grade network address translation service framework for 5G core networks | |
CN100574254C (zh) | 穿越网络地址转换装置的处理方法及通话启始协议服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200480031698.8 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2005514980 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007140226 Country of ref document: US Ref document number: 10576065 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004792863 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020067008114 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2004792863 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020067008114 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 10576065 Country of ref document: US |