WO2005109785A1 - 情報処理装置、バブルパケット送信方法およびプログラム - Google Patents

情報処理装置、バブルパケット送信方法およびプログラム Download PDF

Info

Publication number
WO2005109785A1
WO2005109785A1 PCT/JP2005/007296 JP2005007296W WO2005109785A1 WO 2005109785 A1 WO2005109785 A1 WO 2005109785A1 JP 2005007296 W JP2005007296 W JP 2005007296W WO 2005109785 A1 WO2005109785 A1 WO 2005109785A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
communication
processing device
bubble packet
packet
Prior art date
Application number
PCT/JP2005/007296
Other languages
English (en)
French (fr)
Inventor
Kunio Gobara
Hajime Maekawa
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 EP05730504.7A priority Critical patent/EP1739897B1/en
Priority to US10/590,596 priority patent/US8194566B2/en
Publication of WO2005109785A1 publication Critical patent/WO2005109785A1/ja

Links

Classifications

    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of 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/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • 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/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Definitions

  • the present invention relates to an information processing device or the like that communicates with another information processing device.
  • the information processing devices PCI and PC2 may communicate via NAT1 and NAT2, respectively.
  • NATl, # 2 performs mutual conversion between the private IP address on the local side (information processing device side) and the global IP address on the communication line side.
  • the NAT1, NAT2, etc. have a port assignment rule and a reception filter rule, and the combination of these rules categorizes NAT.
  • the transmission port assignment rule does not depend on the destination (IP address and port) of the packet, and the port and IP address of the information processing device on the local side (for example, LAN side) of the NAT are the same.
  • the cone type where the same port is allocated to the global side (for example, the WAN side such as the Internet) allocated to NAT
  • the address sensitive type where a new port is allocated for each destination address of the packet
  • the packet type There is a port-sensitive type in which a new port is assigned for each destination port.
  • Local side power of NAT A reception filter rule that determines the possibility of receiving a packet from the global side with respect to the port to which the packet was sent includes an address-sensitive filter that receives packets only from the port that sent the packet from that port.
  • a packet is transmitted from the LAN side of the NAT to the WAN side, and a packet is received from another information processing device on the WAN side.
  • the reception filter rule of the NAT is an address-sensitive filter / port-sensitive filter
  • the packet is transmitted to the WAN-side information processing device or a predetermined port in the information processing device, and Its WAN side Unable to receive transmitted packet. Therefore, in order to establish communication between the information processing apparatuses via the NAT, transmission of a packet (bubble packet) for leaving a transmission history in the NAT has been performed.
  • NAT In order to improve security, a packet that cannot be received due to the receiving filter rule is regarded as an attack, and the packet is transmitted from the IP address of the source of the packet. Some do not accept packets that have been sent. In such a case, if a bubble packet is sent to the destination NAT, the bubble bucket is regarded as an attack. As a result, the NAT device that has received the bubble packet cannot receive any packet from the information processing device that has transmitted the bubble packet, and the information processing device that has transmitted the bubble packet and the information processing device that has transmitted the bubble packet do not receive the packet. It may not be possible to properly establish communication between them.
  • a bubble packet is transmitted for the purpose of leaving a transmission history in the NAT of the communication source so that the NAT of the communication source can properly receive the packet transmitted by the communication destination. is there. Therefore, bubble packets are not usually sent to convey information. It is not desirable that packets having no role in transmitting such information increase traffic on communication lines such as the Internet.
  • the present invention has been made to solve the above problems, and one object of the present invention is to appropriately establish communication via a high-security communication control device (for example, NAT) at a security level. It is an object of the present invention to provide an information processing apparatus or the like capable of performing the above.
  • a high-security communication control device for example, NAT
  • Another object of the present invention is to provide an information processing apparatus or the like that transmits a bubble packet while suppressing an increase in traffic on a communication line.
  • an information processing apparatus is an information processing apparatus of a communication source that communicates with an information processing apparatus of a communication destination via a communication control device of the communication source.
  • the information processing apparatus of the present invention by setting a predetermined lifetime for a bubble packet, communication via a communication control apparatus having a high security level can be properly established. Also, by providing a lifetime for the bubble packet, it is possible to prevent an increase in traffic on the communication line.
  • FIG. 1 is a diagram showing a configuration of a communication system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a first information processing apparatus according to the embodiment.
  • FIG. 3 is a diagram for explaining a trace route in the embodiment.
  • FIG. 4 is another diagram for explaining a trace route in the embodiment.
  • FIG. 5 is a diagram for explaining an operation of the communication system according to the embodiment.
  • FIG. 6 is a diagram for explaining a specific example of the communication system according to the embodiment.
  • FIG. 7 is another diagram for describing a specific example of the communication system according to the embodiment.
  • FIG. 8 is a diagram showing another example of the configuration of the communication system according to the embodiment.
  • FIG. 9 is a diagram showing an example of a conventional communication system.
  • FIG. 1 is a diagram showing a configuration of a communication system according to the present embodiment.
  • a communication system according to the present embodiment includes a first information processing device 1, a second information processing device 2, a first communication control device 3, a second communication control device 4, 5 is provided.
  • the first communication control device 3 and the second communication control device 4 are connected to the server 5 via a wired or wireless communication line 6.
  • This communication line 6 is, for example, the Internet.
  • FIG. 1 shows a case where only first information processing device 1 and second information processing device 2 are connected to first communication control device 3 and second communication control device 4, respectively. Although shown, other devices may be connected to the first communication control device 3 and the second communication control device 4.
  • a first communication control device 3 and a second communication control device 4 are connected to the first information processing device 1 and the second information processing device 2, respectively.
  • the number of communication control devices connected in each information processing device may be multiple. That is, another communication control device may exist between the first information processing device 1 and the second information processing device 2 and the communication line 6.
  • the information processing device of the communication source is the first information processing device 1 and the second information processing device.
  • a side that issues a communication (connection) request (in other words, a side that transmits a bubble packet) when establishing communication with the information processing device 2.
  • the information processing device at the communication destination is the information processing device on the opposite side, that is, the information processing device on the side receiving the communication request (in other words, the side transmitting the reply packet to the bubble packet).
  • establishing communication means starting peer-to-peer communication between the first information processing device 1 and the second information processing device 2 without using the server 5! , U.
  • the bubble packet and the reply packet will be described later.
  • FIG. 2 is a block diagram showing a configuration of the first information processing device 1.
  • the first information processing device 1 includes a communication control unit 11, a relay node counting unit 12, a life setting unit 13, and a bubble packet transmitting unit 14.
  • the communication control unit 11 performs a process for establishing communication between the first information processing device 1 and the second information processing device 2 as a communication destination. Details of the processing will be described later.
  • Relay node counting section 12 counts the number of relay nodes from first information processing device 1.
  • the relay node is a so-called router having a routing function, and may have an address change function (for example, a function of converting a private address to a global address). It is not necessary.
  • the relay node may also relay the packet to the global address or the global address (for example, performed in the Internet), or may relay the packet from a private address to a private address (for example, performed in the LAN). It may also relay packets between private and global addresses (eg, between a LAN and the Internet).
  • the number of relay nodes is calculated by, for example, transmitting a UDP packet in which a TTL (Time To Live) is set, which can be performed by a trace route, while incrementing the TTL in order from 1. Is also good. In the present embodiment, the number of relay nodes is counted by the trace route. Details of the counting process will be described later.
  • the life setting unit 13 sets the life of the bubble packet transmitted by the bubble packet transmitting unit 14 within a range where the bubble packet does not reach the second communication control device 4 of the communication destination.
  • the life setting unit 13 sets the life based on the number of relay nodes counted by the relay node counting unit 12.
  • the setting for this lifetime is, for example, the TTL for bubble packets. This is done by setting Note that the life of the bubble packet set by the life setting unit 13 cannot exceed the communication control device of the communication source (or all of the communication control devices in the case of a multi-stage communication control device). must not.
  • the bubble packet Since the bubble packet has a role of leaving a transmission history to the communication control device of the communication source so that the reply packet of the communication destination can be received, the bubble packet did not exceed the communication control device of the communication source. In this case, the communication control device of the communication source cannot receive the return packet of the communication destination.
  • the life setting unit 13 sets the life of the bubble packet so that the bubble packet can reach the relay node that relays the packet from the global address to the global address.
  • the life of the bubble packet may be set so that the public packet can reach the relay node closest to the first information processing device 1 of the communication source.
  • the life of the bubble packet may be set so that the short packet can reach the relay node in front of the second communication control device 4 at the communication destination. If there are multiple communication control devices at the communication destination, the communication control device must reach the relay node in front of the communication control device closest to the communication source (that is, the communication control device at the communication destination that is out of alignment). You can set the lifetime of the bubble packet as well.
  • the bubble packet transmitting unit 14 transmits a bubble bucket having the life set by the life setting unit 13 via the first communication control device 3 of the communication source.
  • the bubble packet is a communication source first communication control device 3 so that the first communication control device 3 can accept a reply packet transmitted from the communication destination second information processing device 2.
  • This is a packet transmitted from the first information processing device 1 of the communication source to leave a transmission history.
  • To leave the transmission history means to allocate a port (open the port) to accept the reply packet.
  • This bubble packet may or may not contain any information (may be a dummy). 1S Since the bubble packet according to the present embodiment does not reach the communication destination. In general, however, this bubble packet does not contain any significant information.
  • the bubble packet transmitting unit 14 transmits, for example, a bubble packet stored in a predetermined memory. This bubble packet is, for example, UDP (User Dat a Protocol).
  • the second information processing device 2 transmits a reply packet to the bubble packet transmitted from the first information processing device 1.
  • the reply packet is a packet transmitted to the port of the first communication control device 3 through which the bubble packet has passed.
  • the first information processing device 1 can receive the reply packet via the first communication control device 3 by transmitting the bubble packet as much as possible.
  • This reply packet may or may not contain any information, whether or not it contains any information.
  • the first communication control device 3 performs NAT of a packet transmitted from the first information processing device 1 or an address of a packet transmitted to the first information processing device 1. Is a device having the function of Specifically, it performs mutual conversion between a local address used on the first information processing device 1 side and a global address used on the communication line 6 side.
  • the first communication control device 3 has a routing function, and is included in the relay nodes counted by the relay node counting unit 12. Note that the first communication control device 3 may have a function other than the address conversion.
  • the second communication control device 4 is also a device similar to the first communication control device 3, which has a NAT function for performing address translation.
  • the transmission port assignment rule and the reception filter rule used in the first communication control device 3 and the second communication control device 4 are defined by the first information processing device 1 and the second information processing device. It is not used only when transmission of a bubble packet is necessary to establish communication with 2. However, in the present embodiment, a case will be described where the transmission port assignment rules of the first communication control device 3 and the second communication control device 4 are cone-type, and the reception filter rule is an address-sensitive filter. That is, it is assumed that the first communication control device 3 and the second communication control device 4 have a so-called restricted cone NAT function.
  • the server 5 performs processing necessary for establishing communication between the first information processing device 1 and the second information processing device 2 without passing through the server 5. For example, the first information processing device 1 Notifying the IP address of the communication line 6 of the second information processing device 2 (strictly speaking, the second communication control device 4) or passing a bubble packet transmitted from the first information processing device 1 Or notifies the second information processing device 2 of the port number of the first communication control device 3
  • the relay node counting unit 12 counts the number of relay nodes.
  • a method of counting the number of relay nodes using a trace route will be described.
  • the trace route by tracing the IP route, the IP address of each relay node to the communication destination can be known.
  • FIG. 3 and FIG. 4 are diagrams for explaining a trace route.
  • the relay nodes are indicated by circles.
  • the check packet is a packet transmitted to a destination in a trace route.
  • TTL Time To Live
  • the relay node counting unit 12 transmits the next check packet after a timeout occurs.
  • the check packet reaches the second communication control device 4, an ICMP port unreachable is returned, and the trace route ends.
  • ICMP port unreachable An ICMP echo reply may be returned instead of a bullet.
  • the relay node counting unit 12 can know the number of relay nodes that pass through to reach the second communication control device 4 and the IP address of each relay node.
  • the relay node counting unit 12 may count the number of relay nodes by a method other than the trace route.
  • the transmission destination of the check packet may be a server 5 other than the second communication control device 4, for example.
  • first information processing device 1 and the second information processing device 2 are connected to the communication lines of the first communication control device 3 and the second communication control device 4 in advance through the mediation of a server 5.
  • Step S101 The relay node counting unit 12 counts the number of relay nodes up to the second communication control device 4.
  • Step S102 The life setting unit 13 sets the life of the bubble packet transmitted by the bubble packet transmitting unit 14 based on the counting result of the number of relay nodes by the relay node counting unit 12.
  • Step S103 The communication control unit 11 transmits a port detection packet to the server 5.
  • This port detection packet is specified by the position of the port (hereinafter, referred to as “bubble packet transmission port”) in the first communication control device 3 to which the bubble packet is transmitted (for example, specified by the port number). ) Is sent before the transmission of the bubble packet to detect).
  • the port detection packet is received by the server 5.
  • Step S 104 The bubble packet transmitting unit 14 transmits a bubble packet having the life set by the life setting unit 13 to the second communication control device 4. Since this bubble packet disappears with the set lifetime, it does not reach the second communication control device 4. This bubble packet is transmitted directly to the second communication control device 4 without passing through the server 5.
  • Step S105 The server 5 receives the port detection packet transmitted in step S103. Then, the position of the bubble packet transmission port is detected.
  • Step S106 The server 5 notifies the second information processing device 2 of the position of the bubble packet transmission port detected in step S105.
  • Step S107 The second information processing device 2 transmits a reply packet to the bubble packet transmission port of the first communication control device 3. By receiving this reply packet in the first information processing device 1, communication is established between the first information processing device 1 and the second information processing device 2 without passing through the server 5. Will be.
  • the operation of this communication system will be described using a specific example.
  • the first communication control device 3 and the second communication control device 4 have a restricted cone NAT function.
  • the relay node counting unit 12 counts the number of relay nodes based on the trace route.
  • the life setting unit 13 sets the life by setting the TTL of the public packet.
  • the IP addresses of the first communication control device 3, the second communication control device 4, and the communication line 6 of the server 5 are as follows.
  • First communication control device 3 202. 132. 10. 6
  • Second communication control device 4 131.206.10.240
  • FIG. 6 and 7 are diagrams for explaining this specific example.
  • the first information processing device 1 knows the IP address “155. 32.10.10” of the server 5 in advance, and sends the device ID of the first information processing device 1 to the server 5.
  • a GUID Global Unique ID
  • the transmission of the device ID is performed from the port P1 of the first information processing device 1 to the port P3 of the server 5 via the port P2 assigned by the first communication control device 3.
  • the server 5 sends the device ID of the first information processing device 1, the IP address “202.132.10.6” of the first communication control device 3, and the port of the first The port number “10034” of P2 can be known. These pieces of information are stored in the server 5.
  • the second information processing device 2 also transmits the device ID “9876543210” of the second information processing device 2 in the same manner as the first information processing device 1.
  • the IP address “131.206.10.240” of the second communication control device 4 the device ID of the second information processing device 2, and the port number of port P5 of the second communication control device 4 “23495” is stored in the server 5.
  • the first information processing device 1 transmits the device ID “9876543210” of the second information processing device 2 requesting the connection to the server 5, so that the first information processing device 1 Make a connection request.
  • the server 5 receives the connection request and sends the IP address “131.206.10.240” of the second communication control device 4 to the first information processing device 1 through the port P2 and the port P5.
  • the port number "23495" is notified.
  • the relay node counting unit 12 of the first information processing device 1 executes a trace route on the IP address “131. 206. 10. 240” of the second communication control device 4, The number of relay nodes up to the second communication control device 4 is counted (step S101). This counting is performed in the same manner as described with reference to FIGS. Then, the relay node counting unit 12 calculates the number of relay nodes up to the second communication control device 4, the TTL value up to each relay node that has passed up to the second communication control device 4, and the Node power The correspondence with the returned IP address is passed to the life setting unit 13 as a counting result.
  • the IP address returned from the relay node by the ICMP time exclusion is the most recent (the global address).
  • the TTL of the bubble packet is set so that the bubble packet reaches the relay node (closest to the first communication control device 3) (step S102). Specifically, among the TTLs corresponding to the global addresses for which the relay node has returned, the smallest TTL value is set as the TTL of the bubble packet.
  • the lifetime is set so that the bubble packet reaches the nearest relay node among the relay nodes that relay the packet from the global address to the global address.
  • the communication control unit 11 transfers a packet from the port P 7 of the first information processing device 1 to the port P 9 of the server 5. Transmit a port detection packet to detect the
  • the port P9 is a port specified by the server 5. Note that the port P9 may be the same as the port P3.
  • This port detection packet is transmitted to the first communication control device 3 using the newly assigned port P8 (port number “10040”). This port detection packet is received by the server 5, and the port number “10040” of the port P8 of the first communication control device 3 is detected and held (step S105).
  • the server 5 transmits the port number “10040” of the held bubble packet transmission port P8 and the IP address “202.132.10.6” of the first communication control device 3 through the port P5.
  • the second information processing device 2 is notified (step S106).
  • the second information processing device 2 When the second information processing device 2 receives the IP address of the first communication control device 3 and the port number of the port P8, the second information processing device 2 sends a reply packet from the port P10 to the IP address and the port number. Send the packet (see Figure 7).
  • the reply packet is received at the port P8 of the first communication control device 3 and passed to the port P7 of the first information processing device 1. In this way, communication between the first information processing device 1 and the second information processing device 2 is established, and thereafter, the first information processing device 1 and the second information processing device 2 Can transmit and receive desired data.
  • the relay node closest to the communication source first information processing device 1 ie, the first relay node
  • the life setting unit 13 sets the life so that the bubble packet can reach the next relay node of the communication control device 3 has been described, but this is an example, and as described above,
  • the lifetime setting unit 13 sets the lifetime so that the bubble packet can reach the relay node that relays the packet from the global address to the global address.
  • Hand reaching device 4 The lifetime may be set to reach the previous relay node.
  • some relay nodes may not comply with ICMP. Specifically, there may be relay nodes that do not decrease the TTL in the trace route, but decrease the TTL of UDP bubble packets.
  • the relay node from the global address to the nearest relay node that relays the packet to the global address is determined. Even if a bubble packet having a long life is transmitted, the bubble packet does not actually exceed all of the communication control devices of the communication source. As a result, the transmission history cannot be left in the communication control device closest to the transmission destination among the communication control devices of the communication source, and a reply packet transmitted from the second information processing device 2 cannot be received.
  • the lifetime may be set so that the bubble packet reaches the relay node closest to the relay node that relays the packet from the global address to the global address. Set the lifetime so that the bubble packet reaches one of the relay nodes up to the relay node immediately before the communication control device.
  • the life setting unit 13 keeps the bubble packet transmitting unit 14 in the bubble state until the communication between the first information processing device 1 of the communication source and the second information processing device 2 of the communication destination is established.
  • the lifetime may be set by increasing the number of relay nodes to which the bubble packet can reach. Specifically, first, the lifetime of a bubble packet is set so that the packet reaches the nearest relay node that relays the packet to the global address, and the communication between the information processing devices is performed by transmitting the bubble packet. In the event that communication cannot be established, the bubble packet is transmitted by incrementing the lifetime (TTL) of the bubble packet by 1 and the communication between the information processing devices cannot be established.
  • TTL lifetime
  • the life of the bubble packet is incremented by one and the communication is attempted. If communication cannot be established, the relay node that the bubble packet can reach can be increased by one to set the lifetime, or the relay node that the bubble packet can reach can be set.
  • the service life may be increased by a predetermined number (depending on the number of times of increase, or may be increased). As described above, according to the communication system according to the present embodiment, the bubble packet transmitted by first information processing device 1 has a lifetime and is prevented from reaching second communication control device 4.
  • the second communication control device 4 that cannot receive any packet from the communication source of the packet when receiving the packet cannot be accepted by the reception filter rule is used, Since the packet does not reach the second communication control device 4, it is appropriate to establish communication between the first information processing device 1 and the second information processing device 2 after transmitting the bubble packet. could be done.
  • the lifetime of a bubble packet is set such that the bubble packet expires when the bubble packet reaches the relay node closest to the communication source.
  • the relay node counting unit 12 counts the number of relay nodes and the life setting unit 13 sets the life of the bubble packet based on the counting result. Even if the first information processing device 1 does not include the relay node counting unit 12 and the life setting unit 13 sets the life of the bubble packet based on the number of stages of the communication control device of the communication source input from outside. Good. For example, as shown in FIG. 1, when the first communication control device 3 of the communication source is not one step lower, the life setting unit 13 sets “1” to the number of steps “1” of the communication control device. The lifetime of the bubble packet may be set by setting the added “2” as the TTL.
  • a communication control device is also provided on the second information processing device 2 side of the communication destination.
  • the life setting unit 13 sets the life of the range as the life of the bubble packet without reaching the second information processing device 2 of the communication destination. By doing so, it is possible to avoid a situation in which communication traffic increases. This is particularly remarkable when the life setting unit 13 sets the life of the bubble packet such that the bubble packet can reach the nearest relay node that relays the packet to the global address with a global address capability.
  • the force communication control device described in the case where the communication control device has a restricted cone NAT function is not limited to the above-described NAT type. Good. That is, setting the lifetime for a bubble packet can be used for any information processing apparatus that transmits a bubble packet via any type of NAT. If different types of NAT are used, the process for establishing communication differs depending on the type of NAT! /, Or! /.
  • the number of relay nodes up to second communication control device 4 which is the NAT of the communication destination, is counted. For example, if the life setting unit 13 sets the life so that the bubble packet can reach the nearest relay node that relays the packet to the global address, the server 5 or other You can count the number of relay nodes to the server.
  • a trace-routed node to a predetermined communication destination node for example, second communication control device 4 or the like
  • a predetermined communication destination node for example, second communication control device 4 or the like
  • lifetime setting unit 13 sets lifetime so that bubble packet can reach the nearest relay node that relays packets from global address to global address.
  • the counting of the number of relay nodes is performed within the range exceeding the communication control device of the communication source (if the communication control device has multiple stages, all the multi-stage communication control devices). Number counting may be performed.
  • the counting of the number of relay nodes is performed as follows. The processing may be terminated at the nearest relay node that relays a packet from the global address to the global address. Specifically, when a UDP packet is transmitted by setting the TTL while incrementing the TTL in order, the IP address of the relay node that returns the ICMP time exclusion has a global address. At this point, counting of the number of relay nodes may be completed. Then, the lifetime setting unit 13 may set the value of the TTL set as the lifetime of the bubble packet in the UDP packet at the time when the global address is returned.
  • the lifetime of a bubble packet is set by setting the TTL
  • the lifetime may be set by other methods.
  • the lifetime may be set in the bubble packet by setting the transmission time and the time indicating the lifetime. In this case, if the relay node confirms that the time indicating the lifetime has elapsed from the time of transmission, the bubble packet is discarded.
  • the first communication control device 3 and the second communication control device 4 have been described as having NAT functions, but the first communication control device 3,
  • the second communication control device 4 may have a function of a packet filtering firewall in place of the NAT function or together with the NAT function.
  • the packet filtering is, for example, for selecting a received packet based on the above-described reception filter rule. If the first communication control device 3 has a firewall function based on such a reception filter rule, a bubble packet to the local side (the first information processing device 1 side) global side (the communication line 6) By sending a transmission history to the first communication control device 3, a reply packet transmitted to the bubble packet transmission port can be received.
  • the second communication control device 4 has a firewall function that cannot receive the packet by the reception filter rule and, when a packet is received, does not accept any packet from the communication source of the packet.
  • the communication life between the first information processing device 1 and the second information processing device 2 is set by setting the life of the range to a bubble packet without reaching the second communication control device 4 of the communication destination. Trust can be properly established.
  • the first communication control device 3 and the second communication control device 4 are separately configured as hardware from the information processing device, and have a function of a firewall without a function of a NAT.
  • those communication control devices will have a routing function and can generally be relay nodes that reduce the TTL by one.
  • the firewall communication control device
  • the first information processing device 1 accepts a reply packet transmitted from the second information processing device 2. You can do it.
  • the firewall function is implemented as an application in the first information processing device 1 and the second information processing device 2, the TTL is reduced by the bubble packet passing through the firewall (communication control device).
  • the information processing unit and the communication control unit are configured as a single unit, of which only the function of the communication control unit (firewall) is separately specified.
  • the transmission history can be left in the firewall by transmitting a bubble packet having a TTL of 1 or more.
  • the public packet must reach the relay node that relays the packet from the global address to the global address.
  • the life of a bubble packet is set so that transmission history can be left even for a communication control device having the NAT function, and the first information processing device 1
  • the reply packet transmitted from the device 2 can be received.
  • the second communication control device 4 does not need to be provided. However, the same applies to the case where the communication control device has a firewall function instead of the NAT function or together with the NAT function.
  • server 5 may be specified by a domain name (for example, server, pana. Net, etc.).
  • Sano 5 can be specified by converting the domain name into an IP address using a DNS server.
  • the communication protocol in the present embodiment may be, for example, IPv4 (Internet Protocol version 4) te, and ⁇ may be IPv6 (Internet Protocol version o).
  • each process may be realized by centralized processing by a single device (system), or a plurality of devices. It can also be realized by distributed processing.
  • each component may be configured by dedicated hardware, or a component that can be realized by software may be realized by executing a program.
  • each component can be realized by reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory by a program execution unit such as a CPU.
  • the software for realizing the information processing apparatus in the above embodiment is a program as described below.
  • this program is a program for causing a computer to transmit a bubble packet in an information processing apparatus at a communication destination and an information processing apparatus at a communication source that performs communication via a communication control device at a communication source. Set the lifespan of the range to prevent the bubble packet from reaching the destination information processing device for the transmitted bubble packet to leave the transmission history in the original communication control device. And a bubble packet transmitting step of transmitting a bubble packet having the life set in the life setting step via the communication control device of the communication source.
  • this program is recorded on a predetermined recording medium (for example, an optical disk such as a CD-ROM, a magnetic disk, a semiconductor memory, etc.) which can be executed by being downloaded by a server or the like.
  • the program may be executed by being read.
  • the computer that executes this program may be a single computer or a plurality of computers. That is, centralized processing may be performed or distributed processing may be performed.
  • the information processing apparatus and the like sets the life span of the bubble packet to the information processing apparatus at the communication destination or the communication control apparatus at the communication destination without setting the bubble packet. This is useful for an information processing apparatus that transmits a bubble packet in establishing communication between information processing apparatuses.

Abstract

 通信先の情報処理装置と、通信元のNATを介して通信を行う通信元の第1の情報処理装置(1)であって、通信先の情報処理装置から送信されるパケットを受け付けることができるように、通信元のNATに送信履歴を残すために送信されるバブルパケットに対して、そのバブルパケットが通信先の情報処理装置に到達しない範囲の寿命を設定する寿命設定部(13)と、寿命設定部(13)が設定した寿命を有するバブルパケットを、通信元のNATを介して送信するバブルパケット送信部(14)とを備える。このような構成により、セキュリティーレベルの高いNATを介した通信を適切に確立することができる情報処理装置を提供する。

Description

明 細 書
情報処理装置、バブルパケット送信方法およびプログラム
技術分野
[0001] 本発明は、他の情報処理装置と通信を行う情報処理装置等に関する。
背景技術
[0002] 従来、サーバを介することなぐ情報処理装置間で直接、ピア 'ツー'ピア等の通信 を行う技術が開発されている。その通信において、図 9で示すように、情報処理装置 PCI, PC2力 それぞれ NATl, NAT2を介して通信を行う場合もある。ここで、 NA Tl、 ΝΑΤ2は、ローカル側(情報処理装置側)のプライベート IPアドレスと、通信回線 側のグローバル IPアドレスとの相互変換を行う。その NAT1、 NAT2等には、ポート 割り当てルールと、受信フィルタルールとがあり、その組み合わせによって NATの分 類がなされる。具体的には、送信ポート割り当てルールには、パケットの宛先 (IPアド レス、ポート)に依存せず、 NATのローカル側(たとえば、 LAN側)の情報処理装置 のポートと IPアドレスが同じであれば、 NATに割り当てられるグローバル側(たとえば 、インターネットなどの WAN側)に同一のポートが割当てられるコーンタイプと、パケ ットの宛先アドレスごとに新し 、ポートが割り当てられるアドレスセンシティブタイプと、 パケットの宛先ポートごとに新しいポートが割り当てられるポートセンシティブタイプが ある。 NATのローカル側力 パケットが送信されたポートに対してグローバル側から のパケットの受信可能性を判断する受信フィルタルールには、そのポートからパケット を送信したアドレス力ものみパケットを受信するアドレスセンシティブフィルタと、その ポートからパケットを送信したポートからのみパケットを受信するポートセンシティブフ ィルタと、フィルタが存在せず全てのパケットを受信するノーフィルタがある。
[0003] そのような NATを介した通信において、 NATの LAN側から WAN側に対してパケ ットの送信がなされて 、な 、と、 WAN側の他の情報処理装置からのパケットを受け 付けることができない。特に、 NATの受信フィルタルールがアドレスセンシティブフィ ルタゃポートセンシティブフィルタである場合には、 WAN側の情報処理装置や、そ の情報処理装置における所定のポートにパケットを送信して 、な 、と、その WAN側 の情報処理装置力 送信されたパケットを受け付けることができない。したがって、 N ATを介した情報処理装置間の通信を確立するために、 NATに送信履歴を残すた めのパケット (バブルパケット)の送信等を行って 、た。
[0004] これらの技術内容は、 J. Rosenberg, J. Weinberger, C. Huitema、 R. Mahy、 「STUN— Simple Traversal of User Datagram Protocol (UDP) Throu gh Network Address Translators (NATs)」、 [Online]、 2003年 3月、 [200 4年 3月 17日検索]、インターネットく URL:http : ZZwww. ietf. org/rfc/rfc34 89. txt〉や、及川卓也、「 Advanced Networking Pack for Windows (登録 商標) XP大解剖 第 1回 IPv6接続をさらに透過的にする Teredo」、 [Online]、 2 003年 9月 29曰、 [2004年 3月 17曰検索]、インターネットく URL :http : ZZwww. ipv6 style, jp/jp/tryout/20030929/2. shtml〉に記載されている。
[0005] し力しながら、 NATの種類によっては、セキュリティーを向上させるために、受信フ ィルタルールによって受信することができないパケットを攻撃であるとみなし、そのパ ケットの通信元の IPアドレスから送信されたパケットを受け付けな 、ものもある。そのよ うな場合に、バブルパケットを通信先の NATに対して送信すると、そのバブルバケツ トが攻撃であるとみなされる。その結果、バブルパケットを受信した NAT力 バブルパ ケットを送信した情報処理装置力ものパケットを一切受け付けなくなり、バブルバケツ トを送信した情報処理装置と、バブルパケットが送信された側の情報処理装置との間 での通信を適切に確立することができなくなる場合もある。
[0006] また、バブルパケットは、通信元の NATが通信先力 送信されたパケットを適切に 受信することができるように、通信元の NATに送信履歴を残すことを目的として送信 されるものである。したがって、通常、バブルパケットは情報を伝達するために送信さ れるものではない。そのような情報を伝達する役割を持たないパケットによって、イン ターネットなどの通信回線におけるトラフィックが増大することは、好ましいことではな い。
発明の開示
[0007] 本発明は上記問題点を解決するためになされたものであり、その一つの目的は、セ キユリティーレベルの高 ヽ通信制御装置 (例えば、 NAT)を介した通信を適切に確立 することができる情報処理装置等を提供することである。
[0008] また、本発明の他の目的は、通信回線におけるトラフィックの増大を抑えながら、バ ブルパケットを送信する情報処理装置等を提供することである。
[0009] 上記目的を達成するため、本発明による情報処理装置は、通信先の情報処理装置 と、通信元の通信制御装置を介して通信を行う通信元の情報処理装置であって、通 信元の通信制御装置に送信履歴を残すために通信元の情報処理装置力 送信され るバブルパケットに対して、そのバブルパケットが通信先の情報処理装置に到達しな Vヽ範囲の寿命を設定する寿命設定部と、寿命設定部が設定した寿命を有するパブ ルパケットを、通信元の通信制御装置を介して送信するバブルパケット送信部と、を 備えたものである。
[0010] 本発明による情報処理装置によれば、バブルパケットに所定の寿命を設定すること により、セキュリティーレベルの高い通信制御装置を介した通信を適切に確立するこ とができ得る。また、バブルパケットに寿命を設けることにより、通信回線におけるトラ フィックの増大を防止でき得る。
図面の簡単な説明
[0011] [図 1]図 1は本発明の実施の形態による通信システムの構成を示す図である。
[図 2]図 2は同実施の形態による第 1の情報処理装置の構成を示すブロック図である
[図 3]図 3は同実施の形態におけるトレースルートを説明するための図である。
[図 4]図 4は同実施の形態におけるトレースルートを説明するための別の図である。
[図 5]図 5は同実施の形態による通信システムの動作を説明するための図である。
[図 6]図 6は同実施の形態による通信システムの具体例を説明するための図である。
[図 7]図 7は同実施の形態による通信システムの具体例を説明するための別の図であ る。
[図 8]図 8は同実施の形態による通信システムの構成の他の一例を示す図である。
[図 9]図 9は従来の通信システムの一例を示す図である。
符号の説明
[0012] 1 第 1の情報処理装置 2 第 2の情報処理装置
3 第 1の通信制御装置
4 第 2の通信制御装置
5 サーバ
11 通信制御部
12 中継ノード計数部
13 寿命設定部
14 バブルパケット送信部
発明を実施するための最良の形態
[0013] (実施の形態)
本発明の実施の形態による通信システムについて、図面を参照しながら説明する。
[0014] 図 1は、本実施の形態による通信システムの構成を示す図である。図 1において、 本実施の形態による通信システムは、第 1の情報処理装置 1と、第 2の情報処理装置 2と、第 1の通信制御装置 3と、第 2の通信制御装置 4と、サーバ 5とを備える。第 1の 通信制御装置 3及び第 2の通信制御装置 4とサーバ 5とは、有線または無線の通信 回線 6を介して接続されている。この通信回線 6は、例えば、インターネットである。
[0015] なお、図 1では、第 1の通信制御装置 3、第 2の通信制御装置 4にそれぞれ、第 1の 情報処理装置 1、第 2の情報処理装置 2のみが接続されている場合について示して いるが、これ以外の装置が、第 1の通信制御装置 3、第 2の通信制御装置 4に接続さ れていてもよい。
[0016] また、図 1では、第 1の情報処理装置 1、及び第 2の情報処理装置 2にそれぞれ第 1 の通信制御装置 3、第 2の通信制御装置 4が 1個ずつ接続されている場合について 示しているが、各情報処理装置において接続される通信制御装置は、多段であって もよい。すなわち、第 1の情報処理装置 1及び第 2の情報処理装置 2から通信回線 6 までの間に、別の通信制御装置が存在してもよい。
[0017] また、本実施の形態では、第 1の情報処理装置 1が通信元の情報処理装置として 動作し、第 2の情報処理装置 2が通信先の情報処理装置として動作する場合にっ 、 て説明する。ここで、通信元の情報処理装置とは、第 1の情報処理装置 1と第 2の情 報処理装置 2との間の通信を確立する際における、通信 (コネクション)の要求を出す 側(言い換えれば、バブルパケットを送信する側)のことである。一方、通信先の情報 処理装置とは、その反対側の情報処理装置、すなわち通信の要求を受け取る側 (言 い換えれば、バブルパケットに対する返信パケットを送信する側)の情報処理装置の ことである。なお、通信を確立するとは、第 1の情報処理装置 1と第 2の情報処理装置 2との間にお 、て、サーバ 5を介さな 、ピア ·ツー ·ピアの通信を開始することを!、う。 なお、バブルパケット、返信パケットについては後述する。
[0018] 図 2は、第 1の情報処理装置 1の構成を示すブロック図である。図 2において、第 1 の情報処理装置 1は、通信制御部 11と、中継ノード計数部 12、寿命設定部 13と、バ ブルパケット送信部 14とを備える。
[0019] 通信制御部 11は、第 1の情報処理装置 1と、通信先の第 2の情報処理装置 2との間 での通信を確立させるための処理を行う。その処理の詳細については後述する。
[0020] 中継ノード計数部 12は、第 1の情報処理装置 1からの中継ノードの数を計数する。
ここで、中継ノードとは、ルーティング機能を有するいわゆるルータのことであり、アド レス変^ ¾能(例えば、プライベートアドレスからグローバルアドレスへの変換を行う 機能)を有してもよぐ有していなくてもよい。また、中継ノードは、グローバルアドレス 力もグローバルアドレスにパケットを中継(例えば、インターネットにおいて行われる) してもよく、プライベートアドレスからプライベートアドレスにパケットを中継(例えば、 L ANにおいて行われる)してもよく、プライベートアドレスとグローバルアドレスとの間で パケットを中継 (例えば、 LANとインターネットとの間で行われる)してもよい。この中 継ノードの数の計数は、例えば、トレースルートによって行ってもよぐ TTL (Time T o Live)を設定した UDPパケットを、その TTLを 1から順番にインクリメントしながら 送信することによって行ってもよい。本実施の形態では、トレースルートによって中継 ノードの数の計数を行うものとする。この計数の処理の詳細については、後述する。
[0021] 寿命設定部 13は、バブルパケット送信部 14が送信するバブルパケットに対して、そ のバブルパケットが通信先の第 2の通信制御装置 4に到達しない範囲の寿命を設定 する。寿命設定部 13は、中継ノード計数部 12が計数した中継ノードの数に基づいて 、その寿命の設定を行う。この寿命の設定は、例えば、バブルパケットに関する TTL を設定することによって行う。なお、寿命設定部 13によって設定されるバブルパケット の寿命は、バブルパケットが通信元の通信制御装置(多段の通信制御装置である場 合にはそのすベて)を超えることができるものでなくてはならない。バブルパケットは、 通信先の返信パケットを受信することができるように、通信元の通信制御装置に対し て送信履歴を残す役割を有するため、バブルパケットが通信元の通信制御装置を超 えなかった場合には、通信元の通信制御装置が通信先力 の返信パケットを受信で きないからである。
[0022] 寿命設定部 13は、例えば、バブルパケットがグローバルアドレスからグローバルアド レスにパケットを中継する中継ノードに到達することができるようにバブルパケットの寿 命を設定してもよぐグローバルアドレス力 グローバルアドレスにパケットを中継する 中継ノードのうち、通信元の第 1の情報処理装置 1に対して直近の中継ノードにパブ ルパケットが到達することができるようにバブルパケットの寿命を設定してもよぐパブ ルパケットが通信先の第 2の通信制御装置 4の手前の中継ノードに到達することがで きるようにバブルパケットの寿命を設定してもよい。なお、通信先の通信制御装置が 多段である場合には、通信元に一番近い側の通信制御装置の手前の中継ノードに 到達するように(すなわち、通信先の 、ずれの通信制御装置にも到達しな 、ように) バブルパケットの寿命を設定してもよ ヽ。
[0023] バブルパケット送信部 14は、寿命設定部 13が設定した寿命を有するバブルバケツ トを、通信元の第 1の通信制御装置 3を介して送信する。ここで、バブルパケットとは、 通信先の第 2の情報処理装置 2から送信される返信パケットを第 1の通信制御装置 3 が受け付けることができるように、通信元の第 1の通信制御装置 3に送信履歴を残す ために通信元の第 1の情報処理装置 1から送信されるパケットのことである。送信履 歴を残すとは、返信パケットを受け付けることができるためのポートを割り当てる(ポー トを開く)ことをいう。このバブルパケットには、何らかの情報が含まれていてもよぐ何 も情報が含まれていなくてもよい (ダミーであってもよい) 1S 本実施の形態によるパブ ルパケットは通信先に到達しないため、一般的に、このバブルパケットには有意な情 報は含まれていない。バブルパケット送信部 14は、例えば、所定のメモリで記憶され ているバブルパケットを送信する。このバブルパケットは、例えば、 UDP (User Dat a Protocol)のようなコネクションレス型のプロトコルによって送信される。
[0024] 第 2の情報処理装置 2は、第 1の情報処理装置 1から送信されたバブルパケット〖こ 対して返信パケットを送信する。こうして、第 1の情報処理装置 1と、第 2の情報処理 装置 2との間での第 1の通信制御装置 3,第 2の通信制御装置 4を介した通信が確立 することになる。ここで、返信パケットとは、バブルパケットの通過した第 1の通信制御 装置 3のポートに対して送信されるパケットである。あら力じめバブルパケットが送信さ れていることにより、第 1の情報処理装置 1は、この返信パケットを、第 1の通信制御装 置 3を介して受信することができる。この返信パケットには、何らかの情報が含まれて いてもよぐ何も情報が含まれていなくてもよい。
[0025] 第 1の通信制御装置 3は、第 1の情報処理装置 1から送信されたパケット、あるいは 、第 1の情報処理装置 1に送信されたパケットのアドレス変換を行う NAT (Network Address Translation)の機能を有する装置である。具体的には、第 1の情報処理 装置 1側で使用されて 、るローカルなアドレスと、通信回線 6側で使用されて 、るグロ 一バルなアドレスとの相互変換を行う。この第 1の通信制御装置 3は、ルーティング機 能を有するものであり、中継ノード計数部 12が計数する中継ノードに含まれる。なお 、第 1の通信制御装置 3は、アドレス変換以外の他の機能を有していてもよい。
[0026] 第 2の通信制御装置 4も、アドレス変換を行う NATの機能を有する、第 1の通信制 御装置 3と同様の装置である。
[0027] なお、第 1の通信制御装置 3,第 2の通信制御装置 4で使用される送信ポート割り当 てルールと受信フィルタルールは、第 1の情報処理装置 1と第 2の情報処理装置 2と の間での通信を確立するためにバブルパケットの送信が必要である場合だけに、用 いられるものではない。ただし、本実施の形態では、第 1の通信制御装置 3,第 2の通 信制御装置 4の送信ポート割り当てルールがコーンタイプであり、受信フィルタルー ルがアドレスセンシティブフィルタである場合について説明する。すなわち、第 1の通 信制御装置 3,第 2の通信制御装置 4は、いわゆるレストリクティドコーン NATの機能 を有するものであるとする。
[0028] サーバ 5は、第 1の情報処理装置 1と第 2の情報処理装置 2との間でのサーバ 5を介 さない通信を確立するために必要な処理等を行う。例えば、第 1の情報処理装置 1に 対して第 2の情報処理装置 2 (厳密には、第 2の通信制御装置 4)の通信回線 6側の I Pアドレスを通知したり、第 1の情報処理装置 1から送信されたバブルパケットの通過 した第 1の通信制御装置 3のポートの番号を第 2の情報処理装置 2に通知したりする
[0029] 次に、中継ノード計数部 12が中継ノードの数を計数する方法について説明する。こ こでは、トレースルートを用いて中継ノードの数を計数する方法について説明する。ト レースルートでは、 IPのルートをトレースすることにより、通信先までの各中継ノードの IPアドレスを知ることができ得る。
[0030] 図 3、図 4は、トレースルートについて説明するための図である。これらの図において 、中継ノードは、丸で示されている。図 3で示されるように、まず、第 1の情報処理装置 1の中継ノード計数部 12は、第 2の通信制御装置 4に向けて TTL = 1のチェックパケ ットを送信する。ここで、チェックパケットとは、トレースルートにおいて、送信先に向け て送信されるパケットのことである。このチェックパケットには、 TTL (Time To Live )が設定されている。チェックパケットの TTLは、中継ノードを通過するごとに 1だけ減 少するため、 TTL= 1のチェックパケットは、第 1の通信制御装置 3に到達したときに TTL = 0となり、第 1の通信制御装置 3から ICMPタイムェクシ一ディドによって第 1の 情報処理装置 1に返される。次に、図 4で示されるように、中継ノード計数部 12は、第 2の通信制御装置 4に向けて TTL = 2のチェックパケットを送信する。すると、そのチ エックパケットは中 ϋノード 51にお!/ヽて TTL = 0となり、 ICMPタイムェクシ一ディドに よって中継ノード 51から第 1の情報処理装置 1に返される。これによつて、中継ノード 計数部 12は、中継ノード 51の IPアドレスを知ることができる。このように、チェックパケ ットが第 2の通信制御装置 4に到達するまで、 TTLを 1ずつインクリメントしながらチェ ックパケットの送信と、 ICMPタイムェクシ一ディドの受信とを繰り返すことにより、第 2 の通信制御装置 4に到達するまでに経由した各中継ノードの IPアドレスを知ることが できる。なお、 ICMPタイムェクシ一ディドを返さない中継ノードの場合には、中継ノ ード計数部 12は、タイムアウトとなった後に、次のチェックパケットを送信する。チエツ クパケットが第 2の通信制御装置 4に到達すると、 ICMPポートアンリーチャブルが返 され、トレースルートは終了となる。なお、場合によっては、 ICMPポートアンリーチヤ ブルの代わりに、 ICMPエコーリプライが返されることもある。中継ノード計数部 12は 、このトレースルートを行うことにより、第 2の通信制御装置 4に到達するまでに経由す る中継ノードの数と、各中継ノードの IPアドレスとを知ることができる。
[0031] なお、ここではトレースルートを第 2の通信制御装置 4に対して行う場合について説 明したが、中継ノード計数部 12は、トレースルート以外の方法によって中継ノードの 数を計数してもよぐまた、チェックパケットの送信先は、第 2の通信制御装置 4以外の 例えばサーバ 5などであってもよ 、。
[0032] 次に、本実施の形態による通信システムにおける第 1の情報処理装置 1と第 2の情 報処理装置 2とが通信を確立する動作について、図 5を用いて説明する。なお、この 説明において、第 1の情報処理装置 1及び第 2の情報処理装置 2は、あらかじめ、サ ーバ 5の仲介によって第 1の通信制御装置 3、第 2の通信制御装置 4の通信回線 6側 の IPアドレスを知って!/、るものとする。
[0033] (ステップ S101)中継ノード計数部 12は、第 2の通信制御装置 4までの中継ノード の数を計数する。
[0034] (ステップ S102)寿命設定部 13は、中継ノード計数部 12による中継ノードの数の 計数結果に基づ!/ヽて、バブルパケット送信部 14が送信するバブルパケットの寿命を 設定する。
[0035] (ステップ S103)通信制御部 11は、ポート検出用パケットをサーバ 5に送信する。こ のポート検出用パケットは、バブルパケットが送信される第 1の通信制御装置 3におけ るポート(以下、「バブルパケット送信ポート」とする)の位置 (例えば、ポート番号によ つて特定される)を検出するために、バブルパケットの送信の前に送信されるものであ る。そのポート検出用パケットはサーバ 5で受信される。
[0036] (ステップ S 104)バブルパケット送信部 14は、寿命設定部 13によって設定された寿 命を有するバブルパケットを第 2の通信制御装置 4に送信する。このバブルパケットは 、設定された寿命で消滅するため、第 2の通信制御装置 4には到達しない。なお、こ のバブルパケットは、サーバ 5を介さないで、直接、第 2の通信制御装置 4に送信され る。
[0037] (ステップ S105)サーバ 5は、ステップ S103で送信されたポート検出用パケットによ つて、バブルパケット送信ポートの位置を検出する。
[0038] (ステップ S106)サーバ 5は、ステップ S105で検出したバブルパケット送信ポートの 位置を第 2の情報処理装置 2に通知する。
[0039] (ステップ S107)第 2の情報処理装置 2は、第 1の通信制御装置 3のバブルパケット 送信ポートに対して、返信パケットを送信する。この返信パケットが第 1の情報処理装 置 1で受信されることによって、第 1の情報処理装置 1と、第 2の情報処理装置 2との 間で、サーバ 5を介さない通信が確立されることになる。
[0040] 次に、この通信システムの動作にっ 、て、具体例を用いて説明する。この具体例で は、前述のように、第 1の通信制御装置 3、第 2の通信制御装置 4がレストリクティドコ ーン NATの機能を有するものであるとする。また、中継ノード計数部 12は、トレース ルートによって中継ノードの数を計数するものとする。また、寿命設定部 13は、パブ ルパケットの TTLを設定することによって寿命を設定するものとする。また、第 1の通 信制御装置 3、第 2の通信制御装置 4、サーバ 5の通信回線 6側の各 IPアドレスは、 以下のとおりであるとする。
[0041] 第 1の通信制御装置 3 : 202. 132. 10. 6
第 2の通信制御装置 4 : 131. 206. 10. 240
サーノ 5 : 155. 32. 10. 10
図 6、図 7は、この具体例を説明するための図である。この具体例では、第 1の情報 処理装置 1から接続要求が行われるものとする。図 6において、第 1の情報処理装置 1は、サーバ 5の IPアドレス「155. 32. 10. 10」をあらかじめ知っており、そのサーバ 5に対して、第 1の情報処理装置 1の機器 ID「1234567890」を送信する。ここで、こ の機器 IDとしては、例えば、 MACアドレス等の GUID (Global Unique ID)を用 いることができる。この機器 IDの送信は、第 1の情報処理装置 1のポート P1から、第 1 の通信制御装置 3で割り当てられたポート P2を介して、サーバ 5のポート P3に対して 行われる。この送信によって、サーバ 5は、第 1の情報処理装置 1の機器 IDと、第 1の 通信制御装置 3の IPアドレス「202. 132. 10. 6」と、第 1の通信制御装置 3における ポート P2のポート番号「10034」とを知ることができる。これらの情報は、サーバ 5にお いて保持される。 [0042] 第 2の情報処理装置 2も、第 1の情報処理装置 1と同様にして、第 2の情報処理装 置 2の機器 ID「9876543210」を送信する。その結果、第 2の通信制御装置 4の IPァ ドレス「131. 206. 10. 240」と、第 2の情報処理装置 2の機器 IDと、第 2の通信制御 装置 4におけるポート P5のポート番号「23495」とがサーバ 5において保持される。
[0043] 次に、第 1の情報処理装置 1が、接続を要求する第 2の情報処理装置 2の機器 ID「 9876543210」をサーバ 5に送信することにより、第 2の情報処理装置 2への接続要 求を行う。すると、サーバ 5は、その接続要求を受け取り、ポート P2を介して第 1の情 報処理装置 1に第 2の通信制御装置 4の IPアドレス「131. 206. 10. 240」と、ポート P5のポート番号「23495」とを通知する。
[0044] 第 1の情報処理装置 1の中継ノード計数部 12は、第 2の通信制御装置 4の IPァドレ ス「131. 206. 10. 240」に対してトレースルートを実行することにより、第 2の通信制 御装置 4までの中継ノードの数を計数する (ステップ S101)。この計数は、図 3、図 4 を用いた説明と同様にして行われる。そして、中継ノード計数部 12は、第 2の通信制 御装置 4までの中継ノードの数、及び第 2の通信制御装置 4までに経過した各中継ノ ードまでの TTLの値と、その中継ノード力 返ってきた IPアドレスとの対応を計数結 果として寿命設定部 13に渡す。
[0045] 寿命設定部 13は、中継ノード計数部 12による中継ノードの数の計数結果を受け取 ると、 ICMPタイムェクシ一ディドによって中継ノードから返ってきた IPアドレスがグロ 一バルアドレスである直近の(第 1の通信制御装置 3に一番近い)中継ノードにまでバ ブルパケットが到達するようにバブルパケットの TTLを設定する(ステップ S 102)。具 体的には、中継ノード力も返ってきたグローバルアドレスに対応する TTLのうち、一 番小さ 、値の TTLをバブルパケットの TTLとして設定する。このように寿命を設定す ることにより、バブルパケットは、グローバルアドレスからグローバルアドレスにパケット を中継する中継ノードのうち、直近の中継ノードに到達するように寿命が設定された ことになる。ここでは、第 1の情報処理装置 1から 2個目の中継ノードがグローノ レアド レスからグローバルアドレスにパケットを中継する中継ノードであり、 TTL = 2に設定 されたとする。
[0046] 通信制御部 11は、第 1の情報処理装置 1のポート P7からサーバ 5のポート P9にバ ブルパケット送信ポートを検出するためのポート検出用パケットを送信する (ステップ
S103)。ポート P9は、サーバ 5から指示されたポートであるとする。なお、このポート P 9は、ポート P3と同一であってもよい。このポート検出用パケットは、第 1の通信制御 装置 3にお 、て、新たに割り当てられたポート P8 (ポート番号「10040」 )を用いて送 信される。このポート検出用パケットはサーバ 5で受信され、第 1の通信制御装置 3の ポート P8のポート番号「10040」が検出されて、保持される(ステップ S105)。
[0047] バブルパケット送信部 14は、 TTL= 2のバブルパケットを第 2の通信制御装置 4の ポート P5に向けて送信する(ステップ S104)。このバブルパケットの TTLは、第 1の 通信制御装置 3において 1だけ減少され TTL= 1となり、第 1の通信制御装置 3の次 の中継ノードにおいて TTL = 0となって消滅する。したがって、バブルパケットは第 2 の通信制御装置 4には到達しな 、。
[0048] サーバ 5は、保持しているバブルパケット送信ポート P8のポート番号「10040」と、 第 1の通信制御装置 3の IPアドレス「202. 132. 10. 6」を、ポート P5を介して第 2の 情報処理装置 2に通知する (ステップ S106)。
[0049] 第 2の情報処理装置 2は、第 1の通信制御装置 3の IPアドレスと、ポート P8のポート 番号とを受け取ると、ポート P10から、その IPアドレス、ポート番号に向けて、返信パ ケットを送信する(図 7参照)。その返信パケットは、第 1の通信制御装置 3のポート P8 で受け付けられ、第 1の情報処理装置 1のポート P7に渡される。このようにして、第 1 の情報処理装置 1と、第 2の情報処理装置 2との間での通信が確立し、その後、第 1 の情報処理装置 1と、第 2の情報処理装置 2とは所望のデータの送信、受信等を行う ことができる。
[0050] なお、この具体例では、グローバルアドレスからグローバルアドレスにパケットを中継 する中継ノードのうち、通信元の第 1の情報処理装置 1に対して直近の中継ノード (す なわち、第 1の通信制御装置 3の次の中継ノード)にバブルパケットが到達することが できるように、寿命設定部 13が寿命を設定する場合について説明したが、これは一 例であって、前述のように、寿命設定部 13は、バブルパケットがグローバルアドレスか らグローバルアドレスにパケットを中継する中継ノードに到達することができるように寿 命を設定してもよぐバブルパケットが通信先の第 2の通信制御装置 4に到達する手 前の中継ノードに到達するように寿命を設定してもよ ヽ。
[0051] 例えば、中継ノードの中には、 ICMPに従わないものもあり得る。具体的には、トレ ースルートにおいては TTLを減少させないにもかかわらず、 UDPのバブルパケット の TTLを減少させる中継ノードもあり得る。そのような中継ノードが通信元の通信制 御装置に含まれている場合に、中継ノード計数部 12による計数結果に基づいて、グ ローバルアドレスからグローバルアドレスにパケットを中継する直近の中継ノードまで の寿命を有するバブルパケットを送信したとしても、実際には、バブルパケットが通信 元の通信制御装置のすべてを超えないこととなってしまう。その結果、通信元の通信 制御装置のうち、一番送信先に近い側の通信制御装置に送信履歴を残すことができ ず、第 2の情報処理装置 2から送信された返信パケットを受け付けることができなくな る。そのような事態を避けるためには、グローバルアドレスからグローバルアドレスに パケットを中継する直近の中継ノード力 先の中継ノードにバブルパケットが到達す るように寿命を設定してもよぐあるいは、通信先の通信制御装置の 1個手前の中継ノ ードまでのいずれかの中継ノードにバブルパケットが到達するように寿命を設定して ちょい。
[0052] また、寿命設定部 13は、通信元の第 1の情報処理装置 1と、通信先の第 2の情報処 理装置 2との通信が確立されるまで、バブルパケット送信部 14がバブルパケットを送 信するごとに、バブルパケットが到達することができる中継ノードを増やして寿命を設 定してもよい。具体的には、まず、グローバルアドレス力 グローバルアドレスにバケツ トを中継する直近の中継ノードに到達するようにバブルパケットの寿命を設定してお き、そのバブルパケットの送信によって情報処理装置間の通信を確立することができ なカゝつた場合に、次はバブルパケットの寿命 (TTL)を 1だけインクリメントしてバブル パケットを送信し、それでも情報処理装置間の通信を確立することができな力つた場 合には、さらにバブルパケットの寿命を 1だけインクリメントして通信の確立を試みると いうことを繰り返して行ってもよい。なお、通信が確立できな力つた場合に、バブルパ ケットが到達することができる中継ノードを 1ずつ増やして寿命を設定してもよぐある いは、バブルパケットが到達することができる中継ノードを所定の数ずつ (何回目の 増加であるかによって異なって 、てもよ 、)増やして寿命を設定してもよ 、。 [0053] 以上のように、本実施の形態による通信システムによれば、第 1の情報処理装置 1 が送信するバブルパケットに寿命を設け、第 2の通信制御装置 4に到達しないように したことで、受信フィルタルールによって受け付けることができな 、パケットを受信した 場合に、そのパケットの通信元から一切のパケットを受け付けなくなるような第 2の通 信制御装置 4が用いられていたとしても、バブルパケットが第 2の通信制御装置 4に 到達することがないため、バブルパケットを送信した後の、第 1の情報処理装置 1と第 2の情報処理装置 2との間での通信の確立を適切に行うことができ得る。
[0054] また、グローバルアドレスからグローバルアドレスへのパケットの中継を行う中継ノー ドのうち、通信元に直近の中継ノードにバブルパケットが到達した時点で消滅するよう にバブルパケットの寿命を設定しておくことによって、通信元の第 1の通信制御装置 3 に送信履歴を残す役割のみを有するバブルパケットによって通信トラフィックが増大 される事態を回避することができ得る。
[0055] なお、本実施の形態では、中継ノード計数部 12が中継ノードの数を計数し、その計 数結果に基づいて寿命設定部 13がバブルパケットの寿命を設定する場合について 説明したが、第 1の情報処理装置 1が中継ノード計数部 12を備えず、外部から入力 された通信元の通信制御装置の段数に基づいて、寿命設定部 13がバブルパケット の寿命を設定するようにしてもよい。例えば、図 1で示されるように、通信元の第 1の 通信制御装置 3が 1段し力ない場合には、寿命設定部 13がその通信制御装置の段 数「1」に「1」を加算した「2」を TTLとして設定することによってバブルパケットの寿命 の設定を行ってもよい。
[0056] また、本実施の形態では、通信先の第 2の情報処理装置 2の側にも、通信制御装 置を有する場合について説明したが、図 8で示されるように、通信先は通信制御装置 を有しない構成であってもよい。この場合には、寿命設定部 13は、通信先の第 2の情 報処理装置 2に到達しな 、範囲の寿命をバブルパケットの寿命として設定する。この ようにすることで、通信のトラフィックを増大させる事態を回避することができ得る。この ことは、特に、寿命設定部 13がバブルパケットの寿命を、グローバルアドレス力もグロ 一バルアドレスにパケットを中継する直近の中継ノードにバブルパケットが到達できる ように設定した場合に顕著である。 [0057] また、本実施の形態では、通信制御装置がレストリクティドコーン NATの機能を有 するものである場合について説明した力 通信制御装置は、それ以外の種類の NA Tであってもよい。すなわち、バブルパケットに寿命を設定することは、任意の種類の NATを介してバブルパケットを送信する情報処理装置にぉ 、て用いることができ得 る。なお、異なる種類の NATを用いた場合には、その NATの種類に応じて、通信を 確立するための処理が異なって!/、てもよ!/、。
[0058] また、中継ノード計数部 12による中継ノードの数の計数において、本実施の形態で は、通信先の NATである第 2の通信制御装置 4までの中継ノードの数を計数する場 合について説明した力 例えば、寿命設定部 13がグローノ レアドレスカもグローバ ルアドレスへのパケットの中継を行う直近の中継ノードにバブルパケットが到達できる ように寿命を設定するような場合には、サーバ 5や、その他のサーバまでの中継ノー ドの数の計数を行ってもょ 、。
[0059] また、中継ノード計数部 12による中継ノードの数の計数において、本実施の形態で は、トレースルートによって所定の通信先のノード (例えば、第 2の通信制御装置 4な ど)までの中継ノードの数をすベて計数する場合について説明した力 例えば、寿命 設定部 13がグローバルアドレスからグローバルアドレスへのパケットの中継を行う直 近の中継ノードにバブルパケットが到達できるように寿命を設定するような場合には、 中継ノードの数の計数は、通信元の通信制御装置 (通信制御装置が多段である場合 には、その多段のすべての通信制御装置)を超える範囲において、中継ノードの数 の計数を行ってもよい。例えば、寿命設定部 13がグローノ レアドレス力もグローバル アドレスへのパケットの中継を行う直近の中継ノードにバブルパケットが到達できるよ うに寿命を設定するような場合には、中継ノードの数の計数は、グローバルアドレスか らグローバルアドレスへのパケットの中継を行う直近の中継ノードにぉ 、て終了しても よい。具体的には、 UDPのパケットに TTLを順番にインクリメントしながら設定して送 信している場合には、 ICMPタイムェクシ一ディドを返してきた中継ノードの IPァドレ スがグローバルアドレスを有するようになった時点で、中継ノードの数の計数を終了し てもよい。そして、そのグローバルアドレスを返してきた時点の UDPパケットに設定さ れて 、た TTLの値を、寿命設定部 13がバブルパケットの寿命として設定してもよ 、。 [0060] また、本実施の形態では、バブルパケットの寿命の設定を TTLの設定によって行う 場合について説明したが、それ以外の方法によって寿命の設定を行ってもよい。例 えば、送信時の時刻と、寿命を示す時間との設定により、バブルパケットに寿命を設 定してもよい。この場合には、中継ノードにおいて、送信時の時刻から寿命を示す時 間だけ経過したことが確認されると、そのバブルパケットが廃棄されることになる。
[0061] また、本実施の形態では、第 1の通信制御装置 3、及び第 2の通信制御装置 4が N ATの機能を有するものであると説明したが、第 1の通信制御装置 3、及び第 2の通信 制御装置 4は、 NATの機能に代えて、あるいは NATの機能と共にパケットフィルタリ ングのファイアウォール(Firewall)の機能を有するものであってもよい。ここで、パケ ットフィルタリングとは、例えば、前述の受信フィルタルールに基づいた受信パケット の選択を行うものである。第 1の通信制御装置 3が、そのような受信フィルタルールに 基づ 、たファイアウォール機能を有する場合、ローカル側 (第 1の情報処理装置 1側) 力 グローバル側(通信回線 6)へのバブルパケットの送信によって第 1の通信制御 装置 3に送信履歴を残すことで、バブルパケット送信ポートに送信された返信パケット を受け付けることができるようになる。また、第 2の通信制御装置 4が受信フィルタルー ルによって受け付けることができな 、パケットを受信した場合に、そのパケットの通信 元から一切のパケットを受け付けなくなるようなファイアウォールの機能を有する場合 であっても、通信先の第 2の通信制御装置 4に到達しな 、範囲の寿命がバブルパケ ットに設定されることによって、第 1の情報処理装置 1と第 2の情報処理装置 2との通 信を適切に確立することができ得る。
[0062] なお、第 1の通信制御装置 3、及び第 2の通信制御装置 4がハードウェアとして情報 処理装置と別途構成されており、また、 NATの機能を有しないで、ファイアウォール の機能を有する場合には、それらの通信制御装置は、ルーティング機能を有すること になり、一般に TTLを 1だけ減少させる中継ノードとなり得る。この場合には、例えば 、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードにパブ ルパケットが到達することができるようにバブルパケットの寿命が設定されることにより 、そのファイアウォール (通信制御装置)に対しても送信履歴を残すことができ、第 1 の情報処理装置 1は、第 2の情報処理装置 2から送信された返信パケットを受け付け ることがでさる。
[0063] 一方、第 1の情報処理装置 1、及び第 2の情報処理装置 2においてアプリケーション としてファイアウォール機能を実装した場合には、バブルパケットがファイアウォール( 通信制御装置)を通過することによって、 TTLが 1だけ減少されることはない (この場 合には、情報処理装置と通信制御装置とが一体として構成されていることとなり、その うち通信制御装置 (ファイアウォール)の機能のみを別途明記したものが図 1で示され ることになる)。この場合には、 TTLが 1以上のバブルパケットが送信されることにより 、ファイアウォールに送信履歴を残すことができる。また、このファイアウォールのグロ 一バル側(通信回線 6側)にさらに NATの機能を有する通信制御装置があつたとして も、グローバルアドレスからグローバルアドレスにパケットを中継する中継ノードにパブ ルパケットが到達することができるようにバブルパケットの寿命が設定されることにより 、その NATの機能を有する通信制御装置に対しても送信履歴を残すことができ、第 1の情報処理装置 1は、第 2の情報処理装置 2から送信された返信パケットを受け付 けることができる。
[0064] なお、図 8で示されるように第 2の通信制御装置 4を備えなくてもよ 、こと、ある 、は 通信元の通信制御装置の段数を外部力も入力してもよいことについては、通信制御 装置が NATの機能に代えて、あるいは NATの機能と共にファイアウォール機能を有 する場合であっても、上記説明と同様である。
[0065] また、本実施の形態では、サーバ 5を IPアドレスによって特定する場合について説 明したが、サーバ 5をドメイン名(例えば、 server, pana. netなど)によって特定して もよい。この場合には、そのドメイン名が DNSサーバを用いて、 IPアドレスに変換され ることにより、サーノ 5を特定することができる。
[0066] また、本実施の形態における通信プロトコルは、例えば、 IPv4 (Internet Protoc oi version 4)で teつてもよ \、ある ヽは、 IPv6 (Internet Protocol version oノ であってもよい。
[0067] また、上記実施の形態にお!、て、各処理 (各機能)は、単一の装置 (システム)によ つて集中処理されることによって実現されてもよぐあるいは、複数の装置によって分 散処理されることによって実現されてもょ 、。 [0068] また、上記実施の形態において、各構成要素は専用のハードウェアにより構成され てもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを 実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の 記録媒体に記録されたソフトウェア 'プログラムを CPU等のプログラム実行部が読み 出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態に おける情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり 、このプログラムは、コンピュータに、通信先の情報処理装置と、通信元の通信制御 装置を介して通信を行う通信元の情報処理装置におけるバブルパケットを送信させ るためのプログラムであって、通信元の通信制御装置に送信履歴を残すために通信 元の情報処理装置力 送信されるバブルパケットに対して、そのバブルパケットが通 信先の情報処理装置に到達しな!、範囲の寿命を設定する寿命設定ステップと、寿命 設定ステップで設定した寿命を有するバブルパケットを、通信元の通信制御装置を 介して送信するバブルパケット送信ステップと、を実行させるためのものである。
[0069] なお、上記プログラムにお 、て、パケットを送信する送信ステップなどでは、ハード ウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフエ一 スカードなどで行われる処理 (ノヽ一ドウエアでしか行われな 、処理)は含まれな!/、。
[0070] また、このプログラムは、サーバなど力 ダウンロードされることによって実行されても よぐ所定の記録媒体 (例えば、 CD— ROMなどの光ディスクや磁気ディスク、半導 体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
[0071] また、このプログラムを実行するコンピュータは、単数であってもよぐ複数であって もよい。すなわち、集中処理を行ってもよぐあるいは分散処理を行ってもよい。
産業上の利用可能性
[0072] 以上のように、本発明による情報処理装置等は、バブルパケットが通信先の情報処 理装置、あるいは通信先の通信制御装置に到達しな 、範囲の寿命をバブルパケット に設定するものであり、情報処理装置間の通信の確立においてバブルパケットを送 信する情報処理装置等に有用である。

Claims

請求の範囲
[1] 通信先の情報処理装置と、通信元の通信制御装置を介して通信を行う通信元の情 報処理装置であって、
前記通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置 カゝら送信されるバブルパケットに対して、前記バブルパケットが前記通信先の情報処 理装置に到達しない範囲の寿命を設定する寿命設定部と、
前記寿命設定部が設定した寿命を有するバブルパケットを、前記通信元の通信制御 装置を介して送信するバブルパケット送信部と、を備えた通信元の情報処理装置。
[2] 前記通信先の情報処理装置と、前記通信元の情報処理装置との通信は、通信先の 通信制御装置を介して行われるものであり、
前記寿命設定部は、バブルパケットが前記通信先の通信制御装置に到達しな 、範 囲の寿命を設定する、請求項 1記載の通信元の情報処理装置。
[3] 前記寿命設定部は、前記バブルパケットがグローバルアドレス力 グローノ レアドレ スにパケットを中継する中継ノードに到達することができるように寿命を設定する、請 求項 1または 2記載の通信元の情報処理装置。
[4] 前記寿命設定部は、グローバルアドレス力 グローバルアドレスにパケットを中継する 中継ノードのうち、前記バブルパケットが直近の中継ノードに到達することができる寿 命を設定する、請求項 3記載の通信元の情報処理装置。
[5] 前記寿命設定部は、前記通信元の情報処理装置と、前記通信先の情報処理装置と の通信が確立されるまで、前記バブルパケット送信部がバブルパケットを送信するご とに、前記バブルパケットが到達することができる中継ノードを 1ずつ増やして寿命を 設定する、請求項 3記載の通信元の情報処理装置。
[6] 前記寿命設定部は、前記バブルパケットが前記通信先の通信制御装置の手前の中 継ノードに到達することができる寿命を設定する、請求項 2記載の通信元の情報処理 装置。
[7] 前記寿命設定部は、バブルパケットに関する TTL (Time To Live)の設定を行う、 請求項 3記載の通信元の情報処理装置。
[8] 前記通信元の情報処理装置からの中継ノードの数を計数する中継ノード計数部をさ らに備え、
前記寿命設定部は、前記中継ノード計数部が計数した中継ノードの数に基づ 、て、 前記バブルパケットの寿命の設定を行う、請求項 1または 2記載の通信元の情報処理 装置。
[9] 前記中継ノード計数部は、トレースルートによって中継ノードの数の計数を行う、請求 項 8記載の通信元の情報処理装置。
[10] 前記通信元の情報処理装置からの中継ノードの数を、グローバルアドレス力 グロ一 バルアドレスにパケットを中継する中継ノードのうち直近の中継ノードまで計数する中 継ノード計数部をさらに備え、
前記寿命設定部は、前記中継ノード計数部が計数した中継ノードの数に基づ 、て、 前記バブルパケットの寿命の設定を行う、請求項 4記載の通信元の情報処理装置。
[11] 通信先の情報処理装置と、通信元の通信制御装置を介して通信を行う通信元の情 報処理装置におけるバブルパケット送信方法であって、
前記通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置 カゝら送信されるバブルパケットに対して、前記バブルパケットが前記通信先の情報処 理装置に到達しない範囲の寿命を設定する寿命設定ステップと、
前記寿命設定ステップで設定した寿命を有するバブルパケットを、前記通信元の通 信制御装置を介して送信するバブルパケット送信ステップと、を備えたバブルパケット 送信方法。
[12] コンピュータに、
通信先の情報処理装置と、通信元の通信制御装置を介して通信を行う通信元の情 報処理装置におけるバブルパケットを送信させるためのプログラムであって、 前記通信元の通信制御装置に送信履歴を残すために前記通信元の情報処理装置 カゝら送信されるバブルパケットに対して、前記バブルパケットが前記通信先の情報処 理装置に到達しない範囲の寿命を設定する寿命設定ステップと、
前記寿命設定ステップで設定した寿命を有するバブルパケットを、前記通信元の通 信制御装置を介して送信するバブルパケット送信ステップと、を実行させるためのプ ログラム。
PCT/JP2005/007296 2004-05-07 2005-04-15 情報処理装置、バブルパケット送信方法およびプログラム WO2005109785A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP05730504.7A EP1739897B1 (en) 2004-05-07 2005-04-15 Information processing device, and bubble packet transmission method and program
US10/590,596 US8194566B2 (en) 2004-05-07 2005-04-15 Information processing device, and bubble packet transmission method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004138222A JP3835462B2 (ja) 2004-05-07 2004-05-07 情報処理装置、及びバブルパケット送信方法
JP2004-138222 2004-05-07

Publications (1)

Publication Number Publication Date
WO2005109785A1 true WO2005109785A1 (ja) 2005-11-17

Family

ID=35320569

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/007296 WO2005109785A1 (ja) 2004-05-07 2005-04-15 情報処理装置、バブルパケット送信方法およびプログラム

Country Status (7)

Country Link
US (1) US8194566B2 (ja)
EP (1) EP1739897B1 (ja)
JP (1) JP3835462B2 (ja)
KR (1) KR100770101B1 (ja)
CN (1) CN1977499A (ja)
TW (1) TW200541277A (ja)
WO (1) WO2005109785A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006261895A (ja) * 2005-03-16 2006-09-28 Matsushita Electric Ind Co Ltd 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法
WO2008091354A2 (en) * 2007-01-24 2008-07-31 Cisco Technology, Inc. Triggering flow analysis at intermediary devices

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7729267B2 (en) * 2003-11-26 2010-06-01 Cisco Technology, Inc. Method and apparatus for analyzing a media path in a packet switched network
JP4440056B2 (ja) 2004-09-27 2010-03-24 パナソニック株式会社 情報処理装置、通信処理装置、情報処理システム、情報処理方法、及び通信処理方法
JP3999785B2 (ja) * 2005-01-20 2007-10-31 株式会社フラクタリスト 通信方法
US7738383B2 (en) * 2006-12-21 2010-06-15 Cisco Technology, Inc. Traceroute using address request messages
US7693091B2 (en) * 2007-03-30 2010-04-06 Microsoft Corporation Teredo connectivity between clients behind symmetric NATs
US20080253383A1 (en) * 2007-04-13 2008-10-16 Microsoft Corporation Communicating using the port-preserving nature of symmetric network address translators
EP2003845B1 (en) * 2007-06-15 2015-07-29 Alcatel Lucent Peer chosen as tester for detecting misbehaving peer in structured peer-to-peer networks
US7707294B2 (en) 2007-06-26 2010-04-27 Microsoft Corporation Edge traversal service dormancy
US8370919B2 (en) * 2007-06-26 2013-02-05 Microsoft Corporation Host firewall integration with edge traversal technology
JP5239618B2 (ja) * 2008-08-19 2013-07-17 沖電気工業株式会社 アドレス変換装置、方法及びプログラム、並びにノード
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
CN107733930B (zh) * 2013-03-15 2020-10-20 柏思科技有限公司 用于在多个wan网络网关处转发互联网协议(ip)数据包的方法和系统
TWI538449B (zh) * 2013-11-29 2016-06-11 晶睿通訊股份有限公司 穿透網路位址轉換的方法、電腦可讀取媒體與連線中介系統
US9703888B2 (en) * 2013-12-18 2017-07-11 Dassault Systemes Americas Corp. Component obsolescence registry
TWI599201B (zh) * 2016-02-05 2017-09-11 物聯智慧科技(深圳)有限公司 網路系統及建立資料連線的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675741A (en) * 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
US6687732B1 (en) * 1998-09-28 2004-02-03 Inktomi Corporation Adaptive traffic bypassing in an intercepting network driver
US6952421B1 (en) * 1999-10-07 2005-10-04 Cisco Technology, Inc. Switched Ethernet path detection
GB2369746A (en) * 2000-11-30 2002-06-05 Ridgeway Systems & Software Lt Communications system with network address translation
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US7310356B2 (en) 2002-06-24 2007-12-18 Paradyne Corporation Automatic discovery of network core type

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HUITEMA C ET AL: "Teredo: Tunneling IPv6 over UDP through NATs.", 6 June 2003 (2003-06-06), XP015001238, Retrieved from the Internet <URL:http://www.watersprings.org/pub/id/draft-huitema-v6ops-teredo-00.txt> *
KUSU M ET AL: "Windows XP Native P2P Module ni Semaru.", SOFTWAREDESIGN, no. 158, 18 December 2003 (2003-12-18), XP008141200 *
See also references of EP1739897A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006261895A (ja) * 2005-03-16 2006-09-28 Matsushita Electric Ind Co Ltd 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法
JP4665568B2 (ja) * 2005-03-16 2011-04-06 パナソニック株式会社 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法
WO2008091354A2 (en) * 2007-01-24 2008-07-31 Cisco Technology, Inc. Triggering flow analysis at intermediary devices
WO2008091354A3 (en) * 2007-01-24 2008-11-27 Cisco Tech Inc Triggering flow analysis at intermediary devices
GB2458423A (en) * 2007-01-24 2009-09-23 Cisco Tech Inc Triggering flow analysis at intermediary devices
GB2458423B (en) * 2007-01-24 2011-06-22 Cisco Tech Inc Triggering flow analysis at intermediary devices

Also Published As

Publication number Publication date
US20070171835A1 (en) 2007-07-26
KR100770101B1 (ko) 2007-10-24
JP2005323033A (ja) 2005-11-17
EP1739897A1 (en) 2007-01-03
KR20070009646A (ko) 2007-01-18
EP1739897B1 (en) 2017-12-20
TW200541277A (en) 2005-12-16
CN1977499A (zh) 2007-06-06
EP1739897A4 (en) 2012-04-25
JP3835462B2 (ja) 2006-10-18
US8194566B2 (en) 2012-06-05

Similar Documents

Publication Publication Date Title
WO2005109785A1 (ja) 情報処理装置、バブルパケット送信方法およびプログラム
Ford et al. Issues with IP address sharing
US7302496B1 (en) Arrangement for discovering a localized IP address realm between two endpoints
CN107257389B (zh) 协同nat行为发现
US20040153858A1 (en) Direct peer-to-peer transmission protocol between two virtual networks
US10298616B2 (en) Apparatus and method of securing network communications
MacDonald et al. NAT behavior discovery using session traversal utilities for NAT (STUN)
JP2008306726A (ja) ネットワークにおけるエンドポイント間の接続性の確定
Babatunde et al. A comparative review of internet protocol version 4 (ipv4) and internet protocol version 6 (ipv6)
Thaler Evolution of the IP Model
US9602333B2 (en) DNS server, gateways and methods for managing an identifier of a port range in the transmission of data
Shah et al. An examination of next generation IP migration techniques: Constraints and evaluation
US7356031B1 (en) Inter-v4 realm routing
EP1809000A1 (en) Information processing device, information processing system, information processing method, and program
KR20050039880A (ko) 제 1 컴퓨터 네트워크로부터 제 2 컴퓨터 네트워크로의통신 세션들 개시
CN108337331B (zh) 网络穿透方法、装置、系统及网络连通性检查方法
JP4345751B2 (ja) 情報処理装置、及びバブルパケット送信方法
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
Caiazza et al. TCP‐based traceroute: An evaluation of different probing methods
CN115022280B (zh) 一种nat探测的方法、客户端及系统
Santos Private realm gateway
JP5084716B2 (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム
Suzuki et al. External dynamic mapping method for NAT traversal
WO2013035309A1 (ja) エージェント装置及び通信中継方法
Hamarsheh et al. AIN-SLT: assuring interoperability between heterogeneous networks (IPv4/IPv6) using socket-layer translator

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 KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL 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 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: 2007171835

Country of ref document: US

Ref document number: 10590596

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020067022422

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2005730504

Country of ref document: EP

Ref document number: 200580014457.7

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWP Wipo information: published in national office

Ref document number: 2005730504

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067022422

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 10590596

Country of ref document: US