WO2015162735A1 - 通信装置、サーバ、通信システム及び通信方法 - Google Patents

通信装置、サーバ、通信システム及び通信方法 Download PDF

Info

Publication number
WO2015162735A1
WO2015162735A1 PCT/JP2014/061477 JP2014061477W WO2015162735A1 WO 2015162735 A1 WO2015162735 A1 WO 2015162735A1 JP 2014061477 W JP2014061477 W JP 2014061477W WO 2015162735 A1 WO2015162735 A1 WO 2015162735A1
Authority
WO
WIPO (PCT)
Prior art keywords
lan
nat
server
router
communication
Prior art date
Application number
PCT/JP2014/061477
Other languages
English (en)
French (fr)
Inventor
雅也 織田
竜一 江淵
友和 牧野
純嗣 小野
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2016514623A priority Critical patent/JP6308295B2/ja
Priority to PCT/JP2014/061477 priority patent/WO2015162735A1/ja
Publication of WO2015162735A1 publication Critical patent/WO2015162735A1/ja
Priority to US15/280,844 priority patent/US10044523B2/en

Links

Images

Classifications

    • 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
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • 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/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • 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/255Maintenance or indexing of mapping tables
    • 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/2557Translation policies or rules
    • 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

Definitions

  • the present invention relates to a communication device, a server, a communication system, and a communication method.
  • the system of addresses assigned to the network differs between devices in the LAN and devices on the Internet. Therefore, the router performs address conversion using the NAT entry in which the private IP address of the LAN and the global IP address of the Internet are associated, thereby enabling communication between the devices in the LAN and the devices on the Internet. (Beyond NAT).
  • the NAT traversal technology includes static NAT / UPnP (Universal Plug and Play) port forwarding and dynamic NAT / STUN (Simple Traversal of UDP through NATs).
  • static NAT / UPnP Universal Plug and Play
  • dynamic NAT / STUN Simple Traversal of UDP through NATs.
  • a NAT entry is fixedly set for a NAT router, or port forwarding is fixedly set by UPnP for a UPnP-compatible router.
  • Dynamic NAT dynamically creates a NAT entry when communication with the Internet occurs. In this case, the NAT entry is deleted if there is no communication for a certain time.
  • IP addresses cannot be associated by the router, and communication between devices in the LAN and devices on the Internet becomes impossible.
  • NAT entries set by UPnP-compatible routers are not deleted.
  • this UPnP technology can be used only for routers adjacent to LAN devices.
  • an object of one aspect is to maintain a state where NAT traversal is possible according to the configuration of the LAN router.
  • a LAN communication device that performs NAT traversal in a LAN router and is connected to a server via an external network, the LAN configuration determination unit that determines the configuration of the LAN router, and the LAN Communication controller on the side of the communication device that requests the router registered in the server to perform NAT traversal to transmit NAT update request packets at a predetermined interval Is provided.
  • the load on the server can be reduced by maintaining a state where NAT can be traversed according to the configuration of the LAN router.
  • the figure for demonstrating NAT traversal in case the router of a communication system is one step.
  • the figure for demonstrating NAT traversal in case the router of a communication system is multistage.
  • requirement of S1 of FIG. 6 is a flowchart showing a LAN registration request reception process in S2 of FIG.
  • the figure which shows an example of the LAN registration request after NAT conversion of S6 of FIG. 6 is a flowchart showing a LAN registration request reception process in S8 of FIG.
  • FIG. 6 is a flowchart showing NAT entry update processing (one or more stages of router configuration) according to the first embodiment.
  • the flowchart which shows the LAN registration request reception process of S22 of FIG. The figure which shows an example of the LAN structure determination request
  • FIG. 19 is a flowchart showing LAN configuration determination request reception processing in S24 of FIG. 18;
  • FIG. The flowchart which shows the LAN structure determination process of S30 of FIG.
  • the figure which shows an example of the LAN registration request of S41 of FIG. The figure which shows an example of the LAN registration request transmitted from PC of S44 of FIG.
  • the flowchart which shows the LAN registration request reception processing of S48 of FIG. The figure which shows an example of the period optimization request
  • the figure which shows an example of the NAT entry survival confirmation response of S61 of FIG. 28 is a flowchart showing periodic transmission timer update processing (at the time of receiving a NAT entry survival confirmation response) in S71 of FIG.
  • the figure which shows an example of the periodic transmission management table of S71 of FIG. 28 is a flowchart showing a response wait timer expiration process in S78 of FIG.
  • the flowchart which shows the period optimization response reception process of S80 of FIG. The figure which showed the communication system concerning 3rd Embodiment.
  • FIG. 1 is a diagram illustrating a communication system according to the first embodiment.
  • FIG. 1A shows a case where the configuration of the router in the LAN of the communication system 10 is one stage
  • FIG. 1B shows a case where the router in the LAN of the communication system 10 is multistage (two or more stages). Show.
  • a PC 1 and a server 2 are connected via a LAN 11, a WAN 12, and the Internet 13.
  • the router 3a generates a NAT entry in which the private IP address of the PC 1 is associated with the global IP address of the WAN 12, and performs address conversion between the private IP address and the global IP address based on the NAT entry.
  • the private IP address is also referred to as “local IP address”.
  • the WAN 12 and the Internet 13 are examples of external networks.
  • the communication system 10 in FIG. 1B shows a case where the router 11 of the LAN 11 has a two-stage configuration of routers 3a and 3b (hereinafter collectively referred to as “router 3”).
  • the router 3b generates a NAT entry associated with a private IP address in the LAN and performs address conversion.
  • the router 3a generates a NAT entry in which the private IP address of the LAN and the global IP address of the WAN 12 are associated, and performs address conversion.
  • the PC 1 transmits an IP address acquisition request to the adjacent router 3 (the router 3b in the case of one stage and the router 3a in the case of two stages) (1).
  • the PC 1 acquires an IP address from the adjacent router 3 (2).
  • the PC 1 determines whether the configuration of the router 3 in the LAN 11 is one stage or two stages or more (two stages or more are also expressed as “multistage”) based on the acquired IP address (3). When determining that the IP address is a private IP address, the PC 1 determines that the configuration of the router 3 is two or more stages, and that a conversion from the private IP address to the global IP address is performed in the router ahead of the adjacent router. To do.
  • the router 3 determines that the router 3 is configured in one stage because the private router converts the private IP address to the global IP address. To do.
  • NAT traversal is possible by port forwarding by UPnP. In this case, the NAT entry is not erased even if there is no communication for a certain time.
  • the router 3 on the WAN 12 (Internet 13) side dynamically creates a NAT entry when communication with the Internet 13 occurs.
  • the NAT entry is deleted if there is no communication for a certain time.
  • the PC 1 requests registration of the LAN 11 (that is, there is no communication for a certain period of time).
  • a registration request for extending the NAT entry is executed, and the server 2 transmits a NAT update request packet to the registered LAN 11. This prevents the NAT entry from being deleted even if there is no communication for a certain period of time. it can.
  • the PC 1 determines that the router 3 in the LAN 11 is configured in multiple stages, it sends a LAN registration request to the server 2 (1).
  • the router 3b performs IP address and port conversion, and generates a NAT table (2).
  • the router 3a performs IP address and port conversion, and generates a NAT table (2) ′. This allows NAT traversal.
  • the server 2 In response to the LAN registration request from the PC 1, the server 2 holds the global IP address and port information of the PC 1 in (2) ′ in a LAN information table described later (3). Next, the server 2 transmits a NAT update request packet to the global IP address and port information held in the LAN information table at a predetermined interval (for example, periodically) (3) (4).
  • the router 3a By receiving the NAT update request packet, the router 3a can prevent the NAT entry from being deleted when there is no communication for a certain period of time, and can maintain a state where NAT can be exceeded (5: NAT entry). Prolong life).
  • the PC 1 makes a LAN 11 registration request only when the router 3 in the LAN 11 is configured in multiple stages, and the server 2 transmits a NAT update request packet accordingly. Thus, when the router 3 is configured in one stage, the load on the server 2 and the network can be reduced by not periodically transmitting the NAT update request packet.
  • the router 3b converts the private IP address and transmits a NAT update request packet to the PC 1. Similarly to the router 3a, the router 3b can extend the NAT entry by receiving the NAT update request packet (5).
  • the server 2 when the router 3 in the LAN 11 is configured in multiple stages, the server 2 is connected to the global IP address and port of the PC 1 at a predetermined interval by NAT using UDP (User Datagram Protocol). By transmitting the update request packet, the NAT entry of the router 3 can be maintained.
  • UDP User Datagram Protocol
  • FIG. 4 is a diagram illustrating a functional configuration of the PC 1, the server 2, and the router 3 according to the first embodiment.
  • the PC 1 includes a UI unit 14, a LAN registration unit 15, a LAN configuration determination unit 16, a UPnP acquisition unit 17, and a communication control unit 18.
  • the PC 1 is an example of a communication device on the LAN that performs NAT traversal by the router 3 of the LAN 11 and is connected to the server 2 via an external network such as the Internet 13.
  • the communication device is not limited to the PC 1, but is a multimedia device such as a television receiver, a recording / playback device, a game device, or a music playback device, a refrigerator having a communication function, a washing machine, an air conditioner, a home appliance such as a microwave oven, and a portable device. It may be a tablet terminal or the like.
  • the UI unit 14 has a user interface function for performing LAN registration with the server 2.
  • the LAN registration unit 15 controls LAN registration with the server 2.
  • the UPnP acquisition unit 17 accesses the UPnP-compatible router 3 and acquires an IP address.
  • the LAN configuration determining unit 16 determines the router configuration (single or multi-stage) in the LAN 11 based on the acquired IP address.
  • the communication control unit 18 controls communication with other apparatuses using TCP / IP.
  • the router 3 includes a communication control unit 31 and a UPnP processing unit 33.
  • the communication control unit 31 controls communication with other devices using TCP / IP.
  • the UPnP processing unit 33 transmits the IP address for the outside of the PC 1.
  • the communication control unit 31 holds a NAT table 32.
  • the NAT table 32 is a table for address conversion in which NAT entries for performing IP address conversion between the LAN 11 and the WAN 12 (Internet 13) are stored.
  • the server 2 includes a communication control unit 21, a NAT control unit 22, and a storage unit 23.
  • the communication control unit 21 controls communication with other devices using TCP / IP.
  • the NAT control unit 22 transmits a NAT update request packet to the router 3 in response to a LAN registration request from the PC 1.
  • the storage unit 23 stores information on the NAT entry of the router 3 that transmits a NAT update request packet in response to the LAN registration request in the LAN information table 24.
  • FIG. 5 is a flowchart showing NAT entry update processing (when the router configuration is one stage).
  • LAN registration processing is executed, and then NAT entry update processing is executed.
  • FIG. 6 shows, as an example of information included in the LAN registration request, parameters in the upper part and setting values for each parameter in the lower part.
  • LAN registration request is set in the message type 61, and “800 seconds” is set in the periodic transmission interval information 62.
  • the LAN registration unit 15 upon receiving the LAN registration request in step S1, the LAN registration unit 15 executes a LAN registration request reception process (step S2).
  • the LAN registration unit 15 determines a terminal ID (step S100), and transmits a LAN registration request to the communication control unit 18 (step S101).
  • the terminal ID the MAC address of the PC 1 may be used, or another ID that is unique on the Internet may be generated.
  • the LAN registration unit 15 transmits a LAN registration request (step S3).
  • the terminal ID 63 “12345” is added to the LAN registration request transmitted from the UI unit 14 in step S ⁇ b> 1 in the information included in the LAN registration request transmitted from the LAN registration unit 15.
  • the communication control unit 18 transmits a LAN registration request IP packet (step S4).
  • the IP packet for the LAN registration request shown in FIG. 9 is transmitted from the PC 1 to the router 3.
  • the IP packet of the LAN registration request includes a destination IP address 71 and a source IP address 72 in the IP header, a destination port 73 in the UDP header, a source port 74, a message type 75 in the LAN information, a terminal ID 76, and a periodic transmission interval.
  • Information 77 is set.
  • the IP address “100.100.100.1” of the server 2 is set as the transmission destination IP address 71
  • the IP address “192.168.10.1” of the PC 1 is set as the transmission source IP address 72
  • the port “2000” of the server 2 is set as the transmission destination port 73
  • the transmission The port “1000” of the PC 1 is set to the original port 74.
  • the communication control unit 31 of the router 3 generates a NAT entry in which the private IP address and the global IP address are associated, and performs address conversion (step S5).
  • the NAT entry generated by the router 3 includes information on a private IP address 81, a private port 82, a global IP address 83, a global port 84, a server IP address 85, and a server port 86.
  • the generated NAT entry is stored in the NAT table 32.
  • the router 3 converts the private IP address “192.168.10.1” of the PC 1 in the LAN 11 to the global IP address “120.120.120.120” of the Internet.
  • the PC 1 performs NAT traversal by the router 3 and can be connected to the server 2 via the Internet 13.
  • the communication control unit 31 of the router 3 transmits the IP packet for the LAN registration request after the NAT conversion to the server 2 (step S6).
  • the global IP address “120.120.120.120” after address conversion is set as the source IP address 92
  • the global port “1500” is set as the source port 94.
  • the communication control unit 21 of the server 2 receives the LAN registration request IP packet after NAT conversion, and transmits the LAN registration request to the NAT control unit 22 (step S7).
  • the NAT control unit 22 executes a LAN registration request reception process (step S8).
  • the NAT control unit 22 generates a LAN information table 24 (step S103).
  • the storage unit 23 stores a LAN information table 24.
  • the LAN information table 24 includes a terminal ID 241, a terminal IP address 242, a terminal port number 243. Information on periodic transmission interval information 244 is included.
  • An ID for identifying the PC 1 is set in the terminal ID 241, a global IP address of the NAT entry is set in the terminal IP address 242, and a global port is set in the terminal port number 243.
  • the periodic transmission interval information 244 “800 seconds” is set as a predetermined interval (period) when the NAT update request packet is transmitted from the server 2 to the router 3 that performs NAT traversal.
  • the NAT control unit 22 executes a NAT update request transmission process (step S9).
  • the NAT control unit 22 counts the time with the NAT entry update timer, and when a periodic transmission interval of 800 seconds elapses from the previous transmission of the NAT update request packet.
  • Step S106 Expired
  • a NAT update request is transmitted (Step S107).
  • the NAT control unit 22 starts counting for transmission of the next NAT update request packet by the NAT entry update timer (step S108).
  • the NAT control unit 22 transmits a NAT update request (step S10).
  • the communication control unit 21 transmits a NAT update request IP packet to the router 3 (step S11).
  • the NAT update request IP packet of FIG. 15 includes a destination IP address 101, a source IP address 102 in the IP header, a destination port 103 in the UDP header, a source port 104, a message type 105 and a terminal ID 106 in the message content. Is set.
  • the global IP address “120.120.120.120” is set as the destination IP address 101, and the IP address “100.100.100.1” of the server 2 is set as the source IP address 102.
  • the global port “1500” is set as the destination port 103, and the port “2000” of the server 2 is set as the source port 104.
  • the message type 105 is “NAT update”, and the terminal ID 106 is “12345”.
  • the communication control unit 31 of the router 3a updates the NAT entry and performs address conversion from the global IP address to the private IP address (step S12).
  • the communication control unit 31 transmits a NAT update request IP packet to the PC 1 (step S13).
  • the destination IP address 111 is set to the private IP address “192.168.10.1” after address conversion, and the destination port 103 is set to the private port “1000”. Is done.
  • the communication control unit 18 of the PC 1 transmits a NAT update request (step S14).
  • the LAN registration unit 15 executes NAT update request reception processing (step S15).
  • the LAN registration unit 15 performs error check based on the received IP packet to determine whether or not to perform anything in the NAT update request reception process (step S109). For example, the terminal ID (116 in FIG. 16) included in the IP packet is checked, and if a terminal ID different from the own PC is set, an error may be displayed.
  • FIG. 18 is a flowchart showing NAT entry update processing (one stage or multiple stages of router configuration).
  • LAN registration processing is executed, and then NAT entry update processing is executed.
  • a LAN configuration determination process that is one of the features of the present embodiment is executed.
  • LAN registration request First, the UI unit 14 of the PC 1 transmits a LAN registration request (step S21). Next, the LAN registration unit 15 executes a LAN registration request reception process (step S22). In the LAN registration request reception process of FIG. 19, the LAN registration unit 15 determines a terminal ID (step S110), and transmits a LAN configuration determination request to the LAN configuration determination unit 16 (step S111).
  • FIG. 20 shows an example of a LAN configuration determination request in which the message type 121 is set to the LAN configuration determination request.
  • the LAN configuration determination unit 16 executes a LAN configuration determination request reception process (step S24).
  • the LAN configuration determination unit 16 determines whether the UPnP function of the PC 1 is enabled (step S113). If the LAN configuration determination unit 16 determines that the UPnP function is enabled, the LAN configuration determination unit 16 transmits an acquisition request for an IP address (hereinafter also referred to as “outbound address”) to the UPnP acquisition unit 17 (step S114). . If the LAN configuration determination unit 16 determines that the UPnP function is not enabled, the LAN configuration determination unit 16 transmits a response indicating that the LAN configuration determination result is “determination impossible” to the LAN registration unit 15 (step S115).
  • IP address hereinafter also referred to as “outbound address”
  • the UPnP acquisition unit 17 receives an external address acquisition request (step S25) and executes an external address acquisition request reception process (step S26).
  • the UPnP acquisition unit 17 transmits the IP packet for the external address acquisition request to the UPnP processing unit 33 of the router 3b adjacent to the PC 1 (step S27).
  • the UPnP processing unit 33 transmits an IP packet notifying the outward address (step S28).
  • the UPnP acquisition unit 17 transmits an external address acquisition response (step S29).
  • the LAN configuration determining unit 16 executes a LAN configuration determining process (step S30).
  • the LAN configuration determination unit 16 determines an external address (network address) acquired from the router 3 closest to the PC 1 (step S117).
  • the LAN configuration determining unit 16 performs conversion to the global IP address in the router 3 and determines that the configuration of the router in the LAN 11 is one step. To do. Therefore, the LAN configuration determination unit 16 transmits a response indicating that the determination result of the LAN router configuration is “one step” to the LAN registration unit 15 (step S118).
  • the LAN configuration determination unit 16 determines in step S117 that the outbound address is a private IP address, it determines that there is another router in the LAN 11 that performs conversion from the private IP address to the global IP address. Thereby, the LAN configuration determining unit 16 determines that the configuration of the router in the LAN 11 is two or more stages. Therefore, the LAN configuration determination unit 16 transmits a response indicating that the result of the LAN configuration determination is “multistage (two or more levels)” to the LAN registration unit 15 (step S119).
  • the LAN registration unit 15 receives a LAN configuration determination response (step S31).
  • the message type 123 is set to “LAN configuration determination response”
  • the result information 124 is set to “any one-stage configuration / multi-stage configuration / determination impossible”.
  • the LAN registration unit 15 executes a LAN configuration determination response reception process (step S32).
  • the LAN registration unit 15 determines the result of the LAN configuration determination response (step S121). If the LAN registration unit 15 determines that the router configuration is one-stage, the NAT entry is not erased even if there is no communication for a certain period of time, and it is determined that transmission of the NAT update request packet from the server 2 is unnecessary. Is also not processed (step S122). In contrast, if the LAN registration unit 15 determines that the configuration of the router is two or more, the LAN registration unit 15 transmits a LAN registration request to the communication control unit 18 (step S123). The periodic transmission process of the NAT update request packet executed by the server 2 in response to the LAN registration request is performed by executing steps S3 to S15 of FIG. .
  • the PC 1 determines the configuration of the router in the LAN 11, and transmits a LAN registration request to the server 2 when determining that the configuration of the router is two or more stages.
  • the server 2 periodically transmits NAT update request IP packets at a periodic transmission interval (for example, 5 seconds).
  • the PC 1 discriminates the configuration of the router of the connected LAN, so that the periodic transmission of the IP packet of the NAT update request from the server 2 is performed. Necessity can be determined. As a result, even when the configuration of the router is two or more, the NAT entry can be continuously stored in the router, and a state in which NAT traversal is possible can be maintained.
  • the router configuration is one level, it is specified that NAT entries set by a router with the UPnP function valid are not deleted. Therefore, when it is determined that the configuration of the router is one stage, the NAT update request packet is not transmitted from the server 2 by not transmitting the LAN registration request from the PC 1.
  • FIG. 25 shows the overall configuration of the communication system 10 according to the second embodiment
  • FIG. 26 shows the functional configuration of the PC 1, the server 2, and the router 3 according to the second embodiment.
  • the second embodiment is different from the first embodiment in that a periodic transmission optimization server 7 exists separately from the server 2.
  • the router 3 (router 3a) has a single-stage configuration, but may have a multi-stage configuration.
  • the periodic transmission optimization server 7 added in the second embodiment includes a periodic optimization unit 25 and a communication control unit 26.
  • the period optimization unit 25 controls the transmission interval of the NAT update request packet.
  • the cycle optimization unit 25 stores information for controlling the transmission interval of the NAT update request packet in the cycle transmission management table 27.
  • the communication control unit 26 controls communication with other devices using TCP / IP.
  • FIG. 27 is a flowchart showing NAT update cycle optimization processing.
  • the LAN registration process and the NAT entry update process described in the first embodiment are executed by the server 2, and the periodic transmission optimization server 7 transmits the NAT update request packet that is one of the features of the present embodiment. Periodic optimization processing is executed.
  • LAN registration request When the NAT update cycle optimization process is started, first, the UI unit 14 of the PC 1 transmits a LAN registration request (step S41). As shown in FIG. 28, as an example of information included in the LAN registration request, “LAN registration request” is set in the message type 126, “800 seconds” is set in the periodic transmission interval information 127, and “Yes” is set in the optimization information 128. Has been. The parameter of the optimization information 128 is set to “Yes” when, for example, the user checks the item “Perform optimization” on the screen of the UI unit 14.
  • the LAN registration unit 15 generates a LAN registration request (step S42) and transmits the LAN registration request (step S43).
  • the communication control unit 18 transmits a LAN registration request IP packet to the router 3 (step S44).
  • the IP packet for the LAN registration request shown in FIG. 29 is transmitted from the PC 1 to the router 3.
  • a transmission destination IP address 131, a transmission source IP address 132, a transmission destination port 133, a transmission source port 134, a message type 135, a terminal ID 136, periodic transmission interval information 137, and optimization information 138 are set. Has been.
  • the IP address “100.100.100.1” of the server 2 is set as the transmission destination IP address 131, and the IP address “192.168.10.1” of the PC 1 is set as the transmission source IP address 132. Further, the port “2000” of the server 2 is set as the transmission destination port 133, and the port “1000” of the PC 1 is set as the transmission source port 134.
  • the message type 135 is set to “LAN registration”, the terminal ID 136 is set to “12345”, the periodic transmission interval 137 is set to “800 seconds”, and the LAN information optimization information 138 is set to “Yes”.
  • the communication control unit 31 of the router 3 generates a NAT entry (step S45), and converts the IP address from a private IP address to a global IP address.
  • the communication control unit 31 transmits a LAN registration request IP packet after NAT conversion to the server 2 (step S46).
  • the communication control unit 21 of the server 2 receives the IP packet of the LAN registration request after the NAT conversion, and transmits the LAN registration request to the NAT control unit 22 (step S47).
  • the NAT control unit 22 executes a LAN registration request reception process (step S48). As shown in FIG. 30, in the LAN registration request reception process, the NAT control unit 22 generates a LAN information table 24 (step S126).
  • the NAT control unit 22 determines optimization of the transmission interval of the LAN registration request (step S127).
  • the NAT control unit 22 transmits the periodic optimization request to the periodic transmission optimization server 7 (Ste S128).
  • the NAT control unit 22 starts a NAT entry update timer (step S129).
  • the timer value to be timed is the set value (244 in FIG. 13) of the periodic transmission interval in the LAN information table 24.
  • FIG. 31 shows an example of information included in the cycle optimization request.
  • the IP address “100.100.100.2” of the periodic transmission optimization server 7 is set as the transmission destination IP address 141, and the IP address “100.100.100.1” of the server 2 is set as the transmission source IP address 142.
  • Arbitrary port numbers used for communication between servers are set in the transmission destination port 143 and the transmission source port 144.
  • “period optimization request” is set in the message type 145, and “12345” is set in the terminal ID 146.
  • the IP address “120.120.120.120” of the router 3a is set in the terminal IP address 147, and “1200” is set in the terminal port number 148.
  • the communication control unit 26 transmits a cycle optimization request to the cycle optimization unit 25 (step S51).
  • the cycle optimization unit 25 executes a cycle optimization request reception process (step S52). As shown in FIG. 32, in the cycle optimization request reception process, the cycle optimization unit 25 sets the terminal ID, the terminal IP address, and the terminal port number notified by the cycle optimization request in the cycle transmission management table 27. .
  • FIG. 33 shows a terminal ID 151, a terminal IP address 152, a terminal port number 153, a current period 154, and a previous period 155 as an example of the periodic transmission management table 27.
  • the terminal ID 151 is set with the terminal ID “12345” of the PC 1 and the terminal IP address 152 is set with the IP address “120.120.120.120” of the router 3.
  • the current cycle is set to the cycle used by the server 2 (the set value of the cycle transmission interval in the LAN information table 24), and the previous cycle is set to “0”.
  • the server 2 periodically transmits a NAT update request packet based on the set value of the periodic transmission interval in the LAN information table 24.
  • This NAT entry update processing (steps S81 to S85) will be described later.
  • the periodic transmission optimization server 7 executes the NAT entry update period optimization process (steps S53 to S80). Specifically, the cycle optimization unit 25 starts counting the cycle transmission interval by the cycle transmission timer (step S53). When the periodic transmission timer expires, the periodic transmission optimization server 7 executes NAT entry survival confirmation transmission processing (step S54). As shown in FIG. 34, in the NAT entry survival confirmation transmission process, when the timer expires (step S134), the period optimization unit 25 adds the NAT entry to the terminal IP address and terminal port number registered in the period transmission management table 27. A survival confirmation is transmitted (step S135). As a result, the NAT entry survival confirmation is notified to the router 3. Next, the cycle optimization unit 25 starts counting a NAT entry survival confirmation response waiting timer (fixed value, for example, set to 10 seconds or the like) (step S136).
  • a NAT entry survival confirmation response waiting timer fixed value, for example, set to 10 seconds or the like
  • the communication control unit 26 of the periodic transmission optimization server 7 in FIG. 27 receives the NAT entry survival confirmation from the period optimization unit 25 (step S55), and sends the NAT entry survival confirmation IP packet to the router 3. It transmits to the communication control part 31 (step S56).
  • FIG. 35 shows an example of information included in the NAT entry existence confirmation.
  • the global IP address “120.120.120.120” is set in the transmission destination IP address 161, and the IP address “100.100.100.2” of the periodic transmission optimization server 7 is set in the transmission source IP address 162.
  • the global port “1200” is set in the transmission destination port 163, and the port “2000” of the periodic transmission optimization server 7 is set in the transmission source port 164.
  • “survival confirmation” is set in the message type 164, and “12345” is set in the terminal ID of the PC 1.
  • the NAT entry existence confirmation IP packet is an example of a test packet transmitted at a different interval from the periodic transmission optimization server 7 different from the server 2 that transmits the NAT update request packet.
  • the test packet is transmitted with gradually increasing intervals.
  • the communication control unit 31 updates the NAT entry and performs address conversion from the global IP address to the private IP address (step S57).
  • the communication control unit 31 transmits a NAT entry survival confirmation IP packet to the PC 1 (step S58).
  • the communication control unit 18 of the PC 1 transmits a NAT entry existence confirmation to the LAN registration unit 15 (step S59).
  • the LAN registration unit 15 executes NAT entry survival confirmation reception processing (step S60).
  • the LAN registration unit 15 transmits a NAT entry survival confirmation response to the transmission source of the NAT entry survival confirmation IP packet (step S138).
  • FIG. 37 shows an example of information included in the NAT entry survival confirmation response.
  • the transmission destination IP address 171 is set with the periodic transmission optimization server 7 which is the transmission destination of the NAT entry survival confirmation IP packet, and the transmission source IP address 172 is set with the IP address of the PC 1.
  • the message type 175 is set to “survival confirmation response”, and the terminal ID is set to the PC1 ID “12345”.
  • the IP packet for the NAT entry existence confirmation response is an example of a response packet for the NAT entry existence confirmation.
  • the router 3 updates the NAT entry and performs address conversion from the global IP address to the private IP address (step S63).
  • the communication control unit 31 transmits the IP packet of the NAT entry survival confirmation response to the periodic transmission optimization server 7 (step S64).
  • the communication control unit 26 of the periodic transmission optimization server 7 transmits a NAT entry survival confirmation response to the periodic optimization unit 25 (step S65).
  • the cycle optimization unit 25 starts a response waiting timer (step S70).
  • the NAT entry survival confirmation response in step S65 arrives at the cycle optimization unit 25 before the response waiting timer ends a predetermined time (for example, 10 seconds) (point A in FIG. 27). Therefore, the cycle optimization unit 25 determines that the NAT entry survival confirmation response has arrived correctly within the response waiting time, and executes the cycle transmission timer update process (step S71).
  • the cycle optimization unit 25 stops the response waiting timer (step S140).
  • the cycle optimization unit 25 updates the cycle transmission management table 27 (step S141).
  • step S141 the cycle optimization unit 25 copies the timer value (800 seconds) set to the current interval 184 to the previous interval 185, and sets the current interval 184 to a timer (for example, doubled) that is longer than the set timer value. Update in 1600 seconds).
  • step S53 the cycle optimization unit 25 returns to step S53 and repeats the processing from step S53.
  • the series of processes when the NAT entry survival confirmation packet reaches the PC 1 in steps S53 to S71 has been described above.
  • step S72 to S80 a series of processing (steps S72 to S80) when the NAT entry survival confirmation packet does not reach the PC 1 will be described.
  • the cycle optimization unit 25 starts counting the cycle transmission interval by the cycle transmission timer (step S72). While the periodic transmission timer is running, the router 3a deletes the NAT entry for no communication for a certain period (step S73).
  • the period optimization unit 25 transmits a NAT entry survival confirmation (step S74), and the communication control unit 26 transmits the IP packet to the router 3 (step S75). ). In parallel, the cycle optimization unit 25 starts counting the NAT entry survival confirmation response waiting timer (step S76).
  • the communication control unit 31 fails in address conversion from the global IP address to the private IP address, and discards the IP packet (step S77).
  • the periodic optimization unit 25 executes a response waiting timer expiration process accordingly (step S40). S78).
  • the cycle optimizing unit 25 sets the value set in the previous interval (185 in FIG. 39) of the cycle transmission management table 27 as follows.
  • the period optimization response period timer 197 shown in FIG. 41 is set.
  • the cycle optimization unit 25 transmits a cycle optimization response to the server 2 (step S141).
  • the cycle optimization unit 25 transmits a cycle optimization response to the communication control unit 26 (step S79).
  • the NAT control unit 22 receives the periodic optimization response IP packet and executes a periodic optimization response reception process (step S80). As shown in FIG. 42, the NAT control unit 22 sets the timer value set in the cycle timer of the cycle optimization response as the cycle transmission interval of the LAN information table 24.
  • the NAT control unit 22 sets the periodic transmission interval of the LAN information table 24 to the periodic timer of the periodic optimization response, and when the periodic timer expires based on the newly set periodic transmission interval.
  • the NAT update request is transmitted (step S82).
  • the NAT update request IP packet is transmitted to the router 3 (step S83), the NAT entry is updated in the router 3, and after the address translation (step S84), the NAT update request IP packet is transmitted to the PC 1 (step S84). Step S85).
  • the NAT update request packet transmitted from the server 2 is a packet transmitted in order to avoid deleting the NAT entry when there is no communication for a certain time.
  • the periodic transmission optimization server 7 transmits the test packet by gradually increasing the transmission interval.
  • the previous transmission interval is determined as the value of the periodic transmission interval.
  • subsequent NAT update request packets transmitted from the server 2 are transmitted at the determined periodic transmission interval.
  • the periodic transmission interval of the NAT update request packet can be optimized to the longest transmission interval that is an interval at which the NAT entry is not deleted. As a result, the load on the server 2 and network traffic can be reduced.
  • FIG. 43 shows the overall configuration of the communication system 10 according to the third embodiment
  • FIG. 44 shows the functional configuration of the PC 1, the server 2, and the router 3 according to the third embodiment.
  • the third embodiment is different from the first embodiment in that the LAN connected to the PC 1 is changed from LAN 1 (LAN 11a) to LAN 2 (LAN 11b). Accordingly, the router 3 is changed from the router 3c to the router 3d.
  • the router 3 has a single-stage configuration, but may have a multi-stage configuration.
  • the server 2 includes a LAN change detection unit 28 in addition to the functional configuration of the first embodiment (see FIG. 4).
  • the LAN change detection unit 28 stores information on the LAN connected to the PC 1 in the duplication management table 29.
  • the LAN change detection unit 28 detects a plurality of LANs connected to the same PC 1 based on the duplication management table 29.
  • the NAT control unit 22 stops transmitting the NAT update request packet to the LAN before the change.
  • FIG. 45 is a flowchart showing LAN change processing according to the third embodiment.
  • the first LAN registration request (LAN1 registration request) is executed, and then the second and subsequent LAN registration requests (LAN2 registration request) are executed.
  • LAN2 registration request the second and subsequent LAN registration requests
  • duplicate LAN search processing and LAN change processing which are one of the features of this embodiment, are executed.
  • the LAN to which the PC 1 is first connected is assumed to be LAN1.
  • LAN1 registration request First, the UI unit 14 of the PC 1 transmits a LAN registration request (step S1). The LAN registration request is transmitted to the NAT control unit 22 of the server 2 after address conversion by the router 3c (steps S2 to S7). The NAT control unit 22 transmits a duplicate LAN search request (step S90).
  • “Duplicate LAN search request” is set as the message type 201, “12345” is set as the terminal ID 202, “130.130.130.130” is set as the terminal IP address 203, and “1300” is set as the terminal port number. ing.
  • the NAT control unit 22 notifies the LAN change detection unit 28 of the IP address (external address) and port number of the received IP packet of the LAN registration request.
  • the terminal ID is an example of communication device identification information, and the terminal IP address and the terminal port number are examples of LAN identification information.
  • the LAN change detection unit 28 executes a duplicate LAN search process (step S91). As shown in FIG. 47, the LAN change detection unit 28 determines whether the notified terminal ID is in the duplication management table 29 (step S151). At this time, the notified terminal ID is not registered in the duplication management table 29. Accordingly, the LAN change detection unit 28 adds the terminal ID, IP address, and port number notified in the duplicate LAN search request to the duplicate management table 29, and sends a duplicate LAN search response with no duplicate search results to the NAT control unit 22. Send. Step S153 in FIG. 47 will be described later.
  • FIG. 48 shows an example in which the terminal ID, IP address, and port number notified by the duplicate LAN search request are registered in the terminal ID 211, terminal IP address 212, and terminal port number 213 of the duplicate management table 29.
  • the NAT control unit 22 receives the duplicate LAN search response (step S92).
  • the duplicate LAN search response shown in FIG. 49 includes a message type 221, a result 222 (a result without duplication here), a terminal ID 223 that notifies the result, a terminal IP address 224, and a terminal port number 225.
  • the NAT control unit 22 executes a LAN registration process (step S93).
  • the NAT control unit 22 determines the result of the duplicate LAN search response (step S161).
  • the NAT control unit 22 registers the information notified by the LAN registration request in the LAN information table 24 (step S162).
  • Step S163 in FIG. 50 will be described later.
  • FIG. 51 shows an example of the LAN information table 29 held by the NAT control unit 22.
  • the router 3c with the terminal IP address 232 “130.130.130.130”, the terminal port number 233 “1300”, and the periodic transmission interval 234 “800 (seconds)” are registered. ing.
  • the periodic transmission to LAN1 is started. Thereafter, as shown in FIG. 43, the description of the case where the PC 1 is connected to another LAN 2 will be continued.
  • the LAN connection change includes switching from wired to wireless, switching from wireless to wireless, and the like.
  • LAN2 registration request In the LAN registration request after changing the LAN connection, the UI unit 14 of the PC 1 transmits the LAN registration request (step S94). The LAN registration request is transmitted to the LAN change detection unit 28 of the server 2 after address conversion by the router 3d (steps S95 to S101).
  • the LAN change detection unit 28 executes a duplicate LAN search process (step S102). As illustrated in FIG. 47, the LAN change detection unit 28 determines whether the notified terminal ID is registered in the duplication management table 29 (step S151). In this case, the notified terminal ID “12345” is registered in the terminal ID 211 of the duplication management table 29 shown in FIG. Therefore, the LAN change detection unit 28 determines that the notified terminal ID is registered in the duplication management table 29 (S161 in FIG. 50: duplication).
  • the LAN change detecting unit 28 overwrites the terminal IP address 212 and the terminal port number 213 of the terminal ID 211 “12345” in the duplication management table 29 with the IP address and port number notified by the duplicate LAN search request (FIG. 5 S163).
  • FIG. 52 shows the duplication management table 29 after overwriting.
  • the terminal IP address “140.140.140.140” and the terminal port number “1400” in the entry of the terminal ID 231 “12345” are overwritten.
  • the NAT control unit 22 transmits a duplicate LAN search response in which the duplicate LAN search response result 222 shown in FIG. 49 is set to “with duplicate” (step S103).
  • the NAT control unit 22 executes a LAN registration process (step S104).
  • the LAN registration process when it is determined that there is duplication in the duplication LAN search process, the information of the duplication management table 29 is stored in the LAN information table 24.
  • FIG. 53 shows an example of the LAN information table 24 held by the NAT control unit 22. The terminal IP address “140.140.140.140” and the port number “1400” of the entry of the terminal ID “12345” in the LAN information table 24 are overwritten.
  • the server 2 when the LAN to which the PC 1 is connected is changed, the server 2 detects the overlapping LAN, so that it has been connected before. The server 2 can identify the LAN and the LAN that is currently communicating.
  • the communication system 10 is suitable for performing a service in a form in which push communication is performed from the server 2 to a personal computer or the like in a private network via the Internet.
  • the present invention is also applicable to a NAT-compatible broadband router that does not support UPnP / STUN (Simple Traversal of UDP UDP through NATs). Even when the PC 1 is not activated, the packet can be transmitted from the server 2 to the PC 1 over the NAT. Further, even when a NAT router has a multi-stage configuration, even when a PC (including a sleep mode state) is connected to the Internet via a LAN, it is possible to maintain a state that allows NAT traversal from the Internet. According to the communication system 10 according to the first to third embodiments, the sleep mode PC 1 connected to a LAN having two or more stages of routers is activated from the Internet by WOL (Wake-on-LAN). Is also applicable.
  • WOL Wike-on-LAN
  • the PC 1 includes a CPU (Central Processing Unit) 601, a ROM (Read Only Memory) 602, a RAM (Random Access Memory) 603, an input device 604, an output device 605, an HDD (Hard Disk Drive) 606, and a network interface 607.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • HDD Hard Disk Drive
  • the ROM 602 is a non-volatile semiconductor memory (storage device), and stores programs and data such as OS settings and network settings that are executed at startup.
  • the RAM 603 is a volatile semiconductor memory (storage device) that temporarily stores programs and data.
  • the HDD 606 is a non-volatile storage device that stores programs and data.
  • the stored programs and data include an OS (Operating System) that is basic software for controlling the entire apparatus, and application software that provides various functions on the OS.
  • the HDD 606 stores a program executed by the CPU 601 for performing the NAT entry update process, the NAT update cycle optimization process, and the LAN change process of the above embodiment.
  • the CPU 601 is an arithmetic unit that realizes control of the entire apparatus and mounting functions by reading a program and data from the storage device onto the RAM and executing each process.
  • the input device 604 includes a keyboard and a mouse, and is used to input each operation to the PC 1.
  • the output device 605 includes a display and the like, and displays and outputs the system operation result and the like to the administrator of the PC 1.
  • the network interface 607 is an interface for connecting the PC 1 to the LAN.
  • the PC 1 is connected to the router 3 via the network interface 607, performs address conversion in the router 3, and can communicate with the server 2 on the Internet.
  • the UI unit 14 can be realized by the input device 604.
  • the LAN registration unit 15, the LAN configuration determination unit 16, and the UPnP acquisition unit 17 can be realized by the CPU 601.
  • the communication control unit 18 can be realized by the network interface 607.
  • the router 3 includes a CPU 701, a RAM 702, a flash memory 703, a network interface 704 (LAN), and a network interface 705 (WAN).
  • the CPU 701 is an arithmetic unit that realizes control and mounting functions of the entire router 3 such as IP address conversion processing.
  • the RAM 702 is a volatile semiconductor memory (storage device) that temporarily stores programs and data.
  • the flash memory 703 is an example of an auxiliary storage device.
  • the network interface 704 (LAN) is an interface for connecting the router 3 to the LAN. Thereby, the router 3 is connected to the PC 1 via the network interface 704.
  • the network interface 705 (WAN) is an interface that connects the router 3 to the WAN. As a result, the router 3 is connected to the server 2 via the network interface 705.
  • the UPnP processing unit 33 can be realized by the CPU 601.
  • the NAT table 32 can be stored in the RAM 702 or the flash memory 703.
  • the communication control unit 31 can be realized by the network interfaces 704 and 705.
  • the server 2 includes a CPU 801, ROMR 802, RAM 803, input device 804, output device 805, HDD 806, and network interface 807.
  • the CPU 801 is an arithmetic device that implements control and mounting functions of the entire server 2 such as LAN change processing. Since the ROM 802, the RAM 803, the input device 804, the output device 805, and the HDD 806 have the same configuration as the corresponding units of the PC 1, description thereof is omitted here.
  • the network interface 807 is an interface for connecting the server 2 to the WAN (or the Internet). As a result, the server 2 is connected to the router 3 via the network interface 705.
  • the periodic transmission optimization server 7 has the same hardware configuration as that of the server 2 and therefore will not be described here.
  • the NAT control unit 22 and the cycle optimization unit 25 can be realized by the CPU 801.
  • the LAN information table 24 and the periodic transmission management table 27 can be stored in the RAM 803 or the HDD 806.
  • the communication control units 21 and 26 can be realized by the network interface 807.
  • the PC 1, the server 2, and the periodic transmission optimization server 7 may include an external I / F (not shown) that is an interface with an external device.
  • the external device includes a recording medium.
  • the PC 1, the server 2, and the periodic transmission optimization server 7 read a program for executing NAT entry update processing, NAT update cycle optimization processing, and LAN change processing stored in the recording medium via the external I / F. And / or writing can be performed.
  • Recording media include CD (Compact Disk), DVD (Digital Versatile Disk), SD memory card (SD Memory Card), USB memory (Universal Serial Bus memory), and the like.
  • the communication device, the server, the communication system, and the communication method have been described in the above embodiments.
  • the present invention is not limited to the above embodiments, and various modifications and improvements can be made within the scope of the present invention.
  • the first to third embodiments can be combined within a consistent range.
  • the server 2 and the periodic transmission optimization server 7 are configured as separate devices.
  • the server 2 includes the function of the periodic transmission optimization server 7 and the server 2 performs the periodic transmission optimization. It is good also as an apparatus structure which performs crystallization.
  • PC 2 Server 3: Router 7: Periodic transmission optimization server 10: Communication system 11: LAN 13: Internet 14: UI unit 14 15: LAN registration unit 16: LAN configuration determination unit 17: UPnP acquisition unit 18: Communication control unit (PC side) 21: Communication control unit (server side) 22: NAT control unit 23: Storage unit 24: LAN information table 25: Period optimization unit 26: Communication control unit (period transmission optimization server side) 28: LAN change detection unit 29: Duplication management table 31: Communication control unit (router side) 32: NAT table 33: UPnP processor

Abstract

 LANのルータでNAT越えを行い、外部ネットワークを介してサーバと接続されるLAN上の通信装置であって、前記LANのルータの構成を判定するLAN構成判定部と、前記LANのルータの構成が二段以上と判定された場合、前記サーバに登録されている前記NAT越えを行うルータへ所定の間隔でNAT更新要求パケットを送信するように要求する通信装置側の通信制御部と、を有する通信装置が提供される。

Description

通信装置、サーバ、通信システム及び通信方法
 本発明は、通信装置、サーバ、通信システム及び通信方法に関する。
 ブロードバンドルータの普及により、例えば宅内にLAN(Local Area Network)を利用できる環境を構築し、LAN内の機器をルータを介してインターネット上の機器に接続する形態が提案されている(例えば、特許文献1及び特許文献2参照)。
 LAN内の機器とインターネット上の機器とでは、ネットワークに割り当てられるアドレスの体系が異なる。よって、ルータが、LANのプライベートIPアドレスとインターネットのグローバルIPアドレスとが対応付けられたNATエントリを使用してアドレス変換を行うことにより、LAN内の機器とインターネット上の機器との通信が可能となる(NAT越え)。
 NAT越えの技術としては、静的NAT/UPnP(Universal Plug and Play)によるポートフォワーディングや、動的NAT/STUN(Simple Traversal of UDP through NATs)が挙げられる。静的NAT/UPnPによるポートフォワーディングは、NATルータに対し、NATエントリを固定的に設定するか、あるいは、UPnP対応のルータに対し、UPnPによりポートフォワードを固定的に設定する。動的NATは、インターネットとの通信が発生すると動的にNATエントリを作成する。この場合、一定時間無通信であるとNATエントリは消去される。
特開2005-102316号公報 特開2005-130453号公報
 しかしながら、NATエントリが消去されると、ルータによるIPアドレスの対応付けができないため、LAN内の機器とインターネット上の機器との通信はできなくなる。
 一方、UPnP対応のルータが設定するNATエントリは消去されない。ただし、このUPnPの技術は、LANの機器と隣接するルータにしか使用できない。
 そこで、一つの側面では、LANのルータの構成に応じてNAT越えが可能な状態を維持することを目的とする。
 一つの態様では、LANのルータでNAT越えを行い、外部ネットワークを介してサーバと接続されるLAN上の通信装置であって、前記LANのルータの構成を判定するLAN構成判定部と、前記LANのルータの構成が二段以上と判定された場合、前記サーバに登録されている前記NAT越えを行うルータへ所定の間隔でNAT更新要求パケットを送信するように要求する通信装置側の通信制御部と、を有する通信装置が提供される。
 一つの側面として、LANのルータの構成に応じてNAT越えが可能な状態を維持することで、サーバの負荷を軽減することができる。
第1実施形態にかかる通信システムを示した図。 通信システムのルータが一段の場合のNAT越えを説明するための図。 通信システムのルータが多段の場合のNAT越えを説明するための図。 第1実施形態にかかるPC、サーバ、ルータの機能構成を示す図。 NATエントリ更新処理(ルータ構成一段)を示すフローチャート。 図5のS1のLAN登録要求の一例を示す図。 図5のS2のLAN登録要求受信処理を示すフローチャート。 図5のS3のLAN登録要求の一例を示す図。 図5のS4のPCから送信されるLAN登録要求の一例を示す図。 図5のS5のルータで保持するNATエントリの一例を示す図。 図5のS6のNAT変換後のLAN登録要求の一例を示す図。 図5のS8のLAN登録要求受信処理を示すフローチャート。 図5のS8のLAN情報テーブルの一例を示す図。 図5のS9のNAT更新要求送信処理を示すフローチャート。 図5のS11のサーバから送信されるNAT更新要求の一例を示す図。 図5のS13のNAT変換後のNAT更新要求の一例を示す図。 図5のS15のNAT更新要求受信処理を示すフローチャート。 第1実施形態にかかるNATエントリ更新処理(ルータ構成一段又は多段)を示すフローチャート。 図18のS22のLAN登録要求受信処理を示すフローチャート。 図18のS23のLAN構成判定要求の一例を示す図。 図18のS24のLAN構成判定要求受信処理を示すフローチャート。 図18のS30のLAN構成判定処理を示すフローチャート。 図18のS31のLAN構成判定応答の一例を示す図。 図18のS32のLAN構成判定応答受信処理を示すフローチャート。 第2実施形態にかかる通信システムを示した図。 第2実施形態にかかるPC、サーバ、ルータの機能構成を示す図。 第2実施形態にかかるNAT更新周期最適化処理を示すフローチャート。 図27のS41のLAN登録要求の一例を示す図。 図27のS44のPCから送信されるLAN登録要求の一例を示す図。 図27のS48のLAN登録要求受信処理を示すフローチャート。 図27のS50の周期最適化要求の一例を示す図。 図27のS52の周期最適化要求受信処理を示すフローチャート。 図27のS52の周期送信管理テーブル(初回登録時)の一例を示す図。 図27のS54のNATエントリ生存確認送信処理を示すフローチャート。 図27のS55のNATエントリ生存確認の一例を示す図。 図27のS60のNATエントリ生存確認受信処理を示すフローチャート。 図27のS61のNATエントリ生存確認応答の一例を示す図。 図27のS71の周期送信タイマ更新処理(NATエントリ生存確認応答受信時)を示すフローチャート。 図27のS71の周期送信管理テーブルの一例を示す図。 図27のS78の応答待ちタイマ満了処理を示すフローチャート。 図27のS79の周期最適化応答の一例を示す図。 図27のS80の周期最適化応答受信処理を示すフローチャート。 第3実施形態にかかる通信システムを示した図。 第3実施形態にかかるPC、サーバ、ルータの機能構成を示す図。 第3実施形態にかかるLAN変更処理を示すフローチャート。 図45のS90の重複LAN検索要求の一例を示す図。 図45のS91の重複LAN検索処理を示すフローチャート。 図45のS91の重複管理テーブルの一例を示す図。 図45のS92の重複LAN検索応答の一例を示す図。 図45のS93のLAN登録処理を示すフローチャート。 図45のS93のサーバ(NAT制御部)で保持するLAN情報テーブルの一例を示す図。 図45のS102の重複管理テーブルの一例を示す図。 図45のS104のLAN情報テーブルの一例を示す図。 第1~第3実施形態にかかるPC、サーバ、ルータのハードウェア構成を示す図。
 以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
<第1の実施形態>
 [通信システム]
 まず、本発明の第1実施形態に係る通信システムについて、図1を参照しながら説明する。図1は、第1実施形態にかかる通信システムを示した図である。図1(a)は、本通信システム10のLAN内のルータの構成が一段の場合を示し、図1(b)は、通信システム10のLAN内のルータが多段(二段以上)の場合を示す。
 図1(a)の通信システム10では、PC1とサーバ2とが、LAN11とWAN12及びインターネット13とを介して接続されている。ルータ3aは、PC1のプライベートIPアドレスとWAN12のグローバルIPアドレスとが対応付けられたNATエントリを生成し、NATエントリに基づきプライベートIPアドレスとグローバルIPアドレスとのアドレス変換を行う。以下、プライベートIPアドレスを「ローカルIPアドレス」ともいう。これにより、PC1とサーバ2との通信が可能となる。なお、WAN12及びインターネット13は、外部ネットワークの一例である。
 図1(b)の通信システム10は、LAN11のルータの構成がルータ3a、3b(以下、総称して「ルータ3」ともいう)の二段の場合を示す。ルータ3bは、LAN内のプライベートIPアドレスが対応付けられたNATエントリを生成してアドレス変換を行う。ルータ3aは、LANのプライベートIPアドレスとWAN12のグローバルIPアドレスとが対応付けられたNATエントリを生成してアドレス変換を行う。
 図2に示したように、PC1は、隣接するルータ3(一段の場合にはルータ3b、二段の場合にはルータ3a)に、IPアドレスの取得要求を送信する(1)。PC1は、IPアドレスを隣接するルータ3から取得する(2)。
 PC1は、取得したIPアドレスに基づき、LAN11内のルータ3の構成が一段か二段以上(二段以上を「多段」とも表記する)かの判定を実行する(3)。PC1は、IPアドレスがプライベートIPアドレスと判定した場合、ルータ3の構成は二段以上であり、隣接するルータの先のルータでプライベートIPアドレスからグローバルIPアドレスへの変換が行われていると判断する。
 一方、PC1は、取得したIPアドレスがグローバルIPアドレスと判定した場合、隣接するルータでプライベートIPアドレスからグローバルIPアドレスへの変換が行われているため、ルータ3は一段で構成されていると判定する。
 LAN11内のルータ3が一段で構成されている場合、UPnPによるポートフォワーディングによりNAT越えが可能である。この場合、一定時間無通信であってもNATエントリは消去されない。
 これに対して、LAN11内のルータ3が多段で構成されている場合、WAN12(インターネット13)側のルータ3は、インターネット13との通信が発生すると動的にNATエントリを作成する。この場合、一定時間無通信であるとNATエントリは消去される。
 以下に説明する一実施形態にかかる通信システム10では、LAN11内のルータ3が多段で構成されているかを判定し、多段の場合、PC1は、LAN11の登録要求(つまり、一定時間無通信であってもNATエントリを延命させるための登録要求を実行し、サーバ2は、登録したLAN11へNAT更新要求パケットを送信する。これにより、一定時間無通信であってもNATエントリを消去することを回避できる。
 具体的には、図3に示したように、PC1は、LAN11内のルータ3が多段で構成されていると判定した場合、サーバ2へLAN登録要求を発信する(1)。ルータ3bは、IPアドレス及びポート変換を行い、NATテーブルを生成する(2)。ルータ3aは、IPアドレス及びポート変換を行い、NATテーブルを生成する(2)'。これにより、NAT越えが可能になる。
 サーバ2は、PC1からのLAN登録要求に応じて、(2)'のPC1のグローバルIPアドレス及びポート情報を後述されるLAN情報テーブルに保持する(3)。次に、サーバ2は、所定の間隔(例えば定期的)に(3)でLAN情報テーブルに保持されたグローバルIPアドレス及びポート情報にNAT更新要求パケットを送信する(4)。ルータ3aは、NAT更新要求パケットを受信することで、一定時間無通信であるときにNATエントリが消去されることを回避し、NAT越えが可能な状態を維持することができる(5:NATエントリ延命)。また、PC1は、LAN11内のルータ3が多段で構成されている場合のみLAN11の登録要求を行い、サーバ2はこれに応じてNAT更新要求パケットを送信する。これにより、ルータ3が一段で構成されている場合にはNAT更新要求パケットの周期的送信を行わないことで、サーバ2及びネットワークの負荷を軽減することができる。
 なお、ルータ3bは、プライベートIPアドレスの変換を行い、NAT更新要求パケットをPC1に送信する。ルータ3bもルータ3aと同様に、NAT更新要求パケットを受信することで、NATエントリを延命させることができる(5)。
 以上に説明したように、本実施形態では、LAN11内のルータ3が多段で構成されている場合、サーバ2がPC1のグローバルIPアドレス及びポート宛てに所定の間隔でUDP(User Datagram Protocol)によるNAT更新要求パケットを送信することで、ルータ3のNATエントリを維持することができる。
 [各装置の機能構成]
 次に、第1実施形態に係るPC1、サーバ2、ルータ3の機能構成について、図4を参照しながら説明する。図4は、第1実施形態に係るPC1、サーバ2、ルータ3の機能構成を示す図である。
 PC1は、UI部14、LAN登録部15、LAN構成判定部16、UPnP取得部17及び通信制御部18を有する。PC1は、LAN11のルータ3でNAT越えを行い、インターネット13等の外部ネットワークを介してサーバ2と接続されるLAN上の通信装置の一例である。通信装置は、PC1に限られず、テレビジョン受像機や録画再生機器、ゲーム機器、音楽再生機器などのマルチメディア装置、通信機能を有する冷蔵庫、洗濯機、エアコン、電子レンジ等の家電機器、携帯機器、タブレット型端末等であってもよい。
 UI部14は、サーバ2へのLAN登録を行うためのユーザインタフェースの機能を有する。LAN登録部15は、サーバ2へのLAN登録を制御する。UPnP取得部17は、UPnP対応のルータ3にアクセスし、IPアドレスを取得する。LAN構成判定部16は、取得したIPアドレスにより、LAN11内のルータ構成(一段又は多段)を判断する。通信制御部18は、TCP/IPによる他装置との通信を制御する。
 ルータ3は、通信制御部31及びUPnP処理部33を有する。通信制御部31は、TCP/IPによる他装置との通信を制御する。UPnP処理部33は、PC1のUPnP取得部17によるIPアドレス取得に応答し、PC1の外向けのIPアドレスを送信する。通信制御部31は、NATテーブル32を保持する。NATテーブル32は、LAN11とWAN12(インターネット13)間のIPアドレス変換を行うためのNATエントリーを記憶したアドレス変換のためのテーブルである。
 サーバ2は、通信制御部21、NAT制御部22及び記憶部23を有する。通信制御部21は、TCP/IPによる他装置との通信を制御する。NAT制御部22は、PC1からのLAN登録要求に応じて、ルータ3にNAT更新要求パケットを送信する。記憶部23は、LAN登録要求に応じてNAT更新要求パケットを送信するルータ3のNATエントリの情報をLAN情報テーブル24に記憶する。
 [NATエントリ更新処理(ルータ構成一段)]
 次に、ルータ構成が一段の場合(図3(a))のNATエントリ更新処理について、図5を参照しながら説明する。図5は、NATエントリ更新処理(ルータ構成が一段の場合)を示すフローチャートである。図5では、LAN登録処理が実行され、次にNATエントリ更新処理が実行される。
 (LAN登録要求)
 NATエントリ更新処理が開始されると、まず、PC1のUI部14が、LAN登録要求を送信する(ステップS1)。図6は、LAN登録要求に含まれる情報の一例として、上段にパラメータ、下段に各パラメータに対する設定値を示す。LAN登録要求には、メッセージ種別61に「LAN登録要求」、周期送信間隔情報62に「800秒」が設定されている。
 図5にてステップS1のLAN登録要求を受けて、LAN登録部15が、LAN登録要求受信処理を実行する(ステップS2)。図7のLAN登録要求受信処理では、LAN登録部15は、端末IDを決定し(ステップS100)、通信制御部18にLAN登録要求を送信する(ステップS101)。端末IDには、PC1のMACアドレスを使用してもよいし、インターネットで一意となる他のIDを生成してもよい。
 次に、図5にてLAN登録部15は、LAN登録要求を送信する(ステップS3)。図8に示すように、LAN登録部15から送信されるLAN登録要求に含まれる情報には、ステップS1においてUI部14から送信されたLAN登録要求に端末ID63「12345」が付加されている。
 次に、図5にて通信制御部18は、LAN登録要求のIPパケットを送信する(ステップS4)。図9に示すLAN登録要求のIPパケットは、PC1からルータ3に送信される。LAN登録要求のIPパケットには、IPヘッダに送信先IPアドレス71及び送信元IPアドレス72、UDPヘッダに送信先ポート73、送信元ポート74、LAN情報にメッセージ種別75、端末ID76及び周期送信間隔情報77が設定されている。ここでは、送信先IPアドレス71にサーバ2のIPアドレス「100.100.100.1」、送信元IPアドレス72にPC1のIPアドレス「192.168.10.1」、送信先ポート73にサーバ2のポート「2000」、送信元ポート74にPC1のポート「1000」が設定される。
 次に、図5にてルータ3の通信制御部31は、プライベートIPアドレスとグローバルIPアドレスとが対応付けられたNATエントリを生成してアドレス変換を行う(ステップS5)。図10に示すように、ルータ3が生成するNATエントリは、プライペートIPアドレス81、プライペートポート82、グローバルIPアドレス83、グローバルポート84、サーバIPアドレス85及びサーバポート86の情報を含む。生成されたNATエントリは、NATテーブル32に保存される。ルータ3は、NATエントリに基づきLAN11内のPC1のプライベートIPアドレス「192.168.10.1」をインターネットのグローバルIPアドレス「120.120.120.120」にアドレス変換する。これにより、PC1は、ルータ3でNAT越えを行い、インターネット13を介してサーバ2と接続可能となる。
 次に、図5にてルータ3の通信制御部31は、NAT変換後のLAN登録要求のIPパケットをサーバ2に送信する(ステップS6)。図11に示すNAT変換後のLAN登録要求は、送信元IPアドレス92にアドレス変換後のグローバルIPアドレス「120.120.120.120」が設定され、送信元ポート94にグローバルポート「1500」が設定される。
 次に、図5にてサーバ2の通信制御部21は、NAT変換後のLAN登録要求のIPパケットを受信し、そのLAN登録要求をNAT制御部22に送信する(ステップS7)。NAT制御部22は、LAN登録要求受信処理を実行する(ステップS8)。図12に示すように、LAN登録要求受信処理では、NAT制御部22は、LAN情報テーブル24を生成する(ステップS103)。記憶部23は、LAN情報テーブル24を記憶する。LAN情報テーブル24は、図13に示すように、端末ID241、端末IPアドレス242、端末ポート番号243.周期送信間隔情報244の情報を含む。端末ID241にはPC1を識別するためのIDが設定され、端末IPアドレス242には、NATエントリのグローバルIPアドレスが設定され、端末ポート番号243にはグローバルポートが設定される。周期送信間隔情報244には、サーバ2からNAT越えを行うルータ3へNAT更新要求パケットを送信する際の所定の間隔(周期)として「800秒」が設定される。
 (NATエントリ更新)
 次に、図5にてNAT制御部22は、NAT更新要求送信処理を実行する(ステップS9)。図14に示すように、NAT更新要求送信処理では、NAT制御部22は、NATエントリ更新タイマで時刻をカウントし、前回のNAT更新要求パケットの送信から周期送信間隔である800秒が経過したとき(ステップS106:満了)、NAT更新要求を送信する(ステップS107)。NAT制御部22は、NATエントリ更新タイマで次のNAT更新要求パケットの送信のためのカウントを開始する(ステップS108)。
 このようにして、図5にてNAT制御部22は、NAT更新要求を送信する(ステップS10)。次いで、通信制御部21は、NAT更新要求のIPパケットをルータ3に送信する(ステップS11)。図15のNAT更新要求のIPパケットには、IPヘッダに送信先IPアドレス101、送信元IPアドレス102、UDPヘッダに送信先ポート103、送信元ポート104、メッセージの内容にメッセージ種別105及び端末ID106が設定されている。送信先IPアドレス101にはグローバルIPアドレス「120.120.120.120」、送信元IPアドレス102にはサーバ2のIPアドレス「100.100.100.1」が設定される。また、送信先ポート103にはグローバルポート「1500」、送信元ポート104にはサーバ2のポート「2000」が設定される。メッセージ種別105は「NAT更新」、端末ID106は「12345」である。
 次に、図5にてルータ3aの通信制御部31は、NATエントリを更新し、グローバルIPアドレスからプライベートIPアドレスにアドレス変換を行う(ステップS12)。次に、通信制御部31は、NAT更新要求のIPパケットをPC1に送信する(ステップS13)。図16に示すNAT変換後のNAT更新要求のIPパケットは、送信先IPアドレス111にアドレス変換後のプライベートIPアドレス「192.168.10.1」が設定され、送信先ポート103にプライベートポート「1000」が設定される。
 次に、図5にてPC1の通信制御部18は、NAT更新要求を送信する(ステップS14)。LAN登録部15は、NAT更新要求を受けて、NAT更新要求受信処理を実行する(ステップS15)。この時点では、ルータ3のNATエントリは更新済みであるため、特にPC1側で何らかの処理を行う必要はない。よって、図17に示すように、LAN登録部15は、NAT更新要求受信処理では、何もしないか、受信したIPパケットに基づきエラーチェックを行う(ステップS109)。例えば、IPパケットに含まれる端末ID(図16の116)をチェックし、自PCと異なる端末IDが設定されていた場合には、エラーを表示してもよい。
 [NATエントリ更新処理(ルータ構成一段又は多段)]
 次に、ルータ構成が一段又は多段の場合(図3(b))のNATエントリ更新処理について、図18を参照しながら説明する。図18は、NATエントリ更新処理(ルータ構成一段又は多段)を示すフローチャートである。図18では、LAN登録処理が実行され、次にNATエントリ更新処理が実行される。LAN登録処理では、本実施形態の特徴の一つであるLAN構成判定処理が実行される。図18では、図1(b)に示したPC1に最も近いルータ3bが、ルータ3として示されている。
 (LAN登録要求)
 まず、PC1のUI部14が、LAN登録要求を送信する(ステップS21)。次に、LAN登録部15が、LAN登録要求受信処理を実行する(ステップS22)。図19のLAN登録要求受信処理においてLAN登録部15は、端末IDを決定し(ステップS110)、LAN構成判定部16にLAN構成判定要求を送信する(ステップS111)。
 これにより、図18のステップS23にてLAN登録部15からLAN構成判定部16にLAN構成判定要求が送信される。図20には、メッセージ種別121がLAN構成判定要求に設定されたLAN構成判定要求の一例が示されている。
 次に、図18にてLAN構成判定部16は、LAN構成判定要求受信処理を実行する(ステップS24)。図21のLAN構成判定要求受信処理においてLAN構成判定部16は、PC1のUPnPの機能が有効になっているかを判定する(ステップS113)。LAN構成判定部16は、UPnPの機能が有効になっていると判定した場合、IPアドレス(以下、「外向けアドレス」ともいう。)の取得要求をUPnP取得部17に送信する(ステップS114)。LAN構成判定部16は、UPnPの機能が有効になっていないと判定した場合、LAN構成判定の結果が「判定不能」である応答をLAN登録部15に送信する(ステップS115)。
 次に、図18にてUPnP取得部17は、外向けアドレスの取得要求(ステップS25)を受けて、外向けアドレス取得要求受信処理を実行する(ステップS26)。次に、UPnP取得部17は、外向けアドレス取得要求のIPパケットをPC1に隣接するルータ3bのUPnP処理部33に送信する(ステップS27)。UPnP処理部33は、外向けアドレスを通知するIPパケットを送信する(ステップS28)。
 次に、UPnP取得部17は、外向けアドレスの取得応答を送信する(ステップS29)。LAN構成判定部16は、LAN構成判定処理を実行する(ステップS30)。図22のLAN構成判定処理においてLAN構成判定部16は、PC1から最も近いルータ3から取得した外向けアドレス(ネットワークアドレス)を判定する(ステップS117)。LAN構成判定部16は、取得した外向けアドレスがグローバルIPアドレスと判定した場合、ルータ3にてグローバルIPアドレスへの変換を行っており、LAN11内のルータの構成が一段になっていると判断する。よって、LAN構成判定部16は、LANのルータ構成の判定結果が「一段」である応答をLAN登録部15に送信する(ステップS118)。
 一方、ステップS117にてLAN構成判定部16は、外向けアドレスがプライベートIPアドレスと判定した場合、LAN11内にプライベートIPアドレスからグローバルIPアドレスへの変換を行う別のルータが存在すると判断する。これにより、LAN構成判定部16は、LAN11内のルータの構成は二段以上であると判定する。よって、LAN構成判定部16は、LAN構成判定の結果が「多段(二段以上)」である応答をLAN登録部15に送信する(ステップS119)。
 次に、図18にてLAN登録部15は、LAN構成判定の応答を受信する(ステップS31)。図23のLAN構成判定応答の一例には、メッセージ種別123が「LAN構成判定応答」、結果情報124が「一段構成/多段構成/判定不能のいずれか」に設定されている。
 次に、図18にてLAN登録部15は、LAN構成判定応答受信処理を実行する(ステップS32)。図24のLAN構成判定応答受信処理においてLAN登録部15は、LAN構成判定応答の結果を判定する(ステップS121)。LAN登録部15は、ルータの構成が一段であると判定した場合、一定時間無通信であってもNATエントリは消去されず、サーバ2からのNAT更新要求パケットの送信は不要と判断し、何も処理しない(ステップS122)。これに対して、LAN登録部15は、ルータの構成が二段以上であると判定した場合、通信制御部18にLAN登録要求を送信する(ステップS123)。なお、LAN登録要求に応じてサーバ2が実行するNAT更新要求パケットの周期的送信処理は、すでに説明した図5のステップS3~S15を実行することにより遂行されるため、ここでは説明を省略する。
 よって、本実施形態によれば、PC1は、LAN11内のルータの構成を判定し、ルータの構成が二段以上であると判定した場合、サーバ2に向けてLAN登録要求を送信する。サーバ2は、LAN登録要求に応じて、周期送信間隔(例えば、5秒)でNAT更新要求のIPパケットを周期的に送信する。これにより、LAN11内のルータの構成が二段以上である場合においても、一定時間無通信のときにNATエントリが消去されることを回避できる。
 以上に説明したように、第1実施形態にかかる通信システム10によれば、接続されるLANのルータの構成をPC1が判別することで、サーバ2からのNAT更新要求のIPパケットの周期送信の要否を判定することができる。これにより、ルータの構成が二段以上の場合においてもルータにNATエントリを記憶し続けることができ、NAT越えが可能な状態を維持することができる。なお、ルータの構成が一段の場合、UPnP機能が有効なルータが設定するNATエントリは消去されないように規定されている。よって、ルータの構成が一段と判定された場合には、PC1からLAN登録要求を送信しないことにより、NAT更新要求パケットはサーバ2から送信されない。これにより、サーバの負荷及びネットワークのトラフィックを軽減することができる。
<第2の実施形態>
 次に、本発明の第2実施形態に係る通信システム10の全体構成及び機能構成について図25及び図26を参照しながら説明する。図25は、第2実施形態に係る通信システム10の全体構成を示し、図26は、第2実施形態に係るPC1、サーバ2、ルータ3の機能構成を示す。第2実施形態では、サーバ2とは別に周期送信最適化サーバ7が存在する点が、第1実施形態と異なる。なお、図25では、ルータ3(ルータ3a)は一段の構成になっているが、多段の構成であってもよい。
 図26に示すように、PC1、サーバ2、ルータ3の機能構成は第1実施形態と同一である。第2実施形態において追加された周期送信最適化サーバ7は、周期最適化部25及び通信制御部26を有する。周期最適化部25は、NAT更新要求パケットの送信間隔を制御する。周期最適化部25は、周期送信管理テーブル27にNAT更新要求パケットの送信間隔を制御するための情報を保存する。通信制御部26は、TCP/IPによる他装置との通信を制御する。
 [NAT更新周期最適化処理]
 次に、本実施形態にかかるNAT更新周期最適化処理について、図27を参照しながら説明する。図27は、NAT更新周期最適化処理を示すフローチャートである。図27では、サーバ2で第1実施形態にて説明したLAN登録処理及びNATエントリ更新処理が実行され、周期送信最適化サーバ7では、本実施形態の特徴の一つであるNAT更新要求パケットの周期最適化処理が実行される。
 (LAN登録要求)
 NAT更新周期最適化処理が開始されると、まず、PC1のUI部14が、LAN登録要求を送信する(ステップS41)。図28に示すように、LAN登録要求に含まれる情報の一例としては、メッセージ種別126に「LAN登録要求」、周期送信間隔情報127に「800秒」、最適化情報128に「あり」が設定されている。最適化情報128のパラメータは、例えばユーザがUI部14の画面上で「最適化を行う」の項目にチェックを入れた場合に「あり」に設定される。
 LAN登録部15は、LAN登録要求を生成し(ステップS42)、LAN登録要求を送信する(ステップS43)。通信制御部18は、LAN登録要求のIPパケットをルータ3に送信する(ステップS44)。図29に示すLAN登録要求のIPパケットは、、PC1からルータ3に送信される。LAN登録要求のIPパケットには、送信先IPアドレス131、送信元IPアドレス132、送信先ポート133、送信元ポート134、メッセージ種別135、端末ID136、周期送信間隔情報137及び最適化情報138が設定されている。送信先IPアドレス131にはサーバ2のIPアドレス「100.100.100.1」、送信元IPアドレス132にはPC1のIPアドレス「192.168.10.1」が設定されている。また、送信先ポート133にはサーバ2のポート「2000」、送信元ポート134にはPC1のポート「1000」が設定されている。また、メッセージ種別135には「LAN登録」、端末ID136には「12345」、周期送信間隔137には「800秒」及びLAN情報の最適化情報138には「あり」が設定されている。
 次に、図27にてルータ3の通信制御部31は、NATエントリを生成し(ステップS45)、IPアドレスをプライベートIPアドレスからグローバルIPアドレスに変換する。次に、通信制御部31は、NAT変換後のLAN登録要求のIPパケットをサーバ2に送信する(ステップS46)。サーバ2の通信制御部21は、NAT変換後のLAN登録要求のIPパケットを受信し、そのLAN登録要求をNAT制御部22に送信する(ステップS47)。NAT制御部22は、LAN登録要求受信処理を実行する(ステップS48)。図30に示すように、LAN登録要求受信処理では、NAT制御部22は、LAN情報テーブル24を生成する(ステップS126)。次に、NAT制御部22は、LAN登録要求の送信間隔の最適化を判定する(ステップS127)。PC1から送信されるLAN登録要求の最適化情報(図29の138)に「あり」が設定されている場合、NAT制御部22は、周期送信最適化サーバ7に周期最適化要求を送信する(ステップS128)。一方、PC1から送信されるLAN登録要求の最適化情報に「なし」が設定されている場合、NAT制御部22は、NATエントリ更新タイマを開始する(ステップS129)。ここで、計時されるタイマ値は、LAN情報テーブル24の周期送信間隔の設定値(図13の244)である。
 これにより、図27にて通信制御部21は、NAT制御部22からの周期最適化要求を(ステップS49)を受けて、周期最適化要求のIPパケットを周期送信最適化サーバ7に送信する(ステップS50)。図31には、周期最適化要求に含まれる情報の一例が示されている。送信先IPアドレス141には周期送信最適化サーバ7のIPアドレス「100.100.100.2」、送信元IPアドレス142にはサーバ2のIPアドレス「100.100.100.1」が設定されている。送信先ポート143及び送信元ポート144には、サーバ間の通信に使用される任意のポート番号が設定される。また、メッセージ種別145には「周期最適化要求」が設定され、端末ID146には「12345」が設定されている。端末IPアドレス147にはルータ3aのIPアドレス「120.120.120.120」、端末ポート番号148に「1200」が設定される。
 次に、通信制御部26は、周期最適化要求を周期最適化部25に送信する(ステップS51)。周期最適化部25は、周期最適化要求受信処理を実行する(ステップS52)。図32に示すように、周期最適化要求受信処理では、周期最適化部25は、周期送信管理テーブル27に、周期最適化要求で通知された端末ID、端末IPアドレス及び端末ポート番号を設定する。
 図33には、周期送信管理テーブル27の一例として、端末ID151、端末IPアドレス152、端末ポート番号153、現在周期154及び前回周期155が示されている。端末ID151にはPC1の端末ID「12345」、端末IPアドレス152にはルータ3のIPアドレス「120.120.120.120」が設定される。また、現在周期は、サーバ2が使用している周期(LAN情報テーブル24の周期送信間隔の設定値)が設定され、前回の周期は「0」に設定されている。
 この状態において、サーバ2では、LAN情報テーブル24の周期送信間隔の設定値に基づきNAT更新要求パケットを周期的に送信する。このNATエントリ更新処理(ステップS81~S85)については後述する。
 サーバ2が実行するNATエントリ更新処理と並行して、周期送信最適化サーバ7は、NATエントリ更新周期最適化処理(ステップS53~S80)を実行する。具体的には、周期最適化部25は、周期送信タイマによる周期送信間隔のカウントを開始する(ステップS53)。周期送信タイマが終了すると、周期送信最適化サーバ7は、NATエントリ生存確認送信処理を実行する(ステップS54)。図34に示すように、NATエントリ生存確認送信処理では、タイマが満了すると(ステップS134)、周期最適化部25は、周期送信管理テーブル27に登録された端末IPアドレス、端末ポート番号へNATエントリ生存確認を送信する(ステップS135)。これにより、ルータ3にNATエントリ生存確認が通知される。次に、周期最適化部25は、NATエントリ生存確認応答待ちタイマ(固定値で例えば10秒等に設定)のカウントを開始する(ステップS136)。
 これにより、図27にて周期送信最適化サーバ7の通信制御部26は、周期最適化部25からのNATエントリ生存確認を受けて(ステップS55)、NATエントリ生存確認のIPパケットをルータ3の通信制御部31に送信する(ステップS56)。図35には、NATエントリ生存確認に含まれる情報の一例が示される。送信先IPアドレス161にはグローバルIPアドレス「120.120.120.120」、送信元IPアドレス162には周期送信最適化サーバ7のIPアドレス「100.100.100.2」が設定されている。また、送信先ポート163にはグローバルポート「1200」、送信元ポート164には周期送信最適化サーバ7のポート「2000」が設定されている。メッセージ内容には、メッセージ種別164には「生存確認」、PC1の端末IDには「12345」が設定されている。
 なお、NATエントリ生存確認のIPパケットは、NAT更新要求パケットを送信するサーバ2とは異なる周期送信最適化サーバ7から間隔を変えて送信されるテスト用パケットの一例である。本実施形態では、テスト用パケットは、徐々に間隔を長くして送信される。
 通信制御部31は、NATエントリを更新し、グローバルIPアドレスからプライベートIPアドレスにアドレス変換を行う(ステップS57)。次に、通信制御部31は、NATエントリ生存確認のIPパケットをPC1に送信する(ステップS58)。PC1の通信制御部18は、NATエントリ生存確認をLAN登録部15に送信する(ステップS59)。LAN登録部15は、NATエントリ生存確認受信処理を実行する(ステップS60)。図36に示すように、NATエントリ生存確認受信処理では、LAN登録部15は、NATエントリ生存確認のIPパケットの送信元へ、NATエントリ生存確認応答を送信する(ステップS138)。これにより、図27にてLAN登録部15が送信したNATエントリ生存確認応答を受けて(ステップS61)、通信制御部18は、NATエントリ生存確認応答のIPパケットをルータ3に送信する(ステップS62)。図37には、NATエントリ生存確認応答に含まれる情報の一例が示されている。送信先IPアドレス171にはNATエントリ生存確認のIPパケットの送信先である周期送信最適化サーバ7が設定され、送信元IPアドレス172にはPC1のIPアドレスが設定されている。メッセージ種別175には「生存確認応答」、端末IDにはPC1のID「12345」が設定されている。なお、NATエントリ生存確認応答のIPパケットは、NATエントリ生存確認に対する応答パケットの一例である。
 次に、図27にてルータ3は、NATエントリを更新し、グローバルIPアドレスからプライベートIPアドレスにアドレス変換を行う(ステップS63)。通信制御部31は、NATエントリ生存確認応答のIPパケットを周期送信最適化サーバ7に送信する(ステップS64)。周期送信最適化サーバ7の通信制御部26は、NATエントリ生存確認応答を周期最適化部25に送信する(ステップS65)。
 一方、ステップS55においてNATエントリ生存確認が送信されるタイミングに連動して、周期最適化部25は、応答待ちタイマを開始する(ステップS70)。図27では、ステップS65のNATエントリ生存確認応答は、応答待ちタイマが所定時間(例えば10秒)を終了する(図27の点A)前に周期最適化部25に届いている。よって、周期最適化部25は、応答待ち時間内にNATエントリ生存確認応答が正しく届いたと判定し、周期送信タイマ更新処理を実行する(ステップS71)。図38に示すように、周期送信タイマ更新処理では、周期最適化部25は、応答待ちタイマを停止する(ステップS140)。次に、周期最適化部25は、周期送信管理テーブル27を更新する(ステップS141)。図39には、周期送信管理テーブル27の一例が示されている。ステップS141では、周期最適化部25は、現在間隔184に設定されたタイマ値(800秒)を前回間隔185にコピーし、現在間隔184を、設定されたタイマ値より長いタイマ(例えば2倍にした1600秒)で更新する。
 次に、周期最適化部25は、ステップS53に戻り、ステップS53からの処理を繰り返す。以上、ステップS53~S71においてNATエントリ生存確認パケットがPC1に届く場合の一連の処理について説明した。次に、NATエントリ生存確認パケットがPC1に届かない場合の一連の処理(ステップS72~S80)について説明する。
 周期最適化部25は、周期送信タイマによる周期送信間隔のカウントを開始する(ステップS72)。周期送信タイマが起動中に、一定期間無通信のためにルータ3aは、NATエントリを削除する(ステップS73)。
 周期最適化部25は、周期送信タイマによる周期送信間隔のカウントが満了すると、NATエントリ生存確認を送信し(ステップS74)、通信制御部26は、そのIPパケットをルータ3に送信する(ステップS75)。並行して、周期最適化部25は、NATエントリ生存確認応答待ちタイマのカウントを開始する(ステップS76)。
 通信制御部31は、NATエントリが削除されているため、グローバルIPアドレスからプライベートIPアドレスへのアドレス変換に失敗し、このIPパケットを破棄する(ステップS77)。周期送信最適化サーバ7がPC1からNATエントリ生存確認応答を受信しないまま、応答待ちタイマは応答待ち時間を満了すると、周期最適化部25はこれに応じて応答待ちタイマ満了処理を実行する(ステップS78)。図40に示す応答待ちタイマ満了処理では、応答待ちタイマがタイムアウトすると(ステップS140)、周期最適化部25は、周期送信管理テーブル27の前回間隔(図39の185)に設定された値を、図41に示す周期最適化応答の周期タイマ197に設定する。周期最適化部25は、周期最適化応答をサーバ2に送信する(ステップS141)。
 これにより、図27にて周期最適化部25は、通信制御部26に周期最適化応答を送信する(ステップS79)。NAT制御部22は、周期最適化応答のIPパケットを受けて、周期最適化応答受信処理を実行する(ステップS80)。図42に示すように、NAT制御部22は、周期最適化応答の周期タイマに設定されたタイマ値を、LAN情報テーブル24の周期送信間隔に設定する。
 NAT制御部22は、NAT更新要求送信処理にて、LAN情報テーブル24の周期送信間隔を、周期最適化応答の周期タイマに設定し、新たに設定された周期送信間隔に基づき周期タイマが満了すると、NAT更新要求を送信する(ステップS82)。NAT更新要求のIPパケットは、ルータ3に送信され(ステップS83)、ルータ3にてNATエントリが更新され、アドレス変換後(ステップS84)、NAT更新要求のIPパケットは、PC1に送信される(ステップS85)。
 以上に説明したように、サーバ2から送信されるNAT更新要求パケットは、一定時間無通信のときにNATエントリーが消去されることを回避するために送信されるパケットである。このため、本実施形態にかかる周期送信最適化サーバ7は、送信間隔を徐々に長くしてテスト用パケットを送信する。そして、テスト用パケットに対する応答パケットの返信がなかったとき、その一つ前の送信間隔を周期送信間隔の値に決定する。そして、サーバ2から送信される以降のNAT更新要求パケットは、決定された周期送信間隔で送信される。これにより、NAT更新要求パケットの周期送信間隔をNATエントリーが消去されない間隔であってかつ、最も長い送信間隔に最適化することができる。この結果、サーバ2の負荷及びネットワークのトラフィックを軽減することができる。
<第3の実施形態>
 次に、本発明の第3実施形態に係る通信システム10の全体構成及び機能構成について図43及び図44を参照しながら説明する。図43は、第3実施形態に係る通信システム10の全体構成を示し、図44は、第3実施形態に係るPC1、サーバ2、ルータ3の機能構成を示す。第3実施形態では、PC1に接続されるLANがLAN1(LAN11a)からLAN2(LAN11b)へ変更される点が、第1実施形態と異なる。これに伴い、ルータ3が、ルータ3cからルータ3dへ変更される。なお、図43では、ルータ3は一段の構成になっているが、多段の構成であってもよい。
 図44に示すように、PC1、ルータ3、周期送信最適化サーバ7の機能構成は第2実施形態と同一である。本実施形態では、周期送信最適化サーバ7はなくてもよい。サーバ2は、第1実施形態の機能構成(図4参照)に加えて、LAN変更検出部28を有する。LAN変更検出部28は、重複管理テーブル29にPC1と接続されているLANの情報を保存する。LAN変更検出部28は、重複管理テーブル29に基づき、同一のPC1と接続されている複数のLANを検出する。NAT制御部22は、PC1が接続するLANが変更された場合、変更前のLANへのNAT更新要求パケットの送信を停止する。
 [LAN変更処理]
 次に、LAN変更処理について、図45を参照しながら説明する。図45は、第3実施形態にかかるLAN変更処理を示すフローチャートである。図45では、一回目のLAN登録要求(LAN1登録要求)が実行され、次に二回目以降のLAN登録要求(LAN2登録要求)が実行される。二回目以降のLAN登録要求では、本実施形態の特徴の一つである重複LANの検索処理及びLAN変更処理が実行される。PC1が最初に接続されているLANをLAN1とする。
 (LAN1登録要求)
 まず、PC1のUI部14が、LAN登録要求を送信する(ステップS1)。LAN登録要求は、ルータ3cにてアドレス変換後、サーバ2のNAT制御部22に送信される(ステップS2~S7)。NAT制御部22は、重複LAN検索要求を送信する(ステップS90)。図46に示す重複LAN検索要求には、メッセージ種別201に「重複LAN検索要求」、端末ID202に「12345」、端末IPアドレス203に「130.130.130.130」、端末ポート番号に「1300」が設定されている。これにより、NAT制御部22は、受信したLAN登録要求のIPパケットのIPアドレス(外向けアドレス)及びポート番号をLAN変更検出部28に通知する。なお、端末IDは、通信装置の識別情報の一例であり、端末IPアドレス及び端末ポート番号は、LANの識別情報の一例である。
 LAN変更検出部28は、重複LAN検索処理を実行する(ステップS91)。図47に示すように、LAN変更検出部28は、通知された端末IDが重複管理テーブル29にあるかを判定する(ステップS151)。この時点では、通知された端末IDは重複管理テーブル29に登録されていない。よって、LAN変更検出部28は、重複LAN検索要求で通知された端末ID、IPアドレス及びポート番号を重複管理テーブル29に追加し、検索結果が重複なしの重複LAN検索応答をNAT制御部22に送信する。図47のステップS153については後述する。図48には、重複LAN検索要求で通知された端末ID、IPアドレス及びポート番号が重複管理テーブル29の端末ID211、端末IPアドレス212及び端末ポート番号213に登録された例が示されている。
 図45にてNAT制御部22は、重複LAN検索応答を受信する(ステップS92)。図49に示す重複LAN検索応答には、メッセージ種別221、結果222(ここでは重複なしの結果)、結果を通知する端末ID223、端末IPアドレス224及び端末ポート番号225が含まれている。
 次に、図45にてNAT制御部22は、LAN登録処理を実行する(ステップS93)。図50に示すLAN登録処理では、NAT制御部22は、重複LAN検索応答の結果を判定する(ステップS161)。NAT制御部22は、結果が「重複なし」の場合、LAN登録要求で通知された情報をLAN情報テーブル24に登録する(ステップS162)。図50のステップS163については後述する。図51には、NAT制御部22で保持するLAN情報テーブル29の一例が示されている。端末ID231「12345」のPC1が接続されているLAN情報として、端末IPアドレス232「130.130.130.130」のルータ3c、端末ポート番号233「1300」、周期送信間隔234「800(秒)」が登録されている。
 図45にてステップS93のLAN登録処理後、LAN1への定期送信が開始される。その後、図43に示すように、PC1を別のLAN2に接続した場合について説明を続ける。なお、LANの接続変更は、有線から無線への切り替えや無線から無線への切り替え等を含む。
 (LAN2登録要求)
 LAN接続変更後のLAN登録要求では、PC1のUI部14が、LAN登録要求を送信する(ステップS94)。LAN登録要求は、ルータ3dにてアドレス変換後、サーバ2のLAN変更検出部28に送信される(ステップS95~S101)。
 LAN変更検出部28は、重複LAN検索処理を実行する(ステップS102)。図47に示すように、LAN変更検出部28は、通知された端末IDが重複管理テーブル29に登録されているかを判定する(ステップS151)。この場合、通知された端末ID「12345」は、図48に示す重複管理テーブル29の端末ID211に登録されている。よって、LAN変更検出部28は、通知された端末IDが重複管理テーブル29に登録されていると判定する(図50のS161:重複あり)。この結果、LAN変更検出部28は、重複管理テーブル29の端末ID211「12345」の端末IPアドレス212及び端末ポート番号213を、重複LAN検索要求で通知されたIPアドレス及びポート番号で上書きする(図5のS163)。上書き後の重複管理テーブル29を図52に示す。端末ID231「12345」のエントリの端末IPアドレス「140.140.140.140」及び端末ポート番号「1400」が上書きされている。

 次に、図45にてNAT制御部22は、図49に示す重複LAN検索応答の結果222が「重複あり」に設定された重複LAN検索応答を送信する(ステップS103)。次に、図45にてNAT制御部22は、LAN登録処理を実行する(ステップS104)。LAN登録処理では、重複LAN検索処理にて、重複ありと判定された場合、重複管理テーブル29の情報をLAN情報テーブル24に記憶する。図53には、NAT制御部22で保持するLAN情報テーブル24の一例を示す。LAN情報テーブル24の端末ID「12345」のエントリの端末IPアドレス「140.140.140.140」及びポート番号「1400」が上書きされている。
 以上に説明したように、第3実施形態にかかる通信システム10によれば、PC1が接続されるLANが変更されたとき、重複するLANをサーバ2が検出することで、以前に接続されていたLANと現在通信を行うLANとをサーバ2が識別することができる。
 なお、第1~第3実施形態にかかる通信システム10は、サーバ2からインターネットを介してプライベートなネットワーク内のパソコン等へプッシュ通信するような形態のサービスを実施する場合に好適である。
 第1~第3実施形態にかかる通信システム10では、ルータ3の構成が多段の場合においてもNATエントリの削除を回避し、NAT越えが可能となる。また、UPnP/STUN(Simple Traversal of UDP through NATs)に対応していないNAT対応ブロードバンドルータにも適用可能である。また、PC1が起動していないときであっても、サーバ2からPC1に対してNATを越えてパケットを送信することができる。さらに、NATルータの構成が多段の場合にLAN経由でPC(スリープモード状態を含む)がインターネットに接続された場合においても、インターネットからNAT越え可能な状態維持を実現できる。なお、第1~第3実施形態にかかる通信システム10によれば、ルータの構成が二段以上のLANに接続されたスリープモードのPC1をインターネットからWOL(Wake on LAN)により起動するといった活用にも適用可能である。
 [ハードウェア構成]
 最後に、各実施形態にかかるPC1、ルータ3、サーバ2のハードウェア構成の一例について、図54を参照しながら説明する。
 (PC)
 PC1は、CPU(Central Processing Unit)601、ROM(Read Only Memory)602、RAM(Random Access Memory)603、入力装置604、出力装置605、HDD(Hard Disk Drive)606及びネットワークインタフェース607を有する。
 ROM602は、不揮発性の半導体メモリ(記憶装置)であり、起動時に実行されるOS設定やネットワーク設定などのプログラムやデータが格納されている。RAM603は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。HDD606は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェアなどがある。例えば、HDD606は、上記実施形態のNATエントリ更新処理、NAT更新周期最適化処理、LAN変更処理を行うためにCPU601により実行されるプログラムを格納する。CPU601は、上記記憶装置から、プログラムやデータをRAM上に読み出し、各処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
 入力装置604は、キーボードやマウスなどを含み、PC1に各操作を入力するのに用いられる。出力装置605は、ディスプレイなどを含み、PC1の管理者にシステム運用結果等を表示や出力する。
 ネットワークインタフェース607は、PC1をLANに接続するインタフェースである。これにより、PC1は、ネットワークインタフェース607を介してルータ3に接続され、ルータ3にてアドレス変換を行い、インターネット上のサーバ2と通信可能となる。
 かかる構成では、UI部14は、入力装置604により実現可能である。LAN登録部15、LAN構成判定部16及びUPnP取得部17は、CPU601により実現可能である。通信制御部18は、ネットワークインタフェース607実現可能である。
 (ルータ)
 ルータ3は、CPU701、RAM702、フラッシュメモリ703、ネットワークインタフェース704(LAN)及びネットワークインタフェース705(WAN)を有する。CPU701は、IPアドレスの変換処理等、ルータ3全体の制御や搭載機能を実現する演算装置である。RAM702は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。フラッシュメモリ703は、補助記憶装置の一例である。
 ネットワークインタフェース704(LAN)は、ルータ3をLANに接続するインタフェースである。これにより、ルータ3は、ネットワークインタフェース704を介してPC1と接続される。
 ネットワークインタフェース705(WAN)は、ルータ3をWANに接続するインタフェースである。これにより、ルータ3は、ネットワークインタフェース705を介してサーバ2と接続される。
 かかる構成では、UPnP処理部33は、CPU601により実現可能である。NATテーブル32は、RAM702やフラッシュメモリ703に記憶することができる。通信制御部31は、ネットワークインタフェース704,705により実現可能である。
 (サーバ)
 サーバ2は、CPU801、ROMR802、RAM803、入力装置804、出力装置805、HDD806及びネットワークインタフェース807を有する。CPU801は、LAN変更処理等、サーバ2全体の制御や搭載機能を実現する演算装置である。ROM802、RAM803、入力装置804、出力装置805、HDD806は、PC1の対応する各部と同様の構成であるため、ここでは説明を省略する。
 ネットワークインタフェース807は、サーバ2をWAN(またはインターネット)に接続するインタフェースである。これにより、サーバ2は、ネットワークインタフェース705を介してルータ3と接続される。
 周期送信最適化サーバ7は、サーバ2と同様のハードウェア構成を有するため、ここでは説明を省略する。
 かかる構成では、NAT制御部22及び周期最適化部25は、CPU801により実現可能である。LAN情報テーブル24は及び周期送信管理テーブル27は、RAM803やHDD806に記憶することができる。通信制御部21、26は、ネットワークインタフェース807により実現可能である。
 なお、PC1、サーバ2及び周期送信最適化サーバ7は、外部装置とのインタフェースである図示しない外部I/Fを有してもよい。外部装置には、記録媒体などがある。PC1、サーバ2及び周期送信最適化サーバ7は、外部I/Fを介して記録媒体に記憶されたNATエントリ更新処理、NAT更新周期最適化処理、LAN変更処理を実行するためのプログラムの読み取り及び/又は書き込みを行うことができる。記録媒体には、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory card)やUSBメモリ(Universal Serial Bus memory)等がある。
 以上、通信装置、サーバ、通信システム及び通信方法を上記実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。上記第1~第3の実施形態は、矛盾しない範囲で組み合わせることができる。
 例えば、上記実施形態では、サーバ2と周期送信最適化サーバ7とは、別体の装置で構成されたが、周期送信最適化サーバ7の機能をサーバ2に含めて、サーバ2で周期送信最適化を実行する装置構成としてもよい。
 1:PC
 2:サーバ
 3:ルータ
 7:周期送信最適化サーバ
 10:通信システム
 11:LAN
 13:インターネット
 14:UI部14
 15:LAN登録部
 16:LAN構成判定部
 17:UPnP取得部
 18:通信制御部(PC側)
 21:通信制御部(サーバ側)
 22:NAT制御部
 23:記憶部
 24:LAN情報テーブル
 25:周期最適化部
 26:通信制御部(周期送信最適化サーバ側)
 28:LAN変更検出部
 29:重複管理テーブル
 31:通信制御部(ルータ側)
 32:NATテーブル
 33:UPnP処理部

Claims (9)

  1.  LANのルータでNAT越えを行い、外部ネットワークを介してサーバと接続されるLAN上の通信装置であって、
     前記LANのルータの構成を判定するLAN構成判定部と、
     前記LANのルータの構成が二段以上と判定された場合、前記サーバに登録されている前記NAT越えを行うルータへ所定の間隔でNAT更新要求パケットを送信するように要求する通信装置側の通信制御部と、
     を有する通信装置。
  2.  前記通信装置側の通信制御部は、
     間隔を変えて送信されるテスト用パケットに応じて応答パケットを送信し、応答時間以内の前記応答パケットの受信の有無により前記所定の間隔を決定させ、決定させた所定の間隔で前記サーバからNAT更新要求パケットを送信させる、
     請求項1に記載の通信装置。
  3.  LANのルータでNAT越えを行い、外部ネットワークを介してLAN上の通信装置と接続されるサーバであって、
     前記サーバがLAN上の通信装置と接続したときの通信装置の識別情報及びLANの識別情報を記憶する記憶部と、
     前記記憶した通信装置の識別情報及びLANの識別情報に基づき、前記通信装置が接続されるLANの変更を検出するLAN変更検出部と、
     前記サーバに登録されている前記NAT越えを行うルータへ所定の間隔でNAT更新要求パケットを送信する要求に応じて、前記NAT更新要求パケットを前記検出した変更後のLANに送信するサーバ側の通信制御部と、
     を有するサーバ。
  4.  間隔を変えて送信されたテスト用パケットに応じて前記通信装置から送信される応答パケットの、応答時間以内の受信の有無により前記所定の間隔を決定する周期最適化部を有し、
     前記サーバ側の通信制御部は、
     前記決定した所定の間隔で前記サーバからNAT更新要求パケットを送信する、
     請求項3に記載のサーバ。
  5.  LANのルータでNAT越えを行い、外部ネットワークを介してサーバとLAN上の通信装置とが接続される通信システムであって、
     前記通信装置は、
     前記LANのルータの構成を判定するLAN構成判定部と、
     前記LANのルータの構成が二段以上と判定された場合、前記サーバに登録されている前記NAT越えを行うルータへ所定の間隔でNAT更新要求パケットを送信するように要求する通信装置側の通信制御部と、を有し、
     前記サーバは、
     前記NAT更新要求パケットの送信要求に応じて、所定の間隔で前記NAT更新要求パケットを前記NAT越えを行うルータへ送信するサーバ側の通信制御部を有する、
     通信システム。
  6.  前記通信装置側の通信制御部は、
     間隔を変えて送信されるテスト用パケットに応じて応答パケットを送信し、
     前記サーバ側の通信制御部は、
     応答時間以内の前記応答パケットの受信の有無により前記所定の間隔を決定し、決定した所定の間隔でNAT更新要求パケットを送信する、
     請求項5に記載の通信システム。
  7.  前記サーバは、
     前記サーバがLAN上の通信装置と接続したときの通信装置の識別情報及びLANの識別情報を記憶する記憶部と、
     前記記憶した通信装置の識別情報及びLANの識別情報に基づき、前記通信装置が接続されるLANの変更を検出するLAN変更検出部と、を有し、
     前記サーバ側の通信制御部は、
     前記サーバに登録されている前記NAT越えを行うルータへ所定の間隔でNAT更新要求パケットを送信する要求に応じて、前記NAT更新要求パケットを前記検出した変更後のLANに送信する、
     請求項5に記載の通信システム。
  8.  LANのルータでNAT越えを行い、外部ネットワークを介してサーバと接続されるLAN上の通信装置の通信方法であって、
     前記LANのルータの構成を判定し、
     前記LANのルータの構成が二段以上と判定された場合、前記サーバに登録されている前記NAT越えを行うルータへ所定の間隔でNAT更新要求パケットを送信するように要求する、
     処理をコンピュータが実行する通信方法。
  9.  間隔を変えて送信されるテスト用パケットに応じて応答パケットを送信し、
     応答時間以内の前記応答パケットの受信の有無により前記所定の間隔を決定させ、決定させた所定の間隔で前記サーバからNAT更新要求パケットを送信させる、
     請求項8に記載の通信方法。
PCT/JP2014/061477 2014-04-23 2014-04-23 通信装置、サーバ、通信システム及び通信方法 WO2015162735A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016514623A JP6308295B2 (ja) 2014-04-23 2014-04-23 通信装置、サーバ、通信システム及び通信方法
PCT/JP2014/061477 WO2015162735A1 (ja) 2014-04-23 2014-04-23 通信装置、サーバ、通信システム及び通信方法
US15/280,844 US10044523B2 (en) 2014-04-23 2016-09-29 Communication apparatus, server, communication system, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/061477 WO2015162735A1 (ja) 2014-04-23 2014-04-23 通信装置、サーバ、通信システム及び通信方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/280,844 Continuation US10044523B2 (en) 2014-04-23 2016-09-29 Communication apparatus, server, communication system, and communication method

Publications (1)

Publication Number Publication Date
WO2015162735A1 true WO2015162735A1 (ja) 2015-10-29

Family

ID=54331924

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/061477 WO2015162735A1 (ja) 2014-04-23 2014-04-23 通信装置、サーバ、通信システム及び通信方法

Country Status (3)

Country Link
US (1) US10044523B2 (ja)
JP (1) JP6308295B2 (ja)
WO (1) WO2015162735A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333019A (zh) * 2020-10-30 2021-02-05 展讯半导体(成都)有限公司 路由器的配置、测试方法及系统和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043374A (ja) * 2005-08-02 2007-02-15 Matsushita Electric Ind Co Ltd Ip通信装置及びそれを備えた構内ネットワークシステム並びにip通信装置の制御方法
JP2008085470A (ja) * 2006-09-26 2008-04-10 Fujitsu Ltd Ipアプリケーションサービス提供システム
JP2008236297A (ja) * 2007-03-20 2008-10-02 Matsushita Electric Ind Co Ltd Ip通信装置及びip通信システム並びにこれらのip通信方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200408242A (en) 2002-09-06 2004-05-16 Matsushita Electric Ind Co Ltd Home terminal apparatus and communication system
JP3640664B2 (ja) 2002-09-06 2005-04-20 松下電器産業株式会社 宅内端末装置及び通信システム
US7694343B2 (en) * 2002-11-27 2010-04-06 Symantec Corporation Client compliancy in a NAT environment
WO2006003874A1 (ja) * 2004-06-30 2006-01-12 Matsushita Electric Industrial Co., Ltd. 通信装置、通信設定方法、通信設定プログラム及び通信設定プログラムを記録した記録媒体
JP2005130453A (ja) 2004-08-03 2005-05-19 Matsushita Electric Ind Co Ltd 宅内端末装置及び通信システム
US9369302B1 (en) * 2008-06-24 2016-06-14 Amazon Technologies, Inc. Managing communications between computing nodes
KR20130052240A (ko) * 2011-11-11 2013-05-22 삼성전자주식회사 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043374A (ja) * 2005-08-02 2007-02-15 Matsushita Electric Ind Co Ltd Ip通信装置及びそれを備えた構内ネットワークシステム並びにip通信装置の制御方法
JP2008085470A (ja) * 2006-09-26 2008-04-10 Fujitsu Ltd Ipアプリケーションサービス提供システム
JP2008236297A (ja) * 2007-03-20 2008-10-02 Matsushita Electric Ind Co Ltd Ip通信装置及びip通信システム並びにこれらのip通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333019A (zh) * 2020-10-30 2021-02-05 展讯半导体(成都)有限公司 路由器的配置、测试方法及系统和可读存储介质
CN112333019B (zh) * 2020-10-30 2022-08-16 展讯半导体(成都)有限公司 路由器的配置、测试方法及系统和可读存储介质

Also Published As

Publication number Publication date
JP6308295B2 (ja) 2018-04-11
US10044523B2 (en) 2018-08-07
US20170019270A1 (en) 2017-01-19
JPWO2015162735A1 (ja) 2017-04-13

Similar Documents

Publication Publication Date Title
JP4334534B2 (ja) ブリッジ装置及びブリッジシステム
JP5821576B2 (ja) 中継装置および電子機器の起動方法
US9866448B2 (en) Electronic device and method for DNS processing
US7839807B2 (en) Communication apparatus, method executed by communication apparatus, and storage medium storing software for executing method
JP6290053B2 (ja) 通信装置、通信システムおよび通信方法
JP2008510413A (ja) ユニバーサルプラグアンドプレイ通信方法及び装置
WO2006013811A1 (ja) 情報処理システム、情報処理装置、サーバ装置、情報処理方法及びプログラム
JP6085962B2 (ja) 管理装置及びアドレス管理方法
JP2013041541A (ja) 通信装置及びプログラム
JP6308295B2 (ja) 通信装置、サーバ、通信システム及び通信方法
JP2009517938A (ja) ネットワークアドレス変換を自動的に実行するローカルネットワークで実行するアプリケーションを検出する装置及び方法
JP3960321B2 (ja) 電子機器
JP6458512B2 (ja) 通信機器
JP4085394B2 (ja) 通信端末装置及び通信方法
JP6411262B2 (ja) 制御装置およびシステム
JP6119187B2 (ja) 管理装置、アドレス情報管理プログラム及びアドレス情報管理システム
JP6002642B2 (ja) 通信ノード及びネットワークシステム及び機器制御方法
JP2011114805A (ja) 通信装置及び方法、並びにプログラム
JP5588894B2 (ja) レイヤ2アドレスキャッシュ更新制御方法、装置及びプログラム
JP4721782B2 (ja) 通信管理装置および通信システム
US20150163136A1 (en) Information processing apparatus, activating apparatus, activating system, and activating method
WO2015008541A1 (ja) 通信装置、通信方法、及びプログラム
JP6433240B2 (ja) 通信装置、通信装置の制御方法、コンピュータプログラム
US20080244063A1 (en) Automatically detecting managed servers in a network
US9923864B2 (en) Information process device, information process method and program for executing information process device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14889861

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016514623

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14889861

Country of ref document: EP

Kind code of ref document: A1