WO2017159645A1 - ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラムが記憶された記憶媒体 - Google Patents

ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラムが記憶された記憶媒体 Download PDF

Info

Publication number
WO2017159645A1
WO2017159645A1 PCT/JP2017/010068 JP2017010068W WO2017159645A1 WO 2017159645 A1 WO2017159645 A1 WO 2017159645A1 JP 2017010068 W JP2017010068 W JP 2017010068W WO 2017159645 A1 WO2017159645 A1 WO 2017159645A1
Authority
WO
WIPO (PCT)
Prior art keywords
setting
port mapping
network address
address translation
mapping
Prior art date
Application number
PCT/JP2017/010068
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 US16/079,601 priority Critical patent/US20190089675A1/en
Priority to JP2018505929A priority patent/JP6558492B2/ja
Priority to CN201780017794.4A priority patent/CN109076022B/zh
Publication of WO2017159645A1 publication Critical patent/WO2017159645A1/ja

Links

Images

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/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/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/2517Translation of Internet protocol [IP] addresses using port numbers
    • 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/2521Translation architectures other than single NAT servers
    • 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/2582NAT traversal through control of the NAT server, e.g. using universal plug and play [UPnP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Definitions

  • the present invention relates to a network address translation (NAT) device, a setting request device, a communication system, a communication method, and a program, and in particular, a network capable of setting port mapping using a PCP (Port Control Protocol).
  • NAT network address translation
  • PCP Port Control Protocol
  • the present invention relates to an address translation device, a setting requesting device that requests setting of port mapping using PCP, a communication system including these devices, a communication method, and a program.
  • NAT Network Address Translation
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • CGNAT Carrier Grade
  • FIG. 13 is a sequence diagram illustrating the operation of the communication system according to the related technology.
  • a CGN device is a device that performs CGNAT (CGN).
  • the PCP (Port Control Protocol) setting control device sets port mapping information instructed by a subscriber device (for example, a PC (Personal Computer)) in the CGN device.
  • the PCP setting control device uses PCP (Port Control Protocol), which is a standard-compliant protocol defined in RFC (Request for Comments) 6877 (Non-patent Document 1).
  • the CGN device confirms that the combination of the public IP address and public port number included in the port mapping information is not used by other port mappings set for the CGN device. Set port mapping and send back a PCP MAP response message to notify success. On the other hand, if a pair of public IP address and public port number is already used in the port mapping set for another device, the CGN device will send a PCP MAP response to notify the PCP setting control device of the setting failure. Reply message. Further, the PCP setting control device stores and holds the set port mapping.
  • the CGN device In addition to NAT-converting the data flow from the subscriber device, the CGN device also sets the private IP that is set for the data flow addressed to the set of port mapping public IP address and public port number set by PCP MAP. Performs NAT conversion as communication to a pair of address and private port number.
  • the CGN device assigns a pair of unused public IP address and public port and dynamically performs port mapping. Generate and transfer the packet after NAT conversion. On the other hand, if the packet is received from an external node, the CGN device discards the packet.
  • RFC6888 (Non-Patent Document 2) stipulates common requirements for CGNAT.
  • RFC6333 (Non-patent Document 3) describes Dual-Stack Lite technology that enables broadband service providers to share IPv4 (Internet Protocol version 4) addresses among customers.
  • RFC4787 (Non-Patent Document 4) defines an Endpoint-Independent Mapping method and an Endpoint-Independent Filtering method.
  • Non-Patent Documents 1-4 The entire disclosure of Non-Patent Documents 1-4 above is incorporated herein by reference. The following analysis was made by the present inventors.
  • Process (1) The CGN device transmits a PCP ANNOUNCE response message to the PCP setting control device (step 1 in FIG. 13).
  • Process (2) When a packet flow arrives, the CGN device performs dynamic port mapping and performs immediate NAT transfer (steps 2 to 6 in FIG. 13).
  • Process (3) When a PCP MAP request message arrives from the PCP setting control device, the CGN device sets static port mapping (steps 7 to 10 in FIG. 13).
  • the PCP setting control device resets the static port mapping in the CGN device by sending a PCP MAP request triggered by the PCP ANNOUNCE response message (step 1 in Fig. 13) of (1) (see Fig. 13). 13 Step 7 transmission).
  • the problem in this case is that the combination of the public IP address and public port number assigned to the packet flow by the dynamic port mapping in the process (2) is specified by the static port mapping in the process (3). There is a possibility of conflict with a set of public ⁇ ⁇ IP address and public port number. This conflict is detected at the timing of step 8 in FIG.
  • the packet transfer can be continued using another appropriate port number in the process (2).
  • An object of the present invention is to provide a network address translation device, a setting request device, a communication system, a communication method, and a program that contribute to solving the problem.
  • a network address translation device includes a mapping setting unit that sets static port mapping in response to a request from a setting requesting device that requests setting of static port mapping, and the mapping setting unit.
  • a flow transmission unit that performs address conversion on a packet flow from a subscriber device based on the set static port mapping and transmits the flow, and the flow transmission unit, when the network address conversion device is restarted, The packet flow is discarded until a notification that the resetting of static port mapping for the network address translation device is completed is received from the setting requesting device.
  • the setting request apparatus provides a static address mapping apparatus that performs address conversion on a packet flow from a subscriber apparatus based on a set static port mapping and transmits the packet address to the network address conversion apparatus.
  • a static address mapping apparatus that performs address conversion on a packet flow from a subscriber apparatus based on a set static port mapping and transmits the packet address to the network address conversion apparatus.
  • a communication system includes a setting requesting device that requests setting of static port mapping, a static port mapping that is set according to a request from the setting requesting device, and the set static port
  • a network address translation device that performs address translation on a packet flow from a subscriber device based on the mapping, and transmits the static port mapping to the network address translation device when the network address translation device is restarted The packet flow is discarded until a notification to the effect that the resetting is completed is received from the setting requesting device.
  • the communication method sets static port mapping in response to a request from a setting requesting device that requests setting of static port mapping, and subscribers are set based on the set static port mapping.
  • a network address translation device that performs address translation on the packet flow from the device and transmits it, and a notification that resetting of static port mapping to the network address translation device is completed after the reboot Receiving from the setting requesting device, and discarding the packet flow until the notification is received.
  • a program sets a static port mapping in response to a request from a setting requesting device that requests setting of static port mapping, and a subscriber device based on the set static port mapping Processing for restarting the computer provided in the network address translation device that performs address translation on the packet flow from the network, and resetting the static port mapping for the network address translation device after the restart.
  • a process of receiving a notification of completion from the setting requesting device and a process of discarding the packet flow until the notification is received are executed.
  • the program can also be provided as a program product recorded in a non-transitory computer-readable storage medium.
  • the packet transmitted from the external node can reach the subscriber device when the network address translation device is restarted. be able to.
  • FIG. 1 is a block diagram illustrating the configuration of a network address translation device 2 according to an embodiment.
  • the network address translation device 2 (for example, the CGN device 11 in FIGS. 3 and 12) requests a setting request device (for example, the PCP setting control device 21 in FIG. Mapping setting unit 4 for setting static port mapping in response to a request from the subscriber unit 31-33), and a subscriber unit (for example, FIG. 3) based on the static port mapping set in the mapping setting unit 4.
  • a flow transmission unit 6 that performs address conversion (for example, NAT, NAPT, CGNAT) on the packet flow from the subscriber apparatus 31-33 in FIG.
  • the flow transmission unit 6 receives a notification from the setting request device that the reset of static port mapping for the network address translation device 2 has been completed. Discard the packet flow.
  • FIG. 2 is a block diagram illustrating the configuration of the setting request apparatus 8 according to an embodiment.
  • the setting requesting device 8 for example, the PCP setting control device 21 of FIG. 3 and the subscriber devices 31 to 33 of FIG. 12
  • the network address translation device for example, CGN device 11 in FIGS. 3 and 12
  • address translation for example, NAT, NAPT, CGNAT
  • a packet transmitted from an external node can surely reach the subscriber device. Because, when the network address translation device is restarted, the packet flow from the subscriber device is discarded until a notification indicating that the resetting of static port mapping for the network address translation device is completed is received from the setting request device. Therefore, the network address translation device can complete the static port mapping before performing dynamic port mapping for the packet flow from the subscriber device.
  • the network address translation device 2 and the setting request device 8 of the above-described embodiment correspond to a CGN device and a PCP setting control device, respectively, will be described in further detail.
  • the packet flow from the subscriber device such as a PC
  • the PCP setting control device preferably notifies the CGN device of the completion of setting of the PCPPCMAP request.
  • the PCP setting control device 21 notifies the CGN device 11 of the completion of the resetting.
  • a new message (step 9 in FIG. 11) may be added.
  • the CGN device 11 discards the packet flow and does not dynamically allocate a set of public IP address and public port (step 1, step 3, and step 4 in FIG. 11).
  • the CGN apparatus 11 carries out the setting of PCP MAP (Step 5 to Step 8 in FIG. 11). As a result, the reconfiguration of PCP MAP is successful.
  • the CGN device 11 starts forwarding the packet flow (step 10 in FIG. 11 and steps 13 to 16).
  • the CGN device 11 may start forwarding the packet flow as usual when a certain time has elapsed after the restart ( Step 12 in FIG.
  • the PCP setting control device 21 cannot notify the completion of resetting due to some trouble, it is possible to provide a normal NAT conversion function.
  • the structure of the communication system of this embodiment is demonstrated.
  • the communication system of this embodiment includes the following devices. ⁇ CGN device 11 -PCP setting control device 21 External nodes 41 and 42 ⁇ Subscriber equipment 31-33
  • the CGN device 11 is a carrier grade NAT (CGNAT, CGS) device, and is a device that expands the function of a general NAT device and can accommodate a plurality of users.
  • the requirements for the CGS device are defined in RFC6888 (Non-Patent Document 2).
  • FIG. 4 is a block diagram illustrating a more detailed configuration of the CGN device 11 and the PCP setting control device 21.
  • the CGN device 11 includes a timer 1101, a mapping setting unit 4, and a flow transmission unit 6.
  • Timer 1101 has a timekeeping function.
  • the mapping setting unit 4 sets port mapping dynamically or statically and holds port mapping information set dynamically or statically.
  • the CGN device 11 has a “packet discard state” as an internal state. When the internal state is on, the flow transmitter 6 discards all the packets received from the links 131-133 and 140 in FIG. On the other hand, when the internal state is off, the flow transmitter 6 performs normal processing on the packet flow.
  • the PCP setting control device 21 is a device serving as a window for port mapping setting requests from the subscriber devices 31-33. Referring to FIG. 4, the PCP setting control device 21 includes a database 2101, a request unit 10, and a notification unit 12.
  • the request unit 10 sets port mapping in the CGN device 11 according to instructions from the subscriber devices 31-33.
  • the database 2101 stores static port mapping information instructed from the subscriber devices 31-33.
  • the notification unit 12 notifies the CGN device 11 when the resetting of static port mapping for the CGN device 11 is completed.
  • External nodes 41 and 42 are nodes on an external network such as the Internet.
  • Subscriber devices 31-33 are devices capable of IP (Internet Protocol) communication such as PCs (Personal Computers) and smartphones (smartphones).
  • IP Internet Protocol
  • the subscriber devices 31-33 are connected to the CGN device 11 via links 131-133, respectively.
  • the link 131-133 is a link using a DS-Lite (Dual-Stack Lite) tunnel (RFC 6333, Non-Patent Document 3) or an IP address that can be used corresponding to the subscriber device 31-33.
  • DS-Lite Direct-Stack Lite
  • IP address IP address that can be used corresponding to the subscriber device 31-33.
  • the CGN device 11 can identify which subscriber device has transmitted by examining the packet received from the subscriber devices 31-33 according to the link method. Further, it is assumed that the CGN device 11 knows a method of transmitting a packet to a specific subscriber device based on the subscriber identification information in accordance with the subscriber identification method. In the present embodiment, the specific method for forming the link is not particularly limited.
  • the subscriber devices 31-33 have a connection means with the PCP setting control device 21.
  • the connection means is not limited. As an example, a method via a dedicated link (or network) 231-233 for connection is conceivable.
  • the CGN device 11 is connected to the external nodes 41 and 42 via the links 140-142.
  • a general IP network can be used as the links 140-142.
  • the PCP setting control device 21 is connected to the CGN device 11 via the link 121.
  • the PCP setting control device 21 sets the port mapping information instructed from the subscriber devices 31-33 in the CGN device 11 using the PCP protocol.
  • the PCP protocol is standardized by RFC6887 (Non-Patent Document 1). In this embodiment, a PCP protocol that is an extension of RFC6887 is used.
  • a term relating to a data flow, a definition of the data flow, and a method for determining whether or not the data flow are the same are defined.
  • the subscriber device 31 and the external node 41 are shown as an example, but the same description applies to other subscriber devices and external nodes.
  • Outbound means the direction from the subscriber unit 31 to the external node 41 (1 in FIG. 5).
  • inbound refers to the direction from the external node 41 to the subscriber device 31 (2 in FIG. 5).
  • the data flow is a series of packet flows determined by the CGN device 11. There are multiple ways to define a data flow. In this embodiment, for the sake of simplicity, the data flows are distinguished by a method that does not distinguish the IP address and port number on the external node 41 side.
  • the CGN device 11 distinguishes the data flow by the following triplet (11 in FIG. 5). -Source IP address-Source port number-Transport protocol
  • the CGN device 11 distinguishes the data flow by the following triplet (12 in FIG. 5). -Destination IP address-Destination port number-Transport protocol
  • an outbound packet (source IP address, source port number, transport protocol) between the CGN device 11 and the external node 41 and an inbound packet (destination IP address, destination port number, transport protocol) If these match, the CGN device 11 combines these series of outbound packets and the series of inbound packets to determine one data flow (13 in FIG. 5).
  • the CGN device 11 performs data flow in four groups by adding the following to the conditions of the packet between the CGN device 11 and the external node 41. Are distinguished (14, 15 in FIG. 5). ⁇ Subscriber identification information
  • the outbound packet (source IP address, source port number, transport protocol, subscriber identification information) and inbound packet (destination IP address, destination port number,
  • the CGN device 11 combines these series of outbound packets and the series of inbound packets into one data flow (16 in FIG. 5).
  • the CGN device 11 combines these series of packets into one data flow (17 and 18 in FIG. 5).
  • the private IP address is the IP address of the subscriber device 31.
  • a private IP address is guaranteed to be unique only within a subscriber network. Therefore, duplicate values can be used for private IP addresses between different subscribers.
  • the private port number is a port number assigned by the subscriber device 31 within the own device.
  • the public IP address is an IP address that the CGN device 11 pools for NAT conversion.
  • one CGN device 11 has a plurality of public IP addresses.
  • the public port number is a port number managed by the CGN device 11 in association with the public port IP address.
  • the CGN device 11 assigns a set of public IP address and public port number to correspond to the data flow between the subscriber device 31 and the CGN device 11. In the data flow definition method employed in this embodiment, one public port number corresponds to one data flow.
  • Port mapping is data held by the CGN device 11 and is used for performing NAT conversion.
  • the CGN device 11 associates the data flow between the subscriber device 31 and the CGN device 11 with the data flow between the CGN device 11 and the external node 41.
  • the port mapping includes the following information. ⁇ Subscriber identification information ⁇ Private IP address ⁇ Private port number ⁇ Transport protocol ⁇ Public IP address ⁇ Public port number
  • a set of (private IP address, private port number, transport protocol, subscriber identification information) represents the data flow between the subscriber device 31 and the CGN device 11. Identify.
  • a set of (public IP address, public port number, transport protocol) specifies the data flow between the CGN device 11 and the external node 41. These data flows, that is, the data flow between the subscriber device 31 and the CGN device 11 and the data flow between the CGN device 11 and the external node 41 are identified as one data flow.
  • Port mapping is classified into dynamic port mapping and static port mapping according to the generation method.
  • Dynamic port mapping is port mapping that is dynamically generated on the CGN device 11 by using an outbound packet transmitted by the subscriber device 31 as a trigger.
  • the dynamic port mapping is automatically deleted when the CGN device 11 is restarted and when the CGN device 11 determines that the corresponding data flow packet stops flowing.
  • static port mapping is port mapping that is set on the CGN device 11 when the PCP setting control device 21 sends a PCP MAP request message to the CGN device 11.
  • the static port mapping is set and deleted by an explicit instruction from the PCP setting control device 21.
  • the static port mapping is automatically deleted.
  • the mapping setting unit 4 of the CGN device 11 holds a plurality of port mappings as data.
  • the flow transmission unit 6 of the CGN apparatus 11 receives a packet transmitted from the subscriber apparatus 31 or the external node 41, performs NAT conversion while referring to the held port mapping information, and transfers the packet.
  • Outbound packet processing also triggers the generation of dynamic port mapping.
  • a plurality of applications are running on the subscriber devices 31-33, and communicate with the external nodes 41 and 42, respectively. Each application uses a specified transport protocol, and communicates with the external nodes 41 and 42 using different private port numbers.
  • the CGN device 11 receives the outbound packet transmitted by the subscriber devices 31-33 via the link 131 in FIG. 3 (step 1 in FIG. 6).
  • the CGN apparatus 11 performs various processes (step 2-4 in FIG. 6) to be described later with reference to FIG. 7 on the outbound packet, and then passes through the links 140 and 141 in FIG. The outbound packet is transmitted to the destination (step 5 in FIG. 6).
  • the CGN device 11 When the outbound packet is received (step 1 in FIG. 7), the CGN device 11 first checks its own packet discard mode (step 2 in FIG. 7).
  • the flow transmission unit 6 of the CGN device 11 discards the received packet (step 3 in FIG. 7) and ends the process.
  • the flow transmitter 6 of the CGN device 11 extracts the source IP address, source port number, transport protocol number, and subscriber identification information from the packet.
  • the flow transmission unit 6 of the CGN apparatus 11 searches for port mapping held by the mapping setting unit 4 of the CGN apparatus 11 using these as search keys (step 4 in FIG. 7).
  • the process branches (step 5 in FIG. 7). If there is no match, the mapping setting unit 4 of the CGN apparatus 11 first assigns a pair of an unused public IP address and public port number to generate a new dynamic port mapping (step of FIG. 7). 6). Next, the mapping setting unit 4 of the CGN device 11 generates a new dynamic port mapping in combination with the value extracted from the received packet (step 7 in FIG. 7).
  • the flow transmitter 6 of the CGN device 11 performs source NAT conversion on the received packet using the port mapping newly generated in step 7 or the port mapping hit in the search in step 4 (step in FIG. 7). 8). Further, the flow transmitter 6 of the CGN device 11 transmits the packet toward the external node (step 9 in FIG. 7).
  • FIG. 3 is referred to as appropriate.
  • the subscriber unit 31-33 instructs the port mapping setting request to the PCP setting control unit 21 via the link 231 in FIG. 3 (step 1 in FIG. 8).
  • the request unit 10 of the PCP setting control device 21 converts the request content into a PCP MAP request message and transmits it to the CGN device 11 using the link 121 in FIG. 3 (step 2 in FIG. 8).
  • the mapping setting unit 4 of the CGN device 11 checks whether the port mapping requested by the PCP MAP overlaps with the port mapping already held by the CGN device 11 (step 3 in FIG. 8). When two port mappings overlap, the combination of (subscriber identification information, private IP address, private port number, transport protocol) in the elements of port mapping is the same, or (transport protocol, public IP address and public port number) are the same.
  • the mapping setting unit 4 of the CGN device 11 sets the data in the CGN device 11 as static port mapping. (Step 4 in FIG. 8). On the other hand, if there are duplicates, the mapping setting unit 4 of the CGN apparatus 11 does not hold the data.
  • mapping setting unit 4 of the CGN device 11 returns the success or failure of registration as a PCP-MAP response message (step 5 in FIG. 8).
  • FIG. 3 is referred to as appropriate.
  • the external nodes 41, 42 respond to communications received from the subscriber units 31-33, or the external nodes 41, 42 access the server on the subscriber units 31-33, so that the link 140 of FIG. An inbound packet is transmitted to the CGN apparatus 11 via -142 (step 1 in FIG. 9).
  • the flow transmission unit 6 of the CGN device 11 that has received the inbound packet performs various processes (steps 2 and 3 in FIG. 9) described later with reference to FIG. 10, and then via the link 131 in FIG. 3, An inbound packet is transmitted to the subscriber devices 31 and 32 (step 4 in FIG. 9).
  • the flow transmission unit 6 of the CGN apparatus 11 first checks its own packet discard mode (step 2 in FIG. 10).
  • the flow transmission unit 6 of the CGN device 11 discards the received packet (step 3 in FIG. 10) and ends the process.
  • the flow transmission unit 6 of the CGN device 11 extracts the destination IP address, the destination port number, and the transport protocol number from the packet.
  • the flow transmission unit 6 of the CGN apparatus 11 searches for port mapping held by the mapping setting unit 4 of the CGN apparatus 11 using these as search keys (step 4 in FIG. 10).
  • the process branches (step 5 in FIG. 10). If there is no match, the flow transmission unit 6 of the CGN apparatus 11 discards the received inbound packet (step 6 in FIG. 10) and ends the process.
  • the flow transmission unit 6 of the CGN apparatus 11 performs destination NAT conversion on the received packet using the hit port mapping (step 7 in FIG. 10). Further, the flow transmitter 6 of the CGN device 11 transmits the packet toward the subscriber device 31 (step 8 in FIG. 10).
  • FIG. 3 is referred to as appropriate.
  • the CGN device 11 When the CGN device 11 is restarted, the CGN device 11 starts processing in the packet discard state on (step 1 in FIG. 11). At this time, the CGN device 11 starts the timer 1101 waiting for MAP_COMPLETE. Further, the mapping setting unit 4 of the CGN device 11 sets all the port mapping information to a cleared state.
  • the mapping setting unit 4 of the CGN apparatus 11 transmits a PCP ANNOUNCE response message to the PCP setting control apparatus 21 via the link 121 of FIG. 3 (step 2 of FIG. 11).
  • a subscriber device for example, the subscriber device 31 that does not recognize the restart of the CGN device 11 can transmit an outbound packet to the CGN device 11 via the link (for example, the link 131) in FIG. (Step 3 in FIG. 11).
  • the flow transmitter 6 of the CGN device 11 that has received the outbound packet in this state discards the received packet because the packet discarding state is on (step 4 in FIG. 11).
  • the request unit 10 of the PCP setting control device 21 When the request unit 10 of the PCP setting control device 21 receives the PCP ANNOUNCE response message and determines that the CGN device 11 has been restarted, it reads static port mapping information from the information held by the PCP setting control device 21. All of them are set by transmitting the PCP MAP request message to the CGN device 11 (step 5 in FIG. 11).
  • the mapping setting unit 4 of the CGN device 11 Upon receiving the PCP MAP request message, the mapping setting unit 4 of the CGN device 11 performs the same processing as the static port mapping information of FIG. 8, and sets only non-overlapping port mapping information to itself (step 6 of FIG. 11). 7).
  • mapping setting unit 4 of the CGN device 11 transmits the processing result to the PCP setting control device 21 by a PCP MAP response message (step 8 in FIG. 11).
  • the notification unit 12 of the PCP setting control device 21 that has set all the static port mappings transmits a PCP ANNOUNCE request message in which the MAP_COMPLETE option newly defined in the present embodiment is set to the CGN device 11 (FIG. 11). Step 9).
  • the mapping setting unit 4 of the CGN device 11 cancels the packet discard mode (step 10 in FIG. 11) and returns a PCP response message (step 11 in FIG. 11).
  • the CGN device 11 cancels the packet discard mode when the timer waiting for the MAP_COMPLETE expires (a predetermined period has elapsed) (step 12 in FIG. 11). .
  • the flow transmission unit 6 of the CGN apparatus 11 performs port mapping search (step 14 in FIG. 11) and transmission source NAT conversion (step 15 in FIG. 11), and transmits the packet to the external node 41 (in FIG. 11). Step 16).
  • the generation of dynamic port mapping by the outbound packet does not conflict with the setting of the static port mapping from the PCP setting control device. This ensures that the static port mapping that was available before the CGN device was restarted can be used after the CGN device is restarted.
  • the PCP message disappears in the middle of the communication path, or the PCP setting control device that does not support MAP_COMPLETE is combined with the CGN device according to the operation of this embodiment. Even in this case, the data flow transfer can be resumed after a certain time.
  • the transfer of the data flow can be resumed as soon as the PCP setting control device completes the reconfiguration of the PCP MAP. Therefore, when the CGN device is restarted, the period during which the CGN device stops transferring the data flow can be shortened.
  • the subscriber devices 31-33 set the port mapping in the CGN device 11 via the PCP setting control device 21.
  • the subscriber apparatuses 31-33 transmit a PCP MAP request message directly to the CGN apparatus 11 without going through the PCP setting control apparatus 21.
  • FIG. 12 is a diagram illustrating a network configuration of the communication system according to the present embodiment.
  • the communication system of the present embodiment has a configuration in which the PCP setting control device 21 is deleted from the communication system of the first embodiment shown in FIG.
  • the subscriber devices 31-33 have the static port mapping database (or nonvolatile storage unit) 2101 (FIG. 3) provided in the PCP setting control device 21 of the first embodiment. (Databases 3101, 3201, 3301 in FIG. 12).
  • Each of the subscriber devices 31-33 directly transmits a port mapping request PCP ⁇ ⁇ ⁇ ⁇ ⁇ MAP request message on the links 131-133 connected to the CGN device 11. Also, the CGN device 11 returns a PCP MAP response message via these links 131-133. Similarly, PCP ANNOUNCE messages are also sent and received using these links 131-133.
  • the CGN device 11 can grasp information about all the subscriber devices 31-33.
  • the CGN device 11 when the CGN device 11 is restarted, either the MAP_COMPLETE is received from all the subscriber devices 31-33, or the timer waiting for the MAP_COMPLETE expires. Block the data flow transfer until the earlier time. Thereafter, the CGN apparatus 11 starts data flow transfer.
  • the packets transmitted from the external nodes 41 and 42 can surely reach the subscriber devices 31-33. It becomes. This is because when the CGN device 11 is restarted, a notification that the resetting of static port mapping for the CGN device 11 has been completed is received from the subscriber device 31-33, or the time measured by the timer has elapsed. Until then, the packet flow from the subscriber unit 31-33 is discarded, and the CGN unit 11 completes the static port mapping before performing dynamic port mapping for the packet flow from the subscriber unit 31-33. Because it can.
  • the CGN device stores the IP address of the PCP setting control device as the destination of the PCP ANNOUNCE response message even after restarting.
  • the CGN device receives the MAP_COMPLETE option from all PCP setting control devices or the timer waiting for MAP_COMPLETE expires, whichever comes first, which is the earlier timing, and normal packet transfer To start.
  • the method of placing the MAP_COMPLETE option in the PCP ANNOUNCE request message has been described.
  • the PCP setting control apparatus may consider a method of placing a MAP_COMPLETE option in response to a PCP MAP request message instructing the last one setting of the static mapping to be reset.
  • MAP_COMPLETE option based on a standard PCP protocol defined in RFC6887 (Non-Patent Document 1) is shown.
  • Non-Patent Document 1 Non-Patent Document 1
  • ⁇ Modification 6> in the first and second embodiments, in order to simplify the description, a method of identifying an outbound data flow by four types of subscriber identification information, private IP address, private port number, and transport protocol is shown. This is a method for realizing the Endpoint-Independent Mapping method defined in RFC4787 (Non-Patent Document 4). We also showed how to identify the inbound data flow by public IP address, public port number, and transport protocol. This is a method for realizing the Endpoint-Independent Filtering method defined in RFC4787. However, in addition to Endpoint-Independent Mapping, methods such as Address-Dependent Mapping and Address and Port-Dependent Mapping are also known as mapping methods.
  • the control can be simplified, and the problem (1) does not occur. Further, according to the above-described embodiment or modification, it is not necessary to add a non-volatile region, so the problem (2) does not occur.
  • the extension of the MAP_COMPLETE option in the above embodiment uses a reset detection mechanism in the PCP protocol, and it is only necessary to send a fixed message at the end of the reset process. Therefore, the invention according to the above embodiment can be applied without greatly modifying the existing CGN apparatus and PCP setting control apparatus.
  • the invention according to the above embodiment can be applied to the communication field using a NAT device that performs CGNAT as an example.
  • the network address translation device is as described above.
  • the flow transmitter discards the packet flow until a predetermined period of time elapses after the restart;
  • the network address translation device according to mode 1.
  • [Form 3] The network address according to mode 1 or 2, wherein the mapping setting unit sets static port mapping in response to a request from a setting requesting device that requests setting of static port mapping using PCP (Port Control Protocol). Conversion device.
  • the flow transmission unit receives the notification, or starts transmitting the packet flow when the predetermined period elapses. 3.
  • the network address translation device according to mode 1 or 2.
  • the mapping setting unit performs the resetting of the static port mapping until the notification is received or until the predetermined period elapses.
  • the network address translation device according to any one of Forms 1 to 4.
  • the mapping setting unit receives the notification or cancels the setting of dynamic port mapping for the packet flow received from the subscriber device until the predetermined period elapses.
  • the network address translation device according to any one of forms 1 to 5.
  • the setting request device requests the network address translation device to set port mapping in accordance with an instruction from the subscriber device.
  • the network address translation device according to any one of Forms 1 to 6.
  • the setting request device and the subscriber device are the same device.
  • [Form 9] CGN (Carrier Grade Network address translation) device, The network address translation device according to any one of Forms 1 to 8.
  • [Mode 10] It is as the setting request
  • the request unit requests setting of static port mapping using PCP (Port Control Protocol) to the network address translation device.
  • the setting request apparatus according to the tenth aspect.
  • the request unit requests the network address translation device to set a static port mapping in accordance with an instruction from the subscriber device; The setting request device according to the tenth or eleventh aspect.
  • [Form 13] The subscriber unit, The setting request device according to the tenth or eleventh aspect.
  • the communication system according to the third aspect is as described above.
  • FIG. 15 The communication method according to the fourth aspect is as described above.
  • FIG. 16 A program according to the fifth aspect.
  • FIG. 17 Static port mapping is set according to a request from a setting request device that requests setting of static port mapping using PCP (Port Control Protocol), and dynamic port mapping is received when a packet flow is received from a subscriber device.
  • the flow transmission unit transmits the packet flow until receiving a notification from the setting request device that static port mapping reconfiguration has been completed for the network address translation device.
  • Abandon Network address translation device.
  • Patent Document 1 and Non-Patent Documents 1-4 are incorporated herein by reference.
  • the embodiment can be changed and adjusted based on the basic technical concept.
  • various combinations or selections of various disclosed elements including each element of each claim, each element of each embodiment, each element of each drawing, etc.
  • the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea.
  • any numerical value or small range included in the range should be construed as being specifically described even if there is no specific description.
  • Network address conversion device 4 Mapping setting unit 6
  • Flow transmission unit 8 Setting request device 10
  • Request unit 11 CGN device 12
  • Notification unit 21 PCP setting control device 31-33 Subscriber device 41, 42

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

[課題]ネットワークアドレス変換装置が再起動した場合に、外部ノードから送信されたパケットを加入者装置に到達可能とすること。 [解決手段]ネットワークアドレス変換装置は、静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定するマッピング設定部と、マッピング設定部に設定された静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するフロー送信部とを備え、フロー送信部は、ネットワークアドレス変換装置が再起動した場合、ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を設定要求装置から受信するまで、パケットフローを破棄する。

Description

ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラムが記憶された記憶媒体
 本発明は、ネットワークアドレス変換(NAT: Network Address Translation)装置、設定要求装置、通信システム、通信方法およびプログラムに関し、特にPCP(Port Control Protocol)を用いてポートマッピングの設定を行うことが可能なネットワークアドレス変換装置、PCPを用いてポートマッピングの設定を要求する設定要求装置、これらの装置を備えた通信システム、通信方法およびプログラムに関する。
 IPv4(Internet Protocol version 4)アドレスの不足を補うため、ローカルなネットワークでprivate IPアドレスを使用し、インターネットに接続するときにpublic IPアドレス(ないしglobal IPアドレス)に変換するNAT(Network Address Translation)が使用されている。また、IPアドレスのみならずTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のポート番号も付け替えるNAPT(Network Address Port Translation)も導入され、1つのpublic IPアドレスで複数のホスト間の通信が可能となっている。
 さらに、近年ではIPv4アドレスの枯渇が深刻になってきており、通信事業者単位で(大規模に)NATを実施するために、一般的なNATの機能を拡張したキャリアグレードナット(CGNAT: Carrier Grade Network Address Translation, CGNともいう。)も用いられている。
 図13は、関連技術に係る通信システムの動作を例示するシーケンス図である。図13において、CGN装置は、CGNAT(CGN)を実施する装置である。PCP(Port Control Protocol)設定制御装置は、加入者装置(例えばPC(Personal Computer))から指示されたポートマッピング情報をCGN装置に設定する。PCP設定制御装置は、ポートマッピング情報をCGN装置に設定する際、RFC(Request for Comments)6887(非特許文献1)で定義される標準準拠のプロトコルであるPCP(Port Control Protocol)を使用する。
 CGN装置は、ポートマッピングの情報に含まれるpublic IPアドレスと、public port番号の組が、当該CGN装置に設定されている他のポートマッピングで使用されていないことを確認した上で、自装置にポートマッピングの設定を行い、成功を通知するPCP MAP応答メッセージを返信する。一方、public IPアドレスと、public port番号の組が、他装置に対して設定されたポートマッピングですでに使用されている場合、CGN装置は、PCP設定制御装置に設定失敗を通知するPCP MAP応答メッセージを返信する。また、PCP設定制御装置は、設定したポートマッピングを記憶保持する。
 CGN装置は、加入者装置からのデータフローをNAT変換するのに加えて、PCP MAPで設定されたポートマッピングのpublic IPアドレスとpublic port番号の組宛のデータフローについては、設定されたprivate IPアドレスとprivate port番号の組への通信としてNAT変換を行う。ポートマッピングにマッチしないデータフローを受信した場合、パケットが加入者装置側から受信したものであるとき、CGN装置は、未使用のpublic IPアドレスとpublic portの組を割り当て、動的にポートマッピングを生成し、NAT変換後にパケットを転送する。一方、パケットが外部ノードから受信したものである場合、CGN装置は、パケットを破棄する。
 なお関連技術として、RFC6888(非特許文献2)には、CGNATに対する共通の要求が規定されている。また、RFC6333(非特許文献3)には、ブロードバンドサービスプロバイダが顧客の間でIPv4(Internet Protocol version 4)アドレスを共有可能とするDual-Stack Lite技術が記載されている。さらに、RFC4787(非特許文献4)には、Endpoint-Independent Mapping方式およびEndpoint-Independent Filtering方式が定義されている。
国際公開第2012/133060号
Internet Engineering Task Force (IETF), Request for Comments: 6887, "Port Control Protocol (PCP)," April 2013, <URL: https://tools.ietf.org/html/rfc6887>. Internet Engineering Task Force (IETF), Request for Comments: 6888, "Common Requirements for Carrier-Grade NATs (CGNs)," April 2013, <URL: https://tools.ietf.org/html/rfc6888>. Internet Engineering Task Force (IETF), Request for Comments: 6333, "Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion," August 2011, <URL: https://tools.ietf.org/html/rfc6333>. Internet Engineering Task Force (IETF), Request for Comments: 4787, "Network Address Translation (NAT) Behavioral Requirements for Unicast UDP," January 2007, <URL: https://tools.ietf.org/html/rfc4787>.
 上記非特許文献1-4の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。
 標準準拠のPCP(Port Control Protocol)では、CGN(Carrier Grade Network address translation)装置が再起動した場合、CGN装置は、ポートマッピング情報を持たない状態から開始する。そして再起動後に、CGN装置は、以下の3つの処理(1)~(3)を並行して行う。図13を用いて説明する。
 処理(1):CGN装置は、PCP設定制御装置にPCP ANNOUNCE応答メッセージを送信する(図13のステップ1)。
 処理(2):パケットフローが到着した場合、CGN装置は、動的ポートマッピングを行い、即時NAT転送を実施する(図13のステップ2~ステップ6)。
 処理(3):PCP設定制御装置からPCP MAP要求メッセージが到着した場合、CGN装置は、静的ポートマッピングを設定する(図13のステップ7~ステップ10)。
 一方、PCP設定制御装置は、上記(1)のPCP ANNOUNCE応答メッセージ(図13のステップ1)をトリガに、PCP MAP要求を送信することで、CGN装置に静的ポートマッピングを再設定する(図13のステップ7の送信)。
 この場合の問題点は、処理(2)においてCGN装置がパケットフローに動的ポートマッピングによって割り当てたpublic IPアドレスとpublic port番号との組が、処理(3)における静的ポートマッピングで指定しているpublic IPアドレスとpublic port番号との組と競合する可能性があることである。この競合は、図13のステップ8のタイミングで検出される。
 処理(3)のタイミングが処理(2)のタイミングよりも早い場合、処理(2)では他の適当なport番号を使用してパケット転送を継続することが可能となる。
 一方、処理(2)のタイミングが処理(3)のタイミングよりも早い場合、静的ポートマッピングの設定は失敗する。静的ポートマッピングが失敗した場合、CGN装置の再起動前に設定していたpublic IPアドレスおよびport番号宛に外部ノードからパケットが送信されても、加入者装置(例えばPC)にはそのパケットは届かないという問題がある。
 すなわち、関連技術によると、ネットワークアドレス変換装置であるCGN装置が再起動した場合、静的ポートマッピングの再設定に失敗すると、外部ノードから加入者装置に送信したパケットが到達不能になるという問題がある。また、再設定に失敗した静的ポートマッピングと競合するポートマッピングが解放されない限り、元の静的ポートマッピングを復元することはできないという問題も生じる。
 そこで、ネットワークアドレス変換装置が再起動した場合に、外部ノードから送信されたパケットを加入者装置に到達可能とすることが課題となる。本発明の目的は、かかる課題解決に寄与するネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラムを提供することにある。
 本発明の第1の態様に係るネットワークアドレス変換装置は、静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定するマッピング設定部と、前記マッピング設定部に設定された静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するフロー送信部と、を備え、前記フロー送信部は、前記ネットワークアドレス変換装置が再起動した場合、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信するまで、前記パケットフローを破棄する。
 本発明の第2の態様に係る設定要求装置は、設定された静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するネットワークアドレス変換装置に対して、前記静的ポートマッピングの設定を要求する要求部と、前記ネットワークアドレス変換装置が再起動した場合、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了すると、その旨を前記ネットワークアドレス変換装置に通知する通知部と、を備えている。
 本発明の第3の態様に係る通信システムは、静的ポートマッピングの設定を要求する設定要求装置と、前記設定要求装置からの要求に応じて静的ポートマッピングを設定し、設定した静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するネットワークアドレス変換装置と、を備え、前記ネットワークアドレス変換装置は、再起動した場合、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信するまで、前記パケットフローを破棄する。
 本発明の第4の態様に係る通信方法は、静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定し、設定した静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するネットワークアドレス変換装置が、再起動するステップと、前記再起動後に、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信するステップと、前記通知を受信するまで、前記パケットフローを破棄するステップと、を含む。
 本発明の第5の態様に係るプログラムは、静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定し、設定した静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するネットワークアドレス変換装置に設けられたコンピュータに対して、再起動する処理と、前記再起動後に、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信する処理と、前記通知を受信するまで、前記パケットフローを破棄する処理と、を実行させる。なお、プログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することもできる。
 本発明に係るネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラムによると、ネットワークアドレス変換装置が再起動した場合に、外部ノードから送信されたパケットを加入者装置に到達可能とすることができる。
一実施形態に係るネットワークアドレス変換装置の構成を例示するブロック図である。 一実施形態に係る設定要求装置の構成を例示するブロック図である。 第1の実施形態に係る通信システムの構成を例示する図である。 第1の実施形態におけるPCP設定制御装置とCGN装置の構成を例示するブロック図である。 第1の実施形態におけるデータフローと、その同一性の判定方法を説明するための図である。 第1の実施形態におけるoutboundパケット処理の動作を例示するシーケンス図である。 第1の実施形態におけるCGN装置によるoutboundパケット処理の詳細動作を例示するフロー図である。 第1の実施形態における静的ポートマッピングの動作を例示するシーケンス図である。 第1の実施形態におけるinboundパケット処理の動作を例示するシーケンス図である。 第1の実施形態におけるCGN装置によるinboundパケット処理の詳細動作を例示するフロー図である。 一実施形態に係る通信システムにおけるCGN装置の再起動動作を例示するシーケンス図である。 第2の実施形態に係る通信システムの構成を例示する図である。 関連技術に係る通信システムにおけるCGN装置の再起動動作を例示するシーケンス図である。
 はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
 図1は、一実施形態に係るネットワークアドレス変換装置2の構成を例示するブロック図である。図1を参照すると、ネットワークアドレス変換装置2(例えば図3、図12のCGN装置11)は、静的ポートマッピングの設定を要求する設定要求装置(例えば図3のPCP設定制御装置21、図12の加入者装置31-33)からの要求に応じて静的ポートマッピングを設定するマッピング設定部4と、マッピング設定部4に設定された静的ポートマッピングに基づいて加入者装置(例えば図3、図12の加入者装置31-33)からのパケットフローにアドレス変換(例えばNAT, NAPT, CGNAT)を施して送信するフロー送信部6と、を備えている。フロー送信部6は、ネットワークアドレス変換装置2が再起動した場合、ネットワークアドレス変換装置2に対する静的ポートマッピングの再設定が完了した旨の通知を設定要求装置から受信するまで、加入者装置からのパケットフローを破棄する。
 図2は、一実施形態に係る設定要求装置8の構成を例示するブロック図である。図2を参照すると、設定要求装置8(例えば図3のPCP設定制御装置21、図12の加入者装置31-33)は、設定された静的ポートマッピングに基づいて加入者装置(例えば図3、図12の加入者装置31-33)からのパケットフローにアドレス変換(例えばNAT, NAPT, CGNAT)を施して送信するネットワークアドレス変換装置(例えば図3、図12のCGN装置11)に対して、静的ポートマッピングの設定を要求する要求部10と、ネットワークアドレス変換装置が再起動した場合、ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了すると、その旨をネットワークアドレス変換装置に通知する通知部12と、を備えている。
 かかるネットワークアドレス変換装置または設定要求装置によると、ネットワークアドレス変換装置が再起動した場合であっても、外部ノードから送信されたパケットを加入者装置に確実に到達させることが可能となる。なぜなら、ネットワークアドレス変換装置が再起動した場合、ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を設定要求装置から受信するまで、加入者装置からのパケットフローは破棄されるため、ネットワークアドレス変換装置は加入者装置からのパケットフローに対して動的ポートマッピングを行う前に静的ポートマッピングを完了することができるからである。
 上記一実施形態のネットワークアドレス変換装置2および設定要求装置8が、それぞれ、CGN装置およびPCP設定制御装置に相当する場合について、さらに詳細に説明する。この場合、PCPを用いてポートマッピングの設定を行うことが可能なCGN装置が再起動したときに、再起動直後には、加入者装置(PCなど)からのパケットフローの転送を実施せず、PCP MAP要求の設定が完了したことを通知するPCPメッセージの受信、または、再起動後一定時間の経過のいずれかを待って、パケットフローの転送を開始することが好ましい。また、PCP設定制御装置は、PCP MAP要求の設定完了をCGN装置に通知することが好ましい。
 図11を参照すると、CGN装置11がPCP設定制御装置21からのPCP MAPの再設定が完了したことを知るために、PCP設定制御装置21が、CGN装置11に再設定完了を通知するための新たなメッセージ(図11のステップ9)を追加してもよい。CGN装置11は、再起動後、パケットフローを破棄し、public IPアドレスとpublic portの組の動的な割り当てを行わない(図11のステップ1、ステップ3、ステップ4)。一方、CGN装置11は、PCP MAPの設定については実施する(図11のステップ5~ステップ8)。これにより、PCP MAPの再設定が成功する。また、CGN装置11は、設定完了を受信(図11のステップ9)した後、パケットフローの転送を開始(図11のステップ10、および、ステップ13~ステップ16)する。
 さらに、CGN装置11は、PCP MAPの再設定完了を知らせるメッセージを受信しない場合であっても、再起動後に一定時間が経過した時点で、パケットフローを通常通り転送し始めるようにしてもよい(図11のステップ12)。これにより、PCP設定制御装置21が何らかのトラブルにより再設定完了を通知できない場合であっても、通常のNAT変換機能を提供することが可能となる。
<実施形態1>
 次に、第1の実施形態に係る通信システムについて、図面を参照して説明する。本実施形態では、CGN装置を用いて、プライベートネットワーク内の加入者装置と、外部ネットワーク内の外部ノードを接続する場合を想定する。
[構成] 
 図3を参照して、本実施形態の通信システムの構成について説明する。図3に示すように、本実施形態の通信システムは、以下の装置を備えている。
・CGN装置11
・PCP設定制御装置21
・外部ノード41、42
・加入者装置31-33
 CGN装置11は、キャリアグレードのNAT(CGNAT, CGS)装置であり、一般的なNAT装置の機能を拡張し、複数のユーザを収容可能にした装置である。CGS装置に対する要求条件は、RFC6888(非特許文献2)で規定されている。図4は、CGN装置11およびPCP設定制御装置21のより詳細な構成を例示するブロック図である。図4を参照すると、CGN装置11はタイマ1101、マッピング設定部4、および、フロー送信部6を備えている。
 タイマ1101は、計時機能を有する。また、マッピング設定部4は、動的または静的にポートマッピングを設定するとともに、動的または静的に設定されたポートマッピング情報を保持する。さらに、CGN装置11は、内部状態として「パケット破棄状態」を有する。内部状態がonの場合、フロー送信部6は、図3のリンク131-133、140から受信したパケットをすべて破棄する。一方、内部状態がoffの場合、フロー送信部6は、パケットフローに対する通常の処理を行う。
 PCP設定制御装置21は、加入者装置31-33からの、ポートマッピングの設定の要求の窓口となる装置である。図4を参照すると、PCP設定制御装置21は、データベース2101、要求部10、および、通知部12を備えている。
 要求部10は、加入者装置31-33の指示に従ってCGN装置11にポートマッピングの設定を実施する。データベース2101は、加入者装置31-33から指示された静的ポートマッピング情報を蓄積する。通知部12は、CGN装置11が再起動した場合、CGN装置11に対する静的ポートマッピングの再設定が完了すると、その旨をCGN装置11に通知する。
 外部ノード41、42は、インターネットなどの外部ネットワーク上のノードである。
 加入者装置31-33は、PC(Personal Computer)やスマートフォン(スマホ)などのIP(Internet Protocol)通信が可能な装置である。
 次に、装置間の接続構成について説明する。
 加入者装置31-33は、それぞれリンク131-133を介してCGN装置11と接続する。
 リンク131-133のリンクとしては、DS-Lite(Dual-Stack Lite)トンネル(RFC 6333、非特許文献3)を用いたものや、加入者装置31-33に対応して使用可能なIPアドレスを限定する方法などの幾つかの方法が知られている。いずれの方法でも、CGN装置11は、リンクの方式に応じて、加入者装置31-33から受信したパケットを調べることにより、いずれの加入者装置が送信したものかを識別することができる。また、CGN装置11は、加入者識別の方法に応じて、加入者の識別情報を基に、特定の加入者装置宛にパケットを送信する方法を知っているものとする。なお、本実施形態では、リンクの具体的な形成方法は特に問わない。
 加入者装置31-33は、PCP設定制御装置21との接続手段を持つ。本実施形態では、その接続手段は問わない。一例として、接続用の専用のリンク(ないしネットワーク)231-233を経由する方法が考えられる。
 CGN装置11は、リンク140-142を介して外部ノード41、42と接続される。リンク140-142として、例えば、一般的なIPネットワークを使用することができる。
 PCP設定制御装置21は、リンク121を介してCGN装置11と接続される。PCP設定制御装置21は、加入者装置31-33から指示されたポートマッピング情報を、PCPプロトコルを用いてCGN装置11に設定する。PCPプロトコルは、RFC6887(非特許文献1)で標準化されている。本実施形態では、RFC6887を拡張したPCPプロトコルを使用する。
 次に、本実施形態の説明で使用する用語を定義する。
 まず、図5を参照して、データフローに関する用語と、データフローの定義と、データフローが同一であるか否かの判定方法を定義する。なお、図5では、一例として加入者装置31と外部ノード41を示すが、他の加入者装置と外部ノードについても同様の説明が当てはまる。
 outboundとは、加入者装置31から外部ノード41への方向をいう(図5の1)。一方、inboundとは、外部ノード41から加入者装置31への方向をいう(図5の2)。
 データフローとは、CGN装置11が判断する一連のパケットの流れである。データフローを定義する方法は、複数存在する。本実施形態では、簡単のため、外部ノード41側のIPアドレス、ポート番号を区別しない方法でデータフローを区別する。
 CGN装置11と外部ノード41の間のoutboundパケットでは、CGN装置11は、以下の3つ組でデータフローを区別する(図5の11)。
・送信元IPアドレス
・送信元port番号
・トランスポートプロトコル
 また、CGN装置11と外部ノード41の間のinboundパケットでは、CGN装置11は、以下の3つ組でデータフローを区別する(図5の12)。
・宛先IPアドレス
・宛先port番号
・トランスポートプロトコル
 さらに、CGN装置11と外部ノード41の間のoutboundパケットの(送信元IPアドレス、送信元port番号、トランスポートプロトコル)と、inboundパケットの(宛先IPアドレス、宛先port番号、トランスポートプロトコル)の組が一致する場合、CGN装置11は、これらの一連のoutboundパケットと一連のinboundパケットを合わせて、1つのデータフローと判断する(図5の13)。
 一方、加入者装置31とCGN装置11間のoutboundパケットと、inboundパケットについては、CGN装置11は、CGN装置11と外部ノード41の間のパケットの条件に以下を加えた4つ組でデータフローを区別する(図5の14、15)。
・加入者識別情報
 さらに、加入者装置31とCGN装置11間では、outboundパケットの(送信元IPアドレス、送信元port番号、トランスポートプロトコル、加入者識別情報)と、inboundパケットの(宛先IPアドレス、宛先port番号、トランスポートプロトコル、加入者識別情報)の組が一致する場合、CGN装置11はこれらの一連のoutboundパケットと一連のinboundパケットを合わせて、1つのデータフローとする(図5の16)。
 さらに、加入者装置31とCGN装置11の間のデータフローと、CGN装置11と外部ノード41の間のデータフローとが、CGN装置11が管理するポートマッピングによって紐付けられている場合、CGN装置11は、これらの一連のパケットを合わせて1つのデータフローとする(図5の17、18)。
 次に、データフロー関連以外の用語を定義する。
 private IPアドレスとは、加入者装置31のIPアドレスをいう。private IPアドレスは、ある加入者ネットワーク内でのみユニーク(一意)であることが保証される。したがって、異なる加入者間では、private IPアドレスには重複した値が使われ得る。
 private port番号とは、加入者装置31が自装置内で割り当てたポート番号である。
 public IPアドレスとは、CGN装置11がNAT変換のためにプールしているIPアドレスをいう。一般に、1台のCGN装置11は、複数のpublic IPアドレスを有する。
 public port番号とは、CGN装置11が、public IPアドレスに紐付けて管理するポート番号である。CGN装置11は、加入者装置31とCGN装置11の間のデータフロー対応に、public IPアドレスとpublic port番号の組を割り当てる。本実施形態で採用するデータフローの定義方法においては、1つのpublic port番号は1つのデータフローに対応する。
 ポートマッピングとはCGN装置11により保持されるデータであり、NAT変換を行うために使用される。NAT変換では、CGN装置11は、加入者装置31とCGN装置11の間のデータフローと、CGN装置11と外部ノード41の間のデータフローを紐付ける。本実施形態では、ポートマッピングは以下の情報を含むものとする。
・加入者識別情報
・private IPアドレス
・private port番号
・トランスポートプロトコル
・public IPアドレス
・public port番号
 CGN装置11があるポートマッピングを保持している場合、(private IPアドレス、private port番号、トランスポートプロトコル、加入者識別情報)の組が、加入者装置31とCGN装置11の間のデータフローを特定する。一方、(public IPアドレス、public port番号、トランスポートプロトコル)の組が、CGN装置11と外部ノード41の間のデータフローを特定する。これらのデータフロー、すなわち加入者装置31とCGN装置11の間のデータフローと、CGN装置11と外部ノード41の間のデータフローは、1つのデータフローであると識別される。ポートマッピングは、生成方法に応じて、動的ポートマッピングと静的ポートマッピングに分類される。
 動的ポートマッピングとは、加入者装置31が送信したoutboundパケットをトリガにCGN装置11上で動的に生成されるポートマッピングである。CGN装置11が再起動した場合、および、CGN装置11が該当するデータフローのパケットが流れなくなったと判断した場合、動的ポートマッピングは自動的に削除される。
 一方、静的ポートマッピングとは、PCP設定制御装置21が、CGN装置11に対し、PCP MAP要求メッセージを送ることで、CGN装置11上に設定されるポートマッピングである。静的ポートマッピングは、PCP設定制御装置21の明示的な指示により設定と削除が行われる。また、CGN装置11が再起動した場合、静的ポートマッピングは自動的に削除される。
[動作]
 次に、各ノードの動作を説明する。
 CGN装置11のマッピング設定部4は、複数のポートマッピングをデータとして保持する。CGN装置11のフロー送信部6は、加入者装置31や外部ノード41から送信されたパケットを受信し、保持するポートマッピング情報を参照しながら、NAT変換を行い、パケットを転送する。
 図6を参照して、outboundパケット処理の動作を説明する。なお、リンクの説明において、適宜図3を参照する。outboundパケット処理は、動的ポートマッピングが生成される契機にもなる。加入者装置31-33上では、複数のアプリケーションが動作しており、それぞれ、独立して外部ノード41、42との通信を行う。それぞれのアプリケーションは、規定されたトランスポートプロトコルを使用し、それぞれ異なるprivate port番号を使用して外部ノード41、42と通信を行う。
 CGN装置11は、加入者装置31-33が送信したoutboundパケットを、図3のリンク131を経由して受信する(図6のステップ1)。
 CGN装置11は、図7を参照して後述する様々な処理(図6のステップ2-4)をoutboundパケットに対して実行した後、図3のリンク140、141を経由して、外部ノード41宛にoutboundパケットを送信する(図6のステップ5)。
 図7を参照して、CGN装置11がoutboundパケットを処理する詳細な動作を説明する。outboundパケットを受信すると(図7のステップ1)、CGN装置11は、まず自身のパケット破棄モードを検査する(図7のステップ2)。
 パケット破棄モードがonの場合、CGN装置11のフロー送信部6は、受信パケット破棄して(図7のステップ3)、処理を終了する。
 一方、パケット破棄モードがoffの場合、CGN装置11のフロー送信部6は、パケットから送信元IPアドレス、送信元port番号、トランスポートプロトコル番号、および加入者識別情報を取り出す。CGN装置11のフロー送信部6は、これらを検索キーとして、CGN装置11のマッピング設定部4が保持するポートマッピングを検索する(図7のステップ4)。
 検索結果に応じて、処理は分岐する(図7のステップ5)。一致するものがない場合、CGN装置11のマッピング設定部4は、新規に動的ポートマッピングを生成するために、まず、未使用のpublic IPアドレスとpublic port番号の組を割り当てる(図7のステップ6)。次に、CGN装置11のマッピング設定部4は、受信パケットから取り出した値と組み合わせて、新規の動的ポートマッピングを生成する(図7のステップ7)。
 CGN装置11のフロー送信部6は、ステップ7で新規に生成したポートマッピング、または、ステップ4で検索にヒットしたポートマッピングを使用して、受信パケットに送信元NAT変換を行う(図7のステップ8)。さらに、CGN装置11のフロー送信部6は、外部ノードに向けてパケットを送信する(図7のステップ9)。
 次に、図8を参照して、静的ポートマッピングの設定処理を説明する。なお、リンクの説明において、適宜図3を参照する。加入者装置31-33は、図3のリンク231を経由して、ポートマッピングの設定要求をPCP設定制御装置21に指示する(図8のステップ1)。
 PCP設定制御装置21の要求部10は、要求内容をPCP MAP要求メッセージに変換し、図3のリンク121を使用してCGN装置11に送信する(図8のステップ2)。
 CGN装置11のマッピング設定部4は、PCP MAPで要求されたポートマッピングが、すでにCGN装置11で保持しているポートマッピングと重複しないかを検査する(図8のステップ3)。2つのポートマッピングが重複するとは、ポートマッピングの要素のうちの(加入者識別情報、private IPアドレス、private port番号、トランスポートプロトコル)の組が同一であること、または、(トランスポートプロトコル、public IPアドレス、public port番号)の組が同一であることをいう。
 PCP MAPで要求されたポートマッピングが、CGN装置11が有するいずれのポートマッピングとも重複しない場合、CGN装置11のマッピング設定部4は、静的ポートマッピングとして、そのデータをCGN装置11内に設定する(図8のステップ4)。一方、重複するものが存在する場合、CGN装置11のマッピング設定部4は、当該データを保持しない。
 さらに、CGN装置11のマッピング設定部4は、PCP MAPの応答メッセージとして、登録の成否を返却する(図8のステップ5)。
 次に、図9を参照して、inboundパケット処理の動作を説明する。なお、リンクの説明において、適宜図3を参照する。外部ノード41、42は、加入者装置31-33から受信した通信に応答するため、または、外部ノード41、42が加入者装置31-33上のサーバにアクセスするために、図3のリンク140-142を介して、CGN装置11にinboundパケットを送信する(図9のステップ1)。
 inboundパケットを受信したCGN装置11のフロー送信部6は、図10を参照して後述する様々な処理(図9のステップ2、3)を実施した後、図3のリンク131を経由して、加入者装置31、32宛にinboundパケットを送信する(図9のステップ4)。
 図10を参照して、CGN装置11がinboundパケットを処理する詳細な動作を説明する。inboundパケットを受信すると(図10のステップ1)、CGN装置11のフロー送信部6は、まず自身のパケット破棄モードを検査する(図10のステップ2)。
 パケット破棄モードがonの場合、CGN装置11のフロー送信部6は、受信パケットを破棄して(図10のステップ3)、処理を終了する。
 一方、パケット破棄モードがoffの場合、CGN装置11のフロー送信部6は、パケットから宛先IPアドレス、宛先port番号、および、トランスポートプロトコル番号を取り出す。CGN装置11のフロー送信部6は、これらを検索キーとして、CGN装置11のマッピング設定部4が保持するポートマッピングを検索する(図10のステップ4)。
 検索結果によって、処理は分岐する(図10のステップ5)。一致するものがない場合、CGN装置11のフロー送信部6は、受信したinboundパケットを破棄し(図10のステップ6)、処理を終了する。
 一方、一致するものがある場合、CGN装置11のフロー送信部6は、ヒットしたポートマッピングを使用して、受信パケットに対して宛先NAT変換を行う(図10のステップ7)。さらに、CGN装置11のフロー送信部6は、加入者装置31に向けてパケットを送信する(図10のステップ8)。
 次に、図11を参照して、CGN装置11が再起動した場合の処理を説明する。なお、リンクの説明において、適宜図3を参照する。
 CGN装置11が再起動した場合、CGN装置11は、パケット破棄状態onで処理を開始する(図11のステップ1)。このとき、CGN装置11は、MAP_COMPLETE待ちのタイマ1101を起動する。また、CGN装置11のマッピング設定部4は、ポートマッピング情報をすべてクリアした状態にする。
 CGN装置11のマッピング設定部4は、図3のリンク121を経由して、PCP設定制御装置21に対し、PCP ANNOUNCE応答メッセージを送信する(図11のステップ2)。
 このとき、CGN装置11の再起動を認識しない加入者装置(例えば加入者装置31)が、図3のリンク(例えばリンク131)を経由して、CGN装置11に向けてoutboundパケットを送信する可能性がある(図11のステップ3)。
 この状態でoutboundパケットを受信したCGN装置11のフロー送信部6は、パケット破棄状態がonであることから、受信パケットを破棄する(図11のステップ4)。
 PCP設定制御装置21の要求部10は、PCP ANNOUNCE応答メッセージを受信し、CGN装置11が再起動したと判断した場合、PCP設定制御装置21が保持する情報から静的なポートマッピングの情報を読出し、PCP MAP要求メッセージをCGN装置11に送信することで、それらのすべてを設定する(図11のステップ5)。
 PCP MAP要求メッセージを受信したCGN装置11のマッピング設定部4は、図8の静的なポートマッピング情報と同様の処理を行い、重複しないポートマッピング情報だけを自身に設定する(図11のステップ6、7)。
 その後、CGN装置11のマッピング設定部4は、処理結果をPCP MAP応答メッセージで、PCP設定制御装置21に送信する(図11のステップ8)。
 すべての静的ポートマッピングを設定し終えたPCP設定制御装置21の通知部12は、本実施形態で新たに定義したMAP_COMPLETEオプションを設定した、PCP ANNOUNCE要求メッセージをCGN装置11に送信する(図11のステップ9)。
 CGN装置11のマッピング設定部4は、MAP_COMPLETEオプション付きのPCPメッセージを受信すると、パケット破棄モードを解除して(図11のステップ10)、PCPの応答メッセージを返信する(図11のステップ11)。
 また、CGN装置11は、MAP_COMPLETEオプション付きのPCPメッセージを受信しない場合であっても、MAP_COMPLETE待ちのタイマが満了(所定期間が経過)した場合、パケット破棄モードを解除する(図11のステップ12)。
 パケット破棄モードが解除されたことにより、加入者装置31から送信されたoutboundパケットがCGN装置11で受信されると(図11のステップ13)、図7の通常のoutboundパケット処理と同様の処理が行われる。すなわち、CGN装置11のフロー送信部6は、ポートマッピング検索(図11のステップ14)と送信元NAT変換(図11のステップ15)を実施し、外部ノード41へパケットを送信する(図11のステップ16)。
[効果]
 本実施形態の通信システムによると、以下の効果がもたらされる。
 第1の効果として、CGN装置が再起動した場合に、outboundパケットによる動的ポートマッピングの生成と、PCP設定制御装置からの静的ポートマッピングの設定が競合しない。これにより、CGN装置の再起動前に使用できていた静的ポートマッピングを、CGN装置の再起動後も使用可能なことが保証できる。
 第2の効果として、MAP_COMPLETE待ちのタイマを導入したことにより、途中の通信路でのPCPメッセージの消失や、MAP_COMPLETEをサポートしないPCP設定制御装置と本実施形態の動作に準じたCGN装置を組み合せた場合であっても、一定時間後には、データフローの転送を再開することができる。
 第3の効果として、MAP_COMPLETEオプションを導入したことにより、PCP設定制御装置がPCP MAPの再設定を終了次第、データフローの転送を再開することができる。したがって、CGN装置の再起動時に、CGN装置がデータフローの転送を停止する期間を短くすることができる。
<実施形態2>
 次に、本発明の第2の実施形態について図面を参照して説明する。第1の実施形態では、加入者装置31-33は、PCP設定制御装置21を経由してポートマッピングをCGN装置11に設定する。一方、本実施形態では、加入者装置31-33がPCP設定制御装置21を経由することなく、直接CGN装置11にPCP MAP要求メッセージを送信する。
[構成]
 図12は、本実施形態に係る通信システムのネットワーク形態を例示する図である。図12を参照すると、本実施形態の通信システムは、図3に示す第1の実施形態の通信システムからPCP設定制御装置21を削除した構成を有する。また、本実施形態では、第1の実施形態のPCP設定制御装置21に設けられた静的ポートマッピングのデータベース(ないし不揮発性記憶部)2101(図3)を、加入者装置31-33が有している(図12のデータベース3101、3201、3301)。
 加入者装置31-33は、それぞれ、ポートマッピング要求のPCP MAP要求メッセージを、CGN装置11に繋がるリンク131-133上に直接送信する。また、CGN装置11は、これらのリンク131-133を介して、PCP MAP応答メッセージを返信する。同様に、PCP ANNOUNCEメッセージも、これらのリンク131-133を使用して送受信される。
[動作]
 本実施形態では、加入者装置31-33がサポートするPCPのバージョンと、CGN装置11が加入者装置31-33のPCPのバージョンとのサポート状況に関する情報を有しているか否かに応じて、例えば以下の2通りの動作が考えられる。
 第1のケースとして、すべての加入者装置31-33がMAP_COMPLETEオプションをサポートすることが保証でき、かつ、CGN装置11がすべての加入者装置31-33についての情報を把握できる場合が考えられる。この場合、第1の実施形態と同様に、CGN装置11は、再起動したときには、すべての加入者装置31-33からMAP_COMPLETEを受信するか、または、MAP_COMPLETE待ちのタイマが満了するかのいずれか早い方の時点まで、データフローの転送をblockする。その後、CGN装置11は、データフローの転送を開始する。
 一方、第2のケースとして、MAP_COMPLETEオプションをサポートしない加入者装置が混在する場合が考えられる。かかる可能性がある場合、CGN装置11は、再起動したときには、MAP_COMPLETE待ちのタイマが満了するのを待って、データフローの転送を開始する。
 第2の実施形態に係る通信システムによると、CGN装置11が再起動した場合であっても、外部ノード41、42から送信されたパケットを加入者装置31-33に確実に到達させることが可能となる。なぜなら、CGN装置11が再起動した場合、CGN装置11に対する静的ポートマッピングの再設定が完了した旨の通知を加入者装置31-33から受信するか、または、タイマによって計時される期間が経過するまで、加入者装置31-33からのパケットフローは破棄され、CGN装置11は加入者装置31-33からのパケットフローに対して動的ポートマッピングを行う前に、静的ポートマッピングを完了することができるからである。
 上記実施形態1、2に対して、以下の変形例を含む様々な変形が可能である。
<変形例1>
 第1の実施形態では、PCP設定制御装置が1台の場合を示した。しかしながら、PCP設定制御装置が複数存在する場合であっても、上記実施形態に係る発明を適用することができる。この場合、CGN装置はPCP ANNOUNCE応答メッセージの宛先として、PCP設定制御装置のIPアドレスを再起動後も記憶しておく。また、CGN装置はすべてのPCP設定制御装置からMAP_COMPLETEオプションを受信するか、または、MAP_COMPLETE待ちのタイマが満了するかのいずれかの早い方のタイミングで、パケット破棄モードを終了して通常のパケット転送を開始する。
<変形例2>
 第1および第2の実施形態では、NAPT変換の場合について説明した。ただし、IPアドレスの変換のみを行い、ポート番号の変換をしない狭義のNAT変換を行う場合であっても、上記実施形態に係る発明を適用することができる。
<変形例3>
 第1および第2の実施形態では、MAP_COMPLETEオプションを、PCP ANNOUNCE要求メッセージに載せる方法について説明した。ただし、関連技術に係るPCP MAP要求メッセージに対して、追加でMAP_COMPLETEオプションを載せる方法を用いることも可能である。この場合、PCP設定制御装置は、例えば、再設定する静的マッピングの最後の1個の設定を指示するPCP MAP要求メッセージに対して、MAP_COMPLETEオプションを載せる方法が考えられる。
<変形例4>
 第1および第2の実施形態では、CGN装置の場合について説明した。ただし、ブロードバンドルータなど、通常のNAT装置を使用するケースにおいても、上記実施形態に係る発明を適用することができる。
<変形例5>
 第1および第2の実施形態では、PCPプロトコルは、RFC6887(非特許文献1)で定義される標準的なものをベースにMAP_COMPLETEオプションを追加する方法を示した。ただし、他のRFCやInternet-draftで定義されるような機能拡張を施したPCPプロトコルをベースにMAP_COMPLETEオプションを追加した方法を採用することもできる。
<変形例6>
 第1および第2の実施形態では、説明を簡単化するため、outboundデータフローを、加入者識別情報、private IPアドレス、private port番号、トランスポートプロトコルの4つで識別する方法を示した。これは、RFC4787(非特許文献4)で定義されるEndpoint-Independent Mapping方式を実現する方式である。また、inboundデータフローをpublic IPアドレス、public port番号、トランスポートプロトコルの3つで識別する方法を示した。これは、RFC4787で定義されるEndpoint-Independent Filtering方式を実現する方式である。しかし、マッピング方式には、Endpoint-Independent Mapping以外に、Address-Dependent MappingやAddress and Port-Dependent Mappingといった方法も知られている。また、フィルタリング方式は、Endpoint-Independent Filtering以外に、Address-Dependent FilteringやAddress and Port-Dependent Filteringといった方法も知られている。上記実施形態に係る発明は、これらのいずれのマッピング方式およびフィルタリング方式においても、特に変更を加えることなく適用可能である。
 なお、上記実施形態および変形例に示した解決手段とは異なる解決策として、CGN装置でポートマッピング情報を不揮発性記憶部に保持し、CGN装置の再起動後に保持したポートマッピング情報を復元する方法も考えられる。しかしながら、かかる方法によると、以下の問題点(1)、(2)が生じる。
(1)CGN装置が再起動する原因として、起動前に異常な状態に陥っていたケースも考えられる。かかる場合、再起動後のポートマッピング情報が正しいことが保証されない。したがって、不揮発領域の同期を保証するという別の仕組みを設ける必要があり、制御および装置の構成が複雑化するという問題がある。
(2)また、CGN装置に対してマッピングの個数に比例した不揮発性領域を用意する必要があり、装置が高価になるという問題もある。
 上記実施形態ないし変形例に係る方法を採用することにより、制御を簡潔にすることができ、上記(1)のような問題は生じない。また、上記実施形態ないし変形例によれば、不揮発性領域の追加は不要となるため、上記(2)の問題も生じない。
 さらに、上記実施形態におけるMAP_COMPLETEオプションの拡張は、PCPプロトコルにおける再設定の検出機構を利用するものであり、再設定処理の最後に固定のメッセージを送信するだけでよい。したがって、上記実施形態に係る発明は、既存のCGN装置およびPCP設定制御装置を大きく改変することなく適用可能である。
 上記実施形態に係る発明は、一例としてCGNATを施すNAT装置を用いた通信分野に適用可能である。
 本発明において、さらに下記の形態が可能である。
[形態1]
 上記第1の態様に係るネットワークアドレス変換装置のとおりである。
[形態2]
 前記フロー送信部は、前記再起動後に所定の期間が経過するまで、前記パケットフローを破棄する、
 形態1に記載のネットワークアドレス変換装置。
[形態3]
 前記マッピング設定部は、PCP(Port Control Protocol)を用いて静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定する、 形態1または2に記載のネットワークアドレス変換装置。
[形態4]
 前記フロー送信部は、前記通知を受信するか、または、前記所定の期間が経過すると、前記パケットフローの送信を開始する、
 形態1または2に記載のネットワークアドレス変換装置。
[形態5]
 前記マッピング設定部は、前記通知を受信するか、または、前記所定の期間が経過するまでの間に、前記静的ポートマッピングの再設定を行う、
 形態1ないし4のいずれか一に記載のネットワークアドレス変換装置。
[形態6]
 前記マッピング設定部は、前記通知を受信するか、または、前記所定の期間が経過するまでの間に、前記加入者装置から受信したパケットフローに対する動的ポートマッピングの設定を中止する、
 形態1ないし5のいずれか一に記載のネットワークアドレス変換装置。
[形態7]
 前記設定要求装置は、前記加入者装置からの指示に応じて前記ネットワークアドレス変換装置にポートマッピングの設定を要求する、
 形態1ないし6のいずれか一に記載のネットワークアドレス変換装置。
[形態8]
 前記設定要求装置と前記加入者装置は、同一の装置である、
 形態1ないし6のいずれか一に記載のネットワークアドレス変換装置。
[形態9]
 CGN(Carrier Grade Network address translation)装置である、
 形態1ないし8のいずれか一に記載のネットワークアドレス変換装置。
[形態10]
 上記第2の態様に係る設定要求装置のとおりである。
[形態11]
 前記要求部は、前記ネットワークアドレス変換装置に対してPCP(Port Control Protocol)を用いて静的ポートマッピングの設定を要求する、
 形態10に記載の設定要求装置。
[形態12]
 前記要求部は、前記加入者装置からの指示に応じて前記ネットワークアドレス変換装置に静的ポートマッピングの設定を要求する、
 形態10または11に記載の設定要求装置。
[形態13]
 前記加入者装置である、
 形態10または11に記載の設定要求装置。
[形態14]
 上記第3の態様に係る通信システムのとおりである。
[形態15]
 上記第4の態様に係る通信方法のとおりである。
[形態16]
 上記第5の態様に係るプログラムのとおりである。
[形態17]
 PCP(Port Control Protocol)を用いて静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定するとともに、加入者装置からのパケットフローを受信すると動的ポートマッピングを設定するマッピング設定部と、
 前記マッピング設定部に設定された静的ポートマッピングおよび動的ポートマッピングに基づいて前記加入者装置からのパケットフローにアドレス変換を施して送信するフロー送信部と、を備え、
 前記フロー送信部は、前記ネットワークアドレス変換装置が再起動した場合、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信するまで、前記パケットフローを破棄する、
 ネットワークアドレス変換装置。
 なお、上記特許文献1および非特許文献1-4の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素などを含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2016年3月16日に出願された日本出願特願2016-052563を基礎とする優先権を主張し、その開示の全てをここに取り込む。
2  ネットワークアドレス変換装置
4  マッピング設定部
6  フロー送信部
8  設定要求装置
10  要求部
11  CGN装置
12  通知部
21  PCP設定制御装置
31-33  加入者装置
41、42  外部ノード
121、131-133、140-142  リンク
231-233  リンク(ないしネットワーク)
1101  タイマ
2101、3101、3201、3301  データベース

Claims (10)

  1.  静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定するマッピング設定手段と、
     前記マッピング設定手段に設定された静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するフロー送信手段と、を備え、
     前記フロー送信手段は、ネットワークアドレス変換装置が再起動した場合、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信するまで、前記パケットフローを破棄する、
     ことを特徴とするネットワークアドレス変換装置。
  2.  前記マッピング設定手段は、PCP(Port Control Protocol)を用いて静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定する、
     請求項1に記載のネットワークアドレス変換装置。
  3.  前記フロー送信手段は、前記再起動後に所定の期間が経過するまで、前記パケットフローを破棄する、
     請求項1または2に記載のネットワークアドレス変換装置。
  4.  前記フロー送信手段は、前記通知を受信するか、または、前記所定の期間が経過すると、前記パケットフローの送信を開始する、
     請求項3に記載のネットワークアドレス変換装置。
  5.  前記マッピング設定手段は、前記通知を受信するか、または、前記所定の期間が経過するまでの間に、前記静的ポートマッピングの再設定を行う、
     請求項3または4に記載のネットワークアドレス変換装置。
  6.  前記マッピング設定手段は、前記通知を受信するか、または、前記所定の期間が経過するまでの間に、前記加入者装置から受信したパケットフローに対する動的ポートマッピングの設定を中止する、
     請求項3ないし5のいずれか1項に記載のネットワークアドレス変換装置。
  7.  設定された静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するネットワークアドレス変換装置に対して、前記静的ポートマッピングの設定を要求する要求手段と、
     前記ネットワークアドレス変換装置が再起動した場合、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了すると、その旨を前記ネットワークアドレス変換装置に通知する通知手段と、を備える、
     ことを特徴とする設定要求装置。
  8.  静的ポートマッピングの設定を要求する設定要求装置と、
     前記設定要求装置からの要求に応じて静的ポートマッピングを設定し、設定した静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するネットワークアドレス変換装置と、を備え、
     前記ネットワークアドレス変換装置は、再起動した場合、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信するまで、前記パケットフローを破棄する、
     ことを特徴とする通信システム。
  9.  静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定し、設定した静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するネットワークアドレス変換装置が、
     再起動し、
     前記再起動後に、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信し、
     前記通知を受信するまで、前記パケットフローを破棄する
     ことを特徴とする通信方法。
  10.  静的ポートマッピングの設定を要求する設定要求装置からの要求に応じて静的ポートマッピングを設定し、設定した静的ポートマッピングに基づいて加入者装置からのパケットフローにアドレス変換を施して送信するネットワークアドレス変換装置に設けられたコンピュータに対して、
     再起動する処理と、
     前記再起動後に、前記ネットワークアドレス変換装置に対する静的ポートマッピングの再設定が完了した旨の通知を前記設定要求装置から受信する処理と、
     前記通知を受信するまで、前記パケットフローを破棄する処理と、を実行させる、
     ことを特徴とするプログラムが記憶された記憶媒体。
PCT/JP2017/010068 2016-03-16 2017-03-14 ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラムが記憶された記憶媒体 WO2017159645A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/079,601 US20190089675A1 (en) 2016-03-16 2017-03-14 Network address translation device, setting requesting device, communication system, communication method and storage medium storing program
JP2018505929A JP6558492B2 (ja) 2016-03-16 2017-03-14 ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラム
CN201780017794.4A CN109076022B (zh) 2016-03-16 2017-03-14 网络地址转换装置、设置请求装置、通信系统、通信方法和存储程序的存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016052563 2016-03-16
JP2016-052563 2016-03-16

Publications (1)

Publication Number Publication Date
WO2017159645A1 true WO2017159645A1 (ja) 2017-09-21

Family

ID=59850400

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/010068 WO2017159645A1 (ja) 2016-03-16 2017-03-14 ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラムが記憶された記憶媒体

Country Status (4)

Country Link
US (1) US20190089675A1 (ja)
JP (1) JP6558492B2 (ja)
CN (1) CN109076022B (ja)
WO (1) WO2017159645A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11399007B2 (en) * 2018-03-20 2022-07-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for operating and managing a constrained device within a network

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11212229B2 (en) * 2019-10-11 2021-12-28 Juniper Networks, Inc. Employing machine learning to predict and dynamically tune static configuration parameters
CN112491591B (zh) * 2020-11-10 2023-05-30 杭州萤石软件有限公司 一种通用即插即用UPnP端口映射方法及系统
CN115996423A (zh) * 2021-10-19 2023-04-21 维沃移动通信有限公司 数据传输方法、装置及终端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150139230A1 (en) * 2012-08-03 2015-05-21 Huawei Technologies Co., Ltd. Method, device, and system for quickly informing cgn exception

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509435B2 (en) * 2001-03-12 2009-03-24 International Business Machines Corporation Network Address Translation and Port Mapping
JP3776821B2 (ja) * 2002-03-28 2006-05-17 富士通株式会社 アドレスアクセスシステム及び方法
WO2008060097A1 (en) * 2006-11-15 2008-05-22 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving ciphered packet in mobile communication system
US7764691B2 (en) * 2007-03-15 2010-07-27 Microsoft Corporation Allowing IPv4 clients to communicate using teredo addresses when both clients are behind a NAT
CN101605154B (zh) * 2009-07-09 2014-08-13 中兴通讯股份有限公司 使用网络地址转换的网络设备的ip地址确认系统及方法
JP4766160B2 (ja) * 2009-07-29 2011-09-07 株式会社デンソー 通信システムおよび通信ノード
KR20110129557A (ko) * 2010-05-26 2011-12-02 엘지전자 주식회사 Nat 포트 맵핑 테이블의 갱신 방법, 및 이를 이용한 단말기 및 시스템
US8761170B2 (en) * 2010-10-07 2014-06-24 Panasonic Corporation Communication device, communication method, integrated circuit, and program
CN102148879A (zh) * 2010-10-22 2011-08-10 华为技术有限公司 端口映射方法、装置与通信系统
US9258271B1 (en) * 2011-01-13 2016-02-09 Google Inc. Network address translation for virtual machines
CN102882992B (zh) * 2012-10-12 2015-02-18 江苏省邮电规划设计院有限责任公司 一种运营级网络地址转换设备释放端口的方法
WO2015146215A1 (ja) * 2014-03-24 2015-10-01 Necソリューションイノベータ株式会社 ネットワークアドレス変換装置、ネットワークアドレス変換システム、ネットワークアドレス変換方法、及びコンピュータ読み取り可能な記録媒体
FR3032852A1 (fr) * 2015-02-13 2016-08-19 Orange Procede de selection de concentrateurs de connexions reseau
US9860157B2 (en) * 2015-09-09 2018-01-02 Sling Media Pvt Ltd Zero configuration approach for port forwarding cascaded routers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150139230A1 (en) * 2012-08-03 2015-05-21 Huawei Technologies Co., Ltd. Method, device, and system for quickly informing cgn exception

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHESHIRE, S. ET AL.: "NAT Port Mapping Protocol ( NAT -PMP", RFC 6886, April 2013 (2013-04-01) *
WING, D. ET AL.: "Port Control Protocol (PCP", RFC 6887, April 2013 (2013-04-01) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11399007B2 (en) * 2018-03-20 2022-07-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for operating and managing a constrained device within a network

Also Published As

Publication number Publication date
JPWO2017159645A1 (ja) 2018-12-06
US20190089675A1 (en) 2019-03-21
CN109076022A (zh) 2018-12-21
JP6558492B2 (ja) 2019-08-14
CN109076022B (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
JP4728792B2 (ja) Ip通信装置およびこれを備えたip通信システムならびにip通信装置のipアドレス設定方法
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
JP6558492B2 (ja) ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラム
JP4411222B2 (ja) ネットワーク、ネットワーク端末装置及びそれらに用いるipアドレス管理方法並びにそのプログラム
JP2016063425A (ja) 通信装置、通信システムおよび通信方法
US10637825B2 (en) Router and method for connecting an IPv4 network and an IPv6 network
US20150215277A1 (en) Network address translation apparatus with cookie proxy function and method for nat supporting cookie proxy function
JP2005033250A (ja) 中継装置とポートフォワード設定方法
JP2010062757A (ja) Dnsプロキシ装置及びdns中継方法
JP4796883B2 (ja) Nat管理システム
WO2019142327A1 (ja) 中継装置および中継方法
JP5054666B2 (ja) Vpn接続装置、パケット制御方法、及びプログラム
JP7370066B2 (ja) 通信方法
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
US11683225B2 (en) Relay device and non-transitory computer readable medium
JP5084716B2 (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム
JP7408150B2 (ja) 通信方法
JP2013031113A (ja) パケット転送方法およびパケット転送装置
JP2018174409A (ja) 中継装置
JP6445421B2 (ja) 通信装置および通信方法
JP2015162742A (ja) ネットワーク間中継機器及びそれを備えたデータ通信システム、並びに画像形成システム
JP5171608B2 (ja) Vpn接続装置、パケット制御方法、及びプログラム
WO2018142526A1 (ja) 中継装置、通信システム、及び通信方法
JP4169037B2 (ja) 移動登録方法
JP3861903B2 (ja) 移動端末及びパケット送信方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018505929

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 17766644

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17766644

Country of ref document: EP

Kind code of ref document: A1