WO2006049251A1 - 通信端末及び通信方法 - Google Patents

通信端末及び通信方法 Download PDF

Info

Publication number
WO2006049251A1
WO2006049251A1 PCT/JP2005/020304 JP2005020304W WO2006049251A1 WO 2006049251 A1 WO2006049251 A1 WO 2006049251A1 JP 2005020304 W JP2005020304 W JP 2005020304W WO 2006049251 A1 WO2006049251 A1 WO 2006049251A1
Authority
WO
WIPO (PCT)
Prior art keywords
router
port number
communication terminal
address information
communication
Prior art date
Application number
PCT/JP2005/020304
Other languages
English (en)
French (fr)
Inventor
Moe Hamamoto
Takeshi Kokado
Manabu Yamamoto
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US11/666,894 priority Critical patent/US7558249B2/en
Priority to JP2006542446A priority patent/JP4667390B2/ja
Priority to CN2005800378565A priority patent/CN101053218B/zh
Publication of WO2006049251A1 publication Critical patent/WO2006049251A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT 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 terminal and a communication method, and more particularly, to a communication terminal and a communication method for performing one-to-one interconnection with a communication terminal on another network via a router.
  • IP address that is uniquely determined in the entire network and enables one-to-one (peer 'two' peer; hereinafter referred to as P2P) interconnection is called a global IP address.
  • a global IP address is uniquely determined only within a specific part of the network and cannot be used for P2P communication with other networks! /, And the IP address is a private IP address! /.
  • a network composed of such private IP addresses is called a private network.
  • NAT network address translation
  • NAPT network address port translation
  • FIG. 8 (a) shows a type of NAT called Full Cone NAT.
  • a router equipped with Full Cone NAT is always a router for packets sent to the same home terminal A address information [IPa, Pa]. Assign the same port number [Pb] to send to the external network. The router also forwards all packets sent from the unspecified remote terminals C and D connected to the external network to the address information [IPb, Pb] to the home terminal A [IPa, Pa].
  • FIG. 8 (b) shows a type of NAT called Restricted Cone NAT. Referring to Fig.
  • a router equipped with Restricted Cone NAT always handles the router for packets sent from the same in-home terminal A address information [IPa, Pa] to the outside of the home. Assign the same port number [Pb] and send to the external network. However, unlike Full Cone NAT, the router does not send packets sent from the IP address [IPc] of the remote terminal C to which the home terminal A has sent packets toward the address information [IPb, Pb]. Do not transfer to home terminal A [IPa, Pa]. At this time, the port number of terminal C outside the house can be anything.
  • FIG. 8 (c) shows a type of NAT called Port Restricted Cone NAT.
  • a router equipped with Port Restricted Cone NAT is always the same router for packets sent from the same in-home terminal A address information [IPa, Pa] to the outside of the home. Assign port number [Pb] and send to external network.
  • the router sends packets sent from the port number [Pel] of the remote terminal C to which the home terminal A has sent packets toward the address information [IPb, Pb]. Do not transfer to home terminal A [IPa, Pa]. At this time, the router discards all packets sent from port numbers other than [Pel] (eg, [Pc2]), even those sent from the same remote terminal C.
  • FIG. 8 (d) shows a type of NAT called Symmetric NAT! /.
  • a router equipped with Symmetric NAT also supports the address information [IPa, Pa] of the same in-home terminal A for packets sent to the port number of a specific out-of-home terminal. Assigns a specific port number of the router and sends it to the external network. For example, the router assigns the router port number [Pbl] to a packet sent from the home terminal A [IPa, Pa] to the external terminal C [IPc, Pc]. In addition, the router assigns the router port number [Pb2] to the packet sent to the home terminal A [IPa, Pa] and the remote terminal D [IPd, Pd]. Also, as with Port Restricted Cone NAT, the router sends the packet sent from the port number of the outside terminal to which in-home terminal A has sent the packet and forwarded to in-home terminal A [IPa, Pa]. Do not do.
  • the home terminal can communicate with an external terminal on the global network using a private IP address.
  • RFC3489 discloses a technique using STUN (Simple Traversal UDP through NAT) as a technique to realize P2P communication beyond the NAT of routers between terminals in different private networks.
  • STUN Simple Traversal UDP through NAT
  • Packet used in the description means “UDP packet”, and all messages are sent and received by UDP packet.
  • FIG. 9 is a diagram showing a sequence between terminals when P2P communication is realized by a technique using STUN.
  • Router 1 and Router 2 shown in FIG. 9 are not Symmetric NAT.
  • terminal 1 transmits an IPZ port registration request to the server (step S501).
  • the server registers the source address information (that is, the source IP address and source port number) of the received packet (step S502).
  • the address information [IPG1, GPI] after the address information [IPG1, GP1] of the terminal 1 is converted to the address information [IPG1, GP1] of the router 1 by the NAT of the router 1 is sent to the server.
  • terminal 2 transmits an IPZ port registration request to the server (step S503).
  • the server registers the source address information (that is, the source IP address and source port number) of the received packet (step S504).
  • the address information [IPG2, GP2] converted from the address information [IPL2, LP2] of terminal 2 to the address information [IPG2, GP2] of router 2 is registered in the server by NAT of router 2 Is done.
  • the terminal 2 transmits an IPZ port acquisition request to the server in order to acquire address information used when accessing the terminal 1 (step S505).
  • the server returns an IPZ port acquisition response in which the address information [IPG1, GP1] registered in step S502 is set to the terminal 2 (step S506).
  • Terminal 2 obtains address information [IPG1, GP1] used when accessing terminal 1 If so, a P2P start request is transmitted to the acquired address information [IPG 1, GP1] (step S507). Router 2 relays the P2P start request sent by terminal 2 to router 1. Here, if Router 1 is Full Cone NAT, the P2P start request transmitted from Terminal 2 is transferred to Terminal 1, and a P2P communication path is established between Terminal 1 and Terminal 2.
  • router 1 is not Full Cone NAT, the P2P start request transmitted from terminal 2 is discarded by router 1 and is not forwarded to terminal 1 [IPL1, LP1].
  • the NAT of router 2 is configured to forward a packet in the opposite direction to the relayed P2P start request to terminal 2 when relaying the P2P start request sent by terminal 2.
  • Router 2's NAT sends packets that have arrived at Router 2 [IPG2, GP2] from Terminal 1 via Router 1 [IPG1, GP1]. Settings are made to transfer to [IPL2, LP2].
  • Router 2 is Restricted Cone NAT, the packet that arrived at Router 2 [IPG2, GP2] from the source IP address [IPG1] is forwarded to Terminal 2 [IPL2, LP2]. Is done.
  • Router 2 is Port Restricted Cone NAT
  • the packet that arrived at Router 2 [IPG2, GP2] from Terminal 1 via Router 1 [IPG1, GP1] is sent to Terminal 2 [IPL2, LP2].
  • Terminal 2 [IPL2, LP2] When transferred to, settings are made.
  • terminal 1 transmits an IPZ port acquisition request to the server in order to acquire address information used when accessing terminal 2 (step S508).
  • the server returns an IPZ port acquisition response in which the address information [IPG2, GP2] registered in step S504 is set to the terminal 1 (step S509).
  • terminal 1 Upon acquiring the address information [IPG2, GP2] used when accessing terminal 2, terminal 1 sends a P2P start request to the acquired address information [IPG2, GP2] (step S510). Router 1 relays the P2P start request sent by terminal 1 to router 2. In the NAT of router 2, as described above, there is a setting for forwarding a packet received from router 1 to router 2 [IPG2, GP2] via router 1 to terminal 2 [IPL2, LP2]. Therefore, router 2 can forward the P2P start request transmitted by terminal 1 to terminal 2.
  • the terminal 2 that has received the P2P start request transmits a P2P start response to the terminal 1 (step S511).
  • NAT of router 1 has a setting for forwarding a packet received from router 2 via router 2 to router 1 [IPG1, GP1] to terminal 1 [IPL1, LP1]. Therefore, router 1 can forward the P2P start response sent from terminal 2 to terminal 1. This is how STUN establishes a P2P communication path when Router 1 and Router 2 are not Symmetric NAT.
  • FIG. 10 is a diagram for explaining a problem that occurs when the router 1 is a Symmetric NAT.
  • FIG. 11 is a diagram illustrating a problem that occurs when the router 2 is Symmetric NAT.
  • steps S601 to S604 are the same as steps S501 to S504 in FIG.
  • the terminal 2 transmits an IPZ port acquisition request to the server in order to acquire address information used when accessing the terminal 1 (step S605).
  • the server returns an IPZ port acquisition response in which the address information [IPG 1, GPl] registered in step S602 is set to the terminal 2 (step S606).
  • terminal 2 Upon acquiring the address information [IPG1, GPl] used when accessing terminal 1, terminal 2 sends a P2P start request to the acquired address information [IPG 1, GPl] Tape S607). Router 2 relays the P2P start request sent by terminal 2 to router 1. Since Router 1 is Symmetric NAT, the P2P start request packet sent from Terminal 2 is discarded by Router 1 and is not forwarded to Terminal 1 [IPL1, LP1]. [0023] However, the NAT of router 2 is configured to forward a packet in the opposite direction to the relayed P2P start request to terminal 2 when relaying the P2P start request sent by terminal 2.
  • Router 2's NAT sends packets that have arrived at Router 2 [IPG2, GP2] from Terminal 1 via Router 1 [IPG1, GP1]. Settings are made to transfer to [IPL2, LP2]. Also, when Router 2 is Restricted Cone NAT, there is a setting that forwards packets that arrived at Router 2 [IPG2, GP 2] from the source IP address [IPG1] to Terminal 2 [IPL2, LP2]. Done.
  • Router 2 is Port Restricted Cone NAT
  • packets that have arrived at Router 2 [IPG2, GP2] from Terminal 1 via Router 1 [IP Gl, GP1] are sent to Terminal 2 [IPL2, LP 2] When transferred to, settings are made.
  • terminal 1 transmits an IPZ port acquisition request to the server in order to acquire address information used when accessing terminal 2 (step S608).
  • the server returns an IPZ port acquisition response in which the address information [IPG2, GP2] registered in step S604 is set to the terminal 1 (step S609).
  • terminal 1 Upon acquiring the address information [IPG2, GP2] used when accessing terminal 2, terminal 1 sends a P2P start request to the acquired address information [IPG2, GP2] (step S610). At this time, since the router 1 is symmetric NAT, a port number other than [GP1] (for example, [GP3]) is assigned to the P2P start request transmitted from the terminal 1.
  • GP1 for example, [GP3]
  • Router 2 when Router 2 is Full Cone NAT or Restricted Cone NAT, the P2P start request sent by Terminal 1 is forwarded by Router 2 to Terminal 2 [IPL2, LP2] and A P2P communication channel with terminal 2 is established.
  • Router 2 is Port Restricted Cone NAT or Symmetric NAT, the P2P start request sent by Terminal 1 is discarded by Router 2 and not forwarded to Terminal 2. For this reason, establishment of the P2P communication path between terminal 1 and terminal 2 fails.
  • FIG. 12 is a sequence diagram showing a procedure for establishing a P2P communication path according to a conventional method.
  • steps S801 to S804 are the same as steps S501 to S504 in FIG.
  • Terminal 2 transmits a P2P communication request to the server to request P2P communication from terminal 1 (step S805).
  • terminal 2 changes the source port number used in the P2P communication request from the source port number [LP2] used in the IPZ port acquisition request to [LP2 + a].
  • a is an arbitrary integer.
  • the reason that terminal 2 uses the new port number [LP2 + a] is to cause router 2 to use the new source port number [GP2 + b] as the source port number of the P2P communication request.
  • b is an uncertain increment of NAT at Router 2.
  • the server that has received the P2P communication request transmits an IP Z port notification in which the address information [IPG2, GP2 + b] is set to the terminal 1 (step S806).
  • the terminal 1 that has received the IPZ port notification transmits a P2P start permission to the server when permitting P2P communication (step S807).
  • terminal 1 changes the transmission source port number used in the P2P start permission from the transmission source port number [LP 1] used in the IPZ port acquisition request and transmits it.
  • the reason that terminal 1 uses the new port number [LPl + d] is to make router 1 use the new source port number [GPl + d] as the source port number for P2P communication permission.
  • d is an arbitrary integer and is an uncertain increment value of NAT in Router 1.
  • the terminal 1 that acquired the address information [I PG2, GP2 + b] used when accessing the terminal 2 by the IPZ port notification is directed to the acquired address information [IPG2, GP2 + b + n]. Then, a P2P start request is transmitted (step S808).
  • the P2P communication permission transmitted in step S807 and the P2P start request transmitted in step S808 are continuously transmitted within an extremely short time. Therefore, if the source port number for P2P communication permission is converted from [LPl + c] to [GPl + d] by Router 1, The source port number of the P2P start request is converted from [LPl + c + 1] to [GPl + d + 1].
  • n is an arbitrary integer value.
  • the server Upon receiving the P2P communication permission transmitted from terminal 1 in step S807, the server transmits to the terminal 2 a P2P communication permission in which the address information [IPG 1, GPl + d] of router 1 is set ( Step S809).
  • terminal 2 receives address information (that is, address information of router 1) [IPG1, GPl + d] used when accessing terminal 1 with P2P communication permission, and immediately goes to terminal 1.
  • a P2P start request is transmitted (step S810).
  • terminal 2 sends n P2P start requests while increasing the source port number by one from [LP2 + a + l] toward the port number [GPl + d + 1] of router 1. .
  • the source port number of this P2P start request is converted by router 2 into a port number from [GP2 + b + m] to [GP2 + b + m + n ⁇ 1].
  • One of the P2P start requests transmitted from terminal 2 is forwarded to terminal 1 because it matches the setting of router 1 that forwards the packet in the reverse direction to terminal 1.
  • the terminal 1 that has received the P2P start request transmits a P2P start response as a response (step S811). This establishes a P2P communication path between terminal 1 and terminal 2.
  • Patent Document 1 Japanese Patent Laid-Open No. 2004-180003
  • terminal 2 makes a plurality of P2P start requests in step S810 in order to predict the port number to which terminal 1 transmitted the P2P start request in step S808. Sending.
  • This caused problems such as a delay in the connection time until the establishment of the P2P communication path and an increase in traffic.
  • the port number assigned to multiple P2P start requests sent from terminal 2 may change randomly. In such a case, the P2P start request sent from the terminal 2 is not assigned a port number in order, which may cause a problem that the connectivity of the P2P communication path deteriorates.
  • an object of the present invention is to provide a communication terminal and a communication method that achieve high connectivity with a short time and with a small amount of traffic when establishing a P2P communication path with another communication terminal. That is.
  • the present invention is directed to a communication terminal that exists on a private network connected to a global network by a router and performs one-to-one interconnection with a communication terminal on another network via the router. Yes. And in order to achieve the said objective, the communication terminal of this invention is provided with an address information determination part, an address information exchange part, a communication control part, and a communication part.
  • the address information determination unit investigates the relay characteristics of the router by transmitting and receiving a predetermined message to and from a server on the global network, and has a one-to-one relationship with a communication terminal on another network. Determine the address information of the router to be used for mutual connection.
  • the address information exchange unit exchanges the router address information determined by the address information determination unit with other communication terminals on other networks.
  • the communication control unit performs a one-to-one interconnection with a communication terminal on another network based on the address information of the router exchanged by the address information exchange unit.
  • the communication unit performs all communication of the communication terminal.
  • the address information determination unit includes address information including at least the port number of the communication terminal used for one-to-one interconnection with a communication terminal on another network. Determined as router address information.
  • the address information determining unit includes an address information requesting unit, an address information receiving unit, a relay characteristic determining unit, and a port number determining unit.
  • the address information request unit requests the server for address information of the router by sending a predetermined message to the server via the router.
  • the address information receiving unit receives the router address information from the server as a response to the request.
  • the relay characteristic judging unit receives the rule received by the address information receiving unit.
  • the relay characteristics of the router are determined based on the address information of the data.
  • the port number determination unit determines the port number of the communication terminal itself used for one-to-one interconnection with the communication terminal on another network based on the relay characteristic of the router determined by the relay characteristic determination unit.
  • the address information investigation request unit sends a first port number investigation request message from the predetermined port number of the communication terminal toward the first port number of the server and the second port number of the server.
  • a second port number investigation request message is continuously transmitted toward
  • the address information receiving unit receives a first port number investigation response message that is a response to the first port number investigation request message and a second port number that is a response to the second port number investigation request message from the server.
  • a survey response message is received.
  • the relay characteristic determination unit determines the relay characteristics of the router based on the first port number investigation response message and the second port number investigation response message received by the address information reception unit.
  • the first port number investigation response message includes the IP address of the router and the source port number of the router when the first port number investigation request message is relayed to the server.
  • the second port number investigation response message includes the IP address of the router and the source port number of the router when the second port number investigation request message is relayed to the server.
  • the relay characteristic judging unit determines that the predetermined port number of the communication terminal that has transmitted the first port number investigation request message matches the source port number of the router included in the first port number investigation response message. Therefore, it is determined that the relay characteristics of the router have the property of Port Reuse.
  • the relay characteristic determining unit determines the router source port number included in the first port number investigation response message and the router source port number included in the second port number investigation response message. If it matches, it is judged that the router has relay capability SCone type NAT function. In addition, the relay characteristic judging unit matches the router source port number included in the first port number investigation response message with the router source port number contained in the second port number investigation response message. If not, it is determined that the relay characteristics of the router have Symmetric NAT function.
  • the communication port determination unit determines that the relay characteristic of the router is Port Reus by the relay characteristic determination unit. If it is determined that it has a NAT function of Cone and connected with e, the source port number of the router included in the first port number investigation response message is set to one-to-one with the communication terminal on the other network. Used as a port number for mutual connection.
  • the communication port determining unit performs the second port number investigation response.
  • the difference between the source port number of the router included in the message and the source port number of the router included in the first port number investigation response message is the difference between the transmission of the router included in the second port number investigation response message.
  • the port number added to the original port number is used as the port number used for one-to-one interconnection with communication terminals on other networks.
  • the address information exchanging unit includes a relay information transmitting unit and a relay information transmitting unit.
  • the relay information transmission unit transmits a message in which the address information of the router used for one-to-one interconnection with the communication terminal on the other network is set to the communication terminal on the other network via the server.
  • the relay information transmission unit receives a message in which address information used for one-to-one interconnection with the own communication terminal is set from a communication terminal on another network via the server.
  • the communication control unit transmits a message requesting the start of the one-to-one interconnection to the address information exchanged by the address information exchanging unit via the communication unit, and on another network.
  • a message requesting the start of a one-to-one interconnection is received from a communication terminal, a one-to-one interconnection is established with a communication terminal on another network.
  • the present invention is executed by a communication terminal that exists on a private network connected to a global network by a router and performs one-to-one interconnection with a communication terminal on another network via the router. It is also aimed at communication methods.
  • the communication method of the present invention investigates the relay characteristics of a router by allowing a communication terminal to send and receive a predetermined message to and from a server on the global network, and thereby determines the relay characteristics of the router.
  • address information including at least a port number used for one-to-one interconnection with communication terminals on other networks is determined as router address information, and the determined router address information is Communication end on other network It exchanges with each other, and based on the exchanged address information, a one-to-one interconnection is performed with communication terminals on other networks.
  • a predetermined message is transmitted / received to / from the server, and the relay characteristics of the router are investigated based on the transmitted / received message.
  • the relay characteristic is Port Reuse
  • address information including at least the port number of the communication terminal used for P2P communication with other communication terminals is determined as the address information of the router.
  • the procedure for predicting the port number used by the router is omitted. Can do. Therefore, according to the communication terminal and the communication method of the present invention, when establishing a P2P communication path with another communication terminal, high connectivity can be realized in a shorter time and with less traffic.
  • FIG. 1 is a diagram showing an example of a network configuration of a communication system according to an embodiment of the present invention.
  • FIG. 2 is a diagram for explaining a router 11 having a Port Reuse property.
  • FIG. 3A is a block diagram showing an exemplary configuration of communication terminal 10.
  • FIG. 3B is a block diagram showing an exemplary configuration of communication terminal 20.
  • FIG. 3C is a block diagram showing an example of the configuration of the server 30.
  • FIG. 4 is a diagram for explaining an operation when a P2P communication path is established in a communication system according to an embodiment of the present invention.
  • FIG. 5A is a flowchart showing a detailed operation of the NAT investigation phase (step S 100) in communication terminal 10.
  • FIG. 5B is a flowchart showing a detailed operation of the NAT investigation phase (step S200) in communication terminal 20.
  • FIG. 5C is a flowchart showing a detailed operation of the P2P communication port determination process (step S109).
  • FIG. 6 is a flowchart showing the detailed operation of the P2P communication port exchange phase (step S300).
  • FIG. 7 is a flowchart showing a detailed operation of the P2P communication path establishment phase (step S400).
  • FIG. 8 is a diagram for explaining the types of NAT.
  • FIG. 9 is a diagram showing a sequence between terminals when P2P communication is realized by a technique using STUN.
  • FIG. 10 is a diagram for explaining a problem that occurs when router 1 is Symmetric NAT.
  • FIG. 11 is a diagram for explaining a problem that occurs when Router 2 is Symmetric NAT.
  • FIG. 12 is a sequence diagram showing a procedure for establishing a P2P communication path by a conventional method disclosed in Patent Document 1.
  • FIG. 1 is a diagram showing an example of a network configuration of a communication system according to an embodiment of the present invention.
  • a global network 300 is connected to a private network 100 via a router 11 having a global IP address [IPG1]. Further, the global network 300 and the private network 200 are connected via a router 21 having a global IP address [IPG2].
  • a server 30 is connected to the global network 300.
  • the private network 100 is connected to a communication terminal (home terminal) 10 having a private IP address [IPL1].
  • the private network 200 is connected to a communication terminal (home terminal) 20 having a private IP address [IPL2].
  • the router 11 is a symmetric NAT and has a Port Reuse property.
  • the router 11 having the Port Reuse property will be described with reference to FIG. In Fig. 2, when the router 11 having the Port Reuse property relays the packet transmitted by the communication terminal 10, the same port number as the source port number of the packet to be relayed is used as the source port number of the router 11. It is characterized by assigning.
  • the router 11 uses the port number [Pa] of the router 11 as the transmission source port number of the packet to be relayed. assign. Further, when relaying a packet in which the port number [Pb] of the communication terminal 10 is also transmitted, the router 11 assigns the port number [Pb] of the router 11 as the transmission source port number of the packet to be relayed. Further, when relaying a packet transmitted from the port number [Pc] of the communication terminal 10, the router 11 assigns the port number [Pc] of the router 11 as the transmission source port number of the packet to be relayed.
  • the router 21 is a Full Cone NAT and has the property of Port Reuse! /, N! /, A router.
  • FIG. 3A is a block diagram showing an example of the configuration of the communication terminal 10.
  • the communication terminal 10 includes an address information investigation request unit 101, an address information reception unit 102, a communication port determination unit 103, a relay characteristic determination unit 104, a relay information transmission unit 105, a relay information reception unit 106, a communication control unit 107, and A communication unit 108 is provided.
  • the address information investigation request unit 101 transmits a message (port number investigation request message) for examining the port number assigned to the router 11 to which the address information investigation request unit 101 is connected to the server 30.
  • the address information receiving unit 102 receives from the server 30 a message including a port number assigned to the router 11 (port number investigation response message) as a response to the port number investigation request message.
  • the relay characteristic determining unit 104 determines the relay characteristic of the router 11 based on the received port number investigation response message.
  • the communication port determining unit 103 determines a port number used by the communication terminal 10 in P2P communication based on the relay characteristics of the router 11.
  • the relay information transmission unit 105 transmits a message (IPZ port notification message) including the IP address of the router 11 and the port number used by the communication terminal 10 for P2P communication, to the server 30.
  • the relay information receiving unit 106 receives the IPZ port notification message transmitted from the communication terminal 20 from the server 30.
  • the communication control unit 107 controls the communication unit 108 to perform P2P communication with the communication terminal 20.
  • the communication unit 108 performs all communication related to the communication terminal 10.
  • the address information investigation requesting unit 101, the address information receiving unit 102, the communication port determining unit 103, and the relay characteristic determining unit 104 are address information (IP address and IP address) used for P2P communication with the communication terminal 20. (Port number) is determined, so let's write it as the address information determination part. Further, since the relay information transmitting unit 105 and the relay information receiving unit 106 exchange the determined address information with the communication terminal 20, they may be described as address information exchanging units!
  • FIG. 3B is a block diagram showing an example of the configuration of the communication terminal 20.
  • the communication terminal 20 includes an address information investigation request unit 201, an address information reception unit 202, a communication port determination unit 203, a relay characteristic determination unit 204, a relay information transmission unit 205, a relay information reception unit 206, and a communication control unit 207. , And a communication unit 208.
  • each configuration of the communication terminal 20 is the same as that of the communication terminal 10 described above, and thus description thereof is omitted.
  • FIG. 3C is a block diagram illustrating an example of the configuration of the server 30.
  • the server 30 includes an address information investigation unit 301, an address information transmission unit 302, a relay information transfer unit 303, and And a communication unit 304.
  • the address information investigation unit 301 extracts the transmission source IP address and the transmission source port number from the reception message (the header of the reception packet).
  • the address information transmitting unit 302 returns a message (port number check response message) including the IP address and the source port number extracted by the address information checking unit 301 to the communication terminal 10 or 20.
  • the relay information transfer unit 303 relays the received IPZ port notification message to the other communication terminal.
  • the communication unit 304 performs all communication related to the server 30.
  • FIG. 4 is a diagram for explaining an operation performed by the communication system according to the embodiment of the present invention when a P2P communication path is established.
  • the communication system according to an embodiment of the present invention when establishing a P2P communication path, establishes a NAT investigation phase (steps S100, S200), a P2P communication port exchange phase (step S300), and a P2P communication path Run the phase (step S400).
  • the communication terminal 10 and the communication terminal 20 communicate with the server 30 and are connected to investigate the relay characteristics of the router 11 or the router 21, and P2P Communication ports that can access each other in communication are determined.
  • the communication terminal 10 and the communication terminal 20 have the NAT type (for example, Full Cone NAT, Symmetric NAT, etc.) and the property of Port Reuse as the relay characteristics of the router 11 or the router 21. Investigate whether or not.
  • step S300 the communication terminal 10 and the communication terminal 20 exchange the communication ports determined in the NAT investigation phase with each other via the server 30.
  • step S400 the communication terminal 10 and the communication terminal 20 transmit packets to each other's communication ports exchanged in the P2P communication port exchange phase to establish the P2 P communication path. .
  • FIG. 5A is a flowchart showing detailed operations of the NAT investigation phase (step S100) in communication terminal 10.
  • the NAT investigation phase (step S100) in the communication terminal 10 will be described with reference to FIG. 5A.
  • the descriptions such as (IPG1, GP11) under each message indicate the source address information included in each message. Show the information (source IP address and source port number).
  • address information investigation request unit 101 sends a port number investigation request 1 message from port number [LP 1] of communication terminal 10 to port number [SPO] of server 30. Send (step S 101).
  • the address information investigation unit 301 when the address information investigation unit 301 receives the port number investigation request 1 message via the communication unit 304, the address information investigation unit 301 obtains the transmission source IP address and the transmission source from the received message (received packet header). Extract the port number (ie IP address [IPG1] of router 11 and source port number [GP11]). The address information transmitting unit 302 includes the extracted IP address [IPG 1] of the router 11 and the source port number [GP 11] in the port number investigation response 1 message, and sends it back to the communication terminal 10 (step S102). .
  • the address information investigation request unit 101 sends a port number investigation request 2 message from the port number [LP1] of the communication terminal 10 toward the port number [SP1] of the server 30. Is transmitted (step S103).
  • the address information investigation unit 301 when the address information investigation unit 301 receives the port number investigation request 2 message via the communication unit 304, the source IP address and the transmission source are received from the received message (received packet header). Extract the port number (ie IP address [IPG1] of router 11 and source port number [GP12]).
  • the address information transmission unit 302 includes the IP address [IPG 1] of the router 11 extracted by the address information investigation unit 301 and the source port number [GP12] in the port number investigation response 2 message and returns it to the communication terminal 10. Yes (Step S104).
  • steps S101 and S102 the reason why the port number investigation request message is transmitted to the two port numbers [SP0, SP1] of the server 30 at the same port number [LP1] at the communication terminal 10 Will be explained.
  • the communication terminal 10 is connected to the Cone system. (Full Cone, Restricted Cone, or Port Restricted Cone) It can be determined that it is NAT.
  • the communication terminal 10 determines that the router 11 It can be determined that it is metric NAT. That is, the communication terminal 10 investigates the NAT type of the router 11 by sending a port number investigation request message to two port numbers [SPO, SP1] of the same port number [LP1] force server 30. can do.
  • the communication terminal 10 may investigate the NAT type of the router 11 using a method other than that described above. For example, the communication terminal 10 transmits a packet to two servers having different IP addresses via a router, and the router's NAT type is determined depending on whether the assigned router port numbers are the same or different. You may investigate.
  • address information reception unit 102 receives the received message to relay characteristic determination unit 104.
  • relay characteristic determining unit 104 matches the port numbers of router 11 included in port number investigation response 1 message received by address information receiving unit 102 and port number investigation response 2 message. It is checked whether or not to perform (step S107). When the port number of router 11 matches, the relay characteristics determination unit 104 determines that the router 11 has a SCone NAT, and the port number of router 11 matches! /, NA! /, In step S108, it is determined that the router 11 is symmetric NAT.
  • communication port determining section 103 determines the port number used by communication terminal 10 for P2P communication (step S109). Details of the P2P communication port determination process (step S109) will be described later.
  • FIG. 5B is a flowchart showing detailed operations of the NAT investigation phase (step S200) in communication terminal 20.
  • the NAT investigation phase (step S200) processing in the communication terminal 20 will be described with reference to FIG. 5B.
  • the address information investigation request unit 201 sends a port number investigation 1 message from the port number [LP2] of the communication terminal 20 toward the port number [SPO] of the server 30. Send (step S201).
  • the address information examining unit 301 when receiving the port number investigation request 1 message via the communication unit 304, receives the source IP address and the source from the received message (received packet header). Extract the port number (that is, the IP address [IPG2] of the router 21 and the source port number [GP21]).
  • the address information transmission unit 302 includes the IP address [IPG2] of the router 21 extracted by the address information investigation unit 301 and the source port number [GP21] in the port number investigation response 1 message, and sends it back to the communication terminal 20. (Step S202).
  • the address information investigation request unit 201 displays the port number of the communication terminal 20.
  • [LP2] sends a port number investigation request 2 message to the port number [SP1] of the server 30 (step S203).
  • the address information investigation unit 301 when the address information investigation unit 301 receives the port number investigation request 2 message via the communication unit 304, the address information investigation unit 301 obtains the transmission source IP address and the transmission source from the received message (the header of the received packet).
  • the port number that is, the IP address [IPG2] of the router 21 and the source port number [GP22]
  • the address information transmission unit 302 includes the IP address [IPG2] of the router 21 extracted by the address information investigation unit 301 and the source port number [GP22] in the port number investigation response 2 message, and sends it back to the communication terminal 20. (Step S 204).
  • steps S201 and S202 the reason why the port number investigation request message is transmitted to the two port numbers [SPO, SP1] of the server 30 at the same port number [LP2] at the communication terminal 20 power This is the same as the description given to communication terminal 10 using FIG. 5A.
  • the relay characteristic determination unit 202 Pass the received message to.
  • the relay characteristic determination unit 204 checks the port number [GP21] of the router 21 included in the port number check response 1 message and the port number check. It is checked whether or not the port number [LP2] of the communication terminal 20 when the request 1 message is transmitted matches (step S205).
  • the relay characteristic determination unit 204 determines the NAT power of the router 21. Judged to have Port Reuse properties (step S206).
  • relay characteristic determining unit 204 matches the port numbers of router 21 included in port number investigation response 1 message received by address information receiving unit 202 and port number investigation response 2 message. It is checked whether or not to perform (step S207). When the port number of router 21 matches, the relay characteristic determination unit 204 determines that the router 21 is a SCone NAT, and when the port number of router 21 does not match, the router 21 It is determined that it is Symmetric NAT (step S208).
  • Communication port determination unit 203 determines the port number used by communication terminal 20 for P2P communication based on the relay characteristics of router 21 determined by relay characteristic determination unit 204 (step S209).
  • FIG. 5C is a flowchart showing detailed operations of the P2P communication port determination process (step S 109) in FIG. 5A.
  • step S 109 the details of the P2P communication port determination process (step S 109) in the communication terminal 10 will be described with reference to FIG. 5C.
  • communication port determination unit 103 checks whether or not it has the NAT power Port Reuse property of router 11 (step S 1091). If the NAT of router 11 has the property of Port Reuse, communication port determination unit 103 freely selects a port number to be used for P2P communication (step S1092). It is assumed that communication port determination unit 103 selects port number [GP13] as the port number used in P2P communication.
  • the reason why the communication port determination unit 103 may freely select the port number used in the P2P communication when the NAT of the router 11 is Port Reuse will be described.
  • the router 11 has the property of Port Reuse, the same port number as the port number opened by the communication terminal 10 is assigned to the router 11. For this reason, the communication terminal 10 uses the port notified to the communication terminal 20 in the next P2P communication port exchange phase (step S300). As the number, the port number opened by itself may be notified. For this reason, the communication port determining unit 103 can freely select a port number to be used in P2P communication.
  • the communication port determining unit 103 checks whether the router 11 is a Cone-based NAT (step S1093). If the NAT of router 11 is a Cone-type NAT, communication port decision unit 103 uses the port number of router 11 acquired in the port number investigation response 1 message (step S102) as the port number used for P2P communication. A number is selected (step S1094). The reason is that when the router 11 is a Cone-type NAT, if the source port number of the message relayed by the router 11 is the same, the router 11 is always assigned the same port number.
  • router 11 is not a Cone-based NAT (ie, router 11 is Symmetric NAT)
  • communication port determination unit 103 predicts a port number assigned to router 11 during P2P communication. There is a need. Therefore, the communication port determining unit 103 calculates the difference between the port number [GP12] of the router 11 acquired in the port number investigation response 2 message and the port number [GP 11] of the router 11 acquired in the port number investigation response 1 as ⁇ Then, select [GP12 + a ] as the port number to be used for ⁇ 2 ⁇ communication (step S1095).
  • step S209 in FIG. 5B is also the same as in FIG.
  • FIG. 6 is a flowchart showing a detailed operation of the P2P communication port exchange phase (step S300) in FIG.
  • step S300 the details of the P2P communication port exchange phase (step S300) will be described with reference to FIG.
  • relay information transmitting unit 105 includes the IP address of router 11 and the communication port.
  • the IPZ port notification message including the port number determined by the port determination unit 103 is transmitted to the server 30 (step S301).
  • the IP / port notification message received by the server 30 includes the IP address [IPG1] of the router 11 and the port number [GP13].
  • the relay information transfer unit 303 relays the IPZ port notification message, which has also received the communication terminal 10 output, to the communication terminal 20 via the communication unit 304 (step S302).
  • the relay information receiving unit 206 receives the IPZ port notification message transmitted from the communication terminal 10 via the server 30.
  • relay information transmitting section 205 transmits the port number determined by communication port determining section 203 to server 30 as an IPZ port notification message (step S303).
  • the IPZ port notification message includes the IP address [IPG2] of the router 21 acquired by the port number investigation response 1 message and the port number [GP21 ] Is included.
  • the relay information transfer unit 303 relays the IPZ port notification message that has also received the communication terminal 20 power to the communication terminal 10 via the communication unit 304 (step S304).
  • the relay information receiving unit 206 receives the IPZ port notification message transmitted from the communication terminal 20 via the server 30.
  • FIG. 7 is a flowchart showing the detailed operation of the P2P communication channel establishment phase (step S400) in FIG. Details of the P2P channel establishment phase (step S400) will be described below with reference to FIG.
  • communication control section 207 transmits a P2 P start request message to address information [IPG1, GP13] included in the IP / port notification message received from communication terminal 10 in step S302. (Step S401).
  • the P2P start request message transmitted from the communication terminal 20 is relayed by the router 11 by the router 21.
  • the NAT of the router 21 is configured to relay packets in the reverse direction, and the communication terminal 10 (that is, the router 11 [IPG1, GP13]) and the like, the packet that has reached the router 21 [IPG2, GP21]
  • Communication terminal 20 [IPL2, LP2] is set for relaying.
  • the P2P start request message transmitted from the communication terminal 20 passes through the router 21 Data 11 is received. Therefore, the NAT of router 11 is configured to relay packets sent to address information [IPG1, GP13] via router 21 [IPG2, GP21] to communication terminal 10. Not. For this reason, the P2 P start request message transmitted from the communication terminal 20 is discarded by the router 11.
  • communication control section 107 sends a P2P start request message to address information [IPG2, GP21] included in the IP / port notification message received from communication terminal 20 in step S304. Is transmitted (step S402).
  • the P2P start request message transmitted from the communication terminal 10 is relayed to the router 21 by the router 11.
  • NAT 11 of router 11 is configured to relay packets in the reverse direction, so that packets arrived at router 11 [IPG1, GP13] from communication terminal 20 (that is, router 21 [IPG2, GP21]). Is set to relay to the communication terminal 20 [IPL2, LP2].
  • a P2P start request message transmitted from the communication terminal 10 is received by the router 21 via the router 11.
  • the router 21 receives packets from the in-home terminal 11 (that is, the norator 11 [IPG 1, GP13]) and the packets sent to the norator 21 [IPG2, GP21]. Settings for relaying to [IPL2, LP2] are made. For this reason, the router 21 can relay the P2P start request message transmitted from the communication terminal 10 to the communication terminal 20.
  • step S403 the P2P start request message transmitted from the communication terminal 20 is input to the norator 11 by the norator 21.
  • the packet transmitted from the communication terminal 20 that is, the router 21 [IPG2, GP21]
  • the router 11 [IPG1, GP13] is sent to the norator 11 by the communication terminal 10 [IPL1, LP1] is set to relay.
  • the router 11 can relay the P2P start request message transmitted from the communication terminal 20 to the communication terminal 10.
  • the P2P communication path between the communication terminal 10 and the communication terminal 20 is established.
  • the communication terminal 10 has a predetermined communication with the server 30.
  • the relay characteristics of router 11 are investigated based on the transmitted and received messages.
  • the communication terminal 10 has the relay characteristic power Port Reuse of the router 11
  • the address information including at least the port number of the communication terminal itself used for P2P communication with the other communication terminal 20 is used as the address information used by the router. decide. Accordingly, if the relay characteristic of the router 11 is Port Reuse, the communication terminal 10 can simplify the procedure for determining the address information used by the router 11 using the server 11.
  • the communication terminal 10 when the communication terminal 10 has the relay characteristic power Port Reuse of the router 11 and Symmetric NAT, the procedure for predicting the port number used by the router 11 can be omitted. . Therefore, when establishing a P2P communication path with another communication terminal 20, the communication terminal 10 can realize high connectivity with a shorter time and less traffic.
  • the NAT investigation phase (steps S 100 and S 200) is performed in advance by each terminal as a preparation for the next P2P communication port exchange phase (step S 300). Yes, it does not necessarily have to be implemented by the method shown in FIG.
  • the subsequent NAT investigation phase may be omitted if the relay characteristic SPort Reuse of the router investigated previously is used. ⁇ .
  • the communication terminal 10 first transmits the IP port Z port notification message. Depending on the timing of determining the P2P communication port shown in FIGS. 5A and 5B, the communication terminal 10 In some cases, 10 sends an IP port Z port notification message, and the processing is not necessarily performed in the order shown in FIG.
  • communication terminal 10 and communication terminal 20 notify only the combination of one IPZ port to the other terminal in the IPZ port notification message, but notify the combination of a plurality of IPZ ports. Increase the connectivity of establishing a P2P communication path.
  • the communication terminal 20 first transmits the P2P communication start request message. However, depending on the timing of receiving the IPZ port notification message shown in FIG. A communication start request message may be transmitted, and the processing is not necessarily performed in the order shown in FIG.
  • the communication terminal and the communication method of the present invention are useful when performing a one-to-one interconnection with a communication terminal on another network via a router.

Abstract

 異なるプライベートネットワークに接続された通信端末との間で、P2P通信路を確立することができる通信端末を提供する。  通信端末(10)は、ルータ(11)を介して、サーバ(30)とメッセージを送受信することで、ルータ(11)の中継特性を調査する。通信端末(10)は、調査したルータ(11)の中継特性がPort Reuseであれば、通信端末(20)とP2P通信で使用する自身のポート番号を少なくとも含むアドレス情報を、ルータのアドレス情報として決定する。通信端末(10)は、決定したルータ(11)のアドレス情報を通信端末(20)と交換する。通信端末(10)は、交換したアドレス情報に基づいて、通信端末(20)との間でP2P通信路を確立する。

Description

明 細 書
通信端末及び通信方法
技術分野
[0001] 本発明は、通信端末及び通信方法に関し、より特定的には、ルータを介して他のネ ットワーク上の通信端末と一対一の相互接続を行う通信端末及び通信方法に関する 背景技術
[0002] ネットワーク全体で一意に決定され、一対一(ピア 'ツー'ピア。以降 P2Pと呼ぶ)の 相互接続を可能とする IPアドレスをグローバル IPアドレスという。一方、グローバル IP アドレスではなぐ特定の一部のネットワーク内だけで一意に決定され、他のネットヮ ークとの P2P通信に使用できな!/、IPアドレスをプライベート IPアドレスと!/、う。このよう なプライベート IPアドレスによって構成されるネットワークを、プライベートネットワーク という。
[0003] プライベート IPアドレスを有する通信端末力 外部のグローバル IPアドレスを有する 通信端末と通信するには、プライベートネットワークと、外部のグローバルネットワーク との間に、ネットワークアドレス変換(Network Address Translation、以降 NAT と呼ぶ)、あるいはネットワークアドレスポート変換(Network Address Port Tran slation,以降 NAPTと呼ぶ)機能を備えた通信端末 (ルータ)を配置する方法が一 般的である。ただし、以降の説明では、単に NATと記せば、この NATと NAPTの両 方の概念を含むものとする。
[0004] NATには複数の種類があることが知られて!/、る。ここで、図 8を用いて、 NATの種 類について説明する。図 8 (a)は、 Full Cone NATと呼ばれる種類の NATを示し ている。図 8 (a)を参照して、 Full Cone NATを備えたルータは、同じ宅内端末 A のアドレス情報 [IPa、 Pa]力 宅外へ向けて送信されるパケットに対しては、常にル ータの同じポート番号 [Pb]を割当てて外部のネットワークへ送信する。また、ルータ は、外部のネットワークに接続された不特定の宅外端末 C、 Dから、アドレス情報 [IPb 、 Pb]に向けて送信されたパケットを、全て宅内端末 A[IPa、 Pa]に転送する。 [0005] 図 8 (b)は、 Restricted Cone NATと呼ばれる種類の NATを示している。図 8 ( b)を参照して、 Restricted Cone NATを備えたルータは、同じ宅内端末 Aのアド レス情報 [IPa、 Pa]から宅外へ向けて送信されるパケットに対しては、常にルータの 同じポート番号 [Pb]を割当てて外部のネットワークへ送信する。ただし、 Full Cone NATとは異なり、ルータは、宅内端末 Aがパケットを送信したことがある宅外端末 C の IPアドレス [IPc]から、アドレス情報 [IPb、 Pb]に向けて送信されたパケットし力 宅 内端末 A[IPa、 Pa]への転送を行わない。この時、宅外端末 Cのポート番号は何でも 良い。
[0006] 図 8 (c)は、 Port Restricted Cone NATと呼ばれる種類の NATを示している 。図 8 (c)を参照して、 Port Restricted Cone NATを備えたルータは、同じ宅内 端末 Aのアドレス情報 [IPa、 Pa]から宅外へ向けて送信されるパケットに対して、常に ルータの同じポート番号 [Pb]を割当てて外部のネットワークへ送信する。また、 Rest ricted Cone NATとは異なり、ルータは、宅内端末 Aがパケットを送信したことが ある宅外端末 Cのポート番号 [Pel]から、アドレス情報 [IPb、 Pb]に向けて送信され たパケットし力、宅内端末 A[IPa、 Pa]への転送を行わない。この時、ルータは、同じ 宅外端末 Cから送信されたパケットでも、 [Pel]以外のポート番号 (例えば [Pc2])か ら送信されたパケットは全て破棄する。
[0007] 図 8 (d)は、 Symmetric NATと呼ばれる種類の NATを示して!/、る。図 8 (d)を参 照して、 Symmetric NATを備えたルータは、同じ宅内端末 Aのアドレス情報 [IPa 、 Pa]力も特定の宅外端末のポート番号へ向けて送信されるパケットに対しては、ル ータの特定のポート番号を割当てて外部のネットワークへ送信する。例えば、ルータ は、宅内端末 A[IPa、 Pa]から宅外端末 C[IPc、 Pc]へ送信されるパケットに対して は、ルータのポート番号 [Pbl]を割り当てる。また、ルータは、宅内端末 A[IPa、 Pa] 力も宅外端末 D[IPd、 Pd]へ送信されるパケットに対しては、ルータのポート番号 [P b2]を割り当てる。また、 Port Restricted Cone NATと同様に、ルータは、宅内 端末 Aがパケットを送信したことがある宅外端末のポート番号カゝら送信されたパケット し力 宅内端末 A[IPa、 Pa]への転送を行わない。
[0008] これらのルータの NAT機能を利用することで、プライベートネットワーク内に存在す る宅内端末は、プライベート IPアドレスを用いて、グローバルネットワーク上に存在す る宅外端末との間で通信を行うことができる。
[0009] し力し、プライベートネットワークとグローバルネットワークとの間に NAT機能を持つ たルータを配置するだけでは、プライベート IPアドレスを持った端末が、異なるプライ ペートネットワークに存在する端末との間で P2P通信を行うことができない。そこで、 異なるプライベートネットワークに存在する端末同士力 ルータの NATを越えて P2P 通信を実現する手法として、 RFC3489には、 STUN (Simple Traversal UDP through NATを用いた手法が開示されている。なお、以降の説明で使用される「 パケット」は、全て「UDPパケット」を意味し、メッセージは、全て UDPパケットによって 送受信されるものとする。
[0010] 図 9は、 STUNを用いた手法によって P2P通信を実現する場合の端末間のシーケ ンスを示す図である。ただし、図 9に示すルータ 1及びルータ 2は、 Symmetric NA Tではないものとする。図 9を参照して、端末 1は、サーバに対して IPZポート登録要 求を送信する (ステップ S501)。サーバは、受信したパケットの送信元アドレス情報( すなわち、送信元 IPアドレス及び送信元ポート番号)を登録する (ステップ S502)。こ こで、サーバには、ルータ 1の NATによって、端末 1のアドレス情報 [IPL1、 LP1]力 ら、ルータ 1のアドレス情報 [IPG1、 GP1]に変換された後のアドレス情報 [IPG1、 G PI]が登録される。
[0011] 同様に、端末 2は、サーバに対して IPZポート登録要求を送信する (ステップ S503 )。サーバは、受信したパケットの送信元アドレス情報 (すなわち、送信元 IPアドレス 及び送信元ポート番号)を登録する (ステップ S504)。ここで、サーバには、ルータ 2 の NATによって、端末 2のアドレス情報 [IPL2、 LP2]から、ルータ 2のアドレス情報 [ IPG2、 GP2]に変換された後のアドレス情報 [IPG2、 GP2]が登録される。
[0012] 次に、端末 2は、端末 1にアクセスするときに用いるアドレス情報を取得するために、 IPZポート取得要求をサーバに対して送信する (ステップ S505)。サーバは、その応 答として、ステップ S502で登録したアドレス情報 [IPG1、 GP1]を設定した IPZポー ト取得応答を端末 2に返す (ステップ S 506)。
[0013] 端末 2は、端末 1にアクセスするときに用いるアドレス情報 [IPG1、 GP1]を取得す れば、取得したアドレス情報 [IPG 1、 GP1]に向けて、 P2P開始要求を送信する (ス テツプ S507)。ルータ 2は、端末 2が送信した P2P開始要求をルータ 1に中継する。こ こで、ルータ 1が Full Cone NATであれば、端末 2から送信された P2P開始要求 は、端末 1へ転送され、端末 1と端末 2との間に P2P通信路が確立する。
[0014] 一方、ルータ 1が Full Cone NATでなければ、端末 2から送信された P2P開始 要求は、ルータ 1よって破棄され、端末 1 [IPL1、 LP1]に転送されることはない。
[0015] ただし、ルータ 2の NATには、端末 2が送信した P2P開始要求を中継する際に、中 継した P2P開始要求と逆方向のパケットを、端末 2まで転送するための設定が行われ る。すなわち、ルータ 2の NATには、ルータ 2力Full Cone NATである場合は、端 末 1からルータ 1 [IPG1、 GP1]を介して、ルータ 2[IPG2、 GP2]に届いたパケットを 、端末 2[IPL2、 LP2]に転送するという設定が行われる。また、ルータ 2が Restricte d Cone NATである場合には、送信元 IPアドレス [IPG1]から、ルータ 2[IPG2、 G P2]に届いたパケットを、端末 2[IPL2、 LP2]に転送するという設定が行われる。ま た、ルータ 2が Port Restricted Cone NATである場合には、端末 1からルータ 1 [IPG1、 GP1]を介して、ルータ 2[IPG2、 GP2]に届いたパケットを、端末 2[IPL2、 LP2]に転送すると 、う設定が行われる。
[0016] 次に、端末 1は、端末 2にアクセスするときに用いるアドレス情報を取得するために、 IPZポート取得要求をサーバに対して送信する (ステップ S508)。サーバは、その応 答として、ステップ S504で登録したアドレス情報 [IPG2、 GP2]を設定した IPZポー ト取得応答を端末 1に返す (ステップ S509)。
[0017] 端末 1は、端末 2にアクセスするときに用いるアドレス情報 [IPG2、 GP2]を取得す れば、取得したアドレス情報 [IPG2、 GP2]に向けて、 P2P開始要求を送信する(ス テツプ S510)。ルータ 1は、端末 1が送信した P2P開始要求をルータ 2に中継する。 ルータ 2の NATには、上述したように、端末 1からルータ 1を介して、ルータ 2 [IPG2、 GP2]に届いたパケットを端末 2[IPL2、 LP2]に転送する設定がある。そのため、ル ータ 2は、端末 1が送信した P2P開始要求を端末 2に転送することができる。
[0018] また、ルータ 1の NATには、端末 1が送信した P2P開始要求を中継する際に、中継 した P2P開始要求と逆方向のパケットを、端末 1まで転送するための設定が行われる 。すなわち、ルータ 1の NATには、ルータ 1が Restricted Cone NATである場合 は、送信元 IPアドレス [IPG2]から、ルータ 1 [IPG1、 GPl]に届いたパケットを、端末 1 [IPL1、 LP1]に転送するという設定が行われる。また、ルータ 1が Port Restricte d Cone NATである場合には、端末 2からルータ 2 [IPG2、 GP2]を介して、ルータ 1 [IPG1、 GPl]に届いたパケットを、端末 1 [IPL1、 LP1]に転送するという設定が行 われる。
[0019] P2P開始要求を受信した端末 2は、端末 1に対して、 P2P開始応答を送信する (ス テツプ S511)。このとき、ルータ 1の NATには、上述したように、端末 2からルータ 2を 介して、ルータ 1 [IPG1、 GPl]に届いたパケットを端末 1 [IPL1、 LP1]に転送する 設定がある。そのため、ルータ 1は、端末 2から送信された P2P開始応答を端末 1〖こ 転送することができる。以上がルータ 1及びルータ 2が Symmetric NAT以外の時 における STUNによる P2P通信路の確立手法である。
[0020] 一方、端末 1と端末 2との間の経路に、 Symmetric NATであるルータが存在する 場合には、 STUNによって P2P通信路を確立する上で以下のような問題が発生する 。その問題を図 10及び図 11を用いて説明する。図 10は、ルータ 1が Symmetric N ATである場合に発生する問題を説明する図である。図 11は、ルータ 2が Symmetri c NATである場合に発生する問題を説明する図である。
[0021] 図 10を参照して、ステップ S601〜S604は、図 9におけるステップ S501〜S504と 同様の処理であるため説明を省略する。次に、端末 2は、端末 1にアクセスするときに 用いるアドレス情報を取得するために、 IPZポート取得要求をサーバに対して送信 する(ステップ S605)。サーバは、その応答として、ステップ S602で登録したアドレス 情報 [IPG 1, GPl]を設定した IPZポート取得応答を端末 2に返す (ステップ S606)
[0022] 端末 2は、端末 1にアクセスするときに用いるアドレス情報 [IPG1、 GPl]を取得す れば、取得したアドレス情報 [IPG 1、 GPl]に向けて、 P2P開始要求を送信する (ス テツプ S607)。ルータ 2は、端末 2が送信した P2P開始要求をルータ 1に中継する。こ こでルータ 1が Symmetric NATであるため、端末 2から送信された P2P開始要求 のパケットは、ルータ 1よって破棄され、端末 1 [IPL1、 LP1]に転送されない。 [0023] ただし、ルータ 2の NATには、端末 2が送信した P2P開始要求を中継する際に、中 継した P2P開始要求と逆方向のパケットを、端末 2まで転送するための設定が行われ る。すなわち、ルータ 2の NATには、ルータ 2力Full Cone NATである場合は、端 末 1からルータ 1 [IPG1、 GP1]を介して、ルータ 2[IPG2、 GP2]に届いたパケットを 、端末 2[IPL2、 LP2]に転送するという設定が行われる。また、ルータ 2が Restricte d Cone NATである場合は、送信元 IPアドレス [IPG1]から、ルータ 2[IPG2、 GP 2]に届いたパケットを、端末 2[IPL2、 LP2]に転送するという設定が行われる。また 、ルータ 2が Port Restricted Cone NATである場合は、端末 1からルータ 1 [IP Gl、 GP1]を介して、ルータ 2[IPG2、 GP2]に届いたパケットを、端末 2[IPL2、 LP 2]に転送すると 、う設定が行われる。
[0024] 次に、端末 1は、端末 2にアクセスするときに用いるアドレス情報を取得するために、 IPZポート取得要求をサーバに対して送信する (ステップ S608)。サーバは、その応 答として、ステップ S604で登録したアドレス情報 [IPG2、 GP2]を設定した IPZポー ト取得応答を端末 1に返す (ステップ S609)。
[0025] 端末 1は、端末 2にアクセスするときに用いるアドレス情報 [IPG2、 GP2]を取得す れば、取得したアドレス情報 [IPG2、 GP2]に向けて、 P2P開始要求を送信する(ス テツプ S610)。このとき、ルータ 1は、 Symmetric NATであるため、端末 1から送信 された P2P開始要求に、 [GP1]以外のポート番号 (例えば、 [GP3])を割り当てるこ とになる。
[0026] ここで、ルータ 2が Full Cone NAT、あるいは Restricted Cone NATである 場合には、端末 1が送信した P2P開始要求は、ルータ 2によって端末 2[IPL2、 LP2] に転送され、端末 1と端末 2との間における P2P通信路が確立する。しかし、ルータ 2 が Port Restricted Cone NAT、あるいは Symmetric NATである場合には、 端末 1が送信した P2P開始要求は、ルータ 2によって破棄され、端末 2に転送されな い。このため、端末 1と端末 2との間における P2P通信路の確立は失敗する。
[0027] なお、ルータ 2が Symmetric NAT (図 11参照)である場合も、同様の問題によつ て、 P2P通信路の確立は失敗する。
[0028] このように、ルータ 1またはルータ 2のいずれ力が Symmetric NATである場合に は、 STUNによる P2P通信路確立の可能性は高いとは言い難い。そこで、このような 問題を解決するために、従来、ルータ 1及びルータ 2が Symmetric NATである場 合にも、 P2P通信路の確立を成功させる手法が開示されている(例えば、特許文献 1 参照)。
[0029] 図 12は、従来の手法による P2P通信路の確立手順を示すシーケンス図である。図 12を参照して、ステップ S801〜S804は、図 9におけるステップ S501〜S504と同 様の処理であるため説明を省略する。端末 2は、端末 1に P2P通信を要求するため に、 P2P通信要求をサーバに対して送信する (ステップ S805)。このとき、端末 2は、 P2P通信要求で使用する送信元ポート番号を、 IPZポート取得要求で使用した送信 元ポート番号 [LP2]から [LP2 + a]に変更する。 aは、任意の整数である。
[0030] 端末 2が新しいポート番号 [LP2 + a]を使う理由は、ルータ 2に、 P2P通信要求の 送信元ポート番号として、新しい送信元ポート番号 [GP2+b]を使わせるためである 。 bは、ルータ 2における NATの不確定な増分値である。
[0031] P2P通信要求を受取ったサーバは、アドレス情報 [IPG2、 GP2+b]を設定した IP Zポート通知を端末 1に送信する(ステップ S806)。
[0032] IPZポート通知を受取った端末 1は、 P2P通信を許可する場合は、サーバに対して P2P開始許可を送信する (ステップ S807)。このとき、端末 1は、 P2P開始許可で使 用する送信元ポート番号を、 IPZポート取得要求で使用した送信元ポート番号 [LP 1]から [LPl + d]に変更して送信する。端末 1が [LPl + d]という新しいポート番号を 使う理由は、ルータ 1に、 P2P通信許可の送信元ポート番号として、新しい送信元ポ ート番号 [GPl + d]を使わせるためである。 dは、任意の整数であり、ルータ 1におけ る NATの不確定な増分値である。
[0033] さらに、 IPZポート通知によって、端末 2にアクセスするときに用いるアドレス情報 [I PG2、 GP2+b]を取得した端末 1は、取得したアドレス情報 [IPG2、 GP2+b+n] に向けて、 P2P開始要求を送信する (ステップ S808)。
[0034] なお、ステップ S807で送信される P2P通信許可と、ステップ S808で送信される P2 P開始要求とは、極めて短時間内に連続で送信される。このため、ルータ 1によって、 P2P通信許可の送信元ポート番号が [LPl + c]から [GPl + d]に変換された場合、 P2P開始要求の送信元ポート番号は、 [LPl + c + 1]から [GPl + d+ 1]に変換され る。
[0035] また、ルータ 1の NATには、端末 1が送信した P2P開始要求を中継する際に、中継 した P2P開始要求と逆方向のパケットを、端末 1まで転送するための設定が行われる 。すなわち、ルータ 1の NATには、端末 2からルータ 2 [IPG2、 GP2+b+n]を介し て、ルータ 1 [IPG1、 GP1 + d+ 1]に届いたパケットを、端末 1 [IPL1、 LPl + c+ 1] に転送するという設定が行われる。ここで、 nは任意の整数値である。
[0036] サーバは、ステップ S807で端末 1が送信した P2P通信許可を受け取ると、端末 2に 対して、ルータ 1のアドレス情報 [IPG 1、 GPl + d]を設定した P2P通信許可を送信 する(ステップ S809)。
[0037] 次に、端末 2は、 P2P通信許可によって、端末 1にアクセスするときに用いるアドレス 情報 (すなわち、ルータ 1のアドレス情報) [IPG1、 GPl + d]を受取ったら、直ちに端 末 1へ P2P開始要求を送信する(ステップ S810)。このとき端末 2は、ルータ 1のポー ト番号 [GPl + d+ 1]に向けて、送信元ポート番号を [LP2 + a+ l]から 1つずつ増 カロさせながら n個の P2P開始要求を送信する。この P2P開始要求の送信元ポート番 号は、ルータ 2によって、 [GP2+b+m]から [GP2+b+m+n— 1]までのポート番 号に変換される。
[0038] 端末 2から送信された複数の P2P開始要求のいずれかは、逆方向のパケットを端 末 1まで転送するルータ 1の設定と一致するため、端末 1まで転送される。 P2P開始 要求を受取った端末 1は、その応答として P2P開始応答を送信する (ステップ S811) 。これによつて、端末 1と端末 2との間における P2P通信路が確立する。
特許文献 1:特開 2004— 180003号公報
発明の開示
発明が解決しょうとする課題
[0039] しかしながら、図 12に示した従来の手法においては、端末 2は、端末 1がステップ S 808で P2P開始要求を送信したポート番号を予測するために、ステップ S810で複数 の P2P開始要求を送信している。このために、 P2P通信路の確立までの接続時間が 遅延するという問題や、トラフィックが増大するという問題が発生していた。また、さら に、ルータ 2の種類によっては、端末 2から送信された複数の P2P開始要求に割り当 てられるポート番号がランダムに変化する場合がある。このような場合、端末 2から送 信された P2P開始要求には、順番にポート番号が割当てられないため、 P2P通信路 の接続性が悪くなるという問題が発生する可能性があった。
[0040] それ故に、本発明の目的は、他の通信端末との間で P2P通信路を確立するときに 、短時間かつ少ないトラフィックで、高い接続性を実現する通信端末及び通信方法を 提供することである。
課題を解決するための手段
[0041] 本発明は、ルータによってグローバルネットワークと接続されたプライベートネットヮ ーク上に存在し、ルータを介して他のネットワーク上の通信端末と一対一の相互接続 を行う通信端末に向けられている。そして、上記目的を達成するために、本発明の通 信端末は、アドレス情報決定部と、アドレス情報交換部と、通信制御部と、通信部とを 備える。
[0042] アドレス情報決定部は、グローバルネットワーク上にあるサーバとの間で所定のメッ セージを送受信することで、ルータの中継特性を調査して、他のネットワーク上の通 信端末との一対一の相互接続に使用するルータのアドレス情報を決定する。アドレス 情報交換部は、アドレス情報決定部によって決定されたルータのアドレス情報を、他 のネットワーク上の通信端末との間で互いに交換する。通信制御部は、アドレス情報 交換部で交換されたルータのアドレス情報に基づ 、て、他のネットワーク上の通信端 末との間で一対一の相互接続を行う。通信部は、通信端末の全ての通信を行う。アド レス情報決定部は、ルータの中継特性が Port Reuseである場合に、他のネットヮー ク上の通信端末と一対一の相互接続で使用する通信端末自身のポート番号を少なく とも含むアドレス情報を、ルータのアドレス情報として決定する。
[0043] より特定的には、アドレス情報決定部は、アドレス情報要求部と、アドレス情報受信 部と、中継特性判断部と、ポート番号決定部とを含む。アドレス情報要求部は、ルー タを介して、サーバに所定のメッセージを送信することで、サーバにルータのアドレス 情報を要求する。アドレス情報受信部は、要求に対する応答として、サーバからルー タのアドレス情報を受信する。中継特性判断部は、アドレス情報受信部が受信したル ータのアドレス情報に基づいて、ルータの中継特性を判断する。ポート番号決定部は 、中継特性判断部が判断したルータの中継特性に基づいて、他のネットワーク上の 通信端末と一対一の相互接続で使用する通信端末自身のポート番号を決定する。
[0044] 好ましくは、アドレス情報調査要求部は、通信端末の所定のポート番号から、サー バの第 1のポート番号に向けて第 1のポート番号調査要求メッセージと、サーバの第 2 のポート番号に向けて第 2のポート番号調査要求メッセージとを連続して送信する。 アドレス情報受信部は、サーバから、第 1のポート番号調査要求メッセージに対する 応答である第 1のポート番号調査応答メッセージと、第 2のポート番号調査要求メッセ ージに対する応答である第 2のポート番号調査応答メッセージとを受信する。中継特 性判断部は、アドレス情報受信部が受信した第 1のポート番号調査応答メッセージと 、第 2のポート番号調査応答メッセージとに基づいて、ルータの中継特性を判断する
[0045] 第 1のポート番号調査応答メッセージには、ルータの IPアドレスと、第 1のポート番 号調査要求メッセージをサーバに中継したときのルータの送信元ポート番号とが含ま れる。第 2のポート番号調査応答メッセージには、ルータの IPアドレスと、第 2のポート 番号調査要求メッセージをサーバ中継したときルータの送信元ポート番号とが含まれ る。中継特性判断部は、第 1のポート番号調査要求メッセージを送信した通信端末の 所定のポート番号と、第 1のポート番号調査応答メッセージに含まれるルータの送信 元ポート番号とがー致する場合に、ルータの中継特性が Port Reuseの性質を持つ ていると判断する。
[0046] 中継特性判断部は、第 1のポート番号調査応答メッセージに含まれるルータの送信 元ポート番号と、第 2のポート番号調査応答メッセージに含まれるルータの送信元ポ ート番号とがー致する場合に、ルータの中継特性力 SCone系の NAT機能を持ってい ると判断する。また、中継特性判断部は、第 1のポート番号調査応答メッセージに含 まれるルータの送信元ポート番号と、第 2のポート番号調査応答メッセージに含まれ るルータの送信元ポート番号とがー致しない場合に、ルータの中継特性が Symmetr ic NATの機能を持っていると判断する。
[0047] 通信ポート決定部は、中継特性判断部によって、ルータの中継特性が Port Reus eでなぐかつ Cone系の NAT機能を持っていると判断された場合に、第 1のポート番 号調査応答メッセージに含まれるルータの送信元ポート番号を、他のネットワーク上 の通信端末と一対一の相互接続で使用するポート番号として用いる。
[0048] 通信ポート決定部は、中継特性判断部によって、ルータの中継特性が Port Reus eでなぐかつ Symmetric NATの機能を持っていると判断された場合に、第 2のポ ート番号調査応答メッセージに含まれるルータの送信元ポート番号と、第 1のポート 番号調査応答メッセージに含まれるルータの送信元ポート番号との差分を、第 2のポ ート番号調査応答メッセージに含まれるルータの送信元ポート番号に加算したポート 番号を、他のネットワーク上の通信端末と一対一の相互接続で使用するポート番号と して用いる。
[0049] より特定的には、アドレス情報交換部は、中継情報送信部と、中継情報送信部とを 含む。中継情報送信部は、サーバを介して、他のネットワーク上の通信端末との一対 一の相互接続に使用するルータのアドレス情報を設定したメッセージを、他のネットヮ ーク上の通信端末に送信する。中継情報送信部は、サーバを介して、 自通信端末と 一対一の相互接続に使用するアドレス情報が設定されたメッセージを、他のネットヮ ーク上の通信端末から受信する。
[0050] 好ましくは、通信制御部は、通信部を介して、アドレス情報交換部によって交換され たアドレス情報宛てに、一対一の相互接続の開始を要求するメッセージを送信し、他 のネットワーク上の通信端末から一対一の相互接続の開始を要求するメッセージを 受信した場合に、他のネットワーク上の通信端末との間で一対一の相互接続を行う。
[0051] また、本発明は、ルータによってグローバルネットワークと接続されたプライべ一トネ ットワーク上に存在し、ルータを介して他のネットワーク上の通信端末と一対一の相互 接続を行う通信端末が実行する通信方法にも向けられている。上記目的を達成する ために、本発明の通信方法は、通信端末が、グローバルネットワーク上にあるサーバ との間で所定のメッセージを送受信することで、ルータの中継特性を調査し、ルータ の中継特性が Port Reuseである場合に、他のネットワーク上の通信端末と一対一 の相互接続で使用するポート番号を少なくとも含むアドレス情報を、ルータのアドレス 情報として決定し、決定されたルータのアドレス情報を、他のネットワーク上の通信端 末との間で互いに交換し、交換されたアドレス情報に基づいて、他のネットワーク上 の通信端末との間で一対一の相互接続を実施する。
発明の効果
[0052] 以上のように、本発明の通信端末及び通信方法によれば、サーバとの間で所定の メッセージを送受信し、送受信したメッセージに基づ 、てルータの中継特性を調査し 、ルータの中継特性が Port Reuseである場合に、他の通信端末との P2P通信に使 用する通信端末自身のポート番号を少なくとも含むアドレス情報を、ルータのアドレス 情報として決定する。これによつて、本発明の通信端末及び通信方法は、ルータの 中継特性が Port Reuseであれば、サーバを用いたルータが使用するアドレス情報 を決定するための手順を簡略ィ匕することができる。
[0053] また、本発明の通信端末及び通信方法は、ルータの中継特性が Port Reuseであ り、かつ Symmetric NATである場合に、ルータが使用するポート番号を予測する ための手順を省略することができる。故に、本発明の通信端末及び通信方法によれ ば、他の通信端末との P2P通信路の確立時に、より短時間かつ少ないトラフィックで 、高い接続性を実現することができる。
図面の簡単な説明
[0054] [図 1]図 1は、本発明の一実施形態に係る通信システムのネットワーク構成の一例を 示す図である。
[図 2]図 2は、 Port Reuseの性質を持ったルータ 11を説明する図である。
[図 3A]図 3Aは、通信端末 10の構成の一例を示すブロック図である。
[図 3B]図 3Bは、通信端末 20の構成の一例を示すブロック図である。
[図 3C]図 3Cは、サーバ 30の構成の一例を示すブロック図である。
[図 4]図 4は、本発明の一実施形態に係る通信システムにおける P2P通信路確立時 の動作を説明する図である。
[図 5A]図 5Aは、通信端末 10における NAT調査フェーズ (ステップ S 100)の詳細な 動作を示すフローチャートである。
[図 5B]図 5Bは、通信端末 20における NAT調査フェーズ (ステップ S200)の詳細な 動作を示すフローチャートである。 [図 5C]図 5Cは、 P2P通信ポート決定処理 (ステップ S109)の詳細な動作を示すフロ 一チャートである。
[図 6]図 6は、 P2P通信ポート交換フェーズ (ステップ S300)の詳細な動作を示すフロ 一チャートである。
[図 7]図 7は、 P2P通信路確立フェーズ (ステップ S400)の詳細な動作を示すフロー チャートである。
[図 8]図 8は、 NATの種類について説明する図である。
[図 9]図 9は、 STUNを用いた手法によって P2P通信を実現する場合の端末間のシ 一ケンスを示す図である。
[図 10]図 10は、ルータ 1が Symmetric NATである場合に発生する問題を説明す る図である。
[図 11]図 11は、ルータ 2が Symmetric NATである場合に発生する問題を説明す る図である。
[図 12]図 12は、特許文献 1に開示されている従来の手法による P2P通信路の確立手 順を示すシーケンス図である。
符号の説明
10、 20 通信端末 (宅内端末)
11、 21 ノレータ
30 サーバ
100、 200 プライベートネットワーク
300 グロ一 -バルネットワーク
101、 201 アドレス情報調査要求部
102、 202 アドレス情報受信部
103、 203 通信ポート決定部
104、 204 中継特性判断部
105、 205 中継情報送信部
106、 206 中継情報受信部
301 アドレス情報調査部 302 アドレス情報送信部
303 中継情報転送部
304 通信部
発明を実施するための最良の形態
[0056] 以下に、本発明の一実施形態について、図面を参照しながら説明する。
[0057] 図 1は、本発明の一実施形態に係る通信システムのネットワーク構成の一例を示す 図である。図 1において、グローバルネットワーク 300と、プライベートネットワーク 100 と力 グローバル IPアドレス [IPG1]を有するルータ 11を介して接続されている。また 、グローバルネットワーク 300と、プライベートネットワーク 200とが、グローバル IPアド レス [IPG2]を有するルータ 21を介して接続されている。グローバルネットワーク 300 には、サーバ 30が接続されている。プライベートネットワーク 100には、プライベート I Pアドレス [IPL1]を有する通信端末 (宅内端末) 10が接続されている。プライベート ネットワーク 200には、プライベート IPアドレス [IPL2]を有する通信端末 (宅内端末) 20が接続されている。
[0058] ルータ 11は、 Symmetric NATであり、かつ Port Reuseの性質を持ったルータ である。ここで、 Port Reuseの性質を持ったルータ 11について、図 2を用いて説明 する。図 2において、 Port Reuseの性質を持ったルータ 11は、通信端末 10が送信 したパケットを中継する際に、中継するパケットの送信元ポート番号と同じポート番号 を、ルータ 11の送信元ポート番号として割り当てることを特徴とする。
[0059] 例えば、ルータ 11は、通信端末 10のポート番号 [Pa]力も送信されたパケットを中 継する際には、中継するパケットの送信元ポート番号として、ルータ 11のポート番号 [ Pa]を割り当てる。また、ルータ 11は、通信端末 10のポート番号 [Pb]力も送信された パケットを中継する際には、中継するパケットの送信元ポート番として、ルータ 11のポ ート番号 [Pb]を割り当てる。また、ルータ 11は、通信端末 10のポート番号 [Pc]から 送信されたパケットを中継する際には、中継するパケットの送信元ポート番として、ル ータ 11のポート番号 [Pc]を割り当てる。一方、ルータ 21は、 Full Cone NATであ り、かつ Port Reuseの性質を持って!/、な!/、ルータである。
[0060] 図 3Aは、通信端末 10の構成の一例を示すブロック図である。図 3Aにおいて、通 信端末 10は、アドレス情報調査要求部 101、アドレス情報受信部 102、通信ポート決 定部 103、中継特性判断部 104、中継情報送信部 105、中継情報受信部 106、通 信制御部 107、及び通信部 108を備える。
[0061] アドレス情報調査要求部 101は、自身が接続するルータ 11に割り当てられるポート 番号を調査するメッセージ (ポート番号調査要求メッセージ)をサーバ 30に向けて送 信する。アドレス情報受信部 102は、ポート番号調査要求メッセージに対する応答と して、ルータ 11に割り当てられるポート番号を含んだメッセージ (ポート番号調査応答 メッセージ)をサーバ 30から受信する。中継特性判断部 104は、受信したポート番号 調査応答メッセージに基づいて、ルータ 11の中継特性を判断する。通信ポート決定 部 103は、ルータ 11の中継特性に基づいて、通信端末 10が P2P通信で使用するポ ート番号を決定する。
[0062] 中継情報送信部 105は、ルータ 11の IPアドレスと、通信端末 10が P2P通信で使用 するポート番号とを含むメッセージ (IPZポート通知メッセージ)を、サーバ 30に向け て送信する。中継情報受信部 106は、通信端末 20が送信した IPZポート通知メッセ ージをサーバ 30から受信する。通信制御部 107は、通信部 108を制御して、通信端 末 20との P2P通信を行う。通信部 108は、通信端末 10に関する全ての通信を行う。
[0063] なお、アドレス情報調査要求部 101、アドレス情報受信部 102、通信ポート決定部 1 03、及び中継特性判断部 104は、通信端末 20との P2P通信に使用するアドレス情 報 (IPアドレス及びポート番号)を決定するので、アドレス情報決定部と記してもょ 、。 また、中継情報送信部 105、及び中継情報受信部 106は、決定したアドレス情報を 通信端末 20との間で交換するので、アドレス情報交換部と記してもよ!、。
[0064] 図 3Bは、通信端末 20の構成の一例を示すブロック図である。図 3Bにおいて、通信 端末 20は、アドレス情報調査要求部 201、アドレス情報受信部 202、通信ポート決定 部 203、中継特性判断部 204、中継情報送信部 205、中継情報受信部 206、通信 制御部 207、及び通信部 208を備える。なお、通信端末 20の各構成は、上述した通 信端末 10と同様であるため説明を省略する。
[0065] 図 3Cは、サーバ 30の構成の一例を示すブロック図である。図 3Cにおいて、サーバ 30は、アドレス情報調査部 301、アドレス情報送信部 302、中継情報転送部 303、及 び通信部 304を備える。
[0066] アドレス情報調査部 301は、通信端末 10又は 20からポート番号調査要求メッセ一 ジを受信すると、受信メッセージ (受信パケットのヘッダ)から、送信元 IPアドレス及び 送信元ポート番号を抜き出す。アドレス情報送信部 302は、アドレス情報調査部 301 が抜き出した IPアドレス及び送信元ポート番号を含んだメッセージ (ポート番号調査 応答メッセージ)を通信端末 10又は 20に対して返信する。中継情報転送部 303は、 一方の通信端末力 受信した IPZポート通知メッセージを、他方の通信端末に中継 する。通信部 304は、サーバ 30に関する全ての通信を行う。
[0067] 図 4は、本発明の一実施形態に係る通信システムが P2P通信路確立時に実行する 動作を説明する図である。図 4において、本発明の一実施形態に係る通信システム は、 P2P通信路確立時に、 NAT調査フェーズ (ステップ S 100、 S200)、 P2P通信ポ ート交換フェーズ (ステップ S300)、及び P2P通信路確立フェーズ (ステップ S400) を実行する。
[0068] NAT調査フェーズ (ステップ S 100、 S200)は、通信端末 10及び通信端末 20が、 サーバ 30と通信を行って、自身が接続されてルータ 11又はルータ 21の中継特性を 調査し、 P2P通信において互いにアクセス可能な通信ポートを決定する。具体的に は、通信端末 10及び通信端末 20は、ルータ 11又はルータ 21の中継特性として、 N ATの種類(例えば、 Full Cone NAT, Symmetric NATなど)と、 Port Reuse の性質を持って ヽるかどうかを調査する。
[0069] P2P通信ポート交換フェーズ (ステップ S300)は、通信端末 10及び通信端末 20が 、 NAT調査フェーズで決定した通信ポートをサーバ 30経由で互いに交換する。 P2 P通信路確立フェーズ (ステップ S400)は、通信端末 10及び通信端末 20が、 P2P通 信ポート交換フェーズで交換した互いの通信ポートに向けてパケットを送信して、 P2 P通信路を確立する。
[0070] 図 5Aは、通信端末 10における NAT調査フェーズ (ステップ S100)の詳細な動作 を示すフローチャートである。以下、図 5Aを参照しながら、通信端末 10における NA T調査フェーズ (ステップ S 100)について説明する。なお、図 5Aにおいて、各メッセ ージの下の(IPG1、 GP11)等の記載は、各メッセージに含まれる送信元アドレス情 報 (送信元 IPアドレス、及び送信元ポート番号)を示して 、る。
[0071] まず、通信端末 10において、アドレス情報調査要求部 101は、通信端末 10のポー ト番号 [LP1]から、サーバ 30のポート番号 [SPO]に向けて、ポート番号調査要求 1メ ッセージを送信する (ステップ S 101)。
[0072] サーバ 30において、アドレス情報調査部 301は、通信部 304を介して、ポート番号 調査要求 1メッセージを受信すると、受信メッセージ (受信パケットのヘッダ)から、送 信元 IPアドレス、及び送信元ポート番号(すなわち、ルータ 11の IPアドレス [IPG1]、 及び送信元ポート番号 [GP11])を抜き出す。アドレス情報送信部 302は、抜き出し たルータ 11の IPアドレス [IPG 1 ]、及び送信元ポート番号 [GP 11 ]をポート番号調査 応答 1メッセージに含めて、通信端末 10に返信する (ステップ S 102)。
[0073] 続いて、通信端末 10において、アドレス情報調査要求部 101は、通信端末 10のポ ート番号 [LP1]から、サーバ 30のポート番号 [SP1]に向けて、ポート番号調査要求 2メッセージを送信する(ステップ S 103)。
[0074] サーバ 30において、アドレス情報調査部 301は、通信部 304を介して、ポート番号 調査要求 2メッセージを受信すると、受信メッセージ (受信パケットのヘッダ)から、送 信元 IPアドレス、及び送信元ポート番号(すなわち、ルータ 11の IPアドレス [IPG1]、 及び送信元ポート番号 [GP12])を抜き出す。アドレス情報送信部 302は、アドレス 情報調査部 301が抜き出したルータ 11の IPアドレス [IPG 1 ]、及び送信元ポート番 号 [GP12]をポート番号調査応答 2メッセージに含めて、通信端末 10に返信する (ス テツプ S 104)。
[0075] ここで、ステップ S101及び S102において、通信端末 10力 同じポート番号 [LP1] 力 サーバ 30の 2つのポート番号 [SP0、 SP1]に対して、ポート番号調査要求メッセ ージを送信する理由を説明する。通信端末 10は、サーバ 30が受信した 2つのポート 番号調査要求メッセージに含まれるルータ 11の送信元ポート番号が等 ヽ(すなわ ち、 GP11 = GP12である)場合には、ルータ 11が Cone系(Full Cone, Restricte d Cone、又は Port Restricted Cone) NATであると判断できる。また、通信端末 10は、サーバ 30が受信した 2つのポート番号調査要求メッセージに含まれる送信元 ポート番号が異なる(すなわち、 GP11≠GP12である)場合には、ルータ 11が Sym metric NATであると判断できる。すなわち、通信端末 10は、同じポート番号 [LP1 ]力 サーバ 30の 2つのポート番号 [SPO、 SP1]に対して、ポート番号調査要求メッ セージを送信することで、ルータ 11の NATの種類を調査することができる。
[0076] なお、通信端末 10は、上述した以外の方法を用いても、ルータ 11の NATの種類 を調査してもよい。例えば、通信端末 10は、異なる IPアドレスを持つ 2つのサーバに 対してルータ経由でパケットを送信し、そのときに割り当てられるルータのポート番号 が等しいか、あるいは異なるかで、ルータの NATの種類を調査してもよい。
[0077] 通信端末 10において、アドレス情報受信部 102は、通信部 108を介して、ポート番 号調査応答 1メッセージ、及びポート番号調査応答 2メッセージを受信すると、中継特 性判断部 104に受信メッセージを渡す。中継特性判断部 104は、ポート番号調査応 答 1メッセージに含まれるルータ 11のポート番号 [GP11]と、ポート番号調査要求 1メ ッセージを送信したときの通信端末 10のポート番号 [LP1]とが一致するかどうかをチ エックする(ステップ S 105)。中継特性判断部 104は、ルータ 11のポート番号 [GP11 ]と、通信端末 10のポート番号 [LP1]とが一致する(すなわち、 GP11 =LP1である) 場合には、ルータ 11の NAT力 Port Reuseの性質を持っていると判断する(ステツ プ S106)。
[0078] さらに、通信端末 10において、中継特性判断部 104は、アドレス情報受信部 102 が受信したポート番号調査応答 1メッセージと、ポート番号調査応答 2メッセージとに 含まれるルータ 11のポート番号が一致するか否かをチェックする(ステップ S107)。 中継特性判断部 104は、ルータ 11のポート番号が一致している場合には、ルータ 11 力 SCone系 NATであると判断し、ルータ 11のポート番号が一致して!/、な!/、場合には 、ルータ 11が Symmetric NATであると判断する(ステップ S108)。
[0079] 通信ポート決定部 103は、中継特性判断部 104が判断したルータ 11の中継特性 に基づいて、通信端末 10が P2P通信で使用するポート番号を決定する (ステップ S1 09)。なお、 P2P通信ポート決定処理 (ステップ S 109)の詳細については後述する。
[0080] 図 5Bは、通信端末 20における NAT調査フェーズ (ステップ S200)の詳細な動作 を示すフローチャートである。以下、図 5Bを参照しながら、通信端末 20における NA T調査フェーズ (ステップ S200)処理について説明する。 [0081] まず、通信端末 20において、アドレス情報調査要求部 201は、通信端末 20のポー ト番号 [LP2]から、サーバ 30のポート番号 [SPO]に向けて、ポート番号調査 1メッセ ージを送信する (ステップ S201)。
[0082] サーバ 30において、アドレス情報調査部 301は、通信部 304を介して、ポート番号 調査要求 1メッセージを受信すると、受信メッセージ (受信パケットのヘッダ)から、送 信元 IPアドレス、及び送信元ポート番号(すなわち、ルータ 21の IPアドレス [IPG2]、 及び送信元ポート番号 [GP21])を抜き出す。アドレス情報送信部 302は、アドレス 情報調査部 301が抜き出したルータ 21の IPアドレス [IPG2]、及び送信元ポート番 号 [GP21]をポート番号調査応答 1メッセージに含めて、通信端末 20に返信する (ス テツプ S202)。
[0083] 通信端末 20において、アドレス情報調査要求部 201は、通信端末 20のポート番号
[LP2]から、サーバ 30のポート番号 [SP1]に向けて、ポート番号調査要求 2メッセ一 ジを送信する(ステップ S203)。
[0084] サーバ 30において、アドレス情報調査部 301は、通信部 304を介して、ポート番号 調査要求 2メッセージを受信すると、受信メッセージ (受信パケットのヘッダ)から、送 信元 IPアドレス、及び送信元ポート番号(すなわち、ルータ 21の IPアドレス [IPG2]、 及び送信元ポート番号 [GP22])を抜き出す。アドレス情報送信部 302は、アドレス 情報調査部 301が抜き出したルータ 21の IPアドレス [IPG2]、及び送信元ポート番 号 [GP22]をポート番号調査応答 2メッセージに含めて、通信端末 20に返信する (ス テツプ S 204)。
[0085] ここで、ステップ S201及び S202において、通信端末 20力 同じポート番号 [LP2] 力 サーバ 30の 2つのポート番号 [SPO、 SP1]に対して、ポート番号調査要求メッセ ージを送信する理由は、図 5Aを用いて通信端末 10に対して行った説明と同様であ る。
[0086] 次に、通信端末 20において、アドレス情報受信部 202は、通信部 208を介して、ポ ート番号調査応答 1メッセージ、及びポート番号調査応答 2メッセージを受信すると、 中継特性判断部 202に受信メッセージを渡す。中継特性判断部 204は、ポート番号 調査応答 1メッセージに含まれるルータ 21のポート番号 [GP21 ]と、ポート番号調査 要求 1メッセージを送信したときの通信端末 20のポート番号 [LP2]とが一致するかど うかをチェックする(ステップ S205)。中継特性判断部 204は、ルータ 21のポート番 号 [GP21]と、通信端末 20のポート番号 [LP2]とが一致する(すなわち、 GP21 =L P2である)場合には、ルータ 21の NAT力 Port Reuseの性質を持っていると判断 する(ステップ S 206)。
[0087] さらに、通信端末 20において、中継特性判断部 204は、アドレス情報受信部 202 が受信したポート番号調査応答 1メッセージと、ポート番号調査応答 2メッセージとに 含まれるルータ 21のポート番号が一致するか否かをチェックする(ステップ S207)。 中継特性判断部 204は、ルータ 21のポート番号が一致している場合には、ルータ 21 力 SCone系 NATであると判断し、ルータ 21のポート番号が一致していない場合には 、ルータ 21が Symmetric NATであると判断する(ステップ S208)。
[0088] 通信ポート決定部 203は、中継特性判断部 204が判断したルータ 21の中継特性 に基づいて、通信端末 20が P2P通信で使用するポート番号を決定する (ステップ S2 09)。
[0089] 図 5Cは、図 5Aにおける P2P通信ポート決定処理 (ステップ S 109)の詳細な動作を 示すフローチャートである。以下、図 5Cを参照しながら、通信端末 10における P2P 通信ポート決定処理 (ステップ S 109)の詳細にっ 、て説明する。
[0090] まず、通信端末 10において、通信ポート決定部 103は、ルータ 11の NAT力 Port Reuseの性質を持っているかどうかをチェックする(ステップ S 1091)。通信ポート決 定部 103は、ルータ 11の NATが Port Reuseの性質を持っていれば、 P2P通信で 使用するポート番号を自由に選択する (ステップ S1092)。なお、通信ポート決定部 1 03は、 P2P通信で使用するポート番号として、ポート番号 [GP13]を選択したものと する。
[0091] ここで、ルータ 11の NATが Port Reuseである場合に、通信ポート決定部 103が P 2P通信で使用するポート番号を自由に選択してもよい理由を説明する。ルータ 11が Port Reuseの性質を持っている場合、ルータ 11には、通信端末 10が開いたポート 番号と同じポート番号が割り振られることになる。このため、通信端末 10は、次の P2P 通信ポート交換フェーズ (ステップ S300)において、通信端末 20に通知するポート 番号として、自身が開いたポート番号を通知すればよいことになる。このため、通信ポ ート決定部 103は、 P2P通信で使用するポート番号を自由に選択することができる。
[0092] 通信ポート決定部 103は、ルータ 11の NAT力 Port Reuseでなければ、ルータ 1 1が Cone系の NATであるかどうかをチェックする(ステップ S1093)。通信ポート決 定部 103は、ルータ 11の NATが Cone系の NATであれば、 P2P通信で使用するポ ート番号として、ポート番号調査応答 1メッセージ (ステップ S 102)で取得したルータ 11のポート番号を選択する(ステップ S1094)。その理由は、ルータ 11が Cone系の NATである場合、ルータ 11が中継するメッセージの送信元ポート番号が同じであれ ば、ルータ 11には、常に同じポート番号が割り振られるからである。
[0093] 一方、通信ポート決定部 103は、ルータ 11が Cone系の NATでない(すなわち、ル ータ 11が Symmetric NATである)場合は、 P2P通信時にルータ 11に割り当てら れるポート番号を予測する必要がある。そのため、通信ポート決定部 103は、ポート 番号調査応答 2メッセージで取得したルータ 11のポート番号 [GP12]と、ポート番号 調査応答 1で取得したルータ 11のポート番号 [GP 11 ]との差分を αとすると、 Ρ2Ρ通 信で使用するポート番号として [GP12+ a ]を選択する (ステップ S1095)。
[0094] なお、図 5Bにおける P2P通信ポート決定処理 (ステップ S 209)も、図 5Cと同様で あるので説明を省略する。
[0095] また、本実施形態では、ルータ 11は、 Port Reuseであり、かつ Symmetric NA Tであることを想定している。そのため、ルータ 11が割り当てるポート番号は、 GP11 =LP1であり、かつ GP11 = GP12である。また、本実施形態では、ルータ 21は、 Po rt Reuseでなぐかつ Full Cone NATであることを想定している。そのため、ルー タ 21が割り当てるポート番号は、 GP21≠LP2であり、力つ GP21 = GP22である。以 降、ルータ 11及びルータ 21が、これらのポート番号を割り当てるものとして説明する
[0096] 図 6は、図 4における P2P通信ポート交換フェーズ (ステップ S300)の詳細な動作を 示すフローチャートである。以下、図 6を参照しながら、 P2P通信ポート交換フェーズ (ステップ S300)の詳細について説明する。
[0097] 通信端末 10において、中継情報送信部 105は、ルータ 11の IPアドレスと、通信ポ ート決定部 103が決定したポート番号とを含む IPZポート通知メッセージを、サーバ 30に向けて送信する(ステップ S301)。本実施形態では、ルータ 11が Port Reuse であるため、サーバ 30が受信する IP/ポート通知メッセージには、ルータ 11の IPァ ドレス [IPG1]と、ポート番号 [GP13]とが含まれる。
[0098] サーバ 30において、中継情報転送部 303は、通信部 304を介して、通信端末 10 力も受信した IPZポート通知メッセージを、通信端末 20に中継する(ステップ S302) 。通信端末 20において、中継情報受信部 206は、サーバ 30を介して、通信端末 10 力 送信された IPZポート通知メッセージを受信する。
[0099] また、通信端末 20において、中継情報送信部 205は、通信ポート決定部 203が決 定したポート番号を IPZポート通知メッセージとして、サーバ 30に対して送信する(ス テツプ S303)。本実施形態では、ルータ 21が Full Cone NATであり、かつ Port Reuseでないため、 IPZポート通知メッセージには、ポート番号調査応答 1メッセージ で取得したルータ 21の IPアドレス [IPG2]と、ポート番号 [GP21]とが含まれる。
[0100] サーバ 30において、中継情報転送部 303は、通信部 304を介して、通信端末 20 力も受信した IPZポート通知メッセージを、通信端末 10に中継する (ステップ S304) 。通信端末 10において、中継情報受信部 206は、サーバ 30を介して、通信端末 20 力 送信された IPZポート通知メッセージを受信する。
[0101] 図 7は、図 4における P2P通信路確立フェーズ (ステップ S400)の詳細な動作を示 すフローチャートである。以下、図 7を参照しながら、 P2P通信路確立フェーズ (ステツ プ S400)の詳細について説明する。
[0102] 通信端末 20において、通信制御部 207は、ステップ S302で通信端末 10から受信 した IP/ポート通知メッセージに含まれるアドレス情報 [IPG1、 GP13]に向けて、 P2 P開始要求メッセージを送信する (ステップ S401)。通信端末 20から送信された P2P 開始要求メッセージは、ルータ 21〖こよって、ルータ 11〖こ中継される。このとき、ルータ 21の NATには、逆方向のパケットを中継する設定として、通信端末 10 (すなわち、 ノレータ 11 [IPG1、 GP13])力ら、ノレータ 21 [IPG2、 GP21]に届いたパケットを、通 信端末 20 [IPL2、 LP2]に中継するための設定が行われる。
[0103] 通信端末 20から送信された P2P開始要求メッセージは、ルータ 21を介して、ルー タ 11によって受信される。し力し、ルータ 11の NATには、ルータ 21 [IPG2、 GP21] を介して、アドレス情報 [IPG1、 GP13]に向けて送信されたパケットを、通信端末 10 に中継するための設定が行われていない。このため、通信端末 20から送信された P2 P開始要求メッセージは、ルータ 11によって破棄される。
[0104] 一方、通信端末 10において、通信制御部 107は、ステップ S 304で通信端末 20か ら受信した IP/ポート通知メッセージに含まれるアドレス情報 [IPG2、 GP21]に向け て、 P2P開始要求メッセージを送信する (ステップ S402)。通信端末 10から送信され た P2P開始要求メッセージは、ルータ 11によって、ルータ 21に中 ϋされる。このとき、 ルータ 11の NATには、逆方向のパケットを中継する設定として、通信端末 20 (すな わち、ルータ 21 [IPG2、 GP21])から、ルータ 11 [IPG1、 GP13]に届いたパケットを 、通信端末 20[IPL2、 LP2]に中継するための設定が行われる。
[0105] 通信端末 10から送信された P2P開始要求メッセージは、ルータ 11を介して、ルー タ 21によって受信される。ここで、ルータ 21には、上述したように、宅内端末 11 (すな わち、ノレータ 11 [IPG 1、 GP13])力ら、ノレータ 21 [IPG2、 GP21]に届いたパケットを 、通信端末 20[IPL2、 LP2]に中継するための設定が行われている。このため、ルー タ 21は、通信端末 10から送信された P2P開始要求メッセージを通信端末 20に中継 することができる。
[0106] また、通信端末 20において、通信制御部 207は、通信端末 10から P2P開始要求メ ッセージを受信すると、ステップ S302で通信端末 10から受信した IPZポート通知メ ッセージに含まれるアドレス情報 [IPG1、 GP13]に向けて、再度 P2P開始要求メッセ ージを送信する (ステップ S403)。通信端末 20から送信された P2P開始要求メッセ ージは、ノレータ 21〖こよって、ノレータ 11〖こ中 ϋされる。ここで、ノレータ 11には、上述し たように、通信端末 20 (すなわち、ルータ 21 [IPG2、 GP21])力ら、ルータ 11 [IPG1 、 GP13]に届いたパケットを、通信端末 10[IPL1、 LP1]に中継するための設定が 行われている。このため、ルータ 11は、通信端末 20から送信された P2P開始要求メ ッセージを通信端末 10に中継することができる。これによつて、通信端末 10と通信端 末 20との間での P2P通信路が確立される。
[0107] 以上のように本発明の一実施形態に係る通信端末 10は、サーバ 30との間で所定 のメッセージを送受信し、送受信したメッセージに基づいてルータ 11の中継特性を 調査する。通信端末 10は、ルータ 11の中継特性力 Port Reuseである場合に、他 の通信端末 20との P2P通信で使用する通信端末自身のポート番号を少なくとも含む アドレス情報を、ルータが使用するアドレス情報として決定する。これによつて、通信 端末 10は、ルータ 11の中継特性が Port Reuseであれば、サーバ 11を用いたルー タ 11が使用するアドレス情報を決定するための手順を簡略ィ匕できる。
[0108] また、通信端末 10は、ルータ 11の中継特性力 Port Reuseであり、かつ Symmetr ic NATである場合に、ルータ 11が使用するポート番号を予測するための手順を省 略することができる。故に、通信端末 10は、他の通信端末 20との P2P通信路の確立 時に、より短時間かつ少ないトラフィックで、高い接続性を実現することができる。
[0109] なお、図 4において、 NAT調査フェーズ (ステップ S 100、 S200)は、次に行われる P2P通信ポート交換フェーズ (ステップ S300)の前準備として、各端末が事前に行つ ておくものであり、必ずしも図 4に示した方法で実施されなくてもよい。
[0110] また、一度 P2P通信を行った端末間で、再び P2P通信を行う場合においては、前 回調査したルータの中継特性力 SPort Reuseであれば、以降の NAT調査フェーズ を省略してもよ ヽ。
[0111] また、図 6においては、最初に通信端末 10が IPポート Zポート通知メッセージを送 信している力 図 5A及び図 5Bに示す P2P通信ポートを決定するタイミングによって は、最初に通信端末 10が IPポート Zポート通知メッセージを送信する場合もあり、必 ずしも図 6に示す順序で処理が行われるわけではない。
[0112] また、図 6において、通信端末 10及び通信端末 20は、 IPZポート通知メッセージ で 1つの IPZポートの組み合わせしか相手端末に通知していないが、複数の IPZポ ートの組合せを通知することによって、 P2P通信路確立の接続性を高めてもょ 、。
[0113] また、図 7においては、最初に通信端末 20が P2P通信開始要求メッセージを送信 しているが、図 6に示す IPZポート通知メッセージを受信するタイミングによっては、 最初に通信端末 10が P2P通信開始要求メッセージを送信する場合もあり、必ずしも 図 7に示す順序で処理が行われるわけではない。
産業上の利用可能性 本発明の通信端末及び通信方法は、ルータを介して他のネットワーク上の通信端 末と一対一の相互接続を行う場合等に有用である。

Claims

請求の範囲
[1] ルータによってグローバルネットワークと接続されたプライベートネットワーク上に存 在し、前記ルータを介して他のネットワーク上の通信端末と一対一の相互接続を行う 通信端末であって、
前記グローバルネットワーク上にあるサーバとの間で所定のメッセージを送受信す ることで、前記ルータの中継特性を調査して、前記他のネットワーク上の通信端末と 一対一の相互接続で使用する前記ルータのアドレス情報を決定するアドレス情報決 定部と、
前記アドレス情報決定部によって決定された前記ルータのアドレス情報を、前記他 のネットワーク上の通信端末との間で互いに交換するアドレス情報交換部と、 前記アドレス情報交換部で交換された前記ルータのアドレス情報に基づ 、て、前記 他のネットワーク上の通信端末との間で一対一の相互接続を行う通信制御部と、 前記通信端末の全ての通信を行う通信部とを備え、
前記アドレス情報決定部は、前記ルータの中継特性が Port Reuseである場合に 、前記他のネットワーク上の通信端末と一対一の相互接続で使用する前記通信端末 自身のポート番号を少なくとも含むアドレス情報を、前記ルータのアドレス情報として 決定する、通信端末。
[2] 前記アドレス情報決定部は、
前記ルータを介して、前記サーバに所定のメッセージを送信することで、前記ルー タのアドレス情報を要求するアドレス情報要求部と、
前記要求に対する応答として、前記サーバから前記ルータのアドレス情報を受信す るアドレス情報受信部と、
前記アドレス情報受信部が受信した前記ルータのアドレス情報に基づ!/、て、前記ル ータの中継特性を判断する中継特性判断部と、
前記中継特性判断部が判断した前記ルータの中継特性に基づ!ヽて、前記他のネ ットワーク上の通信端末と一対一の相互接続で使用する前記通信端末自身のポート 番号を決定するポート番号決定部とを含む、請求項 1に記載の通信端末。
[3] 前記アドレス情報調査要求部は、前記通信端末の所定のポート番号から、前記サ 一バの第 1のポート番号に向けて第 1のポート番号調査要求メッセージと、前記サー バの第 2のポート番号に向けて第 2のポート番号調査要求メッセージとを連続して送 信し、
前記アドレス情報受信部は、前記サーバから、前記第 1のポート番号調査要求メッ セージに対する応答である第 1のポート番号調査応答メッセージと、前記第 2のポート 番号調査要求メッセージに対する応答である第 2のポート番号調査応答メッセージと を受信し、
前記中継特性判断部は、前記アドレス情報受信部が受信した前記第 1のポート番 号調査応答メッセージと、前記第 2のポート番号調査応答メッセージとに基づ 、て、 前記ルータの中継特性を判断する、請求項 2に記載の通信端末。
[4] 前記第 1のポート番号調査応答メッセージには、前記ルータの IPアドレスと、前記第 1のポート番号調査要求メッセージを前記サーバに中継したときの前記ルータの送信 元ポート番号とが含まれており、
前記第 2のポート番号調査応答メッセージには、前記ルータの IPアドレスと、前記第 2のポート番号調査要求メッセージを前記サーバ中継したとき前記ルータの送信元ポ ート番号とが含まれており、
前記中継特性判断部は、前記第 1のポート番号調査要求メッセージを送信したとき の通信端末のポート番号と、前記第 1のポート番号調査応答メッセージに含まれる前 記ルータの送信元ポート番号とがー致する場合に、前記ルータの中継特性が Port Reuseであると判断する、請求項 3に記載の通信端末。
[5] 前記中継特性判断部は、
前記第 1のポート番号調査応答メッセージに含まれる前記ルータの送信元ポート番 号と、前記第 2のポート番号調査応答メッセージに含まれる前記ルータの送信元ポー ト番号とがー致する場合に、前記ルータの中継特性力 SCone系の NAT機能を持って いると判断し、
前記第 1のポート番号調査応答メッセージに含まれる前記ルータの送信元ポート番 号と、前記第 2のポート番号調査応答メッセージに含まれる前記ルータの送信元ポー ト番号とがー致しない場合に、前記ルータの中継特性が Symmetric NAT機能を 持って ヽると判断する、請求項 4に記載の通信端末。
[6] 前記通信ポート決定部は、前記中継特性判断部によって、前記ルータの中継特性 力 SPort Reuseでなぐかつ Cone系の NAT機能を持っていると判断された場合に、 前記第 1のポート番号調査応答メッセージに含まれる前記ルータの送信元ポート番 号を、前記他のネットワーク上の通信端末と一対一の相互接続で使用するポート番 号として用いる、請求項 5に記載の通信端末。
[7] 前記通信ポート決定部は、前記中継特性判断部によって、前記ルータの中継特性 が Port Reuseでなぐかつ Symmetric NATの機能を持っていると判断された場 合に、前記第 2のポート番号調査応答メッセージに含まれる前記ルータの送信元ポ ート番号と、前記第 1のポート番号調査応答メッセージに含まれる前記ルータの送信 元ポート番号との差分を、前記第 2のポート番号調査応答メッセージに含まれる前記 ルータの送信元ポート番号に加算したポート番号を、前記他のネットワーク上の通信 端末と一対一の相互接続で使用するポート番号として用いる、請求項 5に記載の通 信端末。
[8] 前記アドレス情報交換部は、
前記サーバを介して、前記他のネットワーク上の通信端末と一対一の相互接続に 使用する前記ルータのアドレス情報を設定したメッセージを、前記他のネットワーク上 の通信端末に送信する中継情報送信部と、
前記サーバを介して、自通信端末と一対一の相互接続に使用するアドレス情報が 設定されたメッセージを、前記他のネットワーク上の通信端末力 受信する中継情報 送信部とを含む、請求項 1に記載の通信端末。
[9] 前記通信制御部は、前記通信部を介して、前記アドレス情報交換部によって交換 されたアドレス情報宛てに、一対一の相互接続の開始を要求するメッセージを送信し
、前記他のネットワーク上の通信端末から一対一の相互接続の開始を要求するメッセ ージを受信した場合に、前記他のネットワーク上の通信端末との間で一対一の相互 接続を行う、請求項 1に記載の通信端末。
[10] ルータによってグローバルネットワークと接続されたプライベートネットワーク上に存 在し、前記ルータを介して他のネットワーク上の通信端末と一対一の相互接続を行う 通信端末が実行する通信方法であって、
前記グローバルネットワーク上にあるサーバとの間で所定のメッセージを送受信す ることで前記ルータの中継特性を調査し、
前記ルータの中継特性が Port Reuseである場合に、前記他のネットワーク上の通 信端末と一対一の相互接続で使用する前記通信端末自身のポート番号を少なくとも 含むアドレス情報を、前記ルータのアドレス情報として決定し、
前記決定されたルータのアドレス情報を、前記他のネットワーク上の通信端末との 間で互いに交換し、
前記交換されたアドレス情報に基づ 、て、前記他のネットワーク上の通信端末との 間で一対一の相互接続を行う、通信方法。
PCT/JP2005/020304 2004-11-08 2005-11-04 通信端末及び通信方法 WO2006049251A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/666,894 US7558249B2 (en) 2004-11-08 2005-11-04 Communication terminal, and communication method
JP2006542446A JP4667390B2 (ja) 2004-11-08 2005-11-04 通信端末及び通信方法
CN2005800378565A CN101053218B (zh) 2004-11-08 2005-11-04 通信终端和通信方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004323354 2004-11-08
JP2004-323354 2004-11-08

Publications (1)

Publication Number Publication Date
WO2006049251A1 true WO2006049251A1 (ja) 2006-05-11

Family

ID=36319251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/020304 WO2006049251A1 (ja) 2004-11-08 2005-11-04 通信端末及び通信方法

Country Status (4)

Country Link
US (1) US7558249B2 (ja)
JP (1) JP4667390B2 (ja)
CN (1) CN101053218B (ja)
WO (1) WO2006049251A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008035578A1 (fr) * 2006-09-22 2008-03-27 Panasonic Corporation Appareil de communication, procédé de communication et système de communication
US8144704B2 (en) 2007-03-20 2012-03-27 Panasonic Corporation IP communication apparatus and IP communication method of such apparatus
CN102714861A (zh) * 2010-01-19 2012-10-03 诺基亚公司 演进型节点b控制的用于设备到设备和蜂窝用户的集中式资源重用
JP2013061514A (ja) * 2011-09-14 2013-04-04 Brother Ind Ltd カラオケ装置、カラオケシステム
JP2014187614A (ja) * 2013-03-25 2014-10-02 Nippon Telegraph & Telephone West Corp 通信装置及び通信システム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080273600A1 (en) * 2007-05-01 2008-11-06 Samsung Electronics Co., Ltd. Method and apparatus of wireless communication of uncompressed video having channel time blocks
US8837435B2 (en) * 2007-10-31 2014-09-16 Samsung Electronics Co., Ltd. Method and system for medium access control in communication networks
US8811420B2 (en) * 2009-01-05 2014-08-19 Samsung Electronics Co., Ltd. System and method for contention-based channel access for peer-to-peer connection in wireless networks
US8761170B2 (en) * 2010-10-07 2014-06-24 Panasonic Corporation Communication device, communication method, integrated circuit, and program
KR101263783B1 (ko) * 2010-12-27 2013-05-13 삼성에스디에스 주식회사 릴레이 서버를 이용한 데이터 전송 시스템 및 방법
US9838460B2 (en) * 2012-05-29 2017-12-05 Google Llc Tool for sharing applications across client devices
CN104253755A (zh) * 2013-06-27 2014-12-31 讯舟科技股份有限公司 用于网络终端装置间建立连线的方法
CN110971375B (zh) * 2018-09-30 2021-06-15 华为技术有限公司 一种通信方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004104357A (ja) * 2002-09-06 2004-04-02 Sony Corp ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム
JP2004180003A (ja) * 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272650B2 (en) * 2001-04-17 2007-09-18 Intel Corporation Communication protocols operable through network address translation (NAT) type devices
JP2003318917A (ja) 2002-04-26 2003-11-07 Sony Corp 無線通信システム、無線通信端末および無線通信システムへの参加方法
US9497168B2 (en) * 2002-07-30 2016-11-15 Avaya Inc. Method and apparatus for supporting communications between a computing device within a network and an external computing device
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
CN100502386C (zh) * 2003-11-03 2009-06-17 中兴通讯股份有限公司 多媒体系统静态地址转换方法
JP4269226B2 (ja) * 2003-11-14 2009-05-27 ソニー株式会社 情報通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体
TWI245192B (en) * 2003-12-11 2005-12-11 Inst Information Industry Method, system and storage medium for passing through network address translation device
US7457293B2 (en) * 2004-04-05 2008-11-25 Panasonic Corporation Communication apparatus, method and program for realizing P2P communication
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004104357A (ja) * 2002-09-06 2004-04-02 Sony Corp ネットワークシステムおよび通信方法、情報処理装置および方法、並びにプログラム
JP2004180003A (ja) * 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008035578A1 (fr) * 2006-09-22 2008-03-27 Panasonic Corporation Appareil de communication, procédé de communication et système de communication
US8144704B2 (en) 2007-03-20 2012-03-27 Panasonic Corporation IP communication apparatus and IP communication method of such apparatus
CN102714861A (zh) * 2010-01-19 2012-10-03 诺基亚公司 演进型节点b控制的用于设备到设备和蜂窝用户的集中式资源重用
CN102714861B (zh) * 2010-01-19 2016-03-30 诺基亚技术有限公司 演进型节点b控制的用于设备到设备和蜂窝用户的集中式资源重用
US9307550B2 (en) 2010-01-19 2016-04-05 Nokia Technologies Oy Evolved node B controlled centralized resource reuse for device-to-device and cellular users
JP2013061514A (ja) * 2011-09-14 2013-04-04 Brother Ind Ltd カラオケ装置、カラオケシステム
JP2014187614A (ja) * 2013-03-25 2014-10-02 Nippon Telegraph & Telephone West Corp 通信装置及び通信システム

Also Published As

Publication number Publication date
CN101053218A (zh) 2007-10-10
US20080112417A1 (en) 2008-05-15
JP4667390B2 (ja) 2011-04-13
US7558249B2 (en) 2009-07-07
JPWO2006049251A1 (ja) 2008-05-29
CN101053218B (zh) 2011-07-20

Similar Documents

Publication Publication Date Title
WO2006049251A1 (ja) 通信端末及び通信方法
US8224985B2 (en) Peer-to-peer communication traversing symmetric network address translators
EP1547344B1 (en) Server, device, and communication system connected to the internet
JP4741964B2 (ja) 通信装置、通信システム及び通信方法
EP2803177B1 (en) Device arrangement and method for implementing a data transfer network used in remote control of properties
KR100901790B1 (ko) IPv4 네트워크 기반 IPv6 서비스 제공시스템에서의 제어 터널 및 다이렉트 터널 설정 방법
US7522594B2 (en) Method and apparatus to permit data transmission to traverse firewalls
US9137027B2 (en) Bootstrapping in peer-to-peer networks with network address translators
KR101263783B1 (ko) 릴레이 서버를 이용한 데이터 전송 시스템 및 방법
US20090313386A1 (en) Communication apparatus, communication method and communication system
JP2008147738A (ja) 通信方法、通信システム、機器、並びに端末
WO2005046143A1 (ja) 通信システム、情報処理装置、サーバ、および通信方法
JP2005260594A (ja) ネットワークシステム及び通信装置
JP4615435B2 (ja) ネットワーク中継装置
JP2007104438A (ja) 宅外アクセスシステム、サーバ、および通信方法
CN102377834A (zh) 网络地址转换设备及通信方法
KR101394579B1 (ko) Ip 네트워크에서의 직접 통신 제공 방법
KR20080050199A (ko) 인터넷 프로토콜 버전 4 네트워크의 서버에서터널네트워크인터페이스 구축 및 터널네트워크인터페이스를이용한 패킷 송/수신 방법
JP2010283594A (ja) 通信装置及び通信可能性判定方法
WO2018142526A1 (ja) 中継装置、通信システム、及び通信方法
KR20070061036A (ko) 홈네트워크 간 미디어 공유 장치 및 그 방법
JP2006135508A (ja) マルチキャスト通信中継装置およびマルチキャスト通信中継システム
JP5904965B2 (ja) 通信装置及び通信システム
JP2011077828A (ja) 通信方法、通信装置および通信システム

Legal Events

Date Code Title Description
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 KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV 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: 2006542446

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11666894

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200580037856.5

Country of ref document: CN

122 Ep: pct application non-entry in european phase

Ref document number: 05805538

Country of ref document: EP

Kind code of ref document: A1

WWP Wipo information: published in national office

Ref document number: 11666894

Country of ref document: US