WO2005046143A1 - 通信システム、情報処理装置、サーバ、および通信方法 - Google Patents
通信システム、情報処理装置、サーバ、および通信方法 Download PDFInfo
- Publication number
- WO2005046143A1 WO2005046143A1 PCT/JP2004/016084 JP2004016084W WO2005046143A1 WO 2005046143 A1 WO2005046143 A1 WO 2005046143A1 JP 2004016084 W JP2004016084 W JP 2004016084W WO 2005046143 A1 WO2005046143 A1 WO 2005046143A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- port
- packet
- detection
- information processing
- 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
-
- 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
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
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.
- F NAT Full Cone NAT
- R NAT Restricted Cone NAT
- Port Restricted Cone NAT (PR NAT): Transmission port assignment Rule is a Cone type, and the receiving port filter rule is a Port Sensitive filter.
- Sa NAT a transmission port assignment rule of an address sensitive type and a reception port filter rule of a No filter.
- a transmission port assignment rule is an Address Sensitive type
- a reception port filter rule is an Address Sensitive filter
- Sc NAT Symmetric (c) NAT (hereinafter, referred to as Sc NAT): after the transmission port assignment rule is of the address sensitive type and the reception port filter rule is the port sensitive filter.
- Symmetric (d) NAT (hereinafter referred to as Sd NAT): a transmission port assignment rule that is a Port Sensitive type, and a reception port filter rule is a No filter.
- Symmetric (e) NAT (hereinafter, referred to as Se NAT):
- the transmission port allocation rule is a Port Sensitive type, and the reception port filter rule is an Address Sensitive filter.
- Port Sensitive Symmetric NAT (hereinafter, referred to as PS NAT or Sf NAT): A transmission port allocation rule that is a SPort Sensitive type and a reception port filter rule is a Port Sensitive filter.
- Non-Patent Document 1 “Symmetric NAT” Traversal using STUN ”, [Online], June 2003, [Searched March 25, 2004]
- Non-Patent Document 2 a Non-Patent Document 2
- connection of “* 1” in FIG. 34 is conventionally known, and the connection of “* 2” is described in Non-Patent Document 1 described above, and the connection of “* 3” is Is described in Non-Patent Document 2 above. 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.
- Fig. 34 does not include the case where Sa NAT or Sc-Se NAT is used, but also the case where such NAT is used. 1. It is now possible to establish peer-to-peer communication (for example, communication between PCI and PC2 in Fig. 33)!
- a NAT port through which a bubble packet (a packet transmitted to leave a transmission history in the NAT) transmitted from one information processing device passes. The position has been reliably detected.
- One object of the present invention is to provide a communication system or the like that can more reliably establish communication between a plurality of information processing devices that communicate via a communication control device that controls communication. It is.
- Another object of the present invention is to provide a communication apparatus through which a transmitted bubble packet has passed.
- An object of the present invention is to provide a communication system or the like that can detect the position of a port in a communication control device.
- a first information processing device includes a first communication control device that controls communication of the first information processing device, and a communication device that communicates with the second information processing device.
- the first information processing device which communicates with the second information processing device via a second communication control device that controls transmission of the first communication control device.
- a reference port receiving unit that receives reference port information indicating a position of a reference port, which is a port in the second communication control device that is a reference of a transmission target of a bubble packet to be transmitted, based on the reference port information.
- a bubble packet transmitting unit that transmits the bubble packet to the second communication control device via the first communication control device; and a port of the first communication control device used for transmitting the bubble packet.
- a bubble A detecting packet transmitting unit for transmitting a port detecting packet for detecting a position of a packet transmitting port; and a second communication control device for transmitting the bubble packet transmitting port from the second information processing device.
- a reply packet receiving unit for receiving a reply packet transmitted via the communication device.
- 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, wherein the first communication control device communicates with the second information processing device from the second information processing device.
- a bubble packet for transmitting a transmission history to the second communication control device is transmitted to the second communication control device via the control device, and the first communication control device serving as a reference of the transmission target of the bubble packet is transmitted.
- a reference port detection packet transmission unit for transmitting a reference port detection packet for detecting a position of a reference port which is a port in the second information processing device; Second communication control device In the door Bubble packet transmission port receiving unit for receiving bubble packet transmission port information indicating the position of a certain bubble packet transmission port, and reply packet transmission for transmitting a reply packet to the bubble packet transmission port indicated by the bubble packet transmission port information And a part.
- 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 first information processing device, wherein the first information processing is performed to leave a transmission history in the first communication control device.
- the second information processing device transmits the second communication control device.
- a reference port detection unit that receives a reference port detection packet transmitted through the control device and detects a position of the reference port based on the reference port detection packet; and a reference port detected by the reference port detection unit.
- port A reference port transmitting unit that transmits reference port information indicating the position of the bubble to the first information processing device, and a reference port transmitting unit that transmits the bubble packet from the first information processing device to the second communication control device.
- a port detection packet transmitted from the first information processing device is received, and based on the port detection packet.
- a bubble packet transmission port detector for detecting the position of the bubble packet transmission port; and bubble packet transmission port information indicating the position of the bubble packet transmission port detected by the bubble packet transmission port detector.
- a bubble packet transmission port transmitting unit for transmitting to the device.
- 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 is performed to leave a transmission history in the first communication control device.
- the second information processing device transmits the second communication control device.
- a reference port detection unit that receives a reference port detection packet transmitted through the control device and detects a position of the reference port based on the reference port detection packet; and a reference port detected by the reference port detection unit.
- port A reference port transmitting unit that transmits reference port information indicating the position of the bubble to the first information processing device, and a reference port transmitting unit that transmits the bubble packet from the first information processing device to the second communication control device.
- a port detection packet transmitted from the first information processing device is received, and based on the port detection packet.
- a detection port detector for detecting the position of the port of the first communication control device through which the port detection packet has passed, and detection port information indicating the position of the port detected by the detection port detector.
- a detection port information transmission unit for transmitting to the first information processing device.
- the position of the reference port in the second communication control device can be detected and notified to the first information processing device, and the first communication control device that has passed the port detection packet can be detected.
- the position of the device can be detected and notified to the first 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 a bubble packet for leaving a transmission history in the communication control device via the control device; and a bubble packet transmission, which is a port of the communication control device, used for transmitting the bubble packet.
- a detection packet transmitting unit that transmits a port detection packet used to detect a port position to the server before and after the bubble packet transmitting unit transmits the bubble packet. Equipped
- the position of the bubble packet transmission port can be detected by the port detection packet to which the information processing device has also transmitted. This detection may be performed by the server, may be performed by the information processing device, or may be performed by another device. By using the detected position of the bubble packet transmission port to transmit a packet to another device to the bubble packet transmission port, 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 a server according to the embodiment.
- FIG. 5 is a flowchart showing an operation of the communication system according to the embodiment.
- FIG. 6 is a diagram for describing processing relating to the establishment of communication according to the embodiment.
- FIG. 7 is a diagram for explaining detection of a port width in the embodiment.
- FIG. 8 is a diagram for describing processing relating to establishment of communication in the embodiment.
- Fig. 9 is a diagram for describing processing relating to the establishment of communication in the embodiment.
- FIG. 10 is a diagram for describing a specific example according to the embodiment.
- FIG. 11 is a diagram for describing a specific example according to 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. [17] 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 a server according to the embodiment.
- Fig. 21 is a diagram for describing processing related to the establishment of communication in the embodiment.
- FIG. 22 is a diagram for describing processing relating to the establishment of communication in the embodiment.
- Fig. 23 is a diagram for describing processing 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 another embodiment.
- FIG. 26 is a block diagram showing a configuration of a communication system according to Embodiment 4 of the present invention.
- FIG. 27 is a block diagram showing a configuration of a first 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 diagram for describing processing relating to the establishment of communication according to the embodiment.
- FIG. 30 is a diagram for describing a specific example in the same embodiment.
- FIG. 31 is a diagram for describing a specific example in the embodiment.
- FIG. 32 is a diagram for explaining the characteristics (type) of NAT.
- FIG. 33 is a diagram showing an example of a communication system.
- FIG. 34 is a diagram showing a conventional combination of connectable NATs. Explanation of symbols
- 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 server 6.
- the first communication control device 3, the second communication control device 4, and the server 6 are connected via a wired or wireless communication line 5.
- This communication line 5 is, for example, the Internet.
- 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.
- the information processing device on the transmission side is a device that issues a communication (connection) request when establishing communication between the first information processing device 1 and the second information processing device 2 (in other words, In other words, it is the side that transmits a bubble packet).
- the information processing device on the receiving side is the information processing device on the opposite side, that is, the information processing device on the side receiving a communication request (in other words, the side transmitting a reply packet to a bubble packet). .
- the bubble packet and the reply packet will be described later.
- FIG. 2 is a block diagram showing a configuration of the first information processing device 1.
- the first information processing apparatus 1 includes a communication unit 11, a reference port reception unit 12, a bubble packet transmission unit 13, a detection packet transmission unit 14, and a port width detection packet transmission unit 15.
- Retransmission instruction reception unit 16 reply packet reception unit 17, retransmission packet transmission unit 18, port width reception unit 19 is provided.
- the communication unit 11 performs communication between each component inside the first information processing device 1 such as the bubble packet transmission unit 13 and the first communication control device 3.
- the reference port receiving unit 12 receives reference port information indicating the position of the reference port.
- the reference port is a predetermined port in the second communication control device 4, and is a port serving as a reference of a port to which a bubble packet is to be transmitted (a bubble packet transmission target port).
- Accepting the reference port information means, for example, receiving the reference port information.
- the bubble packet will be described later.
- the bubble packet transmitting unit 13 transmits a public packet to the second communication control device 4 via the communication unit 11 and the first communication control device 3.
- the bubble packet is transmitted based on the reference port information received by the reference port receiving unit 12.
- a bubble packet is transmitted from a reference port to a bubble packet transmission target port which is a port allocated after a predetermined port allocation.
- the bubble packet transmission target port is, for example, a port whose port interval from the reference port is M times the port width in the second communication control device 4 (M is an integer of 1 or more).
- M is an integer of 1 or more
- the port width in the second communication control device 4 is indicated by port width information received by a port width receiving unit 19 described later.
- 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. is there.
- establishing communication means starting peer-to-peer communication between the first information processing device 1 and the second information processing device 2 without passing through the server 6.
- To leave the transmission history means that the first communication control device 3 allocates a port (opens a port) for receiving a reply packet described later.
- 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).
- the detection packet transmitting unit 14 transmits a port detection packet to the server 6.
- This port The packet for packet detection is used to detect the position of the bubble packet transmission port.
- the bubble packet transmission port is used for transmitting a bubble packet.
- This port detection packet is transmitted before the bubble packet is transmitted and after the Z or bubble packet is transmitted.
- a port detection packet is transmitted before and after transmission of a bubble packet.
- the port detection packet is transmitted by, for example, UDP or TCP (Transmission Control Protocol).
- This port number detection packet may contain any information or may not contain any information.
- the port number differential detection packet transmitting unit 15 transmits a port number differential detection packet used for detecting the port number differential in the first communication control device 3 to the server 6 via the first communication control device 3.
- the port width is the width (interval) of the ports used (allocated) continuously. For example, when the port width is “1”, the port used next to the port with the port number “2000 0” is the port with the port number “20001”. On the other hand, when the port width is “2”, the port used next to the port with the port number “20000” is the port with the port number “20002”.
- This port number detection packet may contain some information! /, Or may contain no information.
- Retransmission instruction receiving section 16 receives a retransmission instruction.
- the retransmission instruction is an instruction to retransmit the bubble packet and the port detection packet. This retransmission instruction is accepted, for example, by reception.
- the detection packet transmission unit 14 and the bubble packet transmission unit 13 transmit the port detection packet and the bubble packet again, respectively.
- Reply packet receiving unit 17 receives a reply packet transmitted from second information processing device 2 via second communication control device 4. This reply packet has been transmitted to the bubble packet transmission port. This reply packet is received, for example, by reception. This reply packet may or may not contain any information.
- the re-reply packet transmitting unit 18 is provided when the reply packet receiving unit 17 receives the reply packet. In this case, a re-reply packet is transmitted. This re-reply packet is transmitted to the port of the second communication control device 4 used for transmitting the return packet. This re-reply packet is sent, for example, by UDP. This re-reply packet may or may not contain any information.
- the port width receiving unit 19 receives the port width information transmitted from the server 6.
- the port width information is information indicating a port width in the second communication control device 4.
- FIG. 3 is a block diagram showing a configuration of the second information processing device 2.
- the second information processing device 2 includes a communication unit 21, a reference port detection packet transmission unit 22, a bubble packet transmission port reception unit 23, a reply packet transmission unit 24, and a re-reply packet reception unit 25. And a port width detection packet transmitting unit 26.
- the communication unit 21 like the communication unit 11, communicates between each component inside the second information processing device 2 such as the reference port detection packet transmission unit 22 and the second communication control device 4. The communication at is performed.
- the reference port detection packet transmitting unit 22 transmits a reference port detection packet for detecting the position of the reference port to the server 6.
- the reference port is the latest port (most recently allocated port) at the time when the reference port detection packet is transmitted, among the ports allocated by the second communication control device 4. That is, by transmitting the reference port detection packet, the server 6 can detect the position of the latest port assigned by the second communication control device 4.
- This reference port detection packet is transmitted by, for example, UDP or TCP.
- This reference port detection packet may or may not include any information, and may or may not include any information.
- Bubble packet transmission port receiving unit 23 receives bubble packet transmission port information.
- the bubble packet transmission port information is information indicating the position of the bubble packet transmission port.
- the position of the bubble packet transmission port is indicated by the port number of the bubble packet transmission port.
- the bubble packet transmission port information is received, for example, by reception.
- the reply packet transmitting unit 24 transmits a reply packet to a bubble packet transmission port of the first communication control device 3.
- the position of the bubble packet transmission port is bubble This is indicated by the bubble packet transmission port information received by the packet transmission port reception unit 23.
- This reply packet is transmitted using N different (N is an integer of 2 or more) ports of the second communication control device 4.
- the N ports are ports newly assigned in the second communication control device 4 when the return packet is transmitted.
- the value of N is the number of ports that can be allocated from the reference port to the port to which the bubble packet has been transmitted (the bubble packet transmission target port) in the second communication control device 4 ( ⁇ ).
- the response using the port targeted for bubble packet transmission is performed by transmitting ⁇ reply packets. Packet transmission becomes possible.
- This reply packet is transmitted by, for example, UDP.
- This reply packet may or may not contain any information.
- Re-reply packet receiving unit 25 receives the re-reply packet transmitted from first information processing device 1. This re-reply packet is transmitted to the port of the second communication control device 4 used in the transmission of the return packet, and is received by the second information processing device 2. Depending on the type of NAT used in the first communication control device 3 and the second communication control device 4, when the first information processing device 1 receives the return packet, the first information processing device 1 Although communication between the second information processing apparatus 2 and the second information processing apparatus 2 may be established, the first information processing apparatus 1 and the second information Communication with the processing device 2 may be established.
- the port number detection packet transmitting unit 26 transmits a port number detection packet for detecting the port number in the second communication control device 4 to the server 6 via the second communication control device 4. I do.
- This port number detection packet may or may not contain any information, whether or not it contains any information.
- 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 F NAT, R NAT, PR NAT, Sa NAT, AS NAT, Sc NAT, Sd NAT, Se NAT, and PS NAT.
- the second communication control device 4 controls communication of the second information processing device 2.
- NAT is used.
- the first communication control device 3 and the second communication control device 4 use the first NAT in all combinations of NAT. Communication between the first information processing apparatus 1 and the second information processing apparatus 2 may be established.
- the port assignment is performed such that the port number is increased or decreased for each predetermined port width. And In the following description, a case where the port numbers are assigned so as to increase is described.
- FIG. 4 is a block diagram showing a configuration of the server 6.
- the server 6 includes a communication unit 61, a reference port detection unit 62, a reference port transmission unit 63, a port width detection unit 64, a public packet transmission port detection unit 65, and a retransmission instruction transmission unit 66. And a bubble packet transmission port transmitting section 67 and a port width transmitting section 68.
- the communication unit 61 performs communication between each unit of the server 6, such as the reference port detection unit 62, and the first information processing device 1, the second information processing device 2, and the like.
- the reference port detection unit 62 receives the reference port detection packet, and detects the position of the reference port based on the reference port detection packet.
- the reception of the reference port detection packet is performed, for example, by reception.
- the reference port detection packet has been transmitted from the second information processing device 2 via the second communication control device 4.
- the reference port transmitting section 63 transmits the reference port information to the first information processing device 1.
- the reference port information indicates the position of the reference port by, for example, the port number of the reference port.
- the port width detection unit 64 detects a port width in the first communication control device 3. This detection is performed by accepting a port number detection packet transmitted from the first information processing device 1. Further, the port width detection unit 64 detects a port width in the second communication control device 4. This detection is performed by receiving a port number detection packet transmitted from the second information processing device 2. Note that a first port detection unit for detecting the port width in the first communication control device 3 and a second port detection unit for detecting the port width in the second communication control device 4 may be provided.
- the force port width detection unit 64 that realizes them in one. That is, of the port width detector 64, the first communication control device 3
- the portion that detects the port width serves as a first port detection unit, and serves as a partial force second port detection unit that detects the port width in the second communication control device 4.
- Bubble packet transmission port detection section 65 detects the position of the bubble packet transmission port in first communication control device 3. This detection is performed by receiving a port detection packet transmitted from the first information processing device 1 via the first communication control device 3. The reception of the port detection packet is performed, for example, by reception. Specifically, bubble packet transmission port detection section 65 receives a port detection packet transmitted before and after transmission of a bubble packet. Then, it is determined whether or not the two ports in the first communication control device 3 used for transmitting the port detection packet and the bubble packet transmission port are continuous. As a result of the determination, if those ports are continuous, the position of the port sandwiched between the two ports in the first communication control device 3 used for transmitting the port detection packet is determined as the bubble packet transmission port. Detect as position.
- “continuous” means that the two ports and the bubble packet transmission port are arranged at intervals of the port width of the first communication control device 3.
- the interval between the two ports of the first communication control device 3 used in transmitting the port detection packet is twice the port width of the first communication control device 3 detected by the port width detection unit 64. In some cases, it can be determined that they are continuous. On the other hand, if the two ports in the first communication control device 3 used for transmitting the port detection packet and the bubble packet transmission port are not continuous, the bubble packet transmission port cannot be detected.
- the retransmission instruction transmission unit 66 transmits a retransmission instruction to the first information processing device 1.
- the retransmission instruction is an instruction to retransmit the bubble packet and the port detection packet.
- Bubble packet transmission port detection section 65 detects the position of the bubble packet transmission port using the port detection packet transmitted again in response to the transmission of the retransmission instruction. The transmission of the retransmission instruction is performed until the bubble packet transmission port detection unit 65 can detect the position of the bubble packet transmission port, or a predetermined upper limit (for example, 10 times), or a predetermined time ( This is repeated up to a predetermined limit such as, for example, 30 seconds.
- the bubble packet transmitting port transmitting section 67 transmits bubble packet transmitting port information to the second information processing device 2. The position of the bubble packet transmission port indicated by the bubble packet transmission port information is detected by the bubble packet transmission port detection unit 65.
- the port number transmitting section 68 transmits the port number information to the first information processing device 1.
- the port width information is information indicating a port width in the second communication control device 4 detected by the port width detection unit 64.
- Step S101 The reference port detection packet is transmitted from the second information processing device 2 to the server 6, and the position of the reference port is detected based on the reference port detection packet. Then, the reference port information server 6 indicating the position of the reference port is transmitted to the first information processing device 1. The detailed processing of step S101 will be described later.
- Step S 102 The first information processing device 1 transmits a bubble packet to the second communication control device 4 based on the reference port information. Further, it transmits a port detection packet used for detecting the position of the bubble packet transmission port to the server 6. The detailed processing in step S102 will be described later.
- Step S103 The bubble packet transmission port detection unit 65 of the server 6 determines whether or not the position of the bubble packet transmission port can be detected based on the port detection packet received in step S102. If it can be detected, the process proceeds to step S104. If it cannot be detected, the retransmission instruction transmitting unit 66 transmits a retransmission instruction to the first information processing device 1, and returns to step S102. The retransmission instruction is received by the retransmission instruction receiving unit 16 of the first information processing device 1.
- Step S104 The server 6 detects the position of the bubble packet transmission port, and transmits bubble packet transmission port information indicating the position to the second information processing device 2.
- the second information processing device 2 sends the reply packet to the first based on the bubble packet transmission port information. Is transmitted to the communication control device 3.
- the detailed processing in step S104 will be described later.
- Step S105 The reply packet receiving unit 17 of the first information processing device 1 determines whether a reply packet has been received. Then, if a reply packet has been received, the process proceeds to step S106. If not, the process returns to step S101, and the process from step S101 is repeated again.
- Step S106 The re-reply packet transmitting unit 18 of the first information processing device 1 transmits the re-reply packet to the second communication control device 4.
- Step S107 The re-reply packet receiving unit 25 of the second information processing device 2 determines whether a re-reply packet has been received. Then, when the re-reply packet is received, the packet is transmitted to any one of the ports of the first communication control device 3 used in the transmission of the re-reply packet, so that the first information processing apparatus 1 Communication with the second information processing device 2 without passing through the server 6 can be established, and the process of establishing communication is terminated. On the other hand, if the re-reply packet cannot be accepted, communication cannot be established, so the process returns to step S101 and the process from step S101 is repeated again.
- FIG. 6 is a diagram for explaining the exchange and processing of information among a transmitting side, a server, and a receiving side.
- the transmission side is a concept including the first information processing device 1 and the first communication control device 3.
- the term “receiving side” is a concept including the second information processing device 2 and the second communication control device 4.
- Step S 201 The server 6 transmits a reference port detection packet transmission request to the second information processing device 2.
- Step S202 Upon receiving the reference port detection packet transmission request transmitted from the server 6, the reference port detection packet transmission unit 22 of the second information processing device 2 To the server 6. It should be noted that the reference port detection packet transmitting unit 22 transmits the reference port detection packet using the port that is most recently allocated in the second communication control device 4. For example, the second information processing device 2 transmits a reference port detection packet using a newly allocated port.
- Step S203 The reference port detection unit 62 of the server 6 receives the reference port detection packet transmitted from the second information processing device 2. Then, the reference port detection unit 62 detects the position of the reference port by referring to the port number of the reference port included in the header of the reference port detection packet.
- the reference port transmitting section 63 transmits reference port information, which is information indicating the position of the reference port detected by the reference port detecting section 62, to the first information processing apparatus 1.
- the reference port information is received by the reference port receiving unit 12 in the first information processing device 1.
- Step S205 The server 6 transmits address information indicating the IP address of the second communication control device 4 to the first information processing device 1.
- the address information is received by the communication unit 11 and passed to the bubble packet transmission unit 13.
- Step S206 The port-width detection packet transmitting unit 15 of the first information processing device 1 transmits the port-width detection packet to the 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. 7 is a diagram for explaining transmission of a port number detection packet.
- the port-width detection packet transmitting unit 15 transmits a port-width detection packet to the port P200 of the server 6 sequentially from different ports P205 to P208. Then, in the first communication control device 3, those buckets pass through different ports P201 to P204. In FIG. 7, it is assumed that packets are transmitted in the order of ports P205 to P208.
- the first information processing apparatus 1 uses the ports P205 to P208 for communication with the server 6 before transmitting the port number detection packet.
- the port width detection unit 64 of the server 6 receives the port number detection packet transmitted from the first information processing device 1, and detects the port number based on the port number detection packet. I do. A method for detecting the port width will be described. By receiving the port number detection packet, the port number detection unit 64 can detect the ports P201 to P204 of the first communication control device 3 used for transmitting each 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, “6”, which is the smallest port interval, 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 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, but can be set arbitrarily within the range in which the port number can be detected.
- Step S 208 The port-width detection packet transmitting unit 26 of the second information processing device 2 transmits the port-width detection packet to the server 6.
- transmission of the port number detection packet is performed in the same manner as in step S206.
- Step S 209 The port width detection unit 64 of the server 6 receives the port number detection packet transmitted from the second information processing device 2, and performs the second communication based on the port number detection packet.
- the port width in the control device 4 is detected.
- the method of detecting the port width is the same as that in step S207, and a description thereof will be omitted.
- the port width detection processing in step S209 does not require much strictness compared to the port width detection in step S207. That is, a multiple of the actual port width in the second communication control device 4 may be detected as the port width.
- the port width detected in step S209 is calculated from the reference port by a multiple of the port width detected in step S209.
- the port number This is used to determine a distant port as a port to which a bubble packet is to be transmitted (in the direction in which the number increases).
- the port width detected in this step is a multiple of the actual port width
- the bubble packet transmission target port determined in this way is allocated after a number of port allocations from the reference port. This is because the port can be used as a bubble packet transmission target port. Therefore, this step S208, S209 In the port width detection in, the port width may be detected by transmitting a small number of port number detection packets.
- Step S 210) The port width transmitting unit 68 of the server 6 transmits to the first information processing apparatus 1 port width information indicating the port width detected in step S 209.
- the transmission of the receiving side address may be performed at any time.
- the transmission of the reference port information (step S204), the reference port This may be performed before the transmission request of the detection packet (step S201).
- the transmission of the port number detection bucket (step S208) and the transmission of the port number information (step S210) may be performed before the processing of transmitting the port number detection packet (step S206) and the like.
- the order of the processing in FIG. 6 has some degree of arbitrariness.
- FIG. 8 is a diagram for explaining the exchange and processing of information between the transmitting side, the server, and the receiving side.
- Step S301 The detection packet transmitting unit 14 of the first information processing device 1 transmits a port detection packet to the server 6 via the first communication control device 3.
- the port detection packet is transmitted so that the port detection packet passes through the port assigned latest in the first communication control device 3. This is to make it possible to properly detect the position of the bubble packet transmission port.
- the detection packet transmitting unit 14 uses the port of the first information processing device 1 that has not been used in the communication between the first information processing device 1 and the server 6 to transmit the port detection packet. Send.
- the port detection packet transmitted in this manner is accepted by the bubble packet transmission port detection unit 65 of the server 6.
- the bubble packet transmission port detection unit 65 detects the position of the port in the first communication control device 3 used for transmitting the port detection packet by referring to the header of the port detection packet.
- Step S302 The bubble packet transmitting unit 13 of the first information processing device 1 transmits a bubble packet to the second communication control device 4. This bubble packet is transmitted by the second communication control device 4 to a port assigned after a predetermined ( ⁇ ) port assignment from the reference port.
- Step S303 The detection packet transmitting unit 14 of the first information processing device 1 transmits the port detection packet to the server 6 via the first communication control device 3. In this transmission, it is assumed that the port detection packet is transmitted so that the port detection packet passes through the port assigned latest in the first communication control device 3. For example, the detection packet transmitting unit 14 has not been used in communication between the first information processing apparatus 1 and the server 6, transmission of the port detection packet in step S301, and transmission of the bubble packet.
- a port detection packet is transmitted using the port of the first information processing device 1.
- the port detection packet transmitted in this manner is accepted by the bubble packet transmission port detection unit 65 of the server 6.
- the bubble packet transmission port detection unit 65 detects the position of the port in the first communication control device 3 used for transmitting the port detection packet by referring to the header of the port detection packet.
- Step S304 The bubble packet transmission port detection unit 65 of the server 6 determines the position of the port of the first communication control device 3 used in the transmission of the two port detection packets in steps S301 and S303. It is determined whether or not the bubble packet transmission port is continuous.
- FIG. 9 is a diagram for explaining the exchange and processing of information between the transmitting side, the server, and the receiving side.
- Step S401 The bubble packet transmission port detection unit 65 of the server 6 detects the position of the bubble packet transmission port.
- Step S 402 The bubble packet transmission port transmitting section 67 of the server 6 transmits bubble packet transmission port information to the second information processing device 2.
- the bubble packet transmission port information is received by the bubble packet transmission port receiving unit 23 of the second information processing device 2.
- Step S403 The server 6 transmits address information indicating the IP address of the first communication control device 3 to the second information processing device 2.
- the address information is received by the communication unit 21 and passed to the reply packet transmitting unit 24.
- Step S404 The reply packet transmitting unit 24 of the second information processing device 2 A reply packet is transmitted to the first first communication control device 3 specified by the address information received in step 1. This reply packet is transmitted to the bubble packet transmission port indicated by the bubble packet transmission port information received by the bubble packet transmission port receiving unit 23.
- step S402 the order of transmission of bubble packet transmission port information (step S402) and transmission of the transmission side address (step S403) does not matter.
- the IP addresses of the first communication control device 3, the second communication control device 4, and the server 6 are , Respectively.
- First communication control device 3 202. 132. 10. 6
- Second communication control device 4 131.206.10.240
- FIG. 10 to FIG. 13 are diagrams for explaining the first specific example.
- a connection request is made from the first information processing device 1.
- the first information processing device 1 knows the IP address “155.32.10.10” of the server 6 in advance, and sends the first information processing device 1 Send the device ID "1234567890123456".
- the device ID for example, a GUID (Global Unique ID) such as a MAC address or an EUI64-based address can be used.
- the transmission of the device ID is performed from the port P1 of the first information processing device 1 to the port P3 of the server 6 via the port P2 assigned by the first communication control device 3.
- the server 6 The device ID of the first information processing device 1, the IP address “202.132.10.6.6” of the first communication control device 3, and the port number “10034” of the port P2 of the first communication control device 3 You can know. These pieces of information are stored in the server 6.
- the first information processing device 1 transmits the device ID “9876543210123456” of the second information processing device 2 requesting the connection to the sano 6 so that the second green information processing device 2 Make a connection request to.
- the server 6 receives the connection request, and determines whether or not the second information processing device 2 has already accessed the 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 server 6 transmits the device ID “9 876543210123456” of the second information processing device 2 and the second communication control device 4
- the IP address “131.206.10.240” and the port number “23495” of the port P5 of the second communication control device 4 used for transmitting and receiving information between the second information processing device 2 and the server 6 "And hold them. If the second information processing device 2 has already accessed the server 6, the process regarding the reception of the reference port information (step S101) is started. On the other hand, if the second information processing device 2 does not access the server 6, the connection request of the first information processing device 1 becomes an error, and the first information processing device 1 and the second information processing device 1 Communication between device 2 cannot be established.
- the server 6 transmits the reference port detection packet to the second information processing device 2 via the port P5 of the second communication control device 4. Request is made (step S201). Then, the transmission request is accepted by the reference port detection packet transmission unit 22 of the second information processing device 2. Then, in the second information processing device 2, the reference port detection packet transmitting unit 22 transmits the second port P8, which is different from the port P6 used in the communication with the A reference port detection packet is transmitted via the communication control device 4 (step S202). In the transmission of the reference port detection packet, it is assumed that the second communication control device 4 has newly assigned the port P7 (port number “23500”). This reference port detection packet is received by the reference port detection unit 62 of the server 6. And the reference port The port number “23500” is detected as the position of the port P7 (step S203).
- the reference port transmission unit 63 receives the port number "23500" from the reference port detection unit 62, and composes reference port information including the port number "23500" of the reference port P7. Is transmitted to the first information processing apparatus 1 (step S204). This transmission is performed via the port P2 in the first communication control device 3.
- the reference port receiving unit 12 of the first information processing device 1 receives the reference port information via the communication unit 11, and transmits a bubble packet of the port number "23500" of the reference port P7 included in the reference port information. Pass to Part 13.
- the server 6 transmits the address information indicating the IP address "131.206.10.240" of the second communication control device 4 to the first information processing device 1 (step S205).
- the address information is received by the communication unit 11 and passed to the bubble packet transmission unit 13. In this manner, the bubble packet transmitting unit 13 can know the IP address “131.206.10.24” of the second communication control device 4.
- the port number differential detection packet transmitting unit 15 transmits a plurality of port number differential detection packets as shown in FIG. 7 (step S206). .
- FIG. 10 does not explicitly show the transmission of the port number detection packet.
- the port width detection packet is received by the port width detection unit 64 of the server 6, and the port width is detected. In this case, it is assumed that the port width is detected as “1” (step S207).
- the detected port width is passed to the bubble packet transmission port detection unit 65.
- the port-width detection packet transmitting unit 26 transmits a plurality of port-width detection packets in response to an instruction from the port width detection unit 64 of the server 6 (Step S208).
- the transmission of the port number detection packet is not explicitly shown.
- the port number detection packet is received by the port number detection unit 64 of the server 6, and the port number is detected. In this case, it is assumed that the port width is detected as "1" (step S209).
- the port width transmitting unit 68 transmits the detected port width “1” to the first information processing device 1 (Step S210). Then, the port width “1” is received by the port width receiving unit 19 and passed to the noble packet transmitting unit 13.
- bubble packet transmitting section 13 Before transmitting a bubble packet, bubble packet transmitting section 13 transmits a detection packet. An instruction to transmit a port detection packet is sent to the unit 14. Then, the detection packet transmitting unit 14 uses a newly allocated port (that is, a port newly allocated by the first information processing device 1) which has not been used for communication with the server 6 until then. A port detection packet is transmitted to port P15 of server 6 using a certain port P9 (step S301). It is assumed that the port P15 is a port specified by the server 6. This port detection packet is transmitted in the first communication control device 3 using the newly assigned port P12 (port number “10040”). The bubble packet transmission port detection unit 65 of the server 6 receives this port detection packet and detects the port number “10040” of the port P12 of the first communication control device 3. The bubble packet transmission port detection unit 65 holds the port number “10040” of the port P12.
- bubble packet transmitting section 13 After transmitting the bubble packet, bubble packet transmitting section 13 passes an instruction to transmit a port detection packet to detection packet transmitting section 14. Then, the detection packet transmitting unit 14 uses the newly assigned port P11, which has not been used for communication with the server 6, to detect the port 16 of the server 6, A packet for transmission is transmitted (step S303). This port detection packet is newly transmitted to the first communication control device 3. It is transmitted using the port P14 (port number “10042”) that has been assigned. Thus, the bubble packet and the port detection packet are transmitted using different ports in the first communication control device 3.
- the bubble packet transmission port detection unit 65 of the server 6 receives the port detection packet, and detects the port number “10042” of the port P14 of the first communication control device 3. Then, the bubble packet transmission port detecting unit 65 determines that the difference between the held port number “100 40” of the port P12 and the detected port number “10042” of the port P14 is “2”, and in Step S207, Since the detected port width is twice as large as “1”, the ports P12 and P14 of the first communication control device 3 used for transmitting the two port detection packets and the bubble packet transmission port P13 are used. It is determined that they are continuous (step S304).
- step S103 it is determined that the position of the bubble packet transmission port can be detected (step S103), and the bubble packet transmission port detection unit 65 determines the position of the bubble packet transmission port as the port number in the middle of port P12 and port P14. "10041" is detected (step S401).
- Bubble packet transmission port transmitter 67 configures bubble packet transmission port information including port number "10041" of bubble packet transmission port P13 detected by bubble packet transmission port detector 65, and transmits the bubble packet.
- the port information is transmitted to the second information processing device 2 via the port P5 of the second communication control device 4 (Step S402).
- the bubble packet transmission port information is received by the bubble packet transmission port receiving unit 23 of the second information processing device 2.
- the port number “10041” of the bubble packet transmission port P13 included in the bubble packet transmission port information is passed to the reply bucket transmitting unit 24.
- the server 6 transmits address information indicating the IP address “202.132.16.6” of the first communication control device 3 to the second information processing device 2 (step S403).
- the address information is received by the communication unit 21 and passed to the reply packet transmitting unit 24. In this way, the reply packet transmitting unit 24 can know the IP address “202.132.10.6” of the first communication control device 3.
- the reply packet transmitting unit 24 transmits 50 reply packets to the bubble packet transmitting port P13 of the port number "10041" in the first communication control device 3 of the IP address "202.
- a transmission packet is transmitted (step S404).
- the number of 50 corresponds to the value of ⁇ received from the server 6 by the reply packet transmitting unit 24.
- the reply packet transmitting unit 24 newly allocates the 50 reply packets in the second information processing apparatus 2 (that is, used for communication with the server 6 up to that time! / ⁇ ). Transmit using port # 20-P21. Therefore, the reply packet is also transmitted from the second communication control device 4 using the newly assigned 50 ports P18 to P19 (see FIG. 12).
- the latest port assigned when the reference port detection packet is transmitted is port # 7, and a bubble is sent to port P17 whose port number is 50 away from port # 7. Since the packet has been transmitted, port P17 has already been used by a device other than the second information processing device 2 when transmitting the return packet. Is transmitted to the first communication control device 3 using the bubble packet transmission target port P17. Then, the first communication control device 3 uses the PS NAT, and the transmission history of transmitting the bubble packet to the bubble packet transmission target port P17 remains in the first communication control device 3. Therefore, it is possible to accept only a reply packet transmitted using the target packet transmission target port P17. The reply packet is received by the reply packet receiving unit 17 via the port P10 of the first information processing device 1.
- the reply packet transmitting unit 24 of the second information processing device 2 after transmitting the 50 reply packets, notifies the end of the transmission of the reply packet via the port P5 of the second communication control device 4 To server 6. Then, the server 6 receives the notification that the transmission of the reply packet has been completed, and transmits the notification to the first information processing device 1 via the port P2 of the first communication control device 3.
- the reply packet receiving unit 17 of the first information processing device 1 receives that fact, it has already received the reply packet, so the second packet to which the reply packet included in the header of the reply packet 17 has been transmitted is transmitted.
- step S105 Acquires the port number "23550" of port P17 of communication control device 4, sends the port number and the instruction to send the re-reply packet, and sends the re-reply packet. Hand over to part 18 (step S105). If the reply packet receiving unit 17 has not received the reply packet, the reply packet receiving unit 17 transmits to the server 6 that the reply packet has not been received. As a result, the server 6 again transmits a reference port detection packet transmission request to the second information processing device 2, and establishes a connection between the first information processing device 1 and the second information processing device 2. Is performed again (steps S101-S104).
- the re-reply packet transmitting unit 18 transmits the re-reply packet to the port P17 of the port number “23 550” received from the reply packet receiving unit 17 (Step S106).
- the re-reply packet is transmitted to the second information processing device 2 using the port P13 of the first communication control device 3 and the port P17 of the second communication control device 4, and is transmitted to the second information processing device 2.
- Re-reply packet reception unit 25 of device 2 accepts the packet.
- the re-reply packet transmitting unit 18 transmits to the server 6 via the port P 2 of the first communication control device 3 that transmission of the re-reply packet has been completed. Then, the server 6 receives the notification that the transmission of the re-reply packet has been completed, and transmits the notification to the second information processing device 2 via the port P5 of the second communication control device 4.
- the re-reply packet receiving unit 25 of the second information processing device 2 receives that fact. In this case, since the re-reply packet receiving unit 25 has already received the re-reply packet, the process of establishing communication between the first information processing apparatus 1 and the second information processing apparatus 2 ends. (Step S107).
- the re-reply packet receiving unit 25 If the re-reply packet receiving unit 25 does not receive the re-reply packet, the re-reply packet receiving unit 25 transmits to the server 6 that the re-reply packet is not received. As a result, the server 6 transmits a reference port detection packet transmission request to the second information processing device 2 again, and establishes a connection between the first information processing device 1 and the second information processing device 2. Is performed again (steps S101-S106).
- the port detection packet and the bubble packet are transmitted using continuous ports in the first communication control device 3, for example.
- the port detection packet and the bubble packet are consecutive in the first communication control device 3. If the packet is not transmitted using the port, the transmission of the bubble packet and the port detection packet are performed according to the port of the first communication control device 3 used in the transmission of the port detection packet and the bubble packet. This is repeated until the transmission port becomes a continuous port (steps S102 and S103).
- the reason why the port of the first communication control device 3 used for transmitting the port detection packet and the bubble packet transmission port do not become continuous ports in the first communication control device 3 is as follows.
- a device (not shown) other than the first information processing device 1 is connected to the local side of the communication control device 3 from transmission of a port detection packet to transmission of a bubble packet, or from transmission of a bubble packet to transmission of a port.
- the port of the first communication control device 3 may be assigned to the device.
- transmission of the device ID from the first information processing device 1, transmission of the device ID from the second information processing device 2, and transmission of the address information from the server 6 Transmission and reception of information between these devices are performed by a control unit (not shown) in the first information processing device 1 or the like. This is the same in the following specific examples.
- the destination ports P15 and P16 of the port detection packet may be the same port, or may be the same as port P3.
- the reply packet receiving unit 17 acquires the port number of the second communication control device 4 used for transmitting the reply packet from each reply packet, and passes the port number to the re-reply packet transmitting unit 18.
- the re-reply packet transmitting unit 18 receives the port number and transmits a re-reply packet to each port number received by the second communication control device 4 (see FIG. 14).
- the Sd NAT used in the first communication control device 3 uses the bubble packet transmission port P13 in the first communication control device 3 because the transmission port assignment rule is Port Sensitive. Can be transmitted only when the packet is transmitted to the bubble packet transmission target port P17 of the second communication control device 4. Therefore, as shown in FIG.
- re-reply ports transmitted to ports other than the bubble packet transmission target port P17 are transmitted using the ports P22-P23 newly allocated by the first communication control device 3. Since the second communication control device 4 uses PS NAT, it cannot accept a re-reply packet from a port other than the port of the first communication control device 3 that transmitted the reply packet. Therefore, the re-reply packet receiving unit 25 of the second information processing device 2 can receive only the re-reply packet transmitted to the bubble packet transmission target port P17. In this way, communication between the first information processing device 1 and the second information processing device 2 is established.
- the significance of transmitting a re-reply packet from the first information processing device 1 to the second communication control device 4 will be described. Even if the first information processing device 1 receives the reply packet, the communication between the first information processing device 1 and the second information processing device 2 can be reliably performed via the port through which the reply packet has passed. Not established. This is because, as in the specific example 2 above, communication can be established only on the route of the reply packet transmitted via the bubble packet transmission target port P17 among the received reply packets. The following situation is also conceivable.
- the reply packet is a bubble packet
- the first information processing apparatus 1 can accept all reply packets. However, even if the first information processing device 1 transmits a re-reply packet for the reply packet, the re-reply packet is not accepted by the second information processing device 2 and communication is not established. As described above, by transmitting the re-reply packet, the position of the port used in Peer-to-Peer communication that can be established between the first information processing device 1 and the second information processing device 2 is confirmed. It is also possible to confirm whether communication between the first information processing device 1 and the second information processing device 2 can be established.
- Example 3 a case will be described in which the first communication control device 3 uses Sd NAT and the second communication control device 4 uses AS NAT.
- this specific example 3 a special case will be described in which communication without using a bubble packet transmission target port is established between the first information processing device 1 and the second information processing device 2.
- FIG. 15 is a diagram illustrating transmission of a reply packet from second information processing device 2. Since the bubble packet transmission target port P17 has already been used by another device in the transmission of this reply packet, the reply packet is transmitted to the ports P24 to P25 in the second communication control device 4 not including the bubble packet transmission target port P17. And sent via Since the first communication control device 3 uses the NAT of the No filter, the first information processing device 1 accepts all the reply packets.
- FIG. 16 is a diagram illustrating transmission of a re-reply packet.
- the re-reply packet transmitting unit 18 has transmitted a re-reply packet to ports P24 to P25 of the second communication control device 4.
- a re-reply bucket is sent using the newly allocated ports P26 to P27 to the port P24 of the second communication control device 4.
- Sent to P25 since the second communication control device 4 uses AS NAT, that is, NAT of an Address Sensitive filter, these re-reply packets are accepted by the second communication control device 4, and the second information processing device 2 Passed to port P20—P21.
- the second information processing device 2 returns One of the received packets (for example, the one that arrived first) and the route on which the retransmitted packet was transmitted (for example, port P26 of the first communication control device 3, Communication with the first information processing device 1 can be performed via the port P24) of the communication control device 4.
- the situation of this specific example 3 is that the first communication control device 3 uses a No filter or an AS filter, and the second communication control device 4 uses a No filter or an AS filter. Appropriate. Therefore, in these cases, if the position of the bubble packet transmission port P13 can be accurately grasped, the connection between the first information processing device 1 and the second information processing device 2 can be reliably realized. It becomes.
- the NAT used in the first communication control device 3 When the NAT used in the first communication control device 3 is a No filter, all return packets can be accepted by the first information processing device 1. Also, when the NAT used in the first communication control device 3 is an AS filter, since all bubble packets are transmitted to the second communication control device 4, all return packets are sent. The information can be received by the first information processing device 1. If the NAT port assignment rule used in the first communication control device 3 is Cone or Address Sensitive, the first information processing device 1 sends a bubble packet to the received reply packet. It is possible to transmit a re-reply packet using the transmission port P13.
- the second communication control device Regardless of the NAT type, if the position of the bubble packet transmission port P13 can be accurately grasped, the connection between the first information processing device 1 and the second information processing device 2 should be realized reliably. Can be done.
- the first communication control device 3 and the second communication control device 4 may be Open NAT (NAT is not used! /).
- the communication system according to the present embodiment reduces the processing load on the server by performing detection of the bubble packet transmission port, detection of the port width, and the like in the information processing device that is not the server.
- the configuration of the communication system according to the present embodiment includes first information processing device 10, second information processing device 2, and server 6 instead of first information processing device 10, second information Except for having the processing device 20 and the server 60, the configuration is the same as that of FIG.
- FIG. 18 is a block diagram showing a configuration of the first information processing device 10 according to the present embodiment.
- the first information processing apparatus 10 includes a communication unit 11, a reference port reception unit 12, a bubble packet transmission unit 13, a detection packet transmission unit 14, and a port width detection packet transmission unit 15.
- the configuration and operation other than the detection port information reception unit 71, bubble packet transmission port detection unit 72, bubble packet transmission port transmission unit 73, port width detection port information reception unit 74, and port width detection unit 75 are based on the port width.
- This is the same as Embodiment 1 except that the receiving unit 19 receives the port width information transmitted from the second information processing device 20 via the server 60, and a description thereof will be omitted.
- the detection port information receiving unit 71 receives the detection port information transmitted from the server 60 via the communication unit 11.
- the detection port information is information indicating the position of the port of the first communication control device 3 through which the port detection packet transmitted by the detection packet transmitting unit 14 has passed.
- the bubble packet transmission port detection unit 72 detects the position of the bubble packet transmission port based on the detection port information received by the detection port information reception unit 71.
- the bubble packet transmission port detection unit 72 detects the position of the bubble packet transmission port using the port width in the first communication control device 3 detected by the port width detection unit 75. This detection of the position of the public packet transmission port is performed in the same manner as the bubble packet transmission port detection unit 65 in the first embodiment, and the description thereof will be omitted.
- the bubble packet transmission port detection unit 72 passes an instruction to retransmit the port detection packet to the detection packet transmission unit 14 when the position of the bubble packet transmission port cannot be detected, and An instruction to retransmit the packet is passed to the bubble packet transmitting unit 13.
- the detection packet transmitting unit 14 transmits the port detection packet again according to the instruction.
- bubble packet transmitting section 13 transmits bubble packets again according to the instruction. This retransmission is performed until the bubble packet transmission port detection unit 72 can detect the position of the bubble packet transmission port, or a predetermined upper limit (for example, 10 times), or a predetermined time (for example, 30 times). (E.g., seconds).
- the bubble packet transmission port transmission unit 73 transmits bubble packet transmission port information indicating the position of the bubble packet transmission port detected by the bubble packet transmission port detection unit 72 to the second information processing device 20 via the server 60. Send to
- Port width detection port information receiving 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 width detection port information is transmitted from the server 60.
- the port width detecting section 75 detects the port width in the first communication control device 3 based on the port number detecting port information received by the port number detecting port information receiving section 74. This port width detection is performed in the same manner as the port width detection unit 64 in the first embodiment, and the description thereof will be omitted.
- 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 reference port detection packet transmission unit 22, a bubble packet transmission port reception unit 23, a reply packet transmission unit 24, and a re-reply packet reception.
- a port 25 a port-width detecting packet transmitting unit 26, a port-width detecting port information accepting unit 81, a port width detecting unit 82, and a port width transmitting unit 83.
- the configuration and operation other than the port width detection port information reception unit 81, the port width detection unit 82, and the port width transmission unit 83 are the same as those of the first embodiment, and a description thereof will be omitted.
- Port width detection port information receiving unit 81 receives port width detection port information.
- the port number detection port information is information indicating the position of the port of the second communication control device 4 through which the port number detection packet transmitted by the port number detection packet transmitting unit 26 has passed. This port width detection port information is transmitted from the server 60.
- the port width detection unit 82 detects the port width in the second communication control device 4 based on the port width detection port information received by the port width detection port information reception unit 81. This port width detection is performed in the same manner as the port width detection unit 64 in the first embodiment, and the description thereof will be omitted.
- the port-width transmitting unit 83 transmits the port-width information, which is the information indicating the port width in the second communication control device 4 detected by the port-width detecting unit 82, via the server 60 to the first information processing. Send it to device 10.
- FIG. 20 is a block diagram showing a configuration of server 60 according to the present embodiment.
- the server 60 includes a communication unit 61, a reference port detection unit 62, a reference port transmission unit 63, a detection port detection unit 91, a detection port information transmission unit 92, and a port width detection It includes a port detection unit 93 and a port number detection port information transmission unit 94.
- the configuration and operation other than the detection port detection unit 91, the detection port information transmission unit 92, the port width detection port detection unit 93, and the port width detection port information transmission unit 94 are the same as those in the first embodiment. , Its explanation is omitted.
- the detection port detection unit 91 receives the port detection packet transmitted from the first information processing device 10, and based on the port detection packet, performs the first communication control through which the port detection packet has passed. Detect the position of the port of device 3. The port position is detected by determining the position of the port of the first communication control device 3 through which the port detection packet included in the port detection packet (for example, included in the header of the port detection packet) has passed. It is done by getting.
- the detection port information transmission unit 92 transmits detection port information indicating the position of the port detected by the detection port detection unit 91 to the first information processing device 10.
- Port width detection port detection section 93 receives a port width detection packet transmitted from first information processing device 10 via first communication control device 3, and receives the port width detection packet. The port position of the first communication control device 3 through which the port number detection packet has passed is detected based on the port number. Further, the port number detection port detection unit 93 receives a port number detection packet transmitted from the second information processing device 20 via the second communication control device 4, and receives the port number detection packet. The position of the port of the second communication control device 4 through which the port number detection packet has passed is detected based on the port number.
- the port number detection port information transmitting unit 94 is a port width indicating the position of the port of the first communication control device 3 through which the port number detection packet has been detected, detected by the port number detection port detecting unit 93.
- the detection port information is transmitted to the first information processing device 10. Further, the port number detection port information transmission unit 94 detects the port number of the second communication control device 4 through which the port number detection packet has passed, which is detected by the port number detection port detection unit 93. Port information to the second information processing device 20.
- a first port width detection port detection unit that detects the position of a port in the first communication control device 3 through which the port number detection packet has passed, and a second port number detection unit that has passed the port number detection packet A second port width detection port detection unit that detects the position of the port in the communication control device 4.
- a first port width detection port that transmits port width detection port information indicating the port position in the first communication control device 3 through which the port width detection packet has passed to the first information processing device 10.
- An information transmitting unit and a port width detection packet indicating the position of the port in the second communication control device 4 through which the port width detection packet has passed A second port width detection port information transmitting unit that transmits port information to the second information processing device 20 may be provided.
- a port width detection port detection unit 93 and a port width detection port information transmission unit 94 realize them in one. That is, of the port number detection port detector 93, the portion of the first communication control device 3 through which the port number detection packet has passed to detect the port position is the first port number detection port detector, The portion that detects the position of the port in the second communication control device 4 through which the width detection packet has passed is the second port width detection port detection unit. Similarly, in the port number detection port information transmitting unit 94, the port number detection port information indicating the position of the port in the first communication control device 3 through which the port number detection packet has passed is transmitted to the first information processing device 10.
- the portion to be transmitted to the first port width detection port information transmission unit is used to transmit port width detection port information indicating the position of the port in the second communication control device 4 through which the port width detection packet has passed.
- the portion to be transmitted to the information processing device 20 is the second port number detection port information transmission unit.
- the operation until the communication system according to the present embodiment starts communication is the same as that of the first information processing apparatus 10 except that the first information processing device 10 detects a bubble packet transmission port and instructs retransmission of a bubble packet or the like.
- the operation is the same as that shown in FIG. 5 in Embodiment 1, and the description thereof is omitted.
- FIG. 21 is a diagram for explaining the exchange and processing of information between the transmitting side, the server, and the receiving side. Note that the processing in steps S201 to S206 is the same as the description related to FIG. 6 in the first embodiment, and a description thereof will be omitted.
- Step S501 The port detection unit 93 for port number detection of the server 60 receives the port number detection packet transmitted from the first information processing apparatus 10. 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.
- Step S502 The port number detection port information transmitting unit 94 detects the port 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 stored in the first information processing apparatus. Send to 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 S 504 Port number detection port detector 93 of server 60 receives a port number detection packet transmitted from second information processing device 20. 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 S505 The port number detection port information transmitting unit 94 sends the port number of the second communication control device 4 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 second information processing device 20.
- the port width detection port information is received by the port width detection port information receiving unit 81 in the second information processing device 20.
- the port width detection unit 82 determines the port width of the second communication control device 4 based on the port width detection port information received by the port width detection port information reception unit 81. 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.
- Port width transmitting section 83 transmits port width information, which is information indicating the port width of second communication control device 4, and transmits the port width information to first information processing device 10. It is transmitted to the server 60 together with the instruction to the effect.
- Step S508 The communication unit 61 of the server 60 receives the port width information, and transmits the port width information to the first information processing device 10.
- the port width information is received by the port width receiving unit 19 in the first information processing device 10.
- FIG. 22 is a diagram for explaining the exchange and processing of information between the transmitting side, the server, and the receiving side. Note that the processing in steps S301 to S303 is performed by the port detection packet. Except that the packet is accepted by the detection port detection unit 91 in the server 60, the description is the same as that of FIG.
- Step S601 The detection port detection unit 91 of the server 60 receives the port detection packet transmitted from the first information processing device 10. Then, the detection port detection unit 91 detects the position of the port of the first communication control device 3 through which the port detection packet has passed, which is included in the header of the port detection packet.
- the detection port information transmission unit 92 is a detection port that indicates the position of the port of the first communication control device 3 through which the port detection packet has been detected, detected by the detection port detection unit 91.
- 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 S603 The detection port detection unit 91 of the server 60 receives the port detection packet transmitted from the first information processing device 10. Then, the detection port detection unit 91 detects the position of the port of the first communication control device 3 through which the port detection packet has passed, which is included in the header of the port detection packet.
- Step S604 The detection port information transmission unit 92 detects the port position of the port of the first communication control device 3 through which the port detection packet has been 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 S605 The bubble packet transmission port detection unit 72 of the first information processing device 10 determines whether the first communication control device 3 used in the transmission of the two port detection packets in steps S301 and S303 has It is determined whether the position of the port and the bubble packet transmission port are continuous. Note that the specific determination method is the same as that of the first embodiment, and a description thereof will be omitted.
- the flowchart of Fig. 22 describes a case where the first information processing apparatus 10 receives the detection port information transmitted in step S602 and transmits a bubble packet.
- the order of receiving port information and sending bubble packets is It is not limited to. For example, after transmitting the port detection packet for the second time (step S303), transmitting the port information for the first detection (step S602) and transmitting the port information for the second detection (step S604) May be. Also, detection port information indicating the port positions detected in steps S601 and S603 may be transmitted together.
- FIG. 23 is a diagram for explaining the exchange and processing of information between the transmitting side, the server, and the receiving side. Note that the processing in steps S403 and S404 is the same as the description related to FIG. 9 in the first embodiment, and a description thereof will be omitted.
- Step S701 The bubble packet transmission port detection section 72 of the first information processing device 10 detects the position of the bubble packet transmission port. It should be noted that a specific determination method is the same as in Embodiment 1, and a description thereof will be omitted.
- Step S702 The bubble packet transmission port transmitting section 73 of the first information processing device 10 transmits the bubble packet transmission port information to the second information processing device 20 to transmit the bubble packet transmission port information. Send to server 60 with instructions.
- Step S703 The communication unit 61 of the server 60 receives the bubble packet transmission port information and transmits the bubble packet transmission port information to the second information processing device 20.
- the bubble packet transmission port information is received by the bubble packet transmission port receiving unit 23 in the second information processing device 20.
- the detection of the port width in first communication control device 3 and the second communication control device 4 are each performed in the first information processing.
- the device 10 and the second information processing device 20 perform the detection of the position of the bubble packet transmission port in the first information processing device 10 and perform the processing accompanying them (for example, the bubble packet transmission port).
- This is the same as the specific example in Embodiment 1 except that the information is transmitted from the first information processing device 10 to the second information processing device 20, and the description thereof is omitted.
- port width detection in first communication control device 3 is performed by first information processing device 10.
- the detection of the packet transmission port and the transmission of the bubble packet transmission port may be performed, and the detection of the port width in the first communication control device 3 may be performed in the server as in the first embodiment.
- the detection of the port width in the second communication control device 4 or the detection of the position of the bubble packet transmission port may be performed in the server as in the first embodiment.
- the port width detection in second communication control device 4 is performed by second information processing device 20.
- the port width may be detected in the first information processing device 10. By doing so, it is not necessary to transmit the port width information from the second information processing device 20 to the first information processing device 10 via the server 60.
- the port width detection port information which is information indicating the port position in the second communication control device 4 through which the port width detection packet transmitted from the second information processing device 20 has passed is Is transmitted from the server 60 to the first information processing device 10.
- the detection of the bubble packet transmission port is performed by first information processing device 10
- the detection of the bubble packet transmission port is performed by second information processing device 20. May be. By doing so, it is not necessary to transmit the bubble packet transmission port information from the first information processing device 10 to the second information processing device 20 via the server 60.
- the detection port information which is information indicating the position of the port in the first communication control device 3 through which the port detection packet transmitted from the first information processing device 10 has passed, is transmitted from the server 60. This is transmitted to the second information processing device 20. In this case, the detection of the port width in the first communication control device 3 is performed in the second information. You can go to the information processing unit 20!
- the reference port information includes the reference port detection bucket that transmitted the reference port detection bucket.
- the information may be transmitted to the second information processing device 20.
- the reference port information is transmitted again from the second information processing device 20 to the first information processing device 10 via the server 60.
- Information for specifying the device for example, a device ID or an IP address
- the server 60 may transmit information indicating the position of the detected port based on the information.
- the port number detection packet transmitted by the port number detection packet transmitting unit 15 includes the device ID of the first information processing device 10 to which the port number detection port information is transmitted, and the port number detection packet is transmitted.
- the port information transmitting unit 94 may transmit port number detection port information to the first information processing apparatus 10 corresponding to the device ID.
- 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, and a server 6.
- the communication system according to the present embodiment shown in FIG. 24 is the same as the communication system according to the first embodiment except that 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, and the computer are the same as those in the first embodiment, and the description thereof will not be repeated.
- 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 communicates via the communication control device of Full Cone NAT. To It is determined that you are doing. Therefore, the operation according to the present embodiment is the same as the case where the second communication control device 4 is the Full Cone NAT in the first embodiment, and the first information processing device 1 and the second information processing Communication with the device 2 can be established (in FIG. 17, the case where one NAT is Open NAT corresponds to the present embodiment).
- 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 Embodiment 1 has the same configuration as that of Embodiment 1, 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 includes 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.
- the servers 6 and 60 have a function of notifying the information processing device of the IP address of the communication control device of the other party. It may be realized in another server. That is, a server that notifies one information processing device of the address of the other communication control device and a server that performs processing for detecting a bubble packet transmission port and the like may be different servers. That is, in the communication system shown in FIG. 25, the first information processing device 1 and the second information processing device 2 use the addresses of the first communication control device 3 and the second communication control device 4 as the address.
- the server 6a may be used in the process of establishing communication between the information processing devices obtained from the server b.
- one information processing device is connected to the other communication control device (when no communication control device is provided).
- the process of notifying the address of the information processing device or the process of calling the information processing device of the calling side to the information processing device of the other party (the called side) using the SIP (Session Initiation Protocol). Is also good.
- the reference port is described as the port that is most recently allocated when transmitting the reference port detection packet.
- this reference port may not be the port that is allocated the latest.
- the only devices connected to the second communication control device 4 are the second information processing devices 2 and 20, and the number of ports used by the second communication control device 4 should be roughly grasped. If this is possible, the port of the second communication control device 4 used for communication with the servers 6, 60 may be used as the reference port.
- the reference port detection packet is a packet that communicates with the servers 6 and 60.
- the port detection packet is mainly transmitted twice before and after transmitting the bubble packet.
- the port detection packet may be transmitted before and after transmitting the bubble packet. Or just send it once.
- the bubble packet transmission port is detected on the assumption that the bubble packet transmission port and the port of the first communication control device 3 used for transmitting the port detection packet are continuous. If the assumption is correct, transmission of a reference port detection packet is performed again (the process from step S101 is repeated).
- the bubble packet transmission port detecting sections 65 and 72 determine whether the position of the bubble packet transmission port can be detected and then detect the position of the bubble packet transmission port.
- the position of the bubble packet transmission port may be detected without making the determination.
- the predetermined case is, for example, when the first communication control device 3 is connected to any other than the first information processing devices 1 and 10 and is used for transmitting a bubble packet transmission port and a port detection packet. There is a case where there is a high possibility that the port of the first communication control device 3 that is set is continuous.
- the return packet is transmitted to the first communication control device 3.
- the information processing devices 1 and 10 will not be accepted, and the transmission power of the reference port detection packet will be repeated again.
- a retransmission instruction may be transmitted to the first information processing apparatus 1 as described in the above embodiments, or a retransmission instruction may be issued to the bubble packet transmitting apparatus 13 or the like.
- the process from transmission of the reference port detection packet may be performed again to end the process of establishing communication.
- bubble packet transmission port detection sections 65 and 72 determine whether the bubble packet transmission port and the port of first communication control device 3 used in transmitting the port detection packet are continuous. May be performed by determining that the continuation is continuous when the probability of the continuation is high. For example, when the port width of the first communication control device 3 can change between “1” and “2” (for example, when changing over time), the first communication control device 3 uses the first If the interval between the ports of the communication control device 3 is “2”, “3”, or “4”, there is a possibility that the ports are continuous. Also in this case, for example, if the interval between the ports of the first communication control device 3 used for transmitting the port detection packet is “5”, it is determined that the ports are not continuous!
- the port width is detected by the port width detection units 64, 75, and 82
- a CD-ROM or a removable memory may be transferred to the server 6, 60 or the first information processing device 1, 10 by communication, or may be transferred to the first communication control device 3, etc.
- the stored port width may be obtained.
- the first information processing apparatuses 1, 10 and the like can obtain the IP address of the second communication control apparatus 4 and the like. That is, the IP address may be input to the first information processing device 1, 10 or the like by a user's manual input or the like.
- first information processing apparatuses 1 and 10 use bubble packets and port detection packets, and use new ports of first information processing apparatuses 1 and 10, respectively.
- the first information processing device 1 detects that the first communication control device 3 uses the NAT which is a port allocation rule of Port Sensitive,!
- the bubble packet, and the port The detection packet may be transmitted from the same port of the first information processing device 1 or 10.
- the port to which the port detection packet is sent (the port of server 6, 60) must be different.
- the case where the reply packet is transmitted using the newly assigned port of the second communication control device 4 at the time of transmitting the reply packet has been described by way of example.
- the ports of the second communication control device 4 used for transmitting the return packet include the ports used so far, for example, the port used for transmitting the reference port detection packet. You can do it.
- the number of assignable ports ( ⁇ ) from the reference port to the bubble packet transmission target port may be increased each time a bubble packet or the like is retransmitted. That is, every time a bubble packet or the like is retransmitted, the bubble packet transmitting unit 13 may transmit the bubble packet to a bubble packet transmission target port farther away from the reference port. This makes it easier to avoid using the bubble packet transmission target port until the return packet is transmitted.
- the number of ports ( ⁇ ) that can be assigned by the reply packet transmitting unit 24 from the bubble packet transmitting unit 13 to the bubble packet transmitting target port via the server 6 from the bubble packet transmitting unit 13 may be transmitted from the servers 6 and 60 to the bubble packet transmitting unit 13 and the reply packet transmitting unit 24 (in this case, the port width information is transmitted to the The information may not be transmitted to the first information processing device 1), and the value of ⁇ may be set in the first information processing devices 1 and 10 and the second information processing devices 2 and 20 in advance. May be.
- reply packet transmitting section 24 transmits the reply buckets of the number (a) of allocatable ports from the reference port to the bubble packet transmission target port.
- the reply packet transmitting unit 24 may transmit more than one reply packet, or may transmit reply packets of ⁇ or less.
- the reply packet transmitting unit 24 instead of receiving the value of ⁇ from the bubble packet transmitting unit 13 via the servers 6 and 60, the reply packet transmitting unit 24 receives the difference between the port numbers of the reference port and the bubble packet transmitting target port, and receives the difference. May be transmitted as many as the number of return packets. In this case, send a reply packet The transmitting unit 24 transmits a return packet of a multiple of ⁇ .
- the port width in the second communication control device 4 detected by the port width detection units 68 and 82 is a multiple of the actual port width.
- the value of the difference between the reference port and the port number to which the bubble packet is sent is the number of return packets. This is because the transmission of the reply packet using the bubble packet transmission target port can be performed more reliably. Also, for example, if the second information processing devices 2 and 20 know the number of ports assigned after the assignment of the reference port in the second communication control device 4, a The number of reply packets may be transmitted.
- the return packet is transmitted using the bubble packet transmission target port (however, the detection of the port width of the second communication control device 4 needs to be accurate). . Therefore, if up to one port before the target port for transmitting bubble packets is assigned, only one reply packet may be transmitted.
- the first information processing apparatuses 1 and 10 and the second information If communication with the processing devices 2 and 20 can be established the re-reply packet does not have to be sent.
- the first information processing apparatuses 1 and 10 receive a reply packet transmitted using the target port for transmitting a bubble packet
- the first information processing apparatuses 1 and 10 transmit the bubble packet and the peer-to-peer communication via the target port for transmitting the bubble packet. It is not necessary to send a re-reply packet because it is possible!
- whether or not a reply packet has been accepted is determined via the servers 6 and 60 to the effect that the reply packet has been transmitted from the second information processing device 2 or 20.
- a reply packet is not accepted after a predetermined period of time (eg, 15 seconds) after sending a bubble packet, the reply packet cannot be accepted. It may be determined that the user is powerful (that is, the user cannot establish communication). This also applies to the re-reply packet.
- the re-reply packet is transmitted and the re-reply packet is accepted even if a predetermined time elapses. In other cases, the re-reply packet is accepted.
- a communication system according to a fourth embodiment of the present invention will be described with reference to the drawings.
- the communication system according to the present embodiment a case will be described in which communication using SIP is performed using the method for detecting the position of the public packet transmission port described in each of the above embodiments.
- FIG. 26 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 communication control device 3, a second information processing device 40, a port detection server 51, and a SIP server 52.
- the communication control device 3 has a NAT function and performs address conversion, port assignment, packet filtering, and the like, and is different from the first communication control device 3 in each of the above embodiments. The description is omitted because it is the same.
- FIG. 27 is a block diagram showing a configuration of the first information processing device 30 according to the present embodiment.
- the first information processing apparatus 30 includes a communication unit 11, a bubble packet transmission unit 13, a detection packet transmission unit 14, a port width detection packet transmission unit 15, and a detection port information reception unit. 71, a bubble packet transmission port detecting section 72, a port information detecting port information receiving section 74, a port width detecting section 75, and a SIP processing section 31.
- the configuration and operation other than the SIP processing unit 31 are the same as those in the second embodiment, and the description thereof will not be repeated.
- the bubble packet transmitting unit 13 does not transmit a bubble packet.
- the bubble packet is transmitted to the target port for transmitting the bubble packet based on the information indicating the position of the port.
- the SIP processing unit 31 performs SIP-related processing. Specifically, processing such as transmission of a connection request and acquisition of the address and port number of the communication partner is performed with the SIP server 52. Since these processes are the same as those conventionally performed, description thereof will be omitted.
- the second information processing device 40 is a terminal device (for example, a VoIP telephone terminal device) that performs Peer to Peer voice communication with another client terminal via the SIP server 52. The second information processing device 40 informs another client terminal via the SIP server 52 of the IP address of the second information processing device 40, the position of the transmission port, and the position of the reception port.
- the receiving port of another client terminal is received via the SIP server 52, and the destination of the packet can be set to the receiving port in Peer to Peer voice communication.
- the transmission port of a certain client terminal is a port at which that client terminal transmits information to another client terminal.
- the reception port of a certain client terminal is a port at which that client terminal receives information from other client terminals.
- the second information processing device 40 is a general SIP client terminal, and a detailed description thereof will be omitted.
- FIG. 28 is a block diagram showing a configuration of the port detection server 51 according to the present embodiment.
- the port detection server 51 performs processing for detecting the position of the port of the communication control device 3 through which the bubble packet transmitted from the first information processing device 30 has passed.
- the port detection server 51 includes a communication unit 61, a detection port detection unit 91, a detection port information transmission unit 92, a port width detection port detection unit 93, and a port width detection port information transmission unit 94. . These components are the same as those in the second embodiment, and a description thereof will be omitted.
- the SIP server 52 is a server that performs SIP-related processing.
- SIP-related processing includes, for example, registrar processing for registering addresses in response to address notifications from clients, location and service processing for managing client addresses, and location 'service
- the proxy server searches for the destination address and forwards it to the destination client.
- Each function of the SIP server 52 may be realized by two or more servers. Further, the SIP server may be provided on each of the first information processing device 30 side and the second information processing device 40 side. In this case, for example, the first information processing device 30, the first SIP server, the second SIP server, and the second information processing device 40 are routed from the first information processing device 30 to the second information processing device 40. The relay of information up to the information processing device 40 is performed.
- This SIP server 52 This process is the same as the conventionally performed process, and a detailed description thereof will be omitted.
- FIG. 29 is a diagram for explaining a process of exchanging information between the calling side, the port detection server 51, the SIP server 52, and the called side.
- the first information processing device 30 and the communication control device 3 are the calling side
- the second information processing device 40 is the called side.
- Step S 801 By transmitting and receiving a predetermined packet between the first information processing device 30, which is the device on the calling side, and the port detection server 51, the communication control device 3 on the calling side is transmitted.
- Detect port width The specific processing for detecting the port width is the same as that in steps S206, S501, S502, and S503 in FIG. 21 of the second embodiment, and a description thereof will be omitted.
- Step S 802 First information processing device 30 transmits a communication request to SIP server 52 to request communication with second information processing device 40.
- the IP address of the communication destination client that is, the second information processing device 40
- the position of the transmission port and the position of the reception port are transmitted to the first information processing device 30. It shall contain the instructions of
- Step S803 The SIP server 52 relays the communication request transmitted from the first information processing device 30 to the second information processing device 40. Then, the communication request is received by the second information processing device 40.
- the second information processing device 40 transmits communication destination information including information indicating the IP address, the position of the transmission port, and the position of the reception port of the second information processing device 40 to the SIP server 5.
- Step S805 The SIP server 52 relays the communication destination information transmitted from the second information processing device 40 to the first information processing device 30. Then, the communication destination information is received by the SIP processing unit 31 of the first information processing device 30.
- Step S806 The first information processing device 30 transmits a port detection packet or a bubble packet, and receives port information for detection from the port detection server 51 in response thereto.
- the specific processing for transmitting and receiving the bubble packet and the like is described in FIG. 22 of the second embodiment. This is the same as the processing, and the description thereof will be omitted.
- the bubble packet is transmitted to the transmission port of the second information processing device 40 using the communication destination information received by the SIP processing unit 31. That is, in the present embodiment, the bubble packet transmission target port is the transmission port of the second information processing device 40.
- the port width of the communication control device 3 detected in step S801 is used.
- Step S807 The bubble packet transmission port detection unit 72 of the first information processing device 30 determines whether the position of the bubble packet transmission port can be detected. In the determination of continuity in step S806 (step S605 in FIG. 21), the port of the communication control device 3 used for transmitting the two port detection buckets and the bubble packet transmission port are consecutive! If it is determined to be ⁇ / ⁇ , it is determined that the position of the bubble packet transmission port can be detected, and the process proceeds to step S808; otherwise, it is determined that the position of the bubble packet transmission port cannot be detected. To step S806.
- Bubble packet transmission port detecting section 72 detects the position of the bubble packet transmission port.
- the position of this bubble packet transmission port is the position of the reception port on the calling side.
- Step S809 The SIP processing unit 31 sends a communication request including the global IP address of the communication control device 3 and the position of the bubble packet transmission port (ie, reception port) detected in step S808. To the SIP server 52. It is assumed that the global IP address of the communication control device 3 has been obtained in a process such as detecting the port width.
- Step S810 The SIP server 52 relays the communication request transmitted from the first information processing device 30 to the second information processing device 40. Then, the communication request is received by the second information processing device 40.
- Step S811 In response to the received communication request, second information processing device 40 transmits a response indicating that connection preparation has been completed.
- Step S812 The SIP server 52 relays the response to the first information processing device 30 (Step S 813)
- First information processing device 40 transmits a confirmation for the response received from second information processing device 40.
- Step S814 The SIP server 52 relays the confirmation to the second information processing device 40.
- the preparation for making a peer-to-peer connection between the calling side and the called side is completed, and the first information processing device 30 transmits information to the reception port of the second information processing device 40.
- the reception port bubble packet transmission port
- step S801 The order of the processing in each step in Fig. 29 is somewhat arbitrary. For example, if the port width detection processing in step S801 is performed before the transmission / reception processing of the bubble packet or the like in step S806, the communication request transmission processing (step S802) or the transmission of the communication destination information is performed. It may be executed after the processing (step S804)!
- the device ID of the first information processing device 30 is “AAA @ abc... Com”
- the device ID of the second information processing device 40 is “BBB @ abc... Com”.
- this specific example describes the case where the device ID is “AAA @ abc... Com”.
- the device ID is information that can identify the client terminal, such as an e-mail address or a telephone number. If it is, it may be in any form regardless of its format.
- the first information processing device 30 detects the port width of the communication control device 3 by transmitting a port width detection packet to the port detection server 51 (step S80 Do
- the details of the processing are the same as in the second embodiment, and a description thereof will be omitted.
- first information processing device 30 transmits a communication request from port P1 shown in FIG. 30 to port P3 of SIP server 52 (step S802).
- This communication request is a so-called “INV ITE request”.
- the communication request includes the device ID ⁇ AAA @ abc ... com '' of the first information processing device 30 and the device 10 3 ⁇ 48 @ & 1) of the second information processing device 40 to which the communication is requested. .com ".
- This communication request includes an IP address And an instruction to transmit information indicating the position of the transmission port and the position of the reception port.
- the second information processing device 40 may determine that an instruction to transmit an IP address or the like has been received by receiving the communication request. That is, the communication command does not need to include the instruction command! ,.
- the communication request is received by the SIP server 52. Then, the SIP server 52 searches for an IP address and a port number corresponding to the device 10 # 8 @ & 1) .. com of the second information processing apparatus 40, and transmits a communication request to the port number of the IP address. Is transmitted (step S803).
- the second information processing device 40 Upon receiving the communication request, the second information processing device 40 is information indicating the IP address of the second information processing device 40, the position of the transmission port sPort, and the position of the reception port rPort.
- the communication destination information is transmitted to the port P3 of the SIP server 52 (step S804).
- This communication destination information also includes the device ID of the first information processing device 30 and the device ID of the second information processing device 40.
- the communication destination information does not include the position of the transmission port of the communication destination. Therefore, the point that the destination information includes the position of the destination transmission port is an extension of SIP.
- the communication destination information is received by the SIP server 52 and transmitted to the first information processing device 30 via the communication control device 3 (step S805).
- the communication destination information is received by the SIP processing unit 31 of the first information processing device 30.
- the SIP processing unit 31 passes the IP address of the second information processing device 40 included in the communication destination information and information indicating the position of the transmission port sPort to the bubble packet transmission unit 13.
- the detection packet transmitting unit 14 transmits the port detection packet from the port P5 newly assigned to the first information processing device 30 to the port PI1 of the port detection server 51. I do.
- the port detection packet is received by the detection port detection unit 91 of the port detection server 51, and the port number of the port P8 of the communication control device 3 included in the header of the port detection packet is detected.
- the detection port information transmission unit 92 transmits detection port information including the port number of the port P8 in the payload to the port P8 of the communication control device 3.
- the detection port information is subjected to address conversion in the communication control device 3, and the first information is obtained. It is transmitted to port P5 of the information processing device 30. Then, the port information for detection reception section 71 receives the port information for detection.
- bubble packet transmitting section 13 transmits the bubble packet to port sPort of second information processing device 40.
- the bubble packet is transmitted from the port P6 of the first information processing device 30.
- the port P6 is a port different from the port P5, and is a port newly assigned in the first information processing device 30 at the time of transmitting a bubble packet.
- the detection packet transmitting unit 14 transmits the port detection packet to the port P11 of the port detection server 51 again.
- the port detection packet is transmitted from the port P7 of the first information processing device 30.
- the port P7 is a port different from the ports P5 and P6, and is a port newly assigned in the first information processing device 30 when transmitting the port detection packet.
- the port detection packet is received by the port detection server 51. Further, the port detection server information is transmitted from the port detection server 51 to the first information processing device 30 in the same manner as in the case of the first port detection packet.
- the detection port information receiving unit 71 of the first information processing device 30 receives the detection port information, and determines the position of the port of the communication control device 3 used for transmitting the two port detection packets, It is determined whether the bubble packet transmission port is continuous. This determination is made based on whether or not the difference between the port P10 and the port P8 is equal to twice the port width of the communication control device 3 detected in step S801. Assuming that the difference between the port P10 and the port P8 is twice as large as the port width of the communication control device 3, the bubble packet transmission port detection unit 72 uses the communication control device 3 used for transmitting the two port detection packets.
- Port and the bubble packet transmission port are determined to be continuous, it is determined that the bubble packet transmission port can be detected (step S807), and the port number of port P8 and the port of port P10 are determined. The port number in the middle of the number is detected as the position of the bubble packet transmission port (step S808).
- the bubble packet transmission port detection unit 72 passes the position of the detected bubble packet transmission port to the SIP processing unit 31.
- the SIP processing unit 31 determines the position of the bubble packet transmission port and the global of the communication control device 3.
- a communication request including the one-valley address is transmitted to the SIP server 52 again (step S809).
- This communication request is also called a so-called “INVITE request”, and includes the device ID of the first information processing device 30 and the device ID of the second information processing device 40.
- the communication request is relayed by the SIP server 52 and transmitted to the second information processing device 40 (Step S810). This communication is also performed via ports P1 to P4.
- the second information processing device 40 can know the IP address of the calling side and the position of the receiving port. Further, the second information processing device 40 transmits a response to the communication request to the SIP server 52 (step S811). This response also includes the device IDs of the first information processing device 30 and the second information processing device 40. The response is relayed in the SIP server 52 and transmitted to the first information processing device 30 via the port P2 of the communication control device 3 (step S812).
- a response to the response from the communication partner is transmitted via the SIP server 52 (steps S813 and S814).
- This transmission of the acknowledgment is called the so-called “ACK”.
- ACK acknowledgment
- information is transmitted from the first information processing device 30 to the port rPort of the second information processing device 40, and communication control is performed from the second information processing device 40.
- Information is sent to port P9 of device 3.
- the information transmitted to the port P9 of the communication control device 3 is subjected to address conversion in the communication control device 3 and transmitted to the port P6 of the first information processing device 30. In this manner, communication is established between the first information processing device 30 and the second information processing device 40, and a call is made between the two.
- the sequence for establishing communication between force information processing devices described using the sequence shown in FIG. 29 is not limited to the sequence shown in FIG.
- information indicating the IP address of the second information processing device 40 and information indicating the position of the receiving port may be transmitted to the first information processing device 30 via the SIP server 52.
- the first information processing device 30 uses the information transmitted via the SIP server 52 to establish a communication between the first information processing device 30 and the second information processing device 40. Is established.
- the IP address of the second information processing device 40 transmitted in step S811 is the same as the one transmitted in step S804. belongs to.
- the second information processing device 40 uses the transmission port indicated by the communication destination information transmitted in step S804 as the transmission port in communication with the first information processing device 30.
- communication control device 3 is configured by using the method of detecting the position of the bubble packet transmission port described in Embodiment 13 to 13. Regardless of the type of NAT used, communication between information processing devices using SIP can be established. As described above, the method of detecting the position of the bubble packet transmission port may be used in systems other than the system and the sequence described in Embodiments 13 to 13.
- port detection server 51 and SIP server 52 are separately provided, but they may be configured as the same server.
- the communication system determines the position of the bubble packet transmission port and the information processing apparatus that transmits bubble packets. It may be a communication system including a server that performs a process for detection, and may detect the position of 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, wherein the information processing device is connected to the communication control device via the communication control device.
- a bubble packet transmitting unit that transmits a bubble packet for retaining a transmission history, and a bubble packet transmission that is a port of a communication control device used for transmitting the bubble packet.
- a detection packet transmitting unit that transmits a port detection packet used to detect the position of the port to the server before and after the bubble packet transmitting unit transmits the bubble packet.
- the apparatus further comprises a public packet transmission port detecting unit for receiving the transmitted port detection packet and detecting the position of the bubble packet transmission port based on the port detection packet.
- the position of the bubble packet transmission 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 position of the bubble packet transmission port may be recorded on a recording medium, and the information processing apparatus may read the recording medium power information, or the server may transmit the bubble packet transmitting information.
- Information indicating the position of the port 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.
- the communication system performs processing for detecting the position of the bubble packet transmission port with the information processing device that transmits the bubble packet.
- a communication system including a server may be used for detecting the position of the bubble packet transmission port. That is, the communication system according to the present invention may be the following communication system.
- 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, wherein the information processing device is connected to the communication control device via the communication control device.
- a bubble packet transmitting unit that transmits a bubble packet for retaining a transmission history, and a port detection packet used for detecting the position of a bubble packet transmitting port, which is a port of the communication control device, used for transmitting the bubble packet. Before and after the bubble packet transmitting unit transmits the bubble packet, and a detecting unit that receives the port information of the communication control device through which the port detecting packet has passed. Based on the detection port information reception unit and the detection port information received by the detection port information reception unit.
- a Pub Rubto transmission port detector for detecting a position of the bets transmitting port, and the server receives the port detection packet, to detect the position of the port of the communication control device a packet for detecting the port passes test An outgoing port 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 position of the bubble packet transmission port may be detected by an information processing device that is not a server.
- the position of the bubble packet transmission 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. You may.
- information indicating the position of the bubble packet transmission port may be recorded on a recording medium, and another information processing apparatus may read the recording medium power information, or the information processing apparatus Information indicating the position of the bubble packet transmission port may be displayed, and the user may input information indicating the position of the bubble packet transmission port to another information processing apparatus by looking at the display.
- each information processing device 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 the function of NAT.
- the first communication control device 3 and the second communication control device 4 are capable of performing packet filtering in place of 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 By transmitting a bubble packet to the first communication control device 3 to leave a transmission history, it becomes possible to accept a reply packet transmitted to the bubble packet transmission port.
- 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
- the first information processing device 1 etc. and the second information Communication with the processing device 2 and the like can be established.
- first information processing device and the second information processing device may or may not implement the function of a firewall as an application.
- server 6 and the like are specified by the IP address.
- server 6 and the like may be specified by the domain name (for example, server, pana. Good.
- the server 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.
- the side that issues a communication request is the side that transmits a bubble packet
- the side that receives the power communication request described above transmits the bubble packet. May be ⁇ ⁇ .
- 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.
- the reference port detection packet for detecting the position of the reference port is the second information processing packet.
- the latest port at the time when the device power is also transmitted may be used.
- a port detection packet may be transmitted before and after transmitting the bubble packet in the bubble packet transmission step.
- the bubble packet and the port detection packet may be transmitted using different ports in the first communication control device.
- the bubble packet and the port detection packet may be transmitted to the first information processing device using a newly assigned port.
- the program causes the computer to further execute a retransmission instruction receiving step of receiving a retransmission instruction to transmit the bubble packet and the port detection packet again, and in the detection packet transmitting step, When the retransmission instruction is received in the retransmission instruction receiving step, the port detection packet is transmitted again. You can send it again.
- 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.
- a bubble packet transmission target port which is a target port for transmitting a bubble packet, is a port allocated after a predetermined port is allocated from the reference port.
- the program causes the computer to further execute a port width receiving step of receiving port width information that is information indicating the port width in the second communication control device,
- a bubble packet may be transmitted to a bubble packet transmission target port whose port interval from the reference port is M times the port width indicated by the port width information (M is an integer of 1 or more). ,.
- the detection packet transmission step if the position of the bubble packet transmission port cannot be detected in the bubble packet transmission port detection step, the port detection packet is transmitted again, and the bubble packet is transmitted. If the position of the bubble packet transmission port cannot be detected in the bubble packet transmission port detection step in the transmission step, the bubble packet may be transmitted again.
- 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.
- a packet transmission step, a port number detection port information receiving step for receiving port number detection port information indicating a port position of the first communication control device through which the port number detection packet has passed, and a port number detection port information A port width detection step of detecting a port width in the first communication control device based on the port width detection port information received by the reception unit. The position of the bubble packet transmission port may be detected using the port width of the first communication control device detected in the step.
- this program allows a computer to communicate with a first communication control device that controls communication of a first information processing device and a second communication control device that controls communication of a second information processing device.
- a bubble packet for transmitting a transmission history to the second communication control device is transmitted through the second communication control device, and the position of the reference port which is a port in the first communication control device serving as a reference for transmission of the bubble packet
- the reply packet is transmitted using N different (N is an integer of 2 or more) ports of the first communication control device. Is also good.
- N ports may be newly assigned to the first communication control device when transmitting a return packet! /.
- the number of ports that can be allocated from the reference port to the port to which the bubble packet was transmitted in the first communication control device may be equal to or greater than the number of ports that can be allocated.
- the second information processing device receives a re-reply packet transmitted from the second information processing device to the port of the first communication control device used for transmitting the return packet.
- the receiving step may be further executed.
- 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 packet through which the port number detection packet has passed is sent to the computer.
- the port width detection port information receiving step for receiving port width detection port information indicating the position of the port of the communication control device of the first communication control device, and the port width detection port information received in the port width detection port information receiving step.
- Software that implements the server in the above embodiment is a program as described below.
- this program includes, in a computer, a first communication control device that controls communication of the first information processing device and the second information processing device, and a second information processing device.
- the second information processing device powers the second communication control device.
- the first information processing device In order to detect the position of the bubble packet transmission port, which is a port in the first communication control device, the first information processing device also receives the transmitted port detection packet and generates a bubble packet based on the port detection packet.
- a bubble packet transmission port detecting step of detecting the position of the transmission port and bubble packet transmission port information indicating the position of the bubble packet transmission port detected in the bubble packet transmission port detecting step are transmitted to the second information processing device. And a bubble packet transmission port transmission step.
- a port detection packet transmitted before and after transmission of the bubble packet is received, and the second packet used in transmission of the port detection packet is received. It is determined whether the two ports in one communication control device and the public packet transmission port are continuous, and if they are continuous, the position of the port sandwiched between the two ports is determined by the position of the bubble packet transmission port. May be detected.
- the distance between the two ports in the first communication control device used in transmitting the port detection packet is used in the first communication control device. If it is twice the port width, it can be determined that they are continuous.
- the computer receives the first port number detection packet transmitted from the first information processing device via the first communication control device, and receives the first port number detection packet.
- a first port width detection step of detecting a port width in the first communication control device based on the width detection packet is further executed.
- the port detected by the first port width detection unit is The determination may be made using the width.
- the computer receives a second port number detection packet transmitted from the second information processing device via the second communication control device, and receives the second port number detection packet from the second information processing device.
- a second port width detection step of detecting a port width in the second communication control device based on the width detection packet; and port width information that is information indicating the port width detected in the second port width detection step. And transmitting a port number to the one information processing apparatus.
- the software for realizing the server in the above embodiment is a program as described below.
- the program includes, in the computer, the first information processing device and the second information processing device, the first communication control device controlling the communication of the first information processing device, and the second information processing device.
- the first program is used to leave a transmission history in the first communication control device.
- Bubble packets transmitted by other information processing devices The reference information transmitted from the second information processing device via the second communication control device to detect the position of the reference port, which is a port in the second communication control device serving as the reference for transmitting the packet.
- a reference port detection step of receiving a port detection packet and detecting the position of the reference port based on the reference port detection packet, and reference port information indicating the position of the reference port detected in the reference port detection step are included in the first port.
- a reference port transmitting step for transmitting to the information processing device, and a position of a public packet transmission port which is a port in the first communication control device used for transmitting a bubble packet from the first information processing device to the second communication control device The first information processing device receives the transmitted port detection packet and detects the port based on the port detection packet.
- the software that implements the information processing device in each of the above embodiments is a program as described below.
- the program is a program for causing a computer to execute processing in an information processing device, a communication control device that controls communication of the information processing device, and an information processing device that configures a communication system including a server.
- the software that implements the server in each of the above embodiments is the following program.
- this program is a program for causing a computer to execute processing in a server that constitutes a communication system including an information processing device, a communication control device that controls communication of the information processing device, and a server.
- a server that constitutes a communication system including an information processing device, a communication control device that controls communication of the information processing device, and a server.
- the position of the bubble packet transmission port which is a port in the communication control device used for transmitting bubble packets transmitted by the information processing device to leave a transmission history in the device.
- Receiving the port detection packet transmitted also before and after transmission of the bubble packet, and detecting the position of the bubble packet transmission port based on the port detection packet. is there.
- the software that implements the server in each of the above embodiments is the following program.
- this program is a program for causing a computer to execute processing in a server that constitutes 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 transmission port which is a port in the communication control device used for transmitting a bubble packet transmitted by the information processing device to leave a transmission history in the device, information before and after the transmission of the bubble packet is transmitted.
- 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 multiple computers. That is, centralized processing may be performed or distributed processing may be performed. Industrial applicability
- the communication system and 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)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/576,588 US8239541B2 (en) | 2003-11-07 | 2004-10-29 | Bidirectional connection setup between endpoints behind network address translators (NATs) |
EP20040793192 EP1677465B1 (en) | 2003-11-07 | 2004-10-29 | Communication system, information processing apparatus and communication method |
JP2005515273A JP3933183B2 (ja) | 2003-11-07 | 2004-10-29 | 通信システム、情報処理装置、サーバ、および通信方法 |
US11/510,487 US8234383B2 (en) | 2003-11-07 | 2006-08-24 | Bubble packet port identification using detection packets |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003-378289 | 2003-11-07 | ||
JP2003378289 | 2003-11-07 | ||
JP2004121592 | 2004-04-16 | ||
JP2004-121592 | 2004-04-16 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/576,588 A-371-Of-International US8239541B2 (en) | 2003-11-07 | 2004-10-29 | Bidirectional connection setup between endpoints behind network address translators (NATs) |
US11/510,487 Continuation US8234383B2 (en) | 2003-11-07 | 2006-08-24 | Bubble packet port identification using detection packets |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005046143A1 true WO2005046143A1 (ja) | 2005-05-19 |
Family
ID=34575927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2004/016084 WO2005046143A1 (ja) | 2003-11-07 | 2004-10-29 | 通信システム、情報処理装置、サーバ、および通信方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8239541B2 (ja) |
EP (3) | EP1816828B1 (ja) |
JP (1) | JP3933183B2 (ja) |
KR (2) | KR20070065921A (ja) |
TW (2) | TW200522617A (ja) |
WO (1) | WO2005046143A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006261895A (ja) * | 2005-03-16 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法 |
WO2007003120A1 (fr) * | 2005-07-01 | 2007-01-11 | Huawei Technologies Co., Ltd. | Systeme, procede et serveur de localisation d'un utilisateur dans un reseau a paquets |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060102333A (ko) * | 2003-10-27 | 2006-09-27 | 마쯔시다덴기산교 가부시키가이샤 | 통신 시스템, 정보 처리 장치, 서버 및 통신 방법 |
JP4654006B2 (ja) * | 2004-11-16 | 2011-03-16 | パナソニック株式会社 | サーバ装置、携帯端末、通信システム及びプログラム |
JP4672405B2 (ja) * | 2005-03-17 | 2011-04-20 | パナソニック株式会社 | 通信システム、情報処理システム、接続サーバ、処理サーバ、情報処理装置、及び情報処理方法 |
US7773584B2 (en) * | 2006-06-13 | 2010-08-10 | At&T Intellectual Property I, L.P. | Method and apparatus for processing session initiation protocol messages associated with a voice over IP terminal |
US20100088755A1 (en) * | 2006-12-29 | 2010-04-08 | Telefonaktiebolaget L M Ericsson (Publ) | Access management for devices in communication networks |
TWI509419B (zh) * | 2008-02-27 | 2015-11-21 | Ncomputing Inc | 於多使用者伺服器系統中使用虛擬網際網路協定位址之方法及系統 |
US20140280989A1 (en) * | 2013-03-14 | 2014-09-18 | Thomas J. Borkowski | System and method for establishing peer to peer connections through symmetric nats |
JP6492939B2 (ja) * | 2015-04-30 | 2019-04-03 | 富士通株式会社 | 制御装置、ストレージシステムおよびプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676579B2 (en) * | 2002-05-13 | 2010-03-09 | Sony Computer Entertainment America Inc. | Peer to peer network communication |
JP2004180003A (ja) | 2002-11-27 | 2004-06-24 | Kitt Peak:Kk | 通信ネットワークシステムおよび通信の接続方法 |
TW200412101A (en) * | 2002-12-23 | 2004-07-01 | Shaw-Hwa Hwang | Directly peer-to peer transmission protocol between two virtual network |
US7305481B2 (en) * | 2003-01-07 | 2007-12-04 | Hexago Inc. | Connecting IPv6 devices through IPv4 network and network address translator (NAT) using tunnel setup protocol |
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 | ソニー株式会社 | ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム |
US8234383B2 (en) * | 2003-11-07 | 2012-07-31 | Panasonic Corporation | Bubble packet port identification using detection packets |
US8065418B1 (en) * | 2004-02-02 | 2011-11-22 | Apple Inc. | NAT traversal for media conferencing |
EP1723533A1 (en) * | 2004-03-09 | 2006-11-22 | Clique Communications Llc | System and method for peer-to-peer connection of clients behind symmetric firewalls |
US7543064B2 (en) * | 2004-09-30 | 2009-06-02 | Logitech Europe S.A. | Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host |
-
2004
- 2004-10-29 US US10/576,588 patent/US8239541B2/en active Active
- 2004-10-29 WO PCT/JP2004/016084 patent/WO2005046143A1/ja active Application Filing
- 2004-10-29 EP EP07107937.0A patent/EP1816828B1/en not_active Expired - Lifetime
- 2004-10-29 KR KR1020077012755A patent/KR20070065921A/ko not_active Application Discontinuation
- 2004-10-29 KR KR20067008654A patent/KR20060113701A/ko not_active Application Discontinuation
- 2004-10-29 EP EP20110170365 patent/EP2367326B1/en not_active Expired - Lifetime
- 2004-10-29 JP JP2005515273A patent/JP3933183B2/ja not_active Expired - Lifetime
- 2004-10-29 EP EP20040793192 patent/EP1677465B1/en not_active Expired - Lifetime
- 2004-11-04 TW TW93133631A patent/TW200522617A/zh unknown
- 2004-11-04 TW TW096122252A patent/TW200742379A/zh unknown
Non-Patent Citations (4)
Title |
---|
"The cable guy-2003 nen 4 gatsu: Windows XP peer-to-peer update no IPv6 kino", April 2003 (2003-04-01), pages 1 - 7, XP002988197, Retrieved from the Internet <URL:http://www.microsoft.com/japan/technet/community/columns/cableguy/cg0403.mspx> [retrieved on 20050118] * |
C. HUITEMA, TEREDO: TUNNELING LPV6 OVER UDP THROUGH NATS, 6 June 2003 (2003-06-06), Retrieved from the Internet <URL:draft-huitema-v6ops-teredo-00.txt> |
OIKAWA T. ET AL.: "IPv6style: advanced networking pack for Windows XP daikaibo", DAI 1 KAI IPV6 SETSUZOKU O SARANI TOKATEKI NI SURU TEREDO, 29 September 2003 (2003-09-29), pages 1 - 11, XP002988196, Retrieved from the Internet <URL:http://www.ipv6style.jp/jp/tryout/20030929/20030929_p.shtml> [retrieved on 20050118] * |
See also references of EP1677465A4 |
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 | パナソニック株式会社 | 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法 |
WO2007003120A1 (fr) * | 2005-07-01 | 2007-01-11 | Huawei Technologies Co., Ltd. | Systeme, procede et serveur de localisation d'un utilisateur dans un reseau a paquets |
US8667182B2 (en) | 2005-07-01 | 2014-03-04 | Huawei Technologies Co., Ltd. | User locating system, method and server in packet-based network |
Also Published As
Publication number | Publication date |
---|---|
JPWO2005046143A1 (ja) | 2007-11-29 |
TW200742379A (en) | 2007-11-01 |
EP2367326A1 (en) | 2011-09-21 |
EP1816828B1 (en) | 2018-05-16 |
US20070091798A1 (en) | 2007-04-26 |
EP1677465A4 (en) | 2011-07-13 |
EP2367326B1 (en) | 2014-08-13 |
US8239541B2 (en) | 2012-08-07 |
EP1677465A1 (en) | 2006-07-05 |
EP1816828A3 (en) | 2015-07-29 |
EP1677465B1 (en) | 2014-08-13 |
KR20060113701A (ko) | 2006-11-02 |
EP1816828A2 (en) | 2007-08-08 |
KR20070065921A (ko) | 2007-06-25 |
JP3933183B2 (ja) | 2007-06-20 |
TW200522617A (en) | 2005-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8234383B2 (en) | Bubble packet port identification using detection packets | |
US9137027B2 (en) | Bootstrapping in peer-to-peer networks with network address translators | |
US8457014B2 (en) | Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system | |
US20090313386A1 (en) | Communication apparatus, communication method and communication system | |
US20050066038A1 (en) | Session control system, communication terminal and servers | |
JP3835462B2 (ja) | 情報処理装置、及びバブルパケット送信方法 | |
WO2005046143A1 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
JP3849711B2 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
JP3933182B2 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
JP4389885B2 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
EP1959643A1 (en) | Method for NAT traversal in a P2P-SIP network | |
JP4389886B2 (ja) | 通信システム、情報処理装置、サーバ、および通信方法 | |
JP2008205676A (ja) | 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム | |
JP4389994B2 (ja) | 通信システム、情報処理装置、サーバ、および情報処理方法 | |
Baldi et al. | Providing end-to-end connectivity to sip user agents behind nats | |
Baldi et al. | NAT Traversal | |
JP4345751B2 (ja) | 情報処理装置、及びバブルパケット送信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200480032873.5 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): 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: 2005515273 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007091798 Country of ref document: US Ref document number: 10576588 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020067008654 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004793192 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2004793192 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020067008654 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 10576588 Country of ref document: US |