WO2008153193A1 - アドレス変換装置及びアドレス変換方法 - Google Patents

アドレス変換装置及びアドレス変換方法 Download PDF

Info

Publication number
WO2008153193A1
WO2008153193A1 PCT/JP2008/061078 JP2008061078W WO2008153193A1 WO 2008153193 A1 WO2008153193 A1 WO 2008153193A1 JP 2008061078 W JP2008061078 W JP 2008061078W WO 2008153193 A1 WO2008153193 A1 WO 2008153193A1
Authority
WO
WIPO (PCT)
Prior art keywords
port
session
address
network
outgoing
Prior art date
Application number
PCT/JP2008/061078
Other languages
English (en)
French (fr)
Inventor
Shuichi Karino
Masahiro Jibiki
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to US12/602,545 priority Critical patent/US8458338B2/en
Priority to JP2009519338A priority patent/JP5163910B2/ja
Publication of WO2008153193A1 publication Critical patent/WO2008153193A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/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/255Maintenance or indexing of mapping tables

Definitions

  • the present invention relates to a packet switching network communication device such as a gateway device, and more particularly to an address translation device, an address translation system, a control method thereof, and a control program for interconnecting networks having different address spaces.
  • a network constructed using such a private address space is referred to as a private network.
  • Fig. 15 is an explanatory diagram showing a configuration example of interconnection between private and global networks.
  • the transport relay based on NAT (Network Address Translator) and NAP T (Network Address and Port Translator) N SOCKS (RFC1928) is used to connect the private network and the global network.
  • Address translation such as ALG (Application Level Gateway) such as HTTP proxy server is used.
  • ALG Application Level Gateway
  • HTTP proxy server devices that perform address conversion in order to interconnect networks having different address spaces are collectively referred to as address conversion devices.
  • the port numbers of the major transport layer protocols are 16-bit data, approximately 65,000.
  • TCP major transport layer protocol
  • UDP User Datagram Protocol
  • SCTP SCTP
  • DCCP DCCP
  • port numbers are assigned as follows in NAPT and ALG.
  • the allocation method differs depending on the direction of communication.
  • the allocation is divided into “transmission” that establishes a connection by specifying the partner and “waiting” that accepts a connection from an unspecified partner to its specific port.
  • the connection partner of such a connection is usually identified by the pair of the address and port number of the opposite node.
  • the connection destination identified by the pair of address and port number is called the end point of the connection.
  • the standby Since the standby accepts connections from unspecified connection sources, it occupies port numbers for all opposing endpoints (see Figure 17). In FIG. 17, for example, it is shown that the port 80 for standby from the global network is occupied by the host node 2-1 in the private network. On the other hand, for outgoing calls, it is only necessary to assign a port number to the endpoint of a specific connection destination, and other connections can use the same port number for different endpoints (see Figure 18). For example, in Figure 18 Port 49153 for outgoing calls from the host network is a host node 2-1, 1, 2-2, 2— in the private network that communicates with different global network host nodes 1 1, 2, 1—3, 1—4. 3 shows that it is shared. For this reason, standby generally uses more port number resources than outgoing calls.
  • the standby port has a role to transfer connections from unspecified opposite end points.
  • the outgoing port has a role of assigning a specific port number and transferring it to the global network side for outgoing calls from the end points of unspecified hosts in the private network. Therefore, the port allocation method is the same as that described above.
  • the port of the address converter may be used up for standby. If the address conversion device port is used up for standby, calls from the private network cannot be made.
  • Patent Document 1 describes information about ports that a NAS server prepares for protocol packet transmission / reception by a stream server device installed in a LAN. It describes that an address management table containing real port information (a distinction between static and dynamic ports and available port numbers) is maintained.
  • Patent Document 2 also states that in order to make it possible to efficiently obtain a standby port number, the standby port number is set using identification information uniquely assigned to the device and a common function, and It describes that one common function is acquired from a plurality of common functions at fixed time intervals and the standby port number is reset.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2004-259225 (paragraphs 01 1 5-01 25, FIG. 9)
  • Patent Document 2 JP 2006-319384 A (paragraphs 001 1, 0017) Disclosure of the invention Problems to be solved by the invention
  • Patent Document 2 states that the port number is reset every fixed time, but the purpose is to eliminate the need for a port number introduction server and improve security while improving security. The purpose is to obtain a port number, but it is not considered to efficiently use finite port resources in the address conversion device. In other words, the port number assigned to each node only changes over time, and there is no change in that a standby port number is always assigned to each node. It is not necessarily illustrated.
  • the present invention provides an address that allows more efficient use of port resources, which are finite global address resources allocated to an address conversion device, even when connected to a large-scale private network.
  • the purpose is to provide a conversion device.
  • An address conversion device is an address conversion device for interconnecting a private network and a global network located at a boundary between a private network and a global network having different address spaces.
  • a port allocation rule storage unit for storing port allocation rules indicating port allocations 1 on a global address that can be allocated by the address conversion device for outgoing calls from a private network and standbys from a global network;
  • a session that stores a session-port assignment table in which information indicating an existing session is associated with information indicating a port resource on a global address assigned to a session endpoint on the private network side of the session.
  • the control method according to the present invention is a method for controlling an apparatus for interconnecting a private network and a global network at the boundary between a private network and a global network having different address spaces.
  • Port resources on possible global addresses are managed separately for outgoing calls from the private network and standbys from the global network.
  • Information indicating existing sessions and the private network side of the session It manages the information indicating the port resources on the global address assigned to the session endpoint, and converts the address information of the received bucket according to the correspondence between the existing session and the port resources.
  • the existing session and the port resource It is characterized by changing the port assignment rule while maintaining the correspondence.
  • the control program according to the present invention is a private program having different address spaces.
  • This is a program for controlling a device that interconnects a private network and a global network at the boundary between a private network and a global network, and is a port on the global address that can be assigned as a port allocation rule.
  • Resources are managed separately for sending from the private network and waiting for the global network, and information indicating the existing session is allocated to the session end point on the private network side of the session. Converts the address information of the bucket received according to the correspondence between the existing session and the port resource to a computer that manages the information indicating the port resources on the global address in association with each other.
  • the port resource which is a finite global address resource allocated to the address conversion device.
  • FIG. 1 is a block diagram showing a configuration example of the address conversion device in the first embodiment.
  • FIG. 2 is a block diagram showing a specific configuration example of the address translation device 1 in the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of the address conversion device 1 in the first embodiment.
  • FIG. 4 is a flowchart showing an operation example of the session entry deletion process in the address conversion device 1 of the first embodiment.
  • FIG. 5 is a flowchart showing an operation example of the outgoing call waiting port assignment changing process performed by the assignment rule updating unit 12.
  • FIG. 6 is an explanatory diagram showing an example of an allocation distribution table.
  • FIG. 7 is a block diagram showing a configuration example of the address conversion device 1 in the second embodiment.
  • FIG. 8 is a flowchart showing an operation example of the address conversion process in the address conversion device 1 of the second embodiment.
  • FIG. 9 is a block diagram showing a configuration example of the address conversion device 1 in the third embodiment.
  • FIG. 10 is a flowchart showing an operation example of address conversion processing in the address conversion device 1 of the third embodiment.
  • FIG. 11 is a flowchart showing an operation example of the session entry deletion process in the address conversion device 1 of the third embodiment.
  • Fig. 12 is an explanatory diagram showing an example of the configuration of an address translation system that automatically adjusts the port usage allocation ratio.
  • FIG. 13 is an explanatory diagram showing a configuration example of an address translation system including a plurality of address translation devices.
  • Fig. 14 is an explanatory diagram showing an example of the global network, which is a feature of the initial Internet configuration.
  • FIG. 15 is an explanatory diagram showing an example of interconnection, which is a feature of the recent Internet configuration.
  • Figure 16 is an explanatory diagram showing changes in the future Internet configuration.
  • FIG. 17 is an explanatory diagram showing an example of how to use the port number (for standby) in the address translation device.
  • FIG. 18 is an explanatory diagram showing an example of how to use the port number (for outgoing call) in the address translation device.
  • FIG. 1 is a block diagram illustrating a configuration example of an address conversion device according to the present embodiment.
  • the address conversion device 1 in this embodiment is a global network 1 0 W
  • Session-port assignment table 21 shows the session to which the port is currently assigned and the oral endpoint of the address converter 1 (the global address assigned by the address converter 1 to the session endpoint on the private network side of the session).
  • the upper endpoint which here refers to the port resource).
  • the port allocation rule 2 2 includes at least information indicating the port usage (standby power transmission power) of the port that can be allocated by the address translation device 1.
  • the address conversion unit 1 1 converts the address information of the received packet according to the correspondence between the existing session and the port resource shown in the session-port assignment table 21. On the other hand, ports are allocated according to the port usage shown in port allocation rule 2 2. Allocation rule updating unit 1 2 changes the port usage ratio according to a predetermined procedure.
  • the address conversion unit 11 and the allocation rule update unit 12 are specifically realized by an information processing device that operates according to a program such as a CPU provided in the address conversion device 1.
  • the session-port allocation table 21 and the port allocation rule 2 2 are realized by allocating a predetermined area to the storage device included in the address conversion device 1. ., '
  • the allocation rule update unit 1 2 changes the port usage allocation ratio based on the estimated amount of transmission per unit time, such as for each time zone or day of the week, without affecting the operation. . Specifically, the ratio of port usage in port allocation rule 22 is changed while maintaining the correspondence between existing sessions and port resources in session-port allocation table 21.
  • FIG. 2 is a block diagram showing a specific configuration example of the address conversion device 1 in the present embodiment.
  • the global network side network interface hereafter Below, it is called the GRANOPORE network side network I / F. 3 1, private network side network interface (hereinafter referred to as private network side network I / F) 3 2, address translation unit 1 1, allocation rule update unit 1 2, session-one port allocation table 2 1 and port allocation rule 2 2 are provided.
  • the address conversion unit 1 1 includes a session search unit 1 1 1, a bucket conversion unit 1 1 2, a standby control unit 1 1 3, a transmission control unit 1 1 4, and a session monitoring timer unit 1 1 5.
  • the port assignment rule 2 2 includes a private endpoint assignment table 2 2 1 and an outgoing port assignment rule 2 2 2.
  • the address conversion unit 1 1, the session search unit 1 1 1, the bucket conversion unit 1 1 2, the standby control unit 1 1 3, the transmission control unit 1 1 4, and the session monitoring timer unit 1 1 5 shows an example in the case of being configured.
  • port allocation rule 2 2 is composed of private endpoint allocation table 2 2 1 and outgoing port allocation rule 2 2 2.
  • Network 1 side network I // F 3 1 and private network side network IZF 3 2 are connected to address translation device 1 s , global network 1 0 0, private network 2 0 0, and send / receive packets Do.
  • the global network side network I / F 3 1 and the private network side network I / F 3 2 are shown one by one, but the address translation device 1 has a plurality of interfaces. It ’s good.
  • the session search unit 1 1 1 1 selects the session to which the bucket belongs in the session port assignment table 2 1 from the packet that arrived from the network interface of either the global network 1 0 0 or the private network 2 0 0. Identify registered entries.
  • the packet conversion unit 1 1 2 rewrites the packet address information and the like based on the entry information registered in the specified session-port allocation table 21 and rewrites the packet for the private network 2 0 0. Performs conversion for the global network 100 or vice versa.
  • the outgoing call control unit 1 1 4 is responsible for the session when a bucket arrives from the private network 2 0 0 to the global network 1 0 0 to open a new session. Create an entry in the Session Point Assignment Table 21.
  • the standby control unit 1 1 3 creates an entry for the session in the session 1 port allocation table 2 1 .
  • Session-to-port assignment table 21 shows the correspondence between the port resource of the address converter 1 and the session in which the address converter 1 relays communication between the global network 1 0 0 and the private network 2 0 0.
  • the table may have the following set of values as elements.
  • 2 1 a Private network 2 0 0 session end point (private end point) information
  • 2 1 b Global network 1 0 0 side session end point (global end point) information
  • the end point information is generally a pair of an address and a transport layer port number, but may include additional information as necessary.
  • the local end point information 21c of the address translation device 1 includes at least a set of an address assigned to the address translation device 1 in the global network 100 and a port number assigned to the corresponding session. In addition to this, if the endpoint on the private network 200 side of the address conversion device 1 is necessary for relaying a session, such as transport relay, this information may be included.
  • the session-to-port allocation table 2 1 shows the practical efficiency with the session endpoint information 2 1 a on the private network 200 side and the session endpoint information 2 1 b on the global network 100 side as keys. It is desirable to be configured so that it can be searched. Specifically, it can be realized by creating a hash table based on the values calculated from both session endpoint information 2 1 a and 2 1 b and preparing a reference to each entry from the hash table.
  • Outgoing port assignment rule 2 2 2 contains information for creating an entry element to be registered in session-one port assignment table 2 1 for a new session from the private network 2 0 0 side to the global network 1 0 0 side. Including.
  • Outgoing port assignment Rule 2 2 2 includes at least information 2 2 2 a of the local end port number available for outgoing calls.
  • Port number information 2 1 3 a that can be used for outgoing calls For example, it may be a value of 491 52 (O xCO 00) to 65535 (O xFFFF) in the range of port numbers assigned for outgoing calls.
  • the private endpoint assignment table 22 1 contains information for creating the entry elements recorded in the session-port damage allocation table 21 for a new session from the global network 100 side to the private network 200 side. Including.
  • the private endpoint assignment table 221 includes at least the following information.
  • the port number information 221a of the local endpoint that can be used for standby shows, for example, the value 1 (0 x 0001) to 49151 (0 xBFFF) as the range of port numbers assigned for standby, of which port 80 Is information indicating forwarding to port 80 of address 10. 0. 0. 50.
  • the private endpoint assignment table 221 is configured so that it can be efficiently searched from the port number of the local endpoint.
  • the allocation rule updating unit 12 stores the local endpoint port number information 222 a that can be used for outgoing calls included in the outgoing port damage IJ allocation rule 22 2 and the private endpoint allocation table 221.
  • the port number information 221a of the local endpoint that can be used for standby included is updated by a predetermined procedure. Note that when the local endpoint port number information 221a available for standby is updated, the forwarding destination private endpoint information 221b for each port number is also updated.
  • the session monitoring timer unit 1 15 has a timekeeping function and monitors each entry in the session-one port allocation table 21 to detect the entry for which a timer has been set (started). Delete it. Note that the setting of the timer in the session-one-port allocation table 21 is performed when the bucket conversion unit 112 determines that there is a possibility that the session will be terminated by the bucket when the session of the received bucket is specified. In other words, the session monitoring timer unit 1 1 5 detects the end of the session by measuring the no-communication time after sending and receiving the packet, and deletes the corresponding entry to release the port assignment. T / JP2008 / 061078
  • FIG. 3 is a flowchart showing the operation of the address conversion process in the address conversion apparatus 1 in this embodiment.
  • step S 1 0 1 when a packet arrives at one of the network interfaces (network I / F 3 1 on the network side, IZF 3 2 on the private network side) (step S 1 0 1), the address
  • the session search unit 1 1 1 of the conversion unit 1 1 is a session-one port allocation table in which information about the corresponding session is registered from the combination of the IP address and port number stored in the received bucket ⁇ header. 2 Searches for an entry of 1 (step S 1 0 2).
  • the bucket conversion unit 1 1 2 rewrites the packet header (address information) according to the end point information in the entry (Steps S 1 0 3 Y es, S 1 0 4 ). Specifically, if the packet is for a private network 2 0 0, the packet destination address and port number are set to the session endpoint (2 1 a on the private network 2 0 0 side indicated by the entry). ). On the other hand, in the case of a bucket for the global network 100, the source address and port number of the bucket are rewritten to those of the local end point (2 1 c) indicated by the entry. In addition to the above, if the address conversion method requires rewriting the address, further rewriting is performed.
  • the destination address information is the end point on the private network 2 0 0 side of the address translation device 1 in the bucket from the private network 2 0 0 to the global network 1 0 0.
  • the destination address and port number are rewritten to the address and port number of the corresponding global network 100 end point.
  • the packet conversion unit 1 1 2 determines that the session may be terminated by the packet (Yes in step S 1 0 5)
  • the packet conversion unit 1 1 2 prepares to delete the entry of the corresponding session.
  • the deletion timer is set in the corresponding entry (step S 1 0 6). For example, by setting a timer value that corresponds to the time until the entry is deleted, the deletion timer set informs the session monitoring timer unit 1 15 that the timer is operating and decrements the timer value. You can let it Yes.
  • the session search unit 1 1 1 may determine whether there is a possibility that the session will be terminated when the entry is specified.
  • step S 1 0 7 the packet after address translation is sent out from an appropriate interface (opposite network interface) (step S 1 0 7).
  • step S 1 0 3 if there is no entry corresponding to session-one port allocation table 21, a new session establishment process is performed.
  • the session search unit 1 1 1 1 determines the direction of communication, and if it is a packet destined for the global network 1 0 0, outgoing control Have 1 1 4 perform session opening process
  • Step S 1 0 8 The outgoing call control unit 1 1 4 assigns one port number (speak port) as a local end point from the range of assignable port numbers according to the outgoing port assignment rule 2 2 2 (step S 1 0 9). For example, it is sufficient to determine one port number as a low-power endpoint from the range of assignable port numbers indicated by outgoing port assignment rule 2 2 2.
  • step S1 1 0 If the port number to be used as the local end point can be assigned (Yes of step S1 1 0), the session end point of the private network 2 0 0 side indicated by the information of the low end point and the source address information Information is created by associating the information with the information of the session endpoint on the global network 1 0 0 side indicated by the destination address information, and registered in the session-port allocation table 21 as an entry for the session ( Step S 1 1 1).
  • step S 1 1 1 Predetermined processing such as sending a relay impossible error to the sender is performed (step S 1 1 4).
  • the session search unit 1 1 1 performs a session opening process to the standby control unit 1 1 3 if the packet is addressed to the private network 2 0 0. (Step S 1 0 8).
  • the standby control unit 1 1 3 refers to the private endpoint assignment table 2 2 1 and confirms whether or not a standby port is assigned to the local endpoint indicated by the destination address information of the packet ( Step S 1 1 2). That is, it is confirmed whether or not there is an entry indicating the session end point on the private network 200 side associated with the oral end point indicated by the destination address information of the packet. If it exists (Y es in step S 11 13), the local endpoint information, the global network 100 0 session endpoint information indicated by the source address information, and the destination address information indicated by the destination address information. Information that correlates with the information of the session endpoint on the web network 200 side is created and registered in the session-port allocation table 21 as an entry for the session (step S 1 1 1).
  • a session on the private network 2 0 0 side corresponding to the specified local end point is not performed, or for other reasons (such as a packet that does not open a session). If the end point cannot be identified (No in step S 1 1 3), as in the case of outgoing call processing, predetermined processing such as sending a relay impossible error to the sender is performed (step S 1 1 4 ).
  • Step S1 0 3 Address conversion processing by the bucket conversion unit 1 1 2, etc., set a deletion timer if necessary, and send the address-converted packet from the appropriate interface (opposite network interface) (Steps S 1 0 4 to S 1 0 7).
  • the entry registered in the session-to-port allocation table 21 may be deleted at the end of the session, but the determination at the end of the session depends on the protocol and the address translation method. For example, connectionless protocol such as UDP In the network, there is no information indicating the end of the session in the packet, so the entry in the Session / Port Allocation Table 21 cannot be deleted when the packet passes. In this embodiment, even in such a case, a deletion timer is set (started) every time a packet passes so that the end of the session can be detected. When it detects that it has passed, it deletes the entry.
  • FIG. 4 is a flowchart showing an operation example of the session entry deletion process in the address conversion device 1 of the present embodiment.
  • the session monitoring timer unit 1 1 5 periodically monitors whether or not a deletion timer is set for each entry in the session-one port allocation table 2 1 (step S 2 0 1). . If there is an entry for which a delete timer is set, the timer process (eg, decrementing the timer value) corresponding to the timer value is performed, and a timeout is detected. If there is an entry for which a timeout has occurred as a result of the timing process, the entry is deleted from the session port assignment table 21 (step S 2 0 3).
  • deletion timer for the entry in the session-one port allocation table 21 resets the timer value at that point if the bucket passes in the session indicated by the entry. In this way, session information is maintained while packets are passing at intervals shorter than the timer value of the deletion timer.
  • FIG. 5 is a flowchart showing an operation example of the allocation change processing of the outgoing call waiting port performed by the allocation rule updating unit 12.
  • the allocation rule update unit 12 executes allocation change processing for the outgoing Z waiting port based on an instruction from the user or a predetermined distribution plan (step S 3 0 1).
  • the allocation plan is, for example, that many port resources are allocated for outgoing calls during the daytime and evening when outgoing calls from the private network 200 are frequently performed, and in the early morning when outgoing calls are low, the standby port is assigned.
  • a method such as increasing the allocation can be considered.
  • the actual ratio to be allocated can be determined by calculating the demand from the stand-by in the past and the usage of each outgoing port. In addition, like this It is also possible that the allocation rule updater 1 2 automatically calculates the ratio for each time period using past data.
  • the allocation change instruction or allocation plan includes, for example, a set of port numbers to be used for standby and information for each element of the set (for each port number for standby) as information that becomes an entry in the private endpoint allocation table 2 2 1
  • Information indicating the network endpoint (session endpoint on the private network 200 side) may be given.
  • an allocation distribution table as shown in FIG. 6 is prepared, and the allocation rule update unit 12 changes the allocation at each specified time according to the table shown in FIG.
  • the port number 1 of the local end point is assigned to the private end point 10.1.0.1:80 for the standby end point in the time zone of 0:00:00 to: L: 00: 00 It is shown.
  • private end point information is associated with each port number of the local end point as a standby port in each time zone.
  • the allocation rule update unit 1 2 updates the entry in the private endpoint allocation table 2 2 1 according to such allocation change instruction or allocation plan. For example, the allocation rule updating unit 1 2 detects the change point between the standby port allocation status and the new standby port allocation instruction shown in the current private endpoint allocation table 2 2 1. . If the change is the addition of a standby port (that is, a change from a trusted port to a standby port) (Yes in step S 3 0 2), the outgoing port assignment rule 2 2 2 As a result, the information indicating that the port to be changed for standby can be assigned is deleted, and the entry of the port associated with the private endpoint to be assigned is added to the private endpoint assignment table 2 2 1 (Step S 3 0 3, 3 0 4).
  • the private endpoint assignment table 2 2 1) Delete the entry of the port to be changed for outgoing call, and add information to the port assignment rule for outgoing call 2 2 2 that indicates that the port can be assigned (step S 3 0 5, 3 0 6).
  • This embodiment is an example of the address translation device 1 having a charging function. Assuming a situation where port numbers are exhausted, it may be desirable to be able to charge users for fair port resource distribution. When charging for the use of port resources given to the address conversion device 1, it is preferable to consider the difference in port usage (for outgoing or standby) as described above.
  • the port number is assigned to be fixedly reserved, so it is only necessary to charge the port user from the start of standby until the end of standby.
  • the standby setting is usually set in a predetermined reservation method (for example, a port reservation system). More done. Therefore, charging for the use of the standby port can be done by incorporating charging processing into the reservation processing of the system, and no special mechanism is required for that purpose.
  • a predetermined reservation method for example, a port reservation system. More done. Therefore, charging for the use of the standby port can be done by incorporating charging processing into the reservation processing of the system, and no special mechanism is required for that purpose.
  • the outgoing port is assigned to be used for a specific global network end point that is the destination when a session is established. Also, the private network side endpoint of the sender is uniquely determined. For these reasons, it is appropriate to charge the outgoing port for each user who can be identified from the source or destination endpoint for each session.
  • FIG. 7 is a block diagram showing a configuration example of the address conversion device 1 in the present embodiment.
  • the address translation device 1 in this embodiment includes an outgoing billing unit 23 in addition to the address translation device 1 in the first embodiment shown in FIG.
  • the outgoing billing unit 23 stores billing information for communication for the global network 100 side.
  • the outgoing billing unit 23 is realized by a storage device included in the address translation device 1.
  • the outgoing port assignment rule 2 2 2 includes user specifying information for identifying the user for each end point on the private network 2 0 0 side.
  • the outgoing call control unit 1 14 is the private network side endpoint information obtained from the header information of the bucket that triggered the session, and the outgoing port.
  • the user to be charged is specified based on the user specifying information included in the allocation rule, and charging information is created and stored in the outgoing billing unit 23.
  • FIG. 8 is a flowchart showing an operation example of the address translation process in the address translation apparatus 1 of the present embodiment. Note that steps S 1 0 1 to S 1 1 0 and steps S 1 1 1 to S 1 1 4 in FIG. 8 are the same as those in the first embodiment shown in FIG.
  • the bucket for establishing a session in the global network direction When the call control unit 1 1 4 generates the entry for the session to which the port number as the local end point is assigned, it stores the charging information for the call in the call charging unit 2 3 (step S 4 0 1).
  • the outgoing call control unit 1 1 4 acquires the private network 2 0 0 end point information from the received bucket header, and based on the information, searches the corresponding user identification information from the outgoing port assignment rule. In this way, the user to be charged can be specified.
  • the charging information stored in the outgoing billing unit 23 may be information in which a user identifier is associated with the number of outgoing calls, for example. In addition, information such as call time and destination information may be held for each call.
  • the port in the address translation device 1 can be charged more according to the actual usage.
  • the transmission control unit 1 1 4 stores the charging information including the session information (at least a set of session endpoints) and the start time in the transmission charging unit 23, and the session monitoring timer unit 1 1 5
  • the end time is added to the billing information that matches the session information indicated by the entry to be deleted. You may make it register.
  • This embodiment is an example of the address translation device 1 having a call waiting queue.
  • the port resources can be assigned more efficiently than the standby due to the statistical multiplexing effect.
  • the duration of a session related to a single call such as a call for establishing a connection, is short and there are many sessions, and the amount of calls within a short period of time varies greatly. For this reason, even if the average demand is predicted and port resources are secured for transmission, there is a possibility that transmission will exceed that.
  • the address translation device 1 can prepare a queue for the outgoing queue and perform sequential control so that the outgoing ports can be assigned fairly. If you do.
  • FIG. 9 is a block diagram illustrating a configuration example of the address conversion device 1 in the present embodiment.
  • the address translator 1 in this embodiment adds a call waiting queue 24 to the configuration of the address translator 1 in the first embodiment shown in FIG.
  • the configuration in which 5 is changed to the session monitoring unit 1 1 6 is adopted.
  • Outgoing queue 2 4 is a packet (session establishment packet) to which a port number (that is, a port resource for outgoing calls) that is a local endpoint is not assigned to a packet for establishing a session for the global network 100 side. Is temporarily saved.
  • the outgoing call queue 24 has a control unit (not shown) having a function of inspecting the header information of the held bucket and a function of taking out a specific bucket while maintaining the order of holding. Including.
  • Session monitoring unit 1 1 6 has a timekeeping function, similar to session monitoring timer unit 1 1 5, and monitors the deletion timer for each entry in session-one port allocation table 2 1 and deletes the entry that has timed out. And has a function of notifying the transmission control unit 1 1 4 of the deleted entry information.
  • the transmission control unit 1 1 4 cannot assign a port number as a local end point to the session establishment packet for the global network 100 0 side because there is no space in the transmission port.
  • the packet (session establishment packet) is held in the call waiting queue 24.
  • the session monitoring unit 1 1 6 notifies the deletion of the entry related to the end of the session, the outgoing call queue 2 2 is released by deleting the entry. Attempt to assign a port.
  • the call waiting queue 24 is specifically realized by a storage device included in the address translation device 1 and an information processing device that operates according to a program such as CPU.
  • the session monitoring unit 1 16 is specifically realized by an information processing device that operates according to a program such as CPU provided in the address translation device 1.
  • the operations according to the present embodiment include packet reception trigger processing and entry deletion trigger processing.
  • FIG. 10 is a flowchart showing an operation example of the address conversion process in the address conversion device 1 of the present embodiment. Steps S 1 0 1 to S 1 1 0 and steps S 1 1 1 to S 1 1 4 in FIG. 10 are the same as those in the first embodiment shown in FIG. .
  • a port number as a local endpoint is not assigned.
  • the transmission control unit 1 1 4 determines whether or not the transmission port has not been assigned because there is no available space (step S 5 0 1). If the cause is other than that there is no free space, the same processing as in the case where the port assignment has failed in the first embodiment is performed (step S 1 14).
  • step S 5 0 2 If no port number is assigned as a local end point because there is no available space, the received packet is not discarded but stored in the call waiting queue 24 (step S 5 0 2).
  • step S 5 0 2 When a session opening packet not assigned to a port is stored in the outgoing queue 24, the processing for the bucket reception trigger according to this embodiment is completed.
  • FIG. 11 is a flowchart showing an operation example of the session entry deletion process in the address conversion device 1 of the present embodiment. Note that steps S 2 0 1 to S 2 0 3 in FIG.
  • steps S 2 0 1 to S 2 0 3 are performed by the session monitoring unit 1 16.
  • the session monitoring unit 1 1 6 is registered in the session 1 port allocation table 2 1 in the same way as the session monitoring timer unit 1 1 5 in the first embodiment.
  • the deletion timer setting status of each entry is monitored, timed as necessary, and deleted if there is a time-out entry (steps S 2 0 1 to S 2 0 3).
  • the local endpoint and global endpoint information used by the deleted entry is stored.
  • the session monitoring unit 1 1 6 inspects the packets held in the outgoing queue 2 4 in order from the oldest (registration order) (step S 6 0 1), and based on the end point information indicated by the deletion entry It is checked whether there is anything that can be transmitted (step S 6 0 2). Specifically, if the global endpoints indicated by the destination address information match, it is determined that the oral port can be assigned. In this case (Y e s in step S 6 0 2), the processing from step S 1 1 1 in FIG. 10 is executed.
  • the local endpoint used in the deleted entry is assigned to the packet that can be sent out of the buckets held in the outgoing queue 24 and opened by the packet.
  • An entry for the session is created and registered in the session-to-port assignment table 21 (step S 1 1 1). Then, after creating a new entry in the session-port assignment table 21, as in the case of the existing session, the address translation processing is performed by the packet translation unit 1 1 2 and the appropriate interface (on the other side) The address converted bucket is transmitted from the network interface (steps S 104 to S 107).
  • step S 6 0 2 if there is no packet with a matching global endpoint (No in step S 6 0 2), the local endpoint with the global endpoint that is the destination of all buckets held in the outgoing queue 24 as the opposite endpoint Since all ports are in use, processing is terminated without assigning ports to the packets held in the outgoing queue 24.
  • Example 4 Next, a fourth embodiment of the address translation device according to the present invention will be described.
  • This embodiment is an example of the address translation device 1 that controls a transmission queue in consideration of priority.
  • the address conversion device 1 in this embodiment includes a plurality of call waiting queues 24 for each priority.
  • information that associates private endpoints with priority information is included in the outgoing port assignment rules.
  • the outgoing call control unit 1 1 4 specifies the priority based on the header information of the bucket when the local port is not allocated because the outgoing port is not available, and the specified priority is specified.
  • the packet is held in the outgoing queue 2 4 corresponding to each time.
  • the priority of the transmission by the packet is specified by searching the priority information of the port assignment rule for the transmission using the private endpoint information of the transmission source obtained from the header of the packet. To do.
  • the session monitoring unit 1 1 6 detects a packet that can be allocated from the high-priority outgoing queue 2 24 when the entry in the session-one port allocation table 21 is free.
  • outgoing ports can be assigned with priority to outgoing calls from specific users.
  • the outgoing port can be assigned in preference to the traffic of the user who pays a large amount.
  • This embodiment is an example of the address conversion device 1 that automatically adjusts the allocation ratio for port usage.
  • the allocation rule updating unit 12 has a function of adjusting the allocation of port resources between outgoing and standby by rewriting the port allocation rule 2 2.
  • the usage ratio is determined based on a predetermined procedure (specifically, an instruction from the user or an allocation plan).
  • a predetermined procedure specifically, an instruction from the user or an allocation plan.
  • the policy of this embodiment is as follows.
  • FIG. 12 is a block diagram showing an example of the configuration of the address conversion system in the present embodiment. As shown in FIG. 12, this embodiment further includes a transmission amount measuring unit 51 and a standby reservation system 52. In FIG. 12, the transmission amount measuring unit 51 and the standby reservation system 52 are shown as separate devices, but they may be incorporated in the address conversion device 1.
  • Outgoing volume measuring unit 51 determines the amount of traffic in the outgoing direction (the amount of sessions that performed outgoing processing) from the traffic that passes through address converter 1 to the global network 100 side.
  • the transmission amount measurement unit 51 is realized by, for example, a device that observes traffic passing through the address translation device 1.
  • the amount of sessions in the outgoing direction to the global network 100 side is observed by notification from the packet converter 1 1 2 and the outgoing controller 1 1 4. Also good. '
  • the standby reservation system 5 2 is a means for reserving the standby port of the address conversion device 1, and reserves the standby port of the address conversion device 1 by receiving the following information from an external system or user through a network or the like. To do. 5 2 a. Set of local endpoint port number used for standby and destination private endpoint
  • the standby reservation system 52 does not only make a reservation, but also sends the reserved port information (including the number of reserved ports) to the address translation device 1 (specifically, the allocation rule update unit 1 2). , Set an upper limit for the reservation quota, obtain the upper limit value from the address converter 1, and charge for each port when executing the reservation. Or set the port usage fee for each time slot.
  • the allocation rule updating unit 1 2 automatically assigns port resources (including determining the allocation ratio) as follows.
  • the allocation rule update unit 12 periodically acquires the transmission processing amount from the transmission amount measurement unit 51 and the reservation amount of the standby port from the standby reservation system 52. Then, using these, statistics are calculated in a predetermined unit where the traffic volume is expected to change, such as the time of day and the day of the week.
  • the expected value of the standby reservation amount in a certain time zone (also this) of a certain day of the week P r Get t and the expected value ps-t for outgoing processing.
  • the allocation rule update unit 1 2 classifies the upper limit p ⁇ t of the number of standby ports in the future time zone t from the expected value and the standby port unit price V r ⁇ t as follows. To decide.
  • the reserved allocation upper limit for the number of standby ports set at a predetermined initial value is P-0
  • the unit price for outgoing calls is V s -1
  • the standby port unit price is V r _ 0. Yes.
  • p ⁇ t and V r ⁇ t are determined so as to satisfy p ⁇ t> p ⁇ 0 and v r ⁇ t and v r ⁇ .
  • the standby reservation amount is waiting P ⁇ t is determined so that P ⁇ t and p ⁇ 0 are satisfied as long as the receiving port resources are not used up.
  • the port resource for standby is assumed to be surplus. Part of it. Specifically, P ⁇ t is determined so that P ⁇ t> p ⁇ 0 is satisfied as long as the transmission volume does not use the port resources for transmission.
  • p ⁇ t and V r ⁇ t are determined so as to satisfy p ⁇ t ⁇ p ⁇ 0 and V r ⁇ t> v r ⁇ 0.
  • the allocation rule update unit 1 2 keeps the result of the above-mentioned case determination from the expected value for a predetermined number of times, If it is determined that there is no change in the situation (that is, the result of the decision of case classification) even if the automatic process is executed, the long-term process should be executed.
  • the ratio of demand for each transmission and standby and the demand for the entire port resource can be adjusted to be optimal.
  • port resources can be allocated automatically and efficiently.
  • Example 6 Next, a sixth embodiment of the address conversion device according to the present invention will be described.
  • This embodiment is an example of interconnecting networks using a plurality of address conversion devices.
  • the address translation device 1 has been shown to operate as a single device.
  • a large-scale private network 2 0 0 and a global network 1 0 0 are connected, a large amount of traffic must be relayed, so a single address conversion device may not be able to achieve sufficient performance. There is also.
  • a method may be considered in which a plurality of address translation devices are prepared and the local end point space is divided and assigned to each address translation device. For example, it is possible to prepare a dedicated address translation device for outgoing calls and standby devices, and adjust the distribution of port usage according to the ratio of the number of devices. However, even in such a case, it is necessary to protect the existing session when switching the port usage, and also control the call waiting when the call port is full or the call queue with priority. Control is also desired.
  • the present invention can obtain the same effect by applying the present invention to each address conversion device even in a network configuration including a plurality of address conversion devices.
  • FIG. 13 is an explanatory diagram showing a configuration example of an address translation system including a plurality of address translation devices.
  • the address translation system shown in FIG. 13 includes a plurality of address translation devices 1 (address translation devices 1 to 1 to 1-n), a global network side packet distributor 3 1 0, and a private network side packet distributor 3 2 0. Then, the allocation rule update unit 2 works.
  • Addressless conversion device in this embodiment 1 1 1 ⁇ ! ! Is obtained by removing the allocation rule updating unit 12 from the address conversion device 1 configured as the single device described above.
  • the packet distributors 3 1 0 and 3 2 0 are communication devices having functions equivalent to L 4 switches, which are connected to the global network 1 0 0 and private network 2 0 0, respectively, and are given by the allocation rule update unit 2 According to the distribution rule, the target address conversion device 1 is specified from the header information of the bucket that arrives from the network, and the packet is delivered to the address conversion device 1.
  • Allocation rule update unit 2 sets the port number space for calling and waiting according to a predetermined procedure.
  • a port usage is specified and a list of port numbers to be processed is assigned.
  • distribution rules are set for the bucket distributors 3 1 0 and 3 2 0 according to the allocation of the processing target ports to each address translation device 1.
  • the global network side bucket distributor 3 10 has a packet addressed to the address conversion device 1 assigned a port number as a local endpoint that can be used for standby. The distribution rule should be set so that it is distributed.
  • the private network side packet distributor 3 2 0 converts the address of the private endpoint that is the source, for example, to the address converter 1 to which the port number as the local endpoint that can be used for transmission is assigned.
  • the distribution rule may be set so that it is distributed according to the number of devices 1 and distributed to a predetermined address conversion device 1.
  • the present invention can be applied as an address conversion system even in a network configuration including a plurality of address conversion devices.
  • the method of efficiently allocating port resources on the global network side to the example of the address conversion device 1 that connects the private network and the global network has been described. This method can also be applied to address translation devices that connect networks that employ different address spaces other than the private network and the IP V 4 global network.
  • an address translation device such as NAT-PT or transport relay is installed at the boundary.
  • This address translation device mainly removes the IPV 4 header of the bucket and attaches the IP v 6 header, and vice versa, so that the session can pass between the IPV 4 network and the IPV 6 network. It is aimed.
  • the host nodes are constructed as networks that can reach each other without going through the IP v 4 network. There is relatively little communication between host nodes, and there is a possibility that the port resources of the address conversion device will not be insufficient.
  • the port depletion of the address translation device becomes a problem.
  • the port can be efficiently allocated using the method of the present invention.
  • the port allocation rule storage unit stores the port allocation rules indicating the port resources on the global address that can be allocated for outgoing from the private network and for standby from the global network. And a session-to-port allocation table that associates information indicating existing sessions with information indicating port resources on the global address assigned to the session endpoints on the private network side of the session.
  • a session-port allocation table storage unit for converting the address information of the received bucket according to the correspondence between the existing session and the port resource registered in the session-port allocation table, and the session-port allocation table Open a new session that is not registered with
  • an address conversion unit that allocates port resources according to the port usage indicated by the port allocation rule for the session, and a ratio of the allocation number of the outgoing port and the standby port are set to a predetermined value. It shows the configuration of an address conversion device with a port usage ratio changing unit that changes according to the procedure.
  • the port allocation rule storage unit is realized by the port allocation rule 2 2 (specifically, the storage device of the address translation device 1 to which a storage area is allocated as the port allocation rule 2 2). .
  • the session-port assignment table storage unit is realized by the session-port assignment table 21 (specifically, the storage device of the address translation device 1 to which a storage area is assigned as the session-one port assignment table 21).
  • the address conversion unit is realized by the address conversion unit 11.
  • the port usage ratio changing part is realized by the allocation rule updating part 1 2.
  • the port usage ratio changing unit changes the ratio of the allocation number of the outgoing port and the standby port, and shows the correspondence between the existing session and the port resource in the session-port allocation table.
  • the configuration is shown by changing the port assignment rules while retaining them.
  • the port usage ratio changing unit changes the port usage ratio based on fluctuations in the demand for port resources for each predetermined time period predicted from the past usage. Additional configurations are shown. With such a configuration, it is possible to control the allocation ratio for port usage to be optimum.
  • a user specific information storage unit for storing user specific information for identifying a user for each end point on the private network side, and a usage record for use in a charging mechanism for each user are stored.
  • the address conversion unit is responsible for making a call to the user specified from the information of the session end point indicated by the bucket that opened the session when the port for outgoing call is assigned to the new session.
  • a configuration including a transmission control unit for recording a usage record is shown.
  • the user specific information storage unit assigns a storage area as the outgoing port assignment rule 2 2 2 including the user specific information (specifically, the storage area is assigned as the outgoing port assignment rule 2 2 2). It is realized by the storage device of the address translation device 1).
  • the usage record storage unit is realized by the outgoing billing unit 23. Further, the transmission control unit is realized by the transmission control unit 1 14 in the second embodiment. With this configuration, it is possible to identify and charge the calling user during outgoing call processing, and it is possible to prevent useless use of port resources.
  • the port usage ratio changing unit determines the port usage ratio and the charging mechanism based on the demand amount and the actual supply amount of the port resources for each predetermined time period predicted from the past usage amount.
  • the configuration for changing the port resource usage unit price for each port usage in is shown.
  • the port usage ratio changing unit is realized by the allocation rule updating unit 12 in the fifth embodiment. With such a configuration, the ratio of demand for each transmission and standby, port resources, and overall demand can be adjusted optimally. Therefore, port resources can be allocated more efficiently.
  • the above embodiment includes a call waiting queue that temporarily stores packets waiting to be assigned to a call port. When the address translation unit receives a packet for opening a new session, the call port is set.
  • the packet When the outgoing port is not assigned because there is no free space, the packet is held in the outgoing queue, and when the outgoing port is free, the packets held in the outgoing queue are ordered. And a transmission control unit that assigns the outgoing port if the outgoing port can be assigned to a session that the bucket is about to open. It is.
  • the transmission waiting queue is realized by the transmission waiting queue 24.
  • the transmission control unit is realized by the transmission control unit 1 1 4 in the third embodiment.
  • the above embodiment includes a plurality of outgoing call queues corresponding to different priorities, and when the outgoing call control unit holds the packet in the outgoing call queue, the private network side end point indicated by the packet is provided.
  • the priority of the user identified based on the priority is determined, the packet is held in the outgoing queue corresponding to the determined priority, and when the outgoing port is free, the queue queue with higher priority is set.
  • a configuration for attempting to assign the outgoing port is shown.
  • the call waiting queue is realized by the call waiting queue 24 in the fourth embodiment.
  • the transmission control unit is realized by the transmission control unit 1 1 4 in the fourth embodiment. With this configuration, for example, the degree of freedom of port resource distribution can be increased by linking with the billing function.
  • the address conversion unit includes a session monitoring timer unit that determines the end of the session by a timer processing that starts according to a predetermined condition for each entry in the session-port allocation table.
  • the configuration is shown.
  • the session monitoring timer unit is realized by the session monitoring timer unit 1 15.
  • the address space of one network P includes the address space of the other network G, or there is a mapping from the address space of the network P onto the address space of the network G 2
  • An address conversion device that is located at the boundary of two bucket switching networks and interconnects the networks, and port resources in the transport layer port number space on the network G side that can be allocated by the address conversion device are A port allocation rule storage unit for storing port allocation rules separately for outgoing calls used for session establishment from network P to network G and standby use used for session establishment from network G to network P; and an existing session Information indicating the session end point of the session and the network G side transport layer port number space assigned to the network P side session end point of the session Session-port allocation table storage unit that stores a session-port allocation table that correlates information indicating port resources, and received according to the correspondence between existing sessions and port resources registered in the session-port allocation table When a packet for converting a packet address information and opening a new session that is not registered in the session-port assignment table is received, the port is assigned to the
  • a configuration of an address conversion device includes an address conversion unit that allocates resources and a port usage ratio change unit that changes the ratio of the number of outgoing ports and standby ports assigned according to a predetermined procedure.
  • the address space of the other network G is included in the address space of the other network P here, or there is a mapping from the address space of the network P onto the address space of the network G.
  • the relationship is, for example, a relationship between an IPv6 network (corresponding to network P) and an IPv4 global network (corresponding to network G). According to such a configuration, not only for the interconnection between the global network and the private network, but also for the network connection in which the global address resource may be exhausted in the interconnection of networks with different address spaces. Resources can be used more efficiently.
  • one or more address conversion devices that perform address conversion and transfer packets, and all or part of the port resources on the global address that can be allocated by the address conversion system
  • a port assignment management device that is designated and assigned to the address translation device.
  • the address translation device includes information indicating the session end point of the existing session and the global address assigned to the session end point of the session on the private network.
  • Session-to-port allocation table storage unit that stores the session-to-port allocation table that correlates information indicating the above port resources, and the correspondence between existing sessions and port resources registered in the session-to-port allocation table Convert bucket address information received according to When a packet for opening a new session that is not registered in the session-port allocation table is received, the port resource allocated from the port allocation management device is allocated to the session according to its use.
  • An address translation unit, and the port assignment management device is connected to the address translation device. It shows the configuration of an address conversion system equipped with a port usage ratio changing unit that changes the ratio of the number of allocated ports according to a predetermined procedure.
  • the port assignment management device is realized by an information processing device including the assignment rule update unit 2.
  • the address translation device is realized by the address translation devices 1 1 1 to 1 1 n. With such a configuration, when a large-scale private network and the global network are connected, if a single device cannot achieve sufficient performance, it is configured with multiple address conversion devices.
  • the present invention can also be applied. In addition, for example, it is possible to prepare address translation devices dedicated for outgoing calls and standbys, and adjust the port usage according to the ratio of the number of devices.
  • the present invention can be applied to an address translation apparatus having an address translation function for interconnecting networks having different address spaces.
  • it is suitable for use in routers, switches, and session relay devices equipped with the NA PT function that connects the IPv4 global network and the private network and dynamically assigns port numbers, and the transport relay function.
  • the NA that connects the IPV 6 network and the IPV 4 network
  • the present invention can also be suitably applied to the same type of device having a P T -P T function and a transport relay function.

Landscapes

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

Abstract

アドレス変換装置に割り当てられた有限のグローバルアドレス資源であるポート資源をより効率的に利用することができるようにする。既設セッションと当該アドレス変換装置におけるローカル端点(ポート資源)とを対応づけたセッション−ポート割り当て表と、割り当て可能なポートについてのポート用途を示すポート割り当て規則を保持し、アドレス変換部は、セッション−ポート割り当て表で示される既設セッションとポート資源との対応関係に従って受け取ったパケットのアドレス情報を変換するとともに、新規にセッションを開設するパケットに対し、ポート割り当て規則で示されるポート用途に従ってポートを割り当てる。割り当て規則更新部は、セッション−ポート割り当て表における既設セッションとポート資源との対応づけはそのままに、ポート割り当て規則におけるポート用途の比率を変更する。

Description

明 細 書 ァドレス変換装置及びァドレス変換方法 技術分野
本発明は、 ゲートウェイ装置などのパケット交換網の通信装置に関し、 特に、 異なるァドレス空間をもつ網の相互接続を行うアドレス変換装置、 ァドレス変換 システム、 およびその制御方法並びに制御用プログラムに関する。 背景技術
図 14に示すように、 TCP/I Pネットワークは、 その初期には、 すべての ホストノードがグローバルァドレスを持ち、 互いに到達可能なように構築されて いた。 以下、 このような互いに到達可能なネットワークをグロ一パル網と呼ぶ。 しかし、 近年、 I Pアドレスの消費抑制などの観点から、 様々な組織がプライ ペートアドレス空間を利用して、 自組織の TCPZl P網を構築するようになつ た。 以下、 このようなプライベートアドレス空間を利用して構築されるネットヮ ークをプライベート網と呼ぶ。
図 1 5は、 プライべ一ト網とグローバル網の相互接続の構成例を示す説明図で ある。図 15に示すように、プライべ一ト網とグローバル網を接続するためには、 NAT (Network Address Translator) や、 NAP T (Network Address and Port Translator )N SOCKS (RFC1928) に基づく トランスポートリ レー、 HTTP p r o x yサーバなどの ALG (Application Level Gateway) などのアドレス変 換を用いる。 以下、 このような異なるアドレス空間をもつ網の相互接続を行うた めにァドレス変換を行う装置のことを総称してァドレス変換装置と呼ぶ。
ところで、 近年のインターネットの普及により、 グローバノレ I Pアドレスの消 費は急激に多くなつている。 グローバル I Pアドレスの数は有限なため、 このま までは近い将来すべてのグロ一バル I Pァドレスが割り当てられてしまい、 グロ 一バルァドレスの枯渴が起こると考えられている。
上記のような状況になると、 TCPZI P網に新しいホストノードを接続する には、 上述したプライべ一ト網にホストノードを接続してプライベートァドレス を割り当て、 ァドレス変換装置を経由してグローバル網おょぴ他のプライべ一ト 網の装置と通信するしかない。
また、 例えグローバルアドレスが枯渴しなくとも、 グローバルアドレスの消費 を抑制したまま接続させるホストノードが増加していけば、 それに応じて、 ブラ ィベート網の規模も大きくなり、 ァドレス変換装置に割り当てられる 1つのグロ 一バル I Pァドレスあたりのプライベート網内ホストノード数も増加する (図 1 6参照)。
この状況が進むと、 次に、 T C Pや U D P等のトランスポート層プロトコルが 利用するポート番号の不足が問題になると予想される。
主要なトランスポート層プロ トコル (T C P、 U D P、 S C T P、 D C C P ) のポート番号は 1 6ビット長データであり、 約 6万 5千個である。 N A P Tや A L Gでは、 1つのグローバルアドレスを用いる場合であっても、 プライベート網 側のホストノードにポート番号を個別に割り当てることによって、 多くのプライ ベート網内のホストノードがグローバル網との通信を同時に行えるようにしてい る。
NA P Tや A L Gにおけるポート番号の割り当ては、 例えば、 次のように行わ れる。 通信の向きにより割り当て方法が異なり、 相手を特定してコネクションを 張る 「発信」 と、 自分の特定ポートに対して不特定の相手からのコネクションを 受け付ける 「待ち受け」 とに分けて割り当てが行われる。 このようなコネクショ ンの接続相手は、通常対向ノードのァドレスとポート番号の組で識別する。以下、 ァドレスとポート番号の組で識別される接続先のことをコネクションの端点 (ェ ンドポイント) と呼ぶ。
待ち受けは不特定の接続元からのコネクションを受け付けるため、 全対向端点 に対してポート番号を占有する (図 1 7参照)。 図 1 7では、例えば、 グローバル 網からの待ち受け用とするポート 8 0がプライべ一ト網内のホストノード 2— 1 に占有されていることが示されている。 一方、 発信は、 特定の接続先の端点に対 してポート番号を割り当てればよく、 異なる端点に対しては、 同一ポート番号を 他のコネクションが利用できる (図 1 8参照)。 図 1 8では、 例えば、 プライべ一 ト網からの発信用とするポート 49153は、 それぞれ異なるグローバル網のホ ストノード 1一 2, 1— 3, 1—4と通信を行うプライベート網内のホストノー ド 2— 1, 2-2, 2— 3に共有利用されていることが示されている。 このこと から、 発信よりも待ち受けの方が一般にポート番号の資源を多く消費する。
また、トランスポートリレーや NAP T等においても、待ち受け用のポートは、 不特定の対向端点からのコネクションを転送する役割を持つ。 また、 発信用のポ ートは、 プライベート網内の不特定ホストの端点からの発信に対し、 特定のポー ト番号を割り当ててグロ一バル網側に転送する役割を持つ。 よって、 ポートの割 り当て方法は、 前述の方式と同様である。
ここで、 プライベート網内に待ち受けを行うホス トノードが多くなると、 アド レス変換装置のポートが待ち受け用に使いきられてしまうことにもなりかねない。 ァドレス変換装置のポートが待ち受け用に使い切られてしまえば、 プライベート 網側からの発信ができなくなってしまう。
通常は、 発信用に一定量の空きポートを残して待ち受け用ポートの割り当てを 行うことによって、 発信ができなくなるのを防止している。
なお、 アドレス変換装置のポートの利用に関する技術に関連し、 例えば、 特許 文献 1には、 LAN内に設置されるストリームサーバ装置が、 NAS装置がプロ トコルパケット送受信用に準備するポートの情報を示す実ポート情報 (静的ポー トか動的ポートかの区別、 使用可能なポート番号) を含むアドレス管理テーブル を保持する旨が記載されている。
また、特許文献 2には、待ち受けポート番号を効率よく取得可能にするために、 自己に一意に割り当てられた識別情報と、 共通の関数とを用いて、 待ち受けポー ト番号を設定する旨、 および一定時間毎に複数の共通の関数のうちから一の共通 の関数を取得し待ち受けポート番号を設定しなおす旨が記載されている。
特許文献 1 :特開 2004— 259225号公報 (段落 01 1 5— 01 25、 図 9 )
特許文献 2 :特開 2006— 319384号公報 (段落 001 1, 0017) 発明の開示 発明が解決しょうとする課題
NA P T装置等のァドレス変換装置において、 特許文献 1に記載されているよ うな常時待ち受け用として割り当て済みの静的ポートと、 その都度必要に応じて 割り当てる動的ポートとを区別することは、 一般的に行われている割り当て制御 方法である。 そして、 このような用途の設定は人手によって行われ、 また、 設定 変更の頻度もそれほど多くないと考えられている。 このため、 設定変更によって 既設セッションに影響を与えることについてのァドレス変換装置における対策に ついては、 何ら考慮されていない。 しかし、 上述したように、 アドレス変換装置 に割り当てられた有限のポート資源 (すなわち、 グローバル網において接続端点 となりうる資源) が枯渴する可能性があるような状況下において、 一定量のポー ト資源を発信用に固定的に確保しておくことは、 発信の頻度の変動が大きいこと を考えると、 非効率である。 従って、 ポート資 、を効率的に利用するために、 ポ 一ト用途の比率を最適化しようとした場合、 頻繁にポート用途の設定が変更され ることも考えられる。 し力 しながら、 特許文献 1に記載されているような静的ポ 一トと動的ポートとを区別するだけでは、 頻繁にポート用途の設定が変更される ような運用がされた場合に、 既設セッションを保護できない。
なお、 特許文献 2には、 一定時間毎にポート番号を設定し直す旨が記載されて いるが、 その目的は、 ポート番号紹介サーバを必要とせず、 かつセキュリティの 向上を図りつつ、 より効率よく持ち受けポート番号を取得するためであって、 ァ ドレス変換装置において有限のポート資源を効率的に利用しようということが考 慮されているわけではない。 すなわち、 各々のノードに対し割り当てられるポー ト番号が時間的に変化するだけで、 各々のノードに常時待ち受けポート番号が割 り当てられることに変わりはなく、 有限のポート資源の効率的な利用が図られる わけではない。
そこで、 本発明は、 大規模なプライベート網に接続される場合であっても、 ァ ドレス変換装置に割り当てられた有限のグローバルァドレス資源であるポート資 源をより効率的に利用することができるアドレス変換装置を提供することを目的 とする。
課題を解決するための手段 本発明によるァドレス変換装置は、 異なるァドレス空間をもつプライべ一ト網 とグ口一バル網の境界に位置してプライベート網とグロ一パル網の相互接続を行 うァドレス変換装置であって、 当該ァドレス変換装置で割り当て可能なグローバ ルアドレス上のポート資¾1を、 プライベート網からの発信用と、 グローバル網か らの待ち受け用とに分けて示すポート割り当て規則を記憶するポート割り当て規 則記憶部と、 既設のセッションを示す情報と、 該セッションのプライべ一ト網側 セッション端点に対し割り当てられているグローバルァドレス上のポート資源を 示す情報とを対応づけて示すセッションーポート割り当て表を記憶するセッショ ンーポート割り当て表記憶部と、 セッシヨン一ポート割り当て表に登録されてい る既設セッシヨンとポート資源との対応関係に従つて受け付けたパケットのアド レス情報を変換するとともに、 セッションーポート割り当て表に登録されていな い新規なセッションを開設するバケツトを受け付けた場合に、 該セッションに対 し、 ポート割り当て規則で示されるポート用途に従ってポート資源を割り当てる アドレス変換部と、 発信用ポートと待ち受け用ポートの割り当て数の比率を、 所 定の手順に従って変更するポート用途比率変更部とを備えたことを特徴とする。 また、 本発明による制御方法は、 異なるアドレス空間をもつプライベート網と グローバル網の境界において、 プライべ一ト網とグローバル網の相互接続を行う 装置の制御方法であって、 ポート割り当て規則として、 割り当て可能なグローバ ルアドレス上のポート資源を、 プライベート網からの発信用と、 グローバル網か らの待ち受け用とに分けて管理し、 既設のセッションを示す情報と、 該セッショ ンのプライべ一ト網側セッション端点に対し割り当てられているグローバルァド レス上のポート資源を示す情報とを対応づけて管理し、 既設セッシヨンとポート 資源との対応関係に従って受け付けたバケツトのァドレス情報を変換するととも に、 対応関係が保持されていない新規なセッションを開設するバケツトを受け付 けた場合に、 該セッションに対し、 ポート割り当て規則で示されるポート用途に 従ってポート資源を割り当て、 発信用ポートと待ち受け用ポートの割り当て数の 比率の変更が指示された場合に、 既設セッションとポート資源との対応関係を保 持させたまま、 ポート割り当て規則を変更することを特徴とする。
また、 本発明による制御用プログラムは、 異なるアドレス空間をもつプライべ 一ト網とグロ一パル網の境界において、 プライべ一ト網とグローバル網の相互接 続を行う装置の制御用プログラムであって、 ポート割り当て規則として、 割り当 て可能なグローバルァドレス上のポート資源を、プライべ一ト網からの発信用と、 グローバル網からの待ち受け用とに分けて管理し、 かつ既設のセッションを示す 情報と、 該セッションのプライベート網側セッション端点に対し割り当てられて いるグローバルァドレス上のポート資源を示す情報とを対応づけて管理している コンピュータに、 既設セッションとポート資源との対応関係に従って受け付けた バケツトのァドレス情報を変換するとともに、 対応関係が保持されていない新規 なセッションを開設するパケットを受け付けた場合に、 該セッションに対し、 ポ 一ト割り当て規則で示されるポート用途に従ってポート資源を割り当てる処理、 および発信用ポートと待ち受け用ポートの割り当て数の比率の変更が指示された 場合に、 既設セッションとポート資源との対応関係を保持させたまま、 ポート割 り当て規則を変更する処理を実行させることを特徴とする。
発明の効果
本発明によれば、 了ドレス変換装置に割り当てられた有限のグローバルァドレ ス資源であるポート資源をより効率的に利用することができる。 図面の簡単な説明
図 1は、 第 1の実施例におけるァドレス変換装置の構成例を示すブロック図で ある。
図 2は、 第 1の実施例におけるアドレス変換装置 1の具体的な構成例を示すブ ロック 図である。
図 3は、 第 1の実施例におけるァドレス変換装置 1の動作例を示すフローチヤ ートである。
図 4は、 第 1の実施例のァドレス変換装置 1におけるセッシヨンエントリ削除 処理についての動作例を示すフローチヤ一トである。
図 5は、 割り当て規則更新部 1 2が行う発信用ノ待ち受け用ポートの割り当て 変更処理の動作例を示すフローチャートである。
図 6は、 割り当て配分表の例を示す説明図である。 図 7は、 第 2の実施例におけるァドレス変換装置 1の構成例を示すプロック図 である。
図 8は、 第 2の実施例のァドレス変換装置 1におけるァドレス変換処理につい ての動作例を示すフローチャートである。
図 9は、 第 3の実施例におけるァドレス変換装置 1の構成例を示すプロック図 である。
図 1 0は、 第 3の実施例のァドレス変換装置 1におけるァドレス変換処理につ いての動作例を示すフローチヤ一トである。
図 1 1は、 第 3の実施例のァドレス変換装置 1におけるセッションェントリ削 除処理 についての動作例を示すフローチャートである。
図 1 2は、 ポート用途の割り当て比率を自動調整するアドレス変換システムの 構成例を示す説明図である。
図 1 3は、 複数のアドレス変換装置を備えたアドレス変換システムの構成例を 示す説明図である。
図 1 4は、 初期のインターネットの構成の特徴であるグロ一バル網の例を示す 説明図である。
図 1 5は、 近年のィンターネットの構成の特徴である相互接続の例を示す説明 図である。
図 1 6は、 将来のインターネットの構成の変化を示す説明図である。
図 1 7は、 アドレス変換装置におけるポート番号の利用方法 (待ち受け用) の 例を示した説明図である。
図 1 8は、 アドレス変換装置におけるポート番号の利用方法 (発信用) の例を 示した説明図である。 発明を実施するための最良の形態
以下、 本発明の実施例を図面を参照して説明する。
実施例 1
図 1は、本実施例におけるァドレス変換装置の構成例を示すプロック図である。 図 1に示すように、 本実施例におけるァドレス変換装置 1は、 グロ一パル網 1 0 W
0とプライべ一ト網 2 0 0の相互接続を行うためのァドレス変換機能をもったァ ドレス変換装置であって、 ァドレス変換部 1 1と、 割り当て規則更新部 1 2と、 セッションーポート割り当て表 2 1と、 ポート割り当て規則 2 2とを備える。 セッションーポート割り当て表 2 1は、 現在ポートが割り当てられているセッ シヨンと当該ァドレス変換装置 1における口一カル端点 (該セッションのプライ ベート網側のセッション端点に対しァドレス変換装置 1が割り当てるグローバル アドレス上の端点。 ここでは、 ポート資源を指す。) とを対応づけた情報を含む。 ポート割り当て規則 2 2は、 少なくともアドレス変換装置 1が割り当て可能なポ ートについてのポート用途 (待ち受け用力発信用力 を示す情報を含む。
ァドレス変換部 1 1は、 セッションーポート割り当て表 2 1で示される既設セ ッシヨンとポ一ト資源との対応関係に従つて受け取つたパケットのアドレス情報 を変換するとともに、 新規にセッションを開設するパケットに対し、 ポート割り 当て規則 2 2で示されるポート用途に従ってポートを割り当てる。 割り当て規則 更新部 1 2は、 所定の手順に従って、 ポート用途の比率を変更する。
なお、 アドレス変換部 1 1および割り当て規則更新部 1 2は、 具体的は、 アド レス変換装置 1が備える C P U等のプログラムに従って動作する情報処理装置に よって実現される。 セッションーポート割り当て表 2 1およびポート割り当て規 則 2 2は、 具体的には、 ァドレス変換装置 1が備える記憶装置に所定の領域が割 り当てられることによって実現される。 ., '
ここで、 プライべ一ト網 2 0 0が大規模である場合、 電話網における呼量と同 様に、 時間帯毎や曜日などで、 観測値から単位時間あたりの発信量をある程度予 測できるであろうと考えられる。 割り当て規則更新部 1 2は、 このような時間帯 毎または曜日毎等の単位時間あたりの発信量の予測値に基づいて行われるポート 用途の割り当て比率の変更を、 運用に支障をきたすことなく行う。 具体的には、 セッションーポート割り当て表 2 1における既設セッションとポ一ト資源との対 応づけはそのままに、 ポート割り当て規則 2 2におけるポート用途の比率を変更 する。 以下、 具体的な実現例を図面を参照して説明する。
図 2は、 本実施例におけるァドレス変換装置 1の具体的な構成例を示すプロッ ク図である。図 2に示すように、グローバノレ網側ネットワークインタフェース(以 下、 グローパノレ網側ネットワーク I /Fという。) 3 1と、 プライベート網側ネッ トワークインタフェース (以下、 プライベート網側ネットワーク I /Fという。) 3 2と、 アドレス変換部 1 1と、 割り当て規則更新部 1 2と、 セッション一ポー ト割り当て表 2 1と、 ポート割り当て規則 2 2とを備える。 また、 アドレス変換 部 1 1は、 セッション検索部 1 1 1と、 バケツト変換部 1 1 2と、 待ち受け制御 部 1 1 3と、 発信制御部 1 1 4と、 セッション監視タイマ部 1 1 5とを含む。 ま た、 ポート割り当て規則 2 2は、 プライべ一ト端点割り当て表 2 2 1と、 発信用 ポート割り当て規則 2 2 2とを含む。
図 2では、 ァドレス変換部 1 1を、 セッション検索部 1 1 1と、 バケツト変換 部 1 1 2と、 待ち受け制御部 1 1 3と、 発信制御部 1 1 4と、 セッション監視タ イマ部 1 1 5とによって構成した場合の例を示している。 また、 ポート割り当て 規則 2 2を、 プライべ一ト端点割り当て表 2 2 1と、 発信用ポート割り当て規則 2 2 2とによって構成した場合の例を示している。
グ口一バル網側ネットワーク I // F 3 1およびプラィベート網側ネットワーク I Z F 3 2は、 各々アドレス変換装置 1力 s、 グローバル網 1 0 0、 プライベート 網 2 0 0と接続し、 バケツトの送受信を行う。 なお、 グローバル網側ネットヮー ク I / F 3 1およびプライべ一ト網側ネットワーク I / F 3 2が各々 1つずつ図 示されているが、 アドレス変換装置 1は、 複数のインタフェースを搭載していて あよい。
セッション検索部 1 1 1は、 グ口一バル網 1 0 0またはプライベート網 2 0 0 のいずれかのネッ トワークインタフェースから到達したバケツトから、 セッショ ンーポート割り当て表 2 1中で、 そのバケツトが属するセッションについて登録 されたエントリを特定する。
パケット変換部 1 1 2は、 特定されたセッションーポート割り当て表 2 1に登 録されているェントリの情報に基づき、 バケツトのァドレス情報等を書き換え、 プライべ一ト網 2 0 0用のパケットをグローバノレ網 1 0 0用に、 あるいはその逆 の変換を行う。
発信制御部 1 1 4は、 プライべ一ト網 2 0 0からグローバル網 1 0 0へ向かう 新しいセッションを開設するバケツトが到着した場合に、 当該セッションに関す るェントリをセッションーポ一ト割り当て表 2 1に作成する。
待ち受け制御部 1 1 3は、 グローバル網 1 0 0からプライベート網 2 0 0へ向 かう新しいセッションを開設するバケツトが到着した場合に、 当該セッションに 関するェントリをセッション一ポート割り当て表 2 1に作成する。
セッション一ポート割り当て表 2 1は、 当該ァドレス変換装置 1のポート資源 と、 当該ァドレス変換装置 1がグローバル網 1 0 0—プライべ一ト網 2 0 0間で 通信を中継するセッションの対応づけを記憶する。 セッション一ポート割り当て 表 2 1は、 例えば、 次の値の組を要素としてもつ表であってもよい。
2 1 a :プライべ一ト網 2 0 0側のセッション端点 (プライべ一ト端点) 情報 2 1 b :グローバル網 1 0 0側のセッション端点 (グローバル端点) 情報
2 1 c : ァドレス変換装置 1のローカル端点情報
2 1 d :セッションが通過するネットワークインタフェースの情報
端点情報は、 一般に、 アドレスと トランスポート層ポート番号の組であるが、 必要に応じてさらに追加情報を含んでいてもよい。
また、 アドレス変換装置 1のローカル端点情報 2 1 cは、 少なくともグローバ ル網 1 0 0でァドレス変換装置 1に割り当てられたァドレスと該当セッションに 対して割り当てたポート番号の組を含む。 これに加えて、 トランスポートリ レー などで、 セッションの中継にァドレス変換装置 1のプライべ一ト網 2 0 0側の端 点が必要な場合は、 これらの情報を含んでいてもよい。
また、 セッション一ポート割り当て表 2 1は、 プライベート網 2 0 0側のセッ ション端点情報 2 1 a、 グロ一バル網 1 0 0側のセッション端点情報 2 1 bをキ 一として、 実用的な効率で検索できるように構成されることが望ましい。 具体的 には、 両セッション端点情報 2 1 a, 2 1 bの値から計算した値により、 ハツシ ュ表を作り、 該ハッシュ表から各エントリへの参照を用意する等で実現できる。 発信用ポート割り当て規則 2 2 2は、 プライベート網 2 0 0側からグローバノレ 網 1 0 0側へ向かう新規セッションに対してセッション一ポート割り当て表 2 1 に登録するェントリの要素を作成するための情報を含む。 発信用ポート割り当て 規則 2 2 2は、 少なくとも発信に利用可能なローカル端点のポート番号の情報 2 2 2 aを含む。 発信に利用可能なローカル端点のポート番号の情報 2 1 3 aは、 例えば、 発信用に割り当てられたポート番号の範囲で、 値 491 52 (O xCO 00) 〜65535 (O xFFFF) 等であってもよい。
プライベート端点割り当て表 22 1は、 グロ一バル網 100側からプライベー ト網 200側へ向かう新規セッションに対して、 セッションーポート害 Uり当て表 21に記録するェントリの要素を作成するための情報を含む。 プライべ一ト端点 割り当て表 221は、 少なくとも次の情報を含む。
221 a :待ち受けに利用可能なローカル端点のポート番号の情報
221 b :待ち受けに利用可能な上記各ポート番号ごとの、 転送先のプライべ一 ト端点の情報
待ち受けに利用可能なローカル端点のポート番号の情報 221 aは、 例えば、 待ち受け用に割り当てられたポート番号の範囲として、 値 1 (0 x 0001) 〜 49151 (0 xBFFF) を示し、 そのうちポート 80番は、 アドレス 10. 0. 0. 50のポート 80番に転送する等を示す情報である。
プライべ一ト端点割り当て表 221は、 ローカル端点のポート番号から効率よ く検索できるように構成されることが望ましい。
割り当て規則更新部 12は、 ここでは上述した発信用ポート害 IJり当て規則 22 2に含まれる発信に利用可能なローカル端点のポート番号の情報 222 aと、 プ ライべ一ト端点割り当て表 221に含まれる待ち受けに利用可能なローカル端点 のポート番号の情報 221 aを、 所定の手順で更新する。 なお、 待ち受けに利用 可能なローカル端点のポート番号の情報 221 aが更新されると、 併せて該ポー ト番号ごとの転送先のプライべ一ト端点の情報 221 bも更新される。
セッション監視タイマ部 1 15は、 計時機能を有し、 セッション一ポート割り 当て表 21の各エントリを監視して、 タイマが設定 (起動) されたエントリのう ち、 タイムアウトが発生したものを検出して削除する。 なお、 セッション一ポー ト割り当て表 21へのタイマの設定は、 バケツト変換部 1 12が受信バケツトの セッションを特定した際にそのバケツトによってセッションが終了する可能性が あると判断したときに行われる。 すなわち、 セッション監視タイマ部 1 1 5は、 そのパケットを送受信した以降の無通信時間を計測することによって、 セッショ ンの終了を検出し、 該当するェントリを削除することでポートの割り当てを解除 T/JP2008/061078 する。
次に、 図 3のフローチャートを参照して本実施例の動作について説明する。 図 3は、 本実施例におけるァドレス変換装置 1におけるァドレス変換処理について の動作を示すフローチヤ一トである。
図 3に示すように、 まず、 パケットがいずれかのネットワークインタフェース (グ口一パル網側ネットワーク I / F 3 1、 プライベート網側ネットワーク I Z F 3 2 ) に到着すると (ステップ S 1 0 1 )、 ァドレス変換部 1 1のセッション検 索部 1 1 1は、 受信したバケツ卜のヘッダに格納された I Pアドレスおよびポー ト番号の組から、 該当するセッションについての情報を登録しているセッション 一ポート割り当て表 2 1のエントリを検索する (ステップ S 1 0 2 )。
ここで、 該当するェントリが見つかれば、 バケツト変換部 1 1 2は、 ェントリ 内の端点情報に従って、 パケットのヘッダ (アドレス情報) を書き換える (ステ ップ S 1 0 3の Y e s、 S 1 0 4 )。 具体的には、 プライべ一ト網 2 0 0向けのパ ケットであれば、 バケツトの宛先ァドレス及びポート番号を、 該エントリが示す プライべ一ト網 2 0 0側のセッション端点(2 1 a )のものに書き換える。一方、 グローバル網 1 0 0向けのバケツトであれば、 バケツトの発信元ァドレス及ぴポ ート番号を、 該エントリが示すローカル端点 (2 1 c ) のものに書き換える。 また、 上記以外にもァドレスを書き換える必要があるァドレス変換方式の場合 には、 さらに書き換えを行う。 例えば、 トランスポートリ レーの場合、 プライべ ート網 2 0 0からグローバル網 1 0 0へ向かうバケツトは、 宛先アドレス情報が ァドレス変換装置 1のプライベート網 2 0 0側の端点となっている。 このような 場合には、 宛先ァドレス及びポート番号を、 対応するグローバル網 1 0 0側端点 のァドレス及びポート番号に書き換える。
ここで、 パケット変換部 1 1 2は、 該パケットによりセッションが終了する可 能性があると判断した場合(ステップ S 1 0 5の Y e s )、該当セッションのェン トリ削除の準備をするために、 該当エントリに削除タイマをセットする (ステツ プ S 1 0 6 )。 削除タイマのセットは、例えば、 エントリを削除するまでの時間に 相当するタイマ値を設定することで、 セッション監視タイマ部 1 1 5にタイマが 作動していることを知らせ、 タイマ値のデクリメントを行わせるようにしてもよ い。
また、セッション終了の契機となるパケットは、例えば次のようなものがある。
1 . F I Nフラグがセットされた T C Pパケットが通過済みの T C Pコネクショ ンで、 今回反対向きにも F I Nフラグがセットされた T C Pバケツトが通過する 場合 2 . U D Pパケットが通過した場合
なお、 セッションが終了する可能性があるか否かの判断は、 エントリを特定し た際にセッション検索部 1 1 1が行うようにしてもよレ、。
そして、 適切なインタフェース (反対側のネットワークインタフェース) から アドレス変換後のバケツトを送出する (ステップ S 1 0 7 )。
次に、セッション開設時の動作について説明する。ステップ S 1 0 3において、 セッション一ポート割り当て表 2 1に該当するェントリがなかった場合には、 新 規にセッションを開設する処理を行う。
セッション一ポート割り当て表 2 1に該当するェントリがなかった場合、 セッ シヨン検索部 1 1 1は、 通信がどちら向きであるかを判別し、 グローバル網 1 0 0宛てのバケツトであれば、 発信制御部 1 1 4にセッション開設処理を行わせる
(ステップ S 1 0 8 )。発信制御部 1 1 4は、発信用ポート割り当て規則 2 2 2に 従って、割り当て可能なポート番号の範囲からローカル端点とするポート番号(口 一カルポート) を 1つ割り当てる (ステップ S 1 0 9 )。 例えば、 発信用ポート割 り当て規則 2 2 2で示される割り当て可能なポート番号の範囲の中から、 ロー力 ル端点とするポート番号を 1つ決定すればよい。
ローカル端点とするポート番号が割り当て可能であれば (ステップ S 1 1 0の Y e s ) ,該ロ一力ノレ端点の情報と、発信元ァドレス情報で示されるプライベート 網 2 0 0側のセッション端点の情報と、 宛先アドレス情報で示されるグロ一バル 網 1 0 0側のセッション端点の情報とを対応づけた情報を作成し、 当該セッショ ンについてのェントリとしてセッションーポート割り当て表 2 1に登録する (ス テツプ S 1 1 1 )。
ここで、 例えば、 発信用に割り当てられるボート番号が全て使用済みであった り、 その他の事由 (セッションの開設を行うパケットではない等) により、 ロー カル端点とするポート番号が割り当て不可能であれば(ステップ S 1 1 0の N o )、 中継不可エラーを発信元に送出する等の所定の処理を行う (ステップ S 1 1 4 )。 また、セッション検索部 1 1 1は、通信がどちら向きであるかを判別した結果、 プライべ一ト網 2 0 0宛てのバケツトであれば、 待ち受け制御部 1 1 3にセッシ ヨン開設処理を行わせる (ステップ S 1 0 8 )。待ち受け制御部 1 1 3は、 プライ ベート端点割り当て表 2 2 1を参照し、 該パケットの宛先ァドレス情報で示され るローカル端点に対し、 待ち受け用ポートが割り当てられているか否かを確認す る (ステップ S 1 1 2 )。 すなわち、該パケットの宛先アドレス情報で示される口 一カル端点に対応づけられたプライべ一ト網 2 0 0側のセッション端点を示すェ ントリが存在するか否かを確認し、 該当するエントリが存在する場合 (ステップ S 1 1 3の Y e s ) には、 該ローカル端点の情報と、 発信元アドレス情報で示さ れるグローバル網 1 0 0側のセッション端点の情報と、 宛先ァドレス情報で示さ れるプライべ一ト網 2 0 0側のセッション端点の情報とを対応づけた情報を作成 し、 当該セッションについてのェントリとしてセッション一ポート割り当て表 2 1に登録する (ステップ S 1 1 1 )。
ここで、 例えば、 指定されたローカル端点に対し待ち受け処理が行われていな かったり、 その他の事由 (セッション開設を行うパケットでない等) により、 対 応するプライべ一ト網 2 0 0側のセッション端点を特定できない場合には (ステ ップ S 1 1 3の N o )、発信処理の場合と同様に、 中継不可エラーを発信元に送出 する等の所定の処理を行う (ステップ S 1 1 4 )。
なお、 セッションーポート割り当て表 2 1に新たにェントリを作成した後は、 既設セッションの場合と同様に、 該当するセッション情報を含むェントリが見つ かったとして (ステップ S 1 0 3の Y e s:)、バケツト変換部 1 1 2によるァドレ ス変換処理等を施し、 必要に応じて削除タイマを設定して、 適切なインタフエ一 ス (反対側のネッ トワークインタフェース) からアドレス変換済みパケッ トを送 出する (ステップ S 1 0 4〜S 1 0 7 )。
次に、 セッションの終了検出に係る処理 (セッションエントリ削除処理) につ いて説明する。 セッション一ポート割り当て表 2 1に登録されるエントリは、 セ ッシヨン終了時に削除すればよいが、 セッション終了時の判断は、 プロトコル及 ぴアドレス変換方式により異なる。 例えば、 U D P等のコネクションレスプロト コルでは、 セッションの終了を示す情報がパケット内に存在しないため、 バケツ トの通過を契機にセッシヨン一ポート割り当て表 2 1のエントリを削除すること はできない。 本実施例では、 このような場合であってもセッションの終了を検出 できるように、 パケットが通過する毎に削除タイマを設定 (起動) し、 削除タイ マ満了によつて所定の無通信時間が経過したことを検出したときに、 エントリを 削除する。
図 4は、 本実施例のァドレス変換装置 1におけるセッションェントリ削除処理 についての動作例を示すフローチャートである。 図 4に示すように、 セッション 監視タイマ部 1 1 5は、 セッション一ポート割り当て表 2 1の各ェントリに対し て削除タイマが設定されたか否かを周期的に監視する (ステップ S 2 0 1 )。削除 タィマが設定されているエントリがあれば、そのタイマ値に対応する計時処理(例 えば、 タイマ値のデクリメント) を行い、 タイムアウトを検出する。 計時処理の 結果、 タイムアウトが発生したエントリがあれば、 該エントリをセッションーポ ート割り当て表 2 1から削除する (ステップ S 2 0 3 )。
なお、 セッション一ポート割り当て表 2 1のエントリに対する削除タイマは、 該 ェントリが示すセッションでバケツトが通過した場合には、 その時点でタイマ値 を設定しなおされる。 このようにすれば、 削除タイマのタイマ値より短い間隔で パケットが通過している間は、 セッション情報が維持される。
次に、 発信用 待ち受け用ポートの割り当てを変更する場合の動作について説 明する。 図 5は、 割り当て規則更新部 1 2が行う発信用ノ待ち受け用ポートの割 り当て変更処理の動作例を示すフローチャートである。
図 5に示すように、 割り当て規則更新部 1 2は、 ユーザからの指示または所定 の配分計画に基づいて、 発信用 Z待ち受け用ポートの割り当て変更処理を実行す る (ステップ S 3 0 1 )。
ここで、 配分計画は、 例えば、 プライベート網 2 0 0からの発信が頻繁に行わ れる日中から夕方は、 多くのポート資源を発信用に割り当てて、 発信が少なくな る早朝は待ち受け用ポートの割り当てを増やす等の方式が考えられる。
配分を実際にどのような比率で行うべきかは、過去の待ち受け、発信ポート各々 の利用量から銃計的に需要を算出することによって判断できる。 なお、 このよう な時間帯ごとの比率の算出を、 過去のデータを利用して割り当て規則更新部 1 2 が自動で行うことも考えられる。
割り当て変更指示または配分計画は、 例えば、 プライベート端点割り当て表 2 2 1のエントリとなる情報として、 待ち受けに用いるべきポート番号の集合と、 該当集合の要素毎 (待ち受け用とするポート番号毎) のプライベート網端点 (プ ライべート網 2 0 0側のセッション端点) を示す情報を与えてもよい。 具体的に は、 図 6に示すような割り当て配分表を用意しておき、 割り当て規則更新部 1 2 が図 6に示す表に従って、指定時刻ごとに割り当てを変更することが考えられる。 例えば、 図 6では、 0 : 0 0〜: L : 0 0の時間帯では、 ローカル端点のポート 番号 1は、 待ち受け用のプライベート端点 1 0 . 1 . 0 . 1 : 8 0に割り当てら れることが示されている。 この他にも、 各時間帯において、 待ち受け用ポートと するローカル端点のポート番号毎に、 それぞれプライべ一ト端点情報が対応づけ られている。
割り当て規則更新部 1 2は、 このような割り当て変更指示または配分計画に従 い、 プライべ一ト端点割り当て表 2 2 1のェントリを更新する。 例えば、 割り当 て規則更新部 1 2は、 現在のプライべ一ト端点割り当て表 2 2 1で示される待ち 受け用ポートの割り当て状況と新たな待ち受け用ポートの割り当て指示との変更 点を検出する。 そして、 その変更点が、 待ち受け用ポートの追加 (すなわち、 発 信用ポートから待ち受け用ポートへの変更) である場合には (ステップ S 3 0 2 の Y e s )、発信用ポート割り当て規則 2 2 2力ゝら、待ち受け用に変更されるポー トを割り当て可能とする旨の情報を削除し、 プライベート端点割り当て表 2 2 1 に、 割り当て先となるプライベート端点と対応づけた該ポートのェントリを追加 する (ステップ S 3 0 3 , 3 0 4 )。 一方、 変更点が、 発信用ポートの追加 (すな わち、 待ち受け用ポートから発信用ポートへの変更) である場合には (ステップ S 3 0 2の N o )、プライベート端点割り当て表 2 2 1力ゝら、発信用に変更される ポートのエントリを削除し、 発信用ポート割り当て規則 2 2 2に、 該ポートを割 り当て可能とする旨の情報を追加する (ステップ S 3 0 5, 3 0 6 )。
いずれの場合も、セッション一ポート割り当て表 2 1のェントリは変更しない。 このようにすることで、 既設のセッションへ影響を与えずにポ一ト用途を変更で さる。
また、 既設のセッションもポート用途の変更に影響を与えない。 これは、 既設 のセッションが利用している端点の組は新規セッションでは利用されず、 ポート 用途が切り替わったことにより、 セッション一ポート割り当て表 2 1にある既設 セッションのェントリと重複するェントリが作成されることはないためである。 以上により、 運用に支障をきたすことなくポート用途の切り替えを行うことが できる。 従って、 ポート用途の切り替えを頻繁に行うことが可能となり、 大規模 なプライベート網に接続される場合であっても、 ァドレス変換装置に割り当てら れた有限のグローバルァドレス資源であるポート資源をより効率的に利用するこ とができる。
実施例 2
次に、 本発明によるアドレス変換装置の第 2の実施例について説明する。 本実 施例は、 課金機能を備えたアドレス変換装置 1の例である。 ポート番号が枯渴す るような状況を想定すると、 公平なポート資源の分配のために、 利用者への課金 が行えると望ましい場合がある。 ァドレス変換装置 1に対し与えられたポート資 源の使用に対して課金をする場合、 先に説明したようなポート用途 (発信用か待 ち受け用か) の違いを考慮することが好ましい。
待ち受けは、 予め特定のプライベート網ホストノードへ全セッションを転送す るようポート番号を予約する必要がある。 従って、 1つのプライベート網ホスト ノードがそのポート資源を占有する。 発信は、 セッション確立時に特定のグロ一 パル網側端点に対してポート番号を割り当てるが、 他のグロ一バル網側端点につ いて同じポート番号を割り当てることも可能である。 従って、 1つのプライべ一 ト網ホストノードがそのポート資源を占有するわけではない。 このように、 用途 により割り当て時期や割り当て量が異なるため、 各々異なる課金機構を適用する ことが好ましい。
待ち受け用途の場合、 セッションの有無によらず、 ポート番号を固定的に予約 するように割り当てるので、待ち受け開始時点から待ち受けを終了する時点まで、 該当ポートの利用者に課金すればよい。
待ち受けの設定は、 通常、 所定の予約手段 (例えば、 ポート予約システム) に より行われる。 よって、 待ち受け用ポートの使用に対する課金は、 同システムの 予約処理に課金処理を組み込めばよく、 そのための特別な機構は不要である。 一方、 発信用途の場合、 発信用ポートは、 セッションの開設時に宛先となる特 定のグローバル網側端点に対する使用として割り当てられる。 また、 発信元のプ ライべ一ト網側端点も一意に決まる。 これらのことから、 発信ポートの課金は、 セッション毎に、 発信元または宛先端点から識別できる利用者に対して行うのが 適当である。
このような課金を実現するには、 端点から課金対象ユーザを特定する必要があ る。 一般に、 パケットにはユーザを直接識別できる情報は含まれないため、 パケ ットの発信元や宛先ァドレス等とユーザとを対応づけて課金する方式が考えられ る。
図 7は、 本実施例におけるァドレス変換装置 1の構成例を示すブロック図であ る。 図 7に示すように、 本実施例におけるアドレス変換装置 1は、 図 2に示す第 1の実施例におけるァドレス変換装置 1に加えて、 発信課金部 2 3を備える。 発信課金部 2 3は、 グロ一バル網 1 0 0側向けの通信に対する課金情報を記憶 する。 発信課金部 2 3は、 具体的には、 アドレス変換装置 1が備える記憶装置に よって実現される。
また、 本実施例では、 発信用ポート割り当て規則 2 2 2に、 プライべ一ト網 2 0 0側端点毎にユーザを識別するためのユーザ特定情報を含む。
また、発信制御部 1 1 4は、グローバル網 1 0 0側向けのセッション開設時に、 セッション開設の契機となったバケツトのヘッダ情報から取得したプライべ一ト 網側端点の情報と、 発信用ポート割り当て規則に含まれるユーザ特定情報とに基 づいて課金対象ユーザを特定し、 課金情報を作成して発信課金部 2 3に記憶させ る。
次に、 本実施例の動作について説明する。 図 8は、 本実施例のアドレス変換装 置 1におけるアドレス変換処理についての動作例を示すフローチヤ一トである。 なお、 図 8におけるステップ S 1 0 1〜S 1 1 0およびステップ S 1 1 1〜S 1 1 4は、 図 3に示す第 1の実施例と同様であるため、 説明を省略している。
図 8に示すように、 グローバル網 1 0◦方向のセッション開設に係るバケツト を受信した際、 発信制御部 1 1 4は、 ローカル端点とするポート番号を割り当て た該セッションについてのェントリを作成する時点で、 発信に対する課金情報を 発信課金部 2 3に記憶する (ステップ S 4 0 1 )。発信制御部 1 1 4は、受信した バケツトのヘッダからプライべ一ト網 2 0 0側端点の情報を取得し、 その情報に 基づいて、 発信用ポート割り当て規則から該当するユーザ特定情報を検索するこ とによって、 課金対象とするュ一ザを特定すればよい。 なお、 発信課金部 2 3に 記憶させる課金情報は、 例えば、 ユーザ識別子と発信回数とを対応づけた情報で あってもよい。 また、 各発信に対して発信時刻や相手先情報などの情報を保持す るようにしてもよい。
以上により、 アドレス変換装置 1におけるポート利用に対して、 より現実の使 用に即した課金ができるようになる。
なお、 本例では、 セッションの開設時に課金する例を示したが、 接続時間に応 じて課金することも可能である。 例えば、 発信制御部 1 1 4は、 セッション開設 時に、 該セッション情報 (少なくともセッション端点の組) と開始時刻とを含む 課金情報を発信課金部 2 3に記憶させ、 セッション監視タイマ部 1 1 5が、 削除 タイマ満了によりセッションの終了を検出した時点で、 そのセッションが発信用 ポートの利用であった場合に、 削除対象となったェントリによって示されるセッ ション情報と合致する課金情報に、 終了時刻を登録するようにしてもよい。
実施例 3
次に、 本発明によるアドレス変換装置の第 3の実施例について説明する。 本実 施例は、 発信待ちキューを備えたアドレス変換装置 1の例である。 アドレス変換 装置 1において、 発信用ポートは、 対向端点が異なれば同一番号を割り当てるこ とができるため、 統計多重効果により、 待ち受けに比べて効率的にポート資源の 割り当てが可能である。 ただし、 コネクションの開設のための発信等、 1回の発 信に係るセッションの継続時間が短レ、セッションも多く、 さらに、 短時間のうち での発信量の変動が大きい。 このため、 平均的な需要を予測して発信用にポート 資源を確保しても、 それを上回る発信が行われる可能性がある。
また、例えば、特定のサイトにあるサービスがテレビ放送などで報道されると、 単一の対向端点に対して発信が集中するような事態が考えられる。 単一の対向端 点に対して複数のコネクションを張るには、 ローカル端点側で (アドレス変換装 置 1におけるポート資源として) 各々に異なるポート番号を割り振る必要がある ため、 ポート資源を効率よく割り当てられない可能性がある。
このように発信が輻輳した場合に、 例えば単にコネクションの開設を行うパケ ットを破棄すると、 パケット再送が頻発してネットワークの帯域を浪費する可能 性がある上、 再送頻度によりポート割り当てが不公平になる懸念がある。
このような輻輳時の混乱を緩和するには、 アドレス変換装置 1において、 発信 待ち行列のためのキューを用意し、 順次制御を行うようにすることで、 発信用の ポート割り当てを公平に行えるようにすればよ 、。
図 9は、 本実施例におけるァドレス変換装置 1の構成例を示すブロック図であ る。 図 9に示すように、 本実施例におけるアドレス変換装置 1は、 図 2に示す第 1の実施例におけるアドレス変換装置 1の構成に、発信待ちキュー 2 4を追加し、 セッション監視タイマ部 1 1 5をセッション監視部 1 1 6に変更した構成を取る。 発信待ちキュー 2 4は、 グローバル網 1 0 0側向けのセッションを開設するパ ケットに対してローカル端点とするポート番号(すなわち、発信用のポート資源) が割り当てられなかったパケット (セッション開設パケット) を一時保存する。 なお、 発信待ちキユー 2 4は、 保持したときの順番を維持した状態で、 保持して いるバケツトのヘッダ情報を検査する機能と、 特定のバケツトを取り出す機能を 有する制御部 (図示せず) を含む。
セッション監視部 1 1 6は、 セッション監視タイマ部 1 1 5と同様に、 計時機 能を有し、 セッション一ポート割り当て表 2 1の各エントリの削除タイマを監視 してタイムアウトしたエントリを削除する機能を有するとともに、 さらに削除さ れたェントリの情報を発信制御部 1 1 4に通知する機能を有する。
また、 本実施例では、 発信制御部 1 1 4は、 グローバル網 1 0 0側向けのセッ シヨン開設パケットに対し、 発信用ポートに空きがないことによってローカル端 点とするポート番号が割り当てられなかった場合に、 該パケット (セッション開 設パケット) を発信待ちキュー 2 4に保持させる。 また、 セッション監視部 1 1 6からセッション終了に係るェントリの削除が通知された場合に、 発信待ちキュ 一 2 4に保持されているバケツトに対し、 エントリ削除によって解放される発信 用ポートの割り当てを試みる。
なお、 発信待ちキュー 2 4は、 具体的には、 アドレス変換装置 1が備える記憶 装置と、 C P U等のプログラムに従って動作する情報処理装置によって実現され る。 また、 セッション監視部 1 1 6は、 具体的には、 アドレス変換装置 1が備え る C P U等のプログラムに従って動作する情報処理装置によって実現される。 次に、 本実施例の動作について説明する。 本実施例に係る動作には、 パケット 受信契機の処理と、 エントリ削除契機の処理とがある。 まず、 パケット受信契機 の処理について説明する。 図 1 0は、 本実施例のアドレス変換装置 1におけるァ ドレス変換処理についての動作例を示すフローチャートである。 なお、 図 1 0に おけるステップ S 1 0 1〜S 1 1 0およびステップ S 1 1 1〜S 1 1 4は、 図 3 に示す第 1の実施例と同様であるため、 説明省略している。
図 1 0に示すように、 グローバル網 1 0 0方向のセッション開設に係るパケッ トを受信した際、 ローカル端点とするポート番号が割り当てられなかった場合に
(ステップ S 1 1 1 0の N o )、発信制御部 1 1 4は、送信用ポートに空きがない ために割り当てられなかったのか否かを判別する (ステップ S 5 0 1 )。空きがな い以外の原因の場合、 第 1の実施の形態においてポート割り当てが失敗した場合 と同様の処理を行う (ステップ S 1 1 4 )。
空きがないためにローカル端点とするポート番号が割り当てられなかった場合、 受信したパケットは破棄せずに、 発信待ちキュー 2 4に格納する (ステップ S 5 0 2 )。発信待ちキュー 2 4にポート未割り当てのセッション開設パケットを格納 したら、 本実施例に係るバケツト受信契機の処理は終了である。
次に、 エントリ削除契機の処理について説明する。 図 1 1は、 本実施例のアド レス変換装置 1におけるセッションェントリ削除処理についての動作例を示すフ ローチャートである。 なお、 図 1 1におけるステップ S 2 0 1〜S 2 0 3は、 図
4に示す第 1の実施例と同様であるため、 説明省略している。 なお、 本実施例で は、 ステップ S 2 0 1〜S 2 0 3の動作は、 セッション監視部 1 1 6によって行 われる。
図 1 1に示すように、 セッション監視部 1 1 6は、 第 1の実施例におけるセッ シヨン監視タイマ部 1 1 5と同様に、 セッション一ポート割り当て表 2 1に登録 されている各ェントリの削除タイマの設定状況を監視し、 必要に応じて計時処理 を行い、 タイムァゥトが発生したェントリがあれば削除する (ステップ S 2 0 1 〜S 2 0 3 )。
ここで、 削除したェントリが利用していたローカル端点およびグロ一パル端点 の情報を記憶しておく。
セッション監視部 1 1 6は、 発信待ちキユー 2 4に保持されているパケットを 古いものから順 (登録順) に検査し (ステップ S 6 0 1 )、 削除エントリで示され る端点情報に基づいて、 発信可能なものがあるか否かを調べる (ステップ S 6 0 2 )。 具体的には、宛先アドレス情報で示されるグローバル端点が一致すれば、 口 一カルポートを割り当て可能と判断する。この場合(ステップ S 6 0 2の Y e s )、 図 1 0におけるステップ S 1 1 1からの処理を実行する。
即ち、 発信待ちキュー 2 4に保持されていたバケツトの中から選択された発信 可能なバケツトに対し、 削除したェントリで利用していたローカル端点を割り当 てた上で、 該パケットによって開設されるセッションについてのェントリを作成 して、 セッション一ポート割り当て表 2 1に登録する (ステップ S 1 1 1 )。 そし て、 セッションーポート割り当て表 2 1に新たにェントリを作成した後は、 既設 セッションの場合と同様に、 パケット変換部 1 1 2によるアドレス変換処理等を 施して、 適切なインタフェース (反対側のネッ トワークインタフェース) からァ ドレス変換済みバケツトを送出する (ステップ S 1 0 4〜S 1 0 7 )。
一方、 グローバル端点が一致するパケットがない場合 (ステップ S 6 0 2の N o )、発信待ちキュー 2 4に保持されている全バケツトの宛先になっているグロ一 パル端点を対向端点とするローカルポートは、 すべて使用中であるため、 発信待 ちキュー 2 4に保持されているバケツトに対するポート割り当ては行わずにその まま処理を終える。
以上により、 発信ポートが全て使用中で、 プライべ一ト網 2 0 0からの発信が 出来ない場合、 発信によってセッション開設の契機となるパケットを順に保持し ておくことで、 空きポートを順に割り当てることができる。 従って、 順序制御を 行わない場合よりも公平なポート割り当てが可能となる。
実施例 4 次に、 本発明によるアドレス変換装置の第 4の実施例について説明する。 本実 施例は、 優先度を加味して発信待ち行列を制御するアドレス変換装置 1の例であ る。 本実施例におけるァドレス変換装置 1は、 発信待ちキュー 2 4を優先度毎に 複数備える。 また、 セッションと優先度の対応づけのため、 発信用ポート割り当 て規則に、 プライべ一ト端点と優先度情報とを対応づけた情報を含む。
また、 本実施例では、 発信制御部 1 1 4は、 発信用ポートに空きがないために ローカルポートが割り当てられない場合に、 該バケツトのヘッダ情報に基づいて 優先度を特定し、 特定した優先度に対応する発信待ちキュー 2 4に該パケットを 保持させる。 具体的には、 該パケットのヘッダから取得した発信元のプライべ一 ト端点の情報を用いて、 発信用ポート割り当て規則の優先度情報を検索すること によって、 該バケツトによる発信の優先度を特定する。
また、 セッション監視部 1 1 6は、 セッション一ポート割り当て表 2 1のェン トリに空きができた場合は、 高優先度の発信待ちキュー 2 4から割り当て可能な バケツトの検查を行う。
このようにすると、 特定のユーザからの発信に対し、 優先して発信用ポートを 割り当てることができる。 例えば、 第 2の実施例と組み合わせて、 高額を支払つ ているユーザのトラフィックに優先して発信用ポートを割り当てることができる ようになる。
実施例 5
次に、 本発明によるアドレス変換装置の第 5の実施例について説明する。 本実 施例は、 ポート用途の割り当て比率を自動的に調整するァドレス変換装置 1の例 である。 上記実施例において割り当て規則更新部 1 2は、 ポート割り当て規則 2 2を書き換えることにより、 発信用と待ち受け用との間でポート資源の配分を調 整する機能を有する。 その際、 用途比率の決定は所定の手順 (具体的には、 ユー ザからの指示または配分計画) に基づくとしているが、 本実施例では、 上記決定 を自動で行う例を説明する。 すなわち、 ポート割り当て規則 2 2の更新手順にュ 一ザ動作を含まない構成および方法の一例を説明する。
本実施例の方針は次の通りである。
•発信と待ち受けの通信料を観測し、時間帯毎に統計量を算出する機構を設ける。 •発信と待ち受けの各々に、 異なる価格で課金できるようにする。
•価格とポート資源の配分比率に初期値を与え、 待ち受けポートの予約量と、 発 信処理の量を観測することで、 価格と配分比率が適切であるかを判定する。
•もし適切でなければ、 発信 ·待ち受けのいずれも輻輳しないように、 配分比率 とポート利用料金を調整する。
この方針に従い、 上記判定を繰り返すことにより、 人為的手段を含まずに、 次 第にポート資源の配分比率と利用料金とを最適値に近づけることができる。
図 1 2は、 本実施例におけるァドレス変換システムの構成例を示すプロック図 である。 図 1 2に示すように、 本実施例では、 さらに発信量計測部 5 1と、 待ち 受け予約システム 5 2とを備える。 なお、 図 1 2では、 発信量計測部 5 1および 待ち受け予約システム 5 2とを別装置として示しているが、 ァドレス変換装置 1 内に組み込まれていてもよい。
発信量計測部 5 1は、 ァドレス変換装置 1を通過するトラフィックのうち、 グ 口一バル網 1 0 0側への発信方向のセッションの量 (発信処理を行つたセッショ ンの量) を時間帯毎に記憶する。 発信量計測部 5 1は、 例えば、 アドレス変換装 置 1を通過するトラフィックを観測する装置によって実現される。 なお、 ァドレ ス変換装置 1内に組み込まれる場合には、 パケット変換部 1 1 2や発信制御部 1 1 4からの通知によってグローバル網 1 0 0側への発信方向のセッションの量を 観測してもよい。 '
待ち受け予約システム 5 2は、 ァドレス変換装置 1の待ち受けポートの予約を 行う手段であって、 ネットワーク等を通して外部のシステムやユーザから次の情 報を受け付けることで、 ァドレス変換装置 1の待ち受けポートを予約する。 5 2 a . 待ち受けに利用するローカル端点のポート番号と、 転送先のプライべ一 ト端点の組
5 2 b . 予約時間帯
また、 待ち受け予約システム 5 2は、 予約を行うだけでなく、 予約されたポー ト情報 (予約されたポート数を含む) をアドレス変換装置 1 (具体的には、 割り 当て規則更新部 1 2 ) に伝達したり、 予約割り当て量に上限を設定したり、 その 上限の値をァドレス変換装置 1から取得したり、 予約実行時にポート毎に課金し たり、 ポート利用料金を時間帯毎に設定したりする。
なお、 本実施例では、 第 2の実施例と同様に、 発信時に課金する機構 (発信課 金部 1 3 ) を設けておく。 ここで、 発信方向の料金については、 利用時にユーザ が料金を確認するのが難しいことから、時間帯によらず一定とするのが望ましレ、。 次に、 本実施例の動作について説明する。 割り当て規則更新部 1 2が自動的に ポート資源、の割り当て (割り当て比率の決定を含む) を行うには、 次のようにす る。割り当て規則更新部 1 2は、定期的に、発信量計測部 5 1から発信処理の量、 および待ち受け予約システム 5 2から待ち受けポートの予約量を取得する。 そし て、 これらを用いて、 時間帯、 曜日など通信量が変化すると考えられる所定の単 位で統計量を算出する。
例えば、 一定期間運用した結果得られた観測値 (発信処理の量および待ち受け ポートの予約量) を用いて、 ある曜日のある時間帯 (これをもとする) における 待ち受け予約量の期待値 P r一 tと、 発信処理量の期待値 p s— tを得る。
次に、 割り当て規則更新部 1 2は、 前記期待値から、 将来の時間帯 tの待ち受 けポート数の割り当て上限 p— tと、 待ち受けポート単価 V r— tを次のように 場合分けして決定する。 なお、 ここで、 所定の初期値で設定される待ち受けポー ト数の予約割り当て上限を P— 0、 1回あたりの発信の単価を V s一 0、 待ち受 けポート単価を V r _ 0としている。
パターン 1 :
発信も待ち受けもポート資源に対して十分少ない需要しかなければ、 発信 ·待 ち受けともポート資源が余っているとして、 短期的には、 待ち受けポートの割り 当て上限を増やし、 待ち受けポート単価を下げる。 具体的には、 p— t > p— 0 および v r— tく v r—◦を満たすように p— tおよび V r— tを定める。
なお、 長期では、 1回あたりの発信の単価 V s— tも引き下げる。 それに応じ て発信量が増大すると予測されるため、 P— t, V r— tは再度調整される。 ノヽ。ターン 2 :
発信のみ需要が供給を超過している、 すなわち、 発信ポートが一杯で割り当て られない発信要求があった場合は、待ち受け用のポート資源が余っているとして、 発信用のポート資源にその一部を融通する。 具体的には、 待ち受け予約量が待ち 受け用のポート資源を使いきらない範囲で、 P— tく p— 0を満たすように P— tを定める。
パターン 3 :
待ち受けのみ需要が供給を超過している、 すなわち、 予約ポート数が上限に達 しているため予約要求を実行できなかった場合は、 発信用のポート資源が余って いるとして、 待ち受け用のポート資源にその一部を融通する。 具体的には、 発信 量が発信用のポート資源を使いきらない範囲で、 P— t > p— 0を満たすように P— tを定める。
パターン 4 :
発信 ·待ち受けとも需要が供給を超過している場合には、 発信用ポート資源の 価格は一定であることにしたため、 短期的に需要を調整できるのは待ち受けポー ト資源だけである。 このため、 短期的には待ち受けポートの割り当て上限を減ら し、 待ち受けポート単価を上げる。 具体的には、 p— t < p— 0および V r— t > v r— 0を満たすように、 p— tおよび V r— tを定める。
なお、 長期では、 1回あたりの発信の単価 V s— tも引き上げる。 それに応じ て発信量が減少すると予測されるため、 P— t, V r _ tは再度調整される。 ここで、 短期的処理と長期的処理の実行方法について、 例えば、 割り当て規則 更新部 1 2は、 期待値からの上記場合分けの決定の結果を所定回数分保持するよ うにしておき、 ある程度短期的処理を実行してもなお状況 (すなわち場合分けの 決定の結果) に変化がないと判断した場合に長期的処理を実行するようにすれば よい。
このように、 短期的には待ち受けポートの供給量と価格を調整し、 長期的には 発信ポートの価格も調整することにより、 発信と待ち受け毎の需要の比率及びポ ート資源全体への需要を最適になるように調整できる。 以上により、 自動的かつ 効率的にポート資源を割り当てることができる。
なお、 上記は、 時間帯と価格を固定すると需要が一定になることを仮定してい る力 S、 長期的に見ればその傾向は徐々に変わることが考えられるため、 常に発信 量と予約量を計測して、 定期的に統計値を更新することが望ましい。
実施例 6 次に、 本発明によるア ドレス変換装置の第 6の実施例について説明する。 本実 施例は、 複数のァドレス変換装置を用いてネットワークの相互接続を行う場合の 例である。 これまでの実施例では、 アドレス変換装置 1は単一の装置として動作 する例を示してきた。 しかし、 大規模なプライベート網 2 0 0とグローバル網 1 0 0とを接続する場合には、 大量のトラフィックを中継する必要があるため、 単 一のァドレス変換装置では十分な性能を達成できない可能性もある。
このような場合には、 複数のアドレス変換装置を用意し、 各アドレス変換装置 に対し、 ローカル端点の空間を分割して割り当てる方法が考えられる。 例えば、 発信専用、 待ち受け専用のアドレス変換装置を用意し、 その装置数の比率をもつ てポート用途の配分の調整を行ってもよい。 ただし、 このような場合でも、 ポー ト用途を切り替える際には既設セッションの保護が必要になるし、 また、 発信用 ポートの空きがなくなった場合の発信待ち行例制御や優先度付き発信待ち行列制 御も望まれる。
本発明は、複数のァドレス変換装置で構成されるネットワーク構成においても、 その個々のァドレス変換装置に対して本発明を適用して同様の効果を得ることが できる。
図 1 3は、 複数のアドレス変換装置を備えたアドレス変換システムの構成例を 示す説明図である。 図 1 3に示すアドレス変換システムは、 複数のアドレス変換 装置 1 (アドレス変換装置 1一 1〜 n ) と、 グロ一バル網側パケット分配器 3 1 0と、 プライベート網側パケット分配器 3 2 0と、 割り当て規則更新部 2力ゝらな る。
本実施例におけるァドレス変換装置 1一 1〜!!は、 上述した単一の装置として 構成されるァドレス変換装置 1から割り当て規則更新部 1 2を除いたものである。 パケット分配器 3 1 0, 3 2 0は、 L 4スィッチ相当の機能をもつ通信装置で あって、 各々グローバル網 1 0 0, プライベート網 2 0 0に接続し、 割り当て規 則更新部 2が与える分配規則に従って、 網から到達するバケツトのヘッダ情報か ら目的のァドレス変換装置 1を特定し、 該ァドレス変換装置 1へバケツトを受け 渡す機能を有する。
割り当て規則更新部 2は、 ポート番号の空間を所定の手順に従って発信用と待 ち受け用とに分割し、 さらに、 各アドレス変換装置 1に対して、 ポート用途を明 示して処理対象ポート番号の一覧を割り当てる。 また、 各アドレス変換装置 1に 対する処理対象ポートの割り当てに応じて、 バケツト分配器 3 1 0, 3 2 0に対 して分配規則を設定する。 具体的には、 グローバル網側バケツト分配器 3 1 0に は、 待ち受けに利用可能なローカル端点としてのポート番号が割り振られたァド レス変換装置 1に対し、 該ローカル端点を宛先とするバケツトが分配されるよう に分配規則を設定すればよい。 また、 プライベート網側パケット分配器 3 2 0に は、 送信に利用可能なローカル端点としてのポート番号が割り振られたァドレス 変換装置 1に対し、 例えば、 発信元となるプライベート端点を、 そのアドレス変 換装置 1の数に併せて振り分けて、 所定のァドレス変換装置 1に分配されるよう に分配規則を設定してもよい。
このように、 複数のァドレス変換装置によって構成されるネットワーク構成に おいても、 了ドレス変換システムとして本発明を適用することができる。
なお、 第 1〜第 6の実施例では、 プライベート網とグローバル網とを接続する ァドレス変換装置 1の例に、 グローバル網側のポート資源を効率的に割り当てる 手法について説明した。 この手法は、 プライベート網以外の、 異なるアドレス空 間を採用したネッ トワークと I P V 4グローバル網を接続するァドレス変換装置 に対しても適用可能である。
例えば、 I P V 6網と I P V 4のグローバル網とを接続する場合、 その境界に は、 NA T— P Tや、 トランスポートリ レーなどのアドレス変換装置が設置され る。 このァドレス変換装置は、 バケツトの I P V 4ヘッダを取り去って I P v 6 ヘッダを取りつけたり、 その逆を行って、 I P V 4網と I P V 6網の間で相互に セッションが通過できるようにすることを主目的としている。
ここで、 I P V 6網はアドレス空間が十分広大であることから、 I P v 4網を 経由することなくホストノードが相互に到達可能な網として構築されるため、 I P V 4グローバル網を経由する I P V 6ホストノード間の通信は相対的に少なく、 ァドレス変換装置のポート資源は不足しない可能性もある。
一方、 I P V 4グローバル網に設置された特定ホストノードに I P v 6網から のセッション接続が多くなれば、 ァドレス変換装置のポート枯渴が問題になる。 このような場合、 本発明の手法を用いてポートを効率的に割り当てることができ る。
また、 上記の実施例には、 割り当て可能なグローバルアドレス上のポート資源 を、 プライベート網からの発信用と、 グローバル網からの待ち受け用とに分けて 示すポート割り当て規則を記憶するポート割り当て規則記憶部と、 既設のセッシ ョンを示す情報と、 該セッシヨンのプライベート網側セッション端点に対し割り 当てられているグローバルァドレス上のポート資源を示す情報とを対応づけて示 すセッション一ポート割り当て表を記憶するセッシヨン一ポート割り当て表記憶 部と、 前記セッション一ポート割り当て表に登録されている既設セッションとポ 一ト資源との対応関係に従って受け付けたバケツトのァドレス情報を変換すると ともに、 前記セッションーポ一ト割り当て表に登録されていない新規なセッショ ンを開設するパケットを受け付けた場合に、 該セッションに対し、 前記ポート割 り当て規則で示されるポート用途に従ってポート資源を割り当てるァドレス変換 部と、 発信用ポートと待ち受け用ポートの割り当て数の比率を、 所定の手順に従 つて変更するポート用途比率変更部とを備えたァドレス変換装置の構成が示され ている。 上記の実施例において、 ポート割り当て規則記憶部は、 ポート割り当て 規則 2 2 (具体的には、 ポ一ト割り当て規則 2 2として記憶領域が割り当てられ るアドレス変換装置 1の記憶装置) によって実現される。 また、 セッションーポ 一ト割り当て表記憶部は、 セッションーポート割り当て表 2 1 (具体的には、 セ ッシヨン一ポート割り当て表 2 1として記憶領域が割り当てられるアドレス変換 装置 1の記憶装置) によって実現される。 また、 アドレス変換部は、 アドレス変 換部 1 1によって実現される。 また、 ポート用途比率変更部は、 割り当て規則更 新部 1 2によって実現される。
また、 上記の実施例には、 ポート用途比率変更部が、 発信用ポートと待ち受け 用ポートの割り当て数の比率の変更を、 前記セッションーポート割り当て表に既 設セッシヨンとポート資源との対応関係を保持させたまま、 ポート割り当て規則 を変更することによって行う構成が示されている。
また、 上記実施例には、 ポート用途比率変更部が、 過去の利用量から予測され る所定の時間帯毎のポート資源の需要の変動に基づいて、 ポート用途の比率を変 更する構成が示されている。 このような構成によって、 ポート用途の割り当て比 率が最適になるように制御することができる。
また、 上記実施例には、 プライベート網側端点毎にユーザを識別するためのュ 一ザ特定情報を記憶するユーザ特定情報記憶部と、 ユーザ毎の課金機構に利用す るための利用記録を記憶する利用記録記憶部とを備え、 アドレス変換部が、 新規 なセッションに対する発信用ポートの割り当て時に、 該セッションを開設させた バケツトで示されるセッション端点の情報から特定されるユーザに対し、 発信に 係る利用記録を記録する発信制御部を含む構成が示されている。 上記の実施例に おいて、 ユーザ特定情報記憶部は、 ユーザ特定情報を含む発信用ポート割り当て 規則 2 2 2 (具体的には、 発信用ポート割り当て規則 2 2 2として記憶領域が割 り当てられるアドレス変換装置 1の記憶装置) によって実現される。 また、 利用 記録記憶部は、 発信課金部 2 3によって実現される。 また、 発信制御部は、 第 2 の実施例における発信制御部 1 1 4によって実現される。 このような構成によつ て、 発信処理時に発信ユーザを識別して課金できるようになり、 無駄にポート資 源を使われることを防ぐことができる。
また、 上記実施例には、 ポート用途比率変更部が、 過去の利用量から予測され る所定の時間帯毎のポート資源の需要量と実際の供給量に基づいて、 ポート用途 の比率および課金機構におけるポート用途毎のポート資源利用単価を変更する構 成が示されている。 上記の実施例において、 ポート用途比率変更部は、 第 5の実 施例における割り当て規則更新部 1 2によって実現される。 このような構成によ つて、 発信と待ち受け毎の需要の比率及びポート資源、全体への需要を最適になる ように調整できる。従って、より効率的にポート資源を割り当てることができる。 また、 上記実施例には、 発信用ポートの割り当て待ちのパケットを一時保存す る発信待ちキューを備え、 アドレス変換部が、 新規なセッションを開設するパケ ットを受け付けた場合に、 発信用ポートに空きがないために発信用ポートが割り 当てられないときに、 発信待ちキューに該パケットを保持させるとともに、 発信 用ポートに空きができた時点で、 発信待ちキューに保持されているバケツトを順 に検査し、 該バケツトが開設しようとしているセッションに該発信用ポートが割 り当て可能であれば該発信用ポートを割り当てる発信制御部とを含む構成が示さ れている。 上記の実施例において、 送信待ちキューは、 発信待ちキュー 2 4によ つて実現される。 また、 発信制御部は、 第 3の実施例における発信制御部 1 1 4 によって実現される。 このような構成によって、 発信処理を平等に行うことがで きる。 例えば、 発信が同時に大量に到達し、 発信用ポートの確保が十分でなかつ た場合であっても、 それを公平に分配することができる。
また、上記実施例には、異なる優先度に対応する複数の発信待ちキューを備え、 発信制御部が、 発信待ちキューにパケットを保持させる際に、 該パケットで示さ れるプライべ一ト網側端点に基づいて識別されるユーザの優先度を決定し、 決定 した優先度に対応する発信待ちキューに該バケツトを保持させるとともに、 発信 用ポートに空きができた時点で、 優先度の高い待ち行列キューから該発信用ポー トの割り当てを試みる構成が示されている。 上記の実施例において、 発信待ちキ ユーは、 第 4の実施例における発信待ちキュー 2 4によって実現される。 また、 発信制御部は、 第 4の実施例における発信制御部 1 1 4によって実現される。 こ のような構成によって、 例えば、 課金機能と連動させることで、 ポート資源の分 配の自由度を高めることができる。
また、 上記実施例には、 アドレス変換部が、 セッション一ポート割り当て表の 各エントリに対し、 所定の条件に従って開始されるタイマの計時処理により、 セ ッションの終了を判別するセッション監視タイマ部を含む構成が示されている。 上記の実施例において、 セッション監視タイマ部は、 セッション監視タイマ部 1 1 5によって実現される。
また、 上記実施例には、 片方の網 Pのアドレス空間に、 他方の網 Gのアドレス 空間が含まれるか、 または網 Pのァドレス空間から網 Gのァドレス空間上への写 像が存在する 2つのバケツト交換網の境界に位置して、 それらの網の相互接続を 行うァドレス変換装置であって、 当該ァドレス変換装置で割り当て可能な網 G側 のトランスポート層ポート番号空間上のポート資源を、 網 Pから網 Gへのセッシ ョン開設に用いる発信用と、 網 Gから網 Pへのセッション開設に用いる待ち受け 用とに分けて示すポート割り当て規則を記憶するポート割り当て規則記憶部と、 既設セッションのセッション端点を示す情報と、 該セッションの網 P側セッショ ン端点に対し割り当てられている網 G側のトランスポート層ポート番号空間上の ポート資源を示す情報とを対応づけて示すセッションーポート割り当て表を記憶 するセッション一ポート割り当て表記憶部と、 セッションーポート割り当て表に 登録されている既設セッションとポート資源との対応関係に従って受け付けたパ ケットのァドレス情報を変換するとともに、 セッションーポート割り当て表に登 録されていない新規なセッションを開設するバケツトを受け付けた場合に、 該セ ッションに対し、 ポート割り当て規則で示されるポート用途に従ってポート資源 を割り当てるァドレス変換部と、 発信用ポートと待ち受け用ポートの割り当て数 の比率を、 所定の手順に従って変更するポート用途比率変更部とを備えたァドレ ス変換装置の構成が示されている。 なお、 ここでいう片方の網 Pのアドレス空間 に他方の網 Gのァドレス空間が含まれるか、 または網 Pのァドレス空間から網 G のァドレス空間上への写像が存在する 2つのバケツト交換網の関係とは、例えば、 I P v 6網 (網 Pに該当) と I P v 4のグローバル網 (網 Gに該当) との関係で ある。 このような構成によれば、 グローバル網とプライベート網との相互接続の 為に限らず、 ァドレス空間の異なる網の相互接続においてグロ一パルァドレス資 源の枯渴の可能性のある網接続についてもその資源をより効率的に利用すること できる。
また、 上記の実施例には、 アドレス変換を行ってパケットを転送する 1台以上 のァドレス変換装置と、 当該ァドレス変換システムで割り当て可能なグローバル ァドレス上のポート資源の全部または一部を、 用途を指定してァドレス変換装置 に割り当てるポート割り当て管理装置とを備え、 アドレス変換装置は、 既設セッ ションのセッション端点を示す情報と、 該セッシヨンのプライベート網側セッシ ョン端点に対し割り当てられているグローバルァドレス上のポート資源を示す情 報とを対応づけて示すセッション一ポート割り当て表を記憶するセッションーポ ート割り当て表記憶部と、 セッション一ポート割り当て表に登録されている既設 セッションとポート資源との対応関係に従って受け付けたバケツトのァドレス情 報を変換するとともに、 セッション一ポート割り当て表に登録されていない新規 なセッションを開設するパケットを受け付けた場合に、 該セッションに対し、 ポ 一ト割り当て管理装置から割り当てられたポート資源をその用途に従って割り当 てるアドレス変換部とを備え、 ポート割り当て管理装置は、 アドレス変換装置に 割り当てるポート数の比率を、 所定の手順に従って変更するポート用途比率変更 部を備えたァドレス変換システムの構成が示されている。上記の実施例において、 ポート割り当て管理装置は、 割り当て規則更新部 2を備える情報処理装置によつ て実現される。 また、 アドレス変換装置は、 アドレス変換装置 1一 1〜1一 nに よって実現される。 このような構成によって、 大規模なプライベート網とグロ一 バル網を接続する際に単一の装置では十分な性能を達成できない場合に複数のァ ドレス変換装置によつて構成される場合であつても本発明を適用できる。 また、 例えば、 発信専用、 待ち受け専用のアドレス変換装置を用意し、 その装置数の比 率をもってポート用途の調整を行うことも可能である。
産業上の利用可能性
本発明は、 異なるァドレス空間をもつ網の相互接続を行うためにァドレス変換 機能を有するアドレス変換装置に適用可能である。 例えば、 I P v 4グローバル 網とプライべ一ト網とを接続し、ポート番号を動的に割り当てる NA P T機能や、 トランスポートリ レー機能を備えたルータ、 スィッチ、 セッション中継装置に好 適に適用可能である。 また、 例えば、 I P V 6網と I P V 4網とを接続する NA
P T - P T機能やトランスポートリレー機能を備えた同種の装置にも好適に適用 可能である。
この出願は、 2 0 0 7年 6月 1 5日に出願された日本出願特願第 2 0 0 7 - 1 5 8 4 7 7号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。

Claims

請 求 の 範 囲
1 . 異なるァドレス空間をもつプライベート網とグローバル網の境界に位置 して前記プライべ一ト網とグローバル網の相互接続を行うアドレス変換装置であ づて、
当該ァドレス変換装置で割り当て可能なグローバルァドレス上のポート資源を、 プライべ一ト網からの発信用と、 グローバル網からの待ち受け用とに分けて示す ポート割り当て規則を記憶するポート割り当て規則記憶部と、
既設のセッションを示す情報と、 該セッションのプライベート網側セッション 端点に対し割り当てられているグローバルァドレス上のポート資源を示す情報と を対応づけて示すセッションーポート割り当て表を記憶するセッション一ポート 割り当て表記憶部と、
前記セッション一ポート割り当て表に登録されている既設セッションとポート 資源との対応関係に従って受け付けたバケツトのァドレス情報を変換するととも に、 前記セッションーポート割り当て表に登録されていない新規なセッションを 開設するパケットを受け付けた場合に、 該セッションに対し、 前記ポート割り当 て規則で示されるポート用途に従ってポート資源を割り当てるァドレス変換部と、 発信用ポートと待ち受け用ポートの割り当て数の比率を、 所定の手順に従って 変更するポート用途比率変更部とを備えたことを特徴とするアドレス変換装置。
2 . 前記ポート用途比率変更部は、 発信用ポートと待ち受け用ポートの割り 当て数の比率の変更を、 前記セッション一ポート割り当て表に既設セッションと ポート資源との対応関係を保持させたまま、 ポート割り当て規則を変更すること によって行う請求項 1に記載のァドレス変換装置。
3 . 前記ポート用途比率変更部は、 過去の利用量から予測される所定の時間 帯毎のポート資源の需要の変動に基づいて、 ポート用途の比率を変更する請求項 1または請求項 2に記載のァドレス変換装置。
4 . プライべ一ト網側端点毎にユーザを識別するためのユーザ特定情報を記 憶するユーザ特定情報記憶部と、
前記ユーザ毎の課金機構に利用するための利用記録を記憶する利用記録記憶部 とを備 、
前記ァドレス変換部は、 新規なセッションに対する発信用ポートの割り当て時 に、 該セッションを開設させたバケツトで示されるセッション端点の情報から特 定されるユーザに対し、 発信に係る利用記録を記録する発信制御部を含む請求項 1から請求項 3のうちのいずれか 1項に記載のァドレス変換装置。
5 . 前記ポート用途比率変更部は、 過去の利用量から予測される所定の時間 帯毎のポート資源の需要量と実際の供給量とに基づいて、 ポート用途の比率およ ぴ課金機構におけるポート用途毎のポート資源利用単価を変更する請求項 4に記 載のァドレス変換装置。
6 . 発信用ポートの割り当て待ちのバケツトを一時保存する発信待ちキュー を備え、
前記アドレス変換部は、 新規なセッションを開設するパケットを受け付けた場 合に、発信用ポートに空きがないために発信用ポートが割り当てられないときに、 前記発信待ちキューに該バケツトを保持させるとともに、 発信用ポートに空きが できた時点で、 前記発信待ちキューに保持されているパケットを順に検査し、 該 バケツトが開設しようとしているセッションに該発信用ポートが割り当て可能で あれば該発信用ポートを割り当てる発信制御部とを含む請求項 1から請求項 3の うちのいずれか 1項に記載のァドレス変換装置。
7 . 異なる優先度に対応する複数の発信待ちキューを備え、
前記発信制御部は、 発信待ちキューにパケットを保持させる際に、 該パケット で示されるプライべ一ト網側端点に基づいて識別されるユーザの優先度を決定し、 決定した優先度に対応する前記発信待ちキューに該パケットを保持させるととも に、 発信用ポートに空きができた時点で、 優先度の高い待ち行列キューから該発 信用ポートの割り当てを試みる請求項 6に記载のァドレス変換装置。
8 . 前記アドレス変換部は、 セッション一ポート割り当て表の各エントリに 対して所定の条件に従って開始されるタイマの計時処理により、 セッションの終 了を判別するセッション監視タイマ部を含む請求項 1から請求項 4のうちのいず れか 1項に記載のァドレス変換装置。
9 . 片方の網 Pのァドレス空間に、他方の網 Gのァドレス空間が含まれる力、 または網 Pのァドレス空間から網 Gのァドレス空間上への写像が存在する 2つの バケツト交換網の境界に位置して、 それらの網の相互接続を行うアドレス変換装 置であって、
当該ァドレス変換装置で割り当て可能な網 G側のトランスポート層ポート番号 空間上のポート資源を、 網 Pから網 Gへのセッション開設に用いる発信用と、 網 Gから網 Pへのセッション開設に用いる待ち受け用とに分けて示すポート割り当 て規則を記憶するポート割り当て規則記憶部と、
既設セッションを示す情報と該セッションの網 P側セッション端点に対し割り 当てられている網 G側のトランスポート層ポート番号空間上のポート資源を示す 情報とを対応づけて示すセッシヨン一ポート割り当て表を記憶するセッション一 ポート割り当て表記憶部と、
前記セッシヨン一ポート割り当て表に登録されている既設セッシヨンとポート 資源との対応関係に従って受け付けたバケツトのァドレス情報を変換するととも に、 前記セッションーポート割り当て表に登録されていない新規なセッションを 開設するパケットを受け付けた場合に、 該セッションに対し、 前記ポート割り当 て規則で示されるポート用途に従つてポート資源を割り当てるアドレス変換部と、 発信用ポートと待ち受け用ポートの割り当て数の比率を、 所定の手順に従って 変更するポート用途比率変更部とを備えたことを特徴とするアドレス変換装置。
1 0 . 異なるアドレス空間をもつプライべ一ト網とグローバル網の境界に位 置して前記プライべ一ト網とグローバル網の相互接続を行うァドレス変換システ ムであって、
ァドレス変換を行ってバケツトを転送する 1台以上のァドレス変換装置と、 当 該ァドレス変換システムで割り当て可能なグローバルァドレス上のポート資源の 全部または一部を、 用途を指定して前記ァドレス変換装置に割り当てるポート割 り当て管理装置とを備え、
ァドレス変換装置は、 既設のセッションを示す情報と、 該セッションのプライ ベート網側セッション端点に対し割り当てられているグ口一バルァドレス上のポ 一ト資源を示す情報とを対応づけて示すセッション一ポート割り当て表を記憶す るセッション一ポート割り当て表記憶部と、 前記セッシヨン一ポート割り当て表 に登録されている既設セッションとポート資源との対応関係に従って受け付けた バケツトのァドレス情報を変換するとともに、 前記セッション一ポート割り当て 表に登録されていない新規なセッションを開設するバケツトを受け付けた場合に、 該セッションに対し、 前記ポート割り当て管理装置から割り当てられたポート資 源をその用途に従って割り当てるァドレス変換部とを備え、
前記ポート割り当て管理装置は、 前記ァドレス変換装置に割り当てるポート数 の比率を、 所定の手順に従って変更するポート用途比率変更部を備えたことを特 徴とするアドレス変換システム。
1 1 . 異なるアドレス空間をもつプライベート網とグローバル網の境界にお いて、 前記プライべ一ト網とグローバル網の相互接続を行う装置の制御方法であ つて、
ポート割り当て規則として、 割り当て可能なグローバルァドレス上のポート資 源を、 プライベート網からの発信用と、 グローバル網からの待ち受け用とに分け て管理し、
既設のセッションを示す情報と、 該セッションのプラィペート網側セッシヨン 端点に対し割り当てられているグロ一バルァドレス上のポート資源を示す情報と を対応づけて管理し、
前記既設セッションとポート資源との対応関係に従って受け付けたバケツトの 了ドレス情報を変換するとともに、 対応関係が保持されていない新規なセッショ ンを開設するパケットを受け付けた場合に、 該セッションに対し、 前記ポート割 り当て規則で示されるポート用途に従ってポート資源を割り当て、
発信用ポートと待ち受け用ポートの割り当て数の比率の変更が指示された場合 に、 既設セッションとポート資源との対応関係を保持させたまま、 ポート割り当 て規則を変更する ことを特徴とする制御方法。
1 2 . 異なるアドレス空間をもつプライベート網とグローバル網の境界にお いて、 前記プライべ一ト網とグローバル網の相互接続を行う装置の制御用プログ ラムであって、
ポート割り当て規則として、 割り当て可能なグローバルァドレス上のポート資 源を、 プライベート網からの発信用と、 グローバル網からの待ち受け用とに分け て管理し、 かつ既設のセッションを示す情報と、 該セッションのプライベート網 側セッション端点に対し割り当てられているグローバルァドレス上のポート資源 を示す情報とを対応づけて管理しているコンピュータに、
前記既設セッシヨンとポート資源との対応関係に従って受け付けたパケットの ァドレス情報を変換するとともに、 対応関係が保持されていない新規なセッショ ンを開設するパケットを受け付けた場合に、 該セッションに対し、 前記ポート割 り当て規則で示されるポート用途に従ってポート資源を割り当てる処理、 および 発信用ポートと待ち受け用ポートの割り当て数の比率の変更が指示された場合 に、 既設セッションとポート資源との対応関係を保持させたまま、 ポート割り当 て規則を変更する処理を実行させるための制御用プログラム。
PCT/JP2008/061078 2007-06-15 2008-06-11 アドレス変換装置及びアドレス変換方法 WO2008153193A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/602,545 US8458338B2 (en) 2007-06-15 2008-06-11 Address translation device and address translation method
JP2009519338A JP5163910B2 (ja) 2007-06-15 2008-06-11 アドレス変換装置及びアドレス変換方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007158477 2007-06-15
JP2007-158477 2007-06-15

Publications (1)

Publication Number Publication Date
WO2008153193A1 true WO2008153193A1 (ja) 2008-12-18

Family

ID=40129790

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/061078 WO2008153193A1 (ja) 2007-06-15 2008-06-11 アドレス変換装置及びアドレス変換方法

Country Status (3)

Country Link
US (1) US8458338B2 (ja)
JP (1) JP5163910B2 (ja)
WO (1) WO2008153193A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011210032A (ja) * 2010-03-30 2011-10-20 Hitachi Ltd 仮想マシンのマイグレーション方法およびシステム
US8717884B2 (en) 2009-04-16 2014-05-06 Nec Corporation Address-sharing system

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5163910B2 (ja) * 2007-06-15 2013-03-13 日本電気株式会社 アドレス変換装置及びアドレス変換方法
CN105100299A (zh) * 2010-11-25 2015-11-25 华为技术有限公司 报文发送方法、nat表项建立方法及nat设备
US8473625B1 (en) * 2010-12-10 2013-06-25 Sprint Communications Company L.P. Preservation of network address translation (NAT) state across wireless sessions
US8693327B2 (en) * 2011-05-03 2014-04-08 Novell, Inc. Techniques for privileged network routing
US8806033B1 (en) 2011-06-30 2014-08-12 Juniper Networks, Inc. Effective network identity pairing
US9258272B1 (en) * 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
US9178846B1 (en) 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
US9003002B2 (en) * 2012-01-18 2015-04-07 Microsoft Technology Licensing, Llc Efficient port management for a distributed network address translation
US20130185430A1 (en) * 2012-01-18 2013-07-18 LineRate Systems, Inc. Multi-level hash tables for socket lookups
US8891540B2 (en) 2012-05-14 2014-11-18 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
EP2743857A1 (en) * 2012-12-13 2014-06-18 Gemalto SA Methof for allowing establishment of a secure session between a device and a server
JP6127618B2 (ja) * 2013-03-15 2017-05-17 株式会社リコー 情報処理装置、情報処理システム、中継方法およびプログラム
US20150223157A1 (en) * 2013-06-28 2015-08-06 Intel Corporation Seamless connectivity across devices with heterogeneous transports
US9882877B2 (en) * 2014-05-12 2018-01-30 Michael C. Wood Transparent traffic control device and method for securing internet-connected devices
US9237129B2 (en) 2014-05-13 2016-01-12 Dell Software Inc. Method to enable deep packet inspection (DPI) in openflow-based software defined network (SDN)
JP2016019156A (ja) * 2014-07-08 2016-02-01 キヤノン株式会社 通信装置およびその制御方法
US9537872B2 (en) 2014-12-31 2017-01-03 Dell Software Inc. Secure neighbor discovery (SEND) using pre-shared key
US9998425B2 (en) * 2015-01-27 2018-06-12 Sonicwall Inc. Dynamic bypass of TLS connections matching exclusion list in DPI-SSL in a NAT deployment
CN104811473B (zh) * 2015-03-18 2018-03-02 华为技术有限公司 一种创建虚拟非易失性存储介质的方法、系统及管理系统
US10129207B1 (en) 2015-07-20 2018-11-13 Juniper Networks, Inc. Network address translation within network device having multiple service units
US10469446B1 (en) 2016-09-27 2019-11-05 Juniper Networks, Inc. Subscriber-aware network address translation
CN114124773B (zh) * 2021-11-24 2024-01-23 北京天融信网络安全技术有限公司 一种端口块地址转换的测试系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11150566A (ja) * 1997-11-14 1999-06-02 Hitachi Ltd インタネットワーク装置
JP2005286600A (ja) * 2004-03-29 2005-10-13 Fujitsu Fip Corp 通信処理装置
JP2006094038A (ja) * 2004-09-22 2006-04-06 Fuji Xerox Co Ltd 情報通信装置及び情報通信装置に設定されたipアドレスの修正方法
JP2006319384A (ja) * 2005-05-10 2006-11-24 Brother Ind Ltd ネットワークシステム、接続確立方法、及びノード装置等

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496567B1 (en) * 1998-05-07 2002-12-17 Mci Communications Corporation Interactive voice response service node with advanced resource management
US6771610B1 (en) * 1999-01-19 2004-08-03 3Com Corporation Spanning tree with protocol for bypassing port state transition timers
US7016363B1 (en) * 2000-10-19 2006-03-21 Interactic Holdings, Llc Scaleable interconnect structure utilizing quality-of-service handling
US7290283B2 (en) * 2001-01-31 2007-10-30 Lancope, Inc. Network port profiling
AU2002242043B2 (en) * 2001-01-31 2006-12-14 Cisco Technology, Inc. Network port profiling
US7281043B1 (en) * 2001-05-31 2007-10-09 Cisco Technology, Inc. System for sharing resources among RSVP sessions
US20020198850A1 (en) * 2001-06-26 2002-12-26 International Business Machines Corporation System and method for dynamic price determination in differentiated services computer networks
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues
US20030035371A1 (en) * 2001-07-31 2003-02-20 Coke Reed Means and apparatus for a scaleable congestion free switching system with intelligent control
US7644151B2 (en) * 2002-01-31 2010-01-05 Lancope, Inc. Network service zone locking
JP3868815B2 (ja) * 2002-01-10 2007-01-17 富士通株式会社 通信システム
JP3872716B2 (ja) * 2002-04-30 2007-01-24 富士通株式会社 パケット出力制御装置
KR100442627B1 (ko) * 2002-05-20 2004-08-02 삼성전자주식회사 네트워크 프로세서에서의 패킷 리디랙션 방법
US7930423B2 (en) * 2002-06-14 2011-04-19 Alcatel-Lucent Usa Inc. Dynamic load balancing within a network
JP4528116B2 (ja) * 2002-06-25 2010-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散環境中でアプリケーションの性能を監視するための方法およびシステム
US7280557B1 (en) * 2002-06-28 2007-10-09 Cisco Technology, Inc. Mechanisms for providing stateful NAT support in redundant and asymetric routing environments
US20040015408A1 (en) * 2002-07-18 2004-01-22 Rauen Philip Joseph Corporate content management and delivery system
JP4374202B2 (ja) 2003-02-28 2009-12-02 株式会社日立製作所 ストリーム配信計算機、プログラム、nas装置
US7769994B2 (en) * 2003-08-13 2010-08-03 Radware Ltd. Content inspection in secure networks
US8285881B2 (en) * 2003-09-10 2012-10-09 Broadcom Corporation System and method for load balancing and fail over
EP1671469A1 (en) * 2003-09-30 2006-06-21 Koninklijke Philips Electronics N.V. Client requested external address mapping
US7397792B1 (en) * 2003-10-09 2008-07-08 Nortel Networks Limited Virtual burst-switching networks
US7436832B2 (en) * 2004-05-05 2008-10-14 Gigamon Systems Llc Asymmetric packets switch and a method of use
KR100603567B1 (ko) * 2004-09-02 2006-07-24 삼성전자주식회사 스위치에서의 대역폭 예약을 통한 QoS 보장 방법 및 그시스템
US7784096B2 (en) * 2004-11-15 2010-08-24 Microsoft Corporation Outgoing connection attempt limiting to slow down spreading of viruses
US7542473B2 (en) * 2004-12-02 2009-06-02 Nortel Networks Limited High-speed scheduling apparatus for a switching node
US7912046B2 (en) * 2005-02-11 2011-03-22 Microsoft Corporation Automated NAT traversal for peer-to-peer networks
US7518987B2 (en) * 2005-07-25 2009-04-14 Cisco Technology, Inc. Mechanisms for providing connectivity in NAT redundant/fail-over scenarios in unshared address-space
US20070079103A1 (en) * 2005-10-05 2007-04-05 Yasuyuki Mimatsu Method for resource management in a logically partitioned storage system
US7817580B2 (en) * 2005-12-07 2010-10-19 Cisco Technology, Inc. Preventing transient loops in broadcast/multicast trees during distribution of link state information
US8448162B2 (en) * 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
JP2007243300A (ja) * 2006-03-06 2007-09-20 Fujitsu Ltd 帯域制御プログラム、帯域制御装置、帯域制御方法
CN101014005B (zh) * 2007-01-22 2010-09-22 华为技术有限公司 一种减少链路聚合组中业务损伤的方法和装置
JP5163910B2 (ja) * 2007-06-15 2013-03-13 日本電気株式会社 アドレス変換装置及びアドレス変換方法
US8181238B2 (en) * 2007-08-30 2012-05-15 Software Ag Systems and/or methods for streaming reverse HTTP gateway, and network including the same
JP2009111437A (ja) * 2007-10-26 2009-05-21 Hitachi Ltd ネットワークシステム
US8103346B2 (en) * 2008-05-22 2012-01-24 Cardiac Pacemakers, Inc. Regulatory compliant transmission of medical data employing a patient implantable medical device and a generic network access device
US20100161827A1 (en) * 2008-12-23 2010-06-24 Griesmer Stephen J Methods and apparatus to manage port resources
WO2011079182A2 (en) * 2009-12-23 2011-06-30 Citrix Systems, Inc. Systems and methods for managing ports for rtsp across cores in a multi-core system
JP5440210B2 (ja) * 2010-01-28 2014-03-12 富士通株式会社 アクセス制御プログラム、アクセス制御方法およびアクセス制御装置
US8707440B2 (en) * 2010-03-22 2014-04-22 Tenable Network Security, Inc. System and method for passively identifying encrypted and interactive network sessions
US20110307541A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation Server load balancing and draining in enhanced communication systems
JP5338765B2 (ja) * 2010-07-27 2013-11-13 ブラザー工業株式会社 通信装置、通信方法、及び通信プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11150566A (ja) * 1997-11-14 1999-06-02 Hitachi Ltd インタネットワーク装置
JP2005286600A (ja) * 2004-03-29 2005-10-13 Fujitsu Fip Corp 通信処理装置
JP2006094038A (ja) * 2004-09-22 2006-04-06 Fuji Xerox Co Ltd 情報通信装置及び情報通信装置に設定されたipアドレスの修正方法
JP2006319384A (ja) * 2005-05-10 2006-11-24 Brother Ind Ltd ネットワークシステム、接続確立方法、及びノード装置等

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8717884B2 (en) 2009-04-16 2014-05-06 Nec Corporation Address-sharing system
JP5488591B2 (ja) * 2009-04-16 2014-05-14 日本電気株式会社 通信システム
JP2011210032A (ja) * 2010-03-30 2011-10-20 Hitachi Ltd 仮想マシンのマイグレーション方法およびシステム

Also Published As

Publication number Publication date
US20100175123A1 (en) 2010-07-08
JP5163910B2 (ja) 2013-03-13
JPWO2008153193A1 (ja) 2010-08-26
US8458338B2 (en) 2013-06-04

Similar Documents

Publication Publication Date Title
WO2008153193A1 (ja) アドレス変換装置及びアドレス変換方法
JP4523381B2 (ja) パケット通信装置
JP5621778B2 (ja) コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
US8861359B2 (en) Network system, control method thereof and controller
JP4796157B2 (ja) ネットワーク通信における資源配分を実施するためのシステム及び方法
EP2479941B1 (en) Communication apparatus and communication system for enhancing speed of communications between terminals
JP4033773B2 (ja) ネットワークルーティングを実行する方法および装置
JP4394590B2 (ja) パケット中継装置および通信帯域制御方法
JP5757324B2 (ja) コンピュータシステム、及び通信方法
JP4351449B2 (ja) Ipテレフォニーを実行するためのシステムおよび方法
WO2013177891A1 (zh) 一种分配公网地址的方法及装置
WO2001003380A1 (fr) Dispositif d&#39;attribution de services
JP2005537764A (ja) 優先度及びリザーブ帯域幅プロトコルを利用したネットワークにおけるQoSを提供する機構
WO2005004407A1 (ja) 伝送容量割当方法、通信網および網資源管理装置
JP2000253049A (ja) ルーティング装置およびルーティング方法
JP2013009406A (ja) インターネットにアクセスする加入者への所望のサービス・ポリシーの提供
JP2003060691A (ja) ネットワークルータおよび交換機におけるリソースの割当て方法および装置
JP7103883B2 (ja) 通信システム、通信制御方法、及び通信装置
WO2016194089A1 (ja) 通信ネットワーク、通信ネットワークの管理方法および管理システム
JP2000312226A (ja) 通信品質を保証する方法
JP2007201564A (ja) 推定システム、端末、推定方法、およびプログラム
JP3662768B2 (ja) 網間接続方法及び装置
JP2006245894A (ja) 転送経路制御装置および転送経路制御プログラム
EP2882167B1 (en) Method for management of ip (internet protocol) addresses in a telecommunications network, and telecommunications network
JP3865175B2 (ja) Ipアドレス変換装置

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: 08777297

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12602545

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2009519338

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08777297

Country of ref document: EP

Kind code of ref document: A1