JP4705656B2 - Address translation device, address translation program - Google Patents

Address translation device, address translation program Download PDF

Info

Publication number
JP4705656B2
JP4705656B2 JP2008111689A JP2008111689A JP4705656B2 JP 4705656 B2 JP4705656 B2 JP 4705656B2 JP 2008111689 A JP2008111689 A JP 2008111689A JP 2008111689 A JP2008111689 A JP 2008111689A JP 4705656 B2 JP4705656 B2 JP 4705656B2
Authority
JP
Japan
Prior art keywords
address
private
pool
global
packet
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2008111689A
Other languages
Japanese (ja)
Other versions
JP2009267522A (en
Inventor
泰弘 白崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2008111689A priority Critical patent/JP4705656B2/en
Publication of JP2009267522A publication Critical patent/JP2009267522A/en
Application granted granted Critical
Publication of JP4705656B2 publication Critical patent/JP4705656B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信のためにアドレス変換を行うアドレス変換装置(以下、「NAT装置」という)に関する。   The present invention relates to an address translation device (hereinafter referred to as “NAT device”) that performs address translation for communication between a first terminal in a private IP address network and a second terminal in a global IP address network.

現在、インターネットサービスプロバイダ(以下「ISP」という)は、ユーザの回線接続毎に、1ユーザに1つのグローバルIPアドレスを割り当てている。なお、グローバルIPアドレスとは、固定長で有限の番号体系であり、世界中が接続されているグローバルIPアドレスネットワークで使われている、世界で一意なIPアドレスである。 しかし、グローバルIPアドレスの枯渇により、ISPが、回線接続毎に、1ユーザに1つのグローバルIPアドレスを割り当てるのは、困難となりつつある。   Currently, an Internet service provider (hereinafter referred to as “ISP”) assigns one global IP address to one user for each line connection of the user. The global IP address is a fixed-length, finite number system, and is a globally unique IP address used in a global IP address network to which the world is connected. However, due to the exhaustion of global IP addresses, it is becoming difficult for the ISP to assign one global IP address to one user for each line connection.

そこで、TCPやUDPにおいて、グローバルIPアドレスを効率的に利用する技術として、NAT(Network Address Translator)という技術がある。NATとは、プライベートIPアドレスをもつネットワーク内の端末(例えば、ユーザ端末)とグローバルIPアドレスネット内の端末(例えば、Webサーバ)間の通信のために、アドレス変換を行う技術である。なお、プライベートIPアドレスとは、グローバルIPアドレスネットワークに接続できないプライベートIPアドレスネットワーク内だけで使われるIPアドレスを指す。基本的には、NATとは、プライベートIPアドレスネットワーク内の端末のプライベートIPアドレスとNATがもっているグローバルIPアドレスを1対1で対応させる技術である。しかし、広義には、NATは、アドレスの変換に加え、TCPやUDPにおけるポート番号の変換を行うことで1つのグローバルIPアドレスに複数のプライベートIPアドレスを対応させる技術を含む。本発明においては、NATは、IPアドレスに加えてポート番号も変更することで、1つのグローバルIPアドレスを、複数のプライベートIPアドレスで共有できるようにする技術を含むものとする。NAT技術について詳しくは非特許文献1、非特許文献2、非特許文献3に記載されている。なお、このような技術をNAPT(Network Address Port Translation)、IPマスカレード(Masquarade)等という場合もある。
K. Egevang,” The IP Network Address Translator (NAT)”,RFC1631 ,May 1994 P. Srisuresh,” IP Network Address Translator (NAT) Terminology and Considerations”,RFC2663, August 1999 P. Srisuresh,” Traditional IP Network Address Translator (Traditional NAT)”RFC3022, January 2001
Therefore, there is a technique called NAT (Network Address Translator) as a technique for efficiently using a global IP address in TCP and UDP. NAT is a technology that performs address conversion for communication between a terminal (for example, a user terminal) in a network having a private IP address and a terminal (for example, a Web server) in a global IP address network. The private IP address refers to an IP address used only in a private IP address network that cannot be connected to the global IP address network. Basically, NAT is a technology that makes a one-to-one correspondence between a private IP address of a terminal in a private IP address network and a global IP address held by the NAT. However, in a broad sense, NAT includes a technology that associates a plurality of private IP addresses with one global IP address by performing port number conversion in TCP and UDP in addition to address conversion. In the present invention, the NAT includes a technique that allows a single global IP address to be shared by a plurality of private IP addresses by changing the port number in addition to the IP address. Details of the NAT technology are described in Non-Patent Document 1, Non-Patent Document 2, and Non-Patent Document 3. Such a technique is sometimes referred to as NAPT (Network Address Port Translation), IP masquerade, or the like.
K. Egevang, “The IP Network Address Translator (NAT)”, RFC1631, May 1994 P. Srisuresh, “IP Network Address Translator (NAT) Terminology and Considerations”, RFC2663, August 1999 P. Srisuresh, “Traditional IP Network Address Translator (Traditional NAT)” RFC3022, January 2001

しかし、ISPがNAT技術を利用する場合、いくつかの問題がある。一つに、ISPには、他のインターネット接続組織や裁判所からの依頼・命令に基づいて、自社サービスのユーザを特定し、当該ユーザに対する対応を実施することが求められる。既存のISPがユーザの回線接続毎に1ユーザに1つのグローバルIPアドレスを割り当てる場合には、ISPが、回線接続毎に、割り当てた時刻、ユーザID及び割り当てたグローバルIPアドレス(以下、これらのデータを併せて「割り当てログA」という)を記録する。また、着信のあった端末(例えば、「Webサーバ」)には、コネクション毎に、発信元グローバルIPアドレス、発信元ポート番号及び着信時刻(以下「着信ログ」という)が記録される。そのため、割り当てログAと着信ログを調べることで、ユーザを特定できる。ここでコネクションとは、端末間のデータのやり取りするための仮想的な通信路のことをいい、htmlファイルや画像ファイル等のファイル毎に確立される。よって、Webページを1ページ閲覧するために、htmlファイル、画像ファイル等が多い場合には、100コネクション以上を確立することもある。なお、UDPはコネクションレス型通信と呼ばれるが、本発明におけるコネクションとは、単一のUDPパケットで完了する通信、及び発信元IPアドレス、発信元ポート番号、着信先IPアドレス、着信先ポート番号が同一の連続した複数UDPパケットによって構成される通信を含むものとする。図1に既存のISPが提供するインターネット接続サービスのシステム構成例、図2に割り当てログAのデータ例、図3に着信ログのデータ例を示す。着信ログは、より具体的には、
192.0.2.10 65003・・[16/Apr/2008:12:34:45 +0900] “GET / HTTP/1.1” 200 420 “-””Mozilla/4.0(compatible;MSIE5.5;Windows(登録商標)98)”
192.0.2.22 50237・・[16/Apr/2008:15:00:54 +0900] “GET / HTTP/1.1” 200 420 “-””Mozilla/4.0(compatible;MSIE5.5;Windows(登録商標)98)”
と表示される。先頭の値、例えば「192.0.2.10」が発信元グローバルIPアドレスを表し、次の値、例えば「65003」が発信元ボート番号を表す。なお、着信ログには、図3のデータ例のように、TCPやUDP等のプロトコル種別が記録されない場合があるが、アプリケーション種別や着信先のサーバの機能等によって、TCPやUDP等の何れのプロトコルが使われているかは、明らかとなる。
However, there are several problems when ISP uses NAT technology. For one thing, ISPs are required to identify users of their own services based on requests / commands from other Internet-connected organizations and courts, and to deal with those users. When an existing ISP assigns one global IP address to one user for each line connection of the user, the ISP assigns the time, user ID, and assigned global IP address (hereinafter, these data) for each line connection. Are also recorded as “allocation log A”). In addition, a terminal global IP address, a source port number, and an incoming time (hereinafter referred to as “incoming log”) are recorded for each connection in a terminal that has received an incoming call (for example, “Web server”). Therefore, the user can be specified by examining the allocation log A and the incoming call log. Here, the connection refers to a virtual communication path for exchanging data between terminals, and is established for each file such as an html file or an image file. Therefore, in order to browse one web page, if there are many html files, image files, etc., 100 connections or more may be established. Note that UDP is called connectionless communication, but the connection in the present invention includes communication completed with a single UDP packet, and the source IP address, source port number, destination IP address, destination port number. Communication including a plurality of the same continuous UDP packets is included. FIG. 1 shows a system configuration example of an Internet connection service provided by an existing ISP, FIG. 2 shows a data example of an allocation log A, and FIG. 3 shows a data example of an incoming call log. More specifically, the incoming log is
192.0.2.10 65003 ・ ・ [16 / Apr / 2008: 12: 34: 45 +0900] “GET / HTTP / 1.1” 200 420 “-” ”Mozilla / 4.0 (compatible; MSIE5.5; Windows (registered trademark) 98 ) ”
192.0.2.22 50237 ・ ・ [16 / Apr / 2008: 15: 00: 54 +0900] “GET / HTTP / 1.1” 200 420 “-” ”Mozilla / 4.0 (compatible; MSIE5.5; Windows (registered trademark) 98 ) ”
Is displayed. The first value, for example, “192.0.2.10” represents the source global IP address, and the next value, for example, “65003” represents the source boat number. Note that the protocol type such as TCP or UDP may not be recorded in the incoming call log as in the data example of FIG. 3, but depending on the application type, the function of the destination server, etc. It is clear whether the protocol is used.

例えば、Webサーバ650上の電子掲示板(参加者が自由に文章などを投稿し、書き込みを連ねていくことでコミュニケーションできるWebページ)に誹謗中傷や、殺人予告等が書き込まれ、書き込み者を特定する必要がある場合には、着信ログ記憶部660の着信ログから発信元グローバルIPアドレス及び着信時刻を調べ、ルータ620が割り当てたグローバルIPアドレスを記録する割り当てログ記憶部630の割り当てログAからその着信時刻に、そのグローバルIPアドレスを割り当てられていたユーザIDを調べることで、ユーザを一意に特定できる。   For example, slander, murder notice, etc. are written on an electronic bulletin board on the Web server 650 (a Web page where participants can freely post texts and communicate by continuing to write) to identify the writer. If necessary, the caller global IP address and the call arrival time are checked from the call log stored in the call log storage unit 660, and the call is received from the assignment log A of the assignment log storage unit 630 that records the global IP address assigned by the router 620. By examining the user ID assigned the global IP address at the time, the user can be uniquely identified.

しかし、従来のNAT技術を利用すると、1つのグローバルIPアドレスに複数のプライベートIPアドレスが対応するため、割り当てログAとwebサーバの着信ログを調べることのみでは、ユーザを特定することができない。本発明は、ユーザを特定でき、かつ、経済的なNAT装置を提供することを目的とする。   However, if the conventional NAT technology is used, a plurality of private IP addresses correspond to one global IP address, and therefore it is not possible to specify a user only by examining the allocation log A and the incoming log of the web server. An object of the present invention is to provide an economical NAT device that can identify a user.

プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うアドレス変換装置であって、プール記憶部とパケット転送部とパケット変換部を有する。プール記憶部は、グローバルIPアドレスとポート番号の範囲の組合せであるプールをプライベートIPアドレスの数以上と、そのプールと対応するプライベートIPアドレスが記憶される。パケット転送部は、プライベートIPアドレスネットワーク内の端末からのパケットを受信し、アドレス変換後のパケットをグローバルIPアドレスネットワーク内の端末へ送信する。パケット変換部は、パケット転送部を介して受信したパケットからプライベートIPアドレスを取得し、プライベートIPアドレスに対応するプールの情報をプール記憶部から取得し、さらに、プールのポート番号の範囲の中からポート番号を決定し、受信したパケットのプライベートIPアドレスとポート番号を決定したプールのグローバルIPアドレスとポート番号に変換する。   An address translation device that performs address translation during communication between a first terminal in a private IP address network and a second terminal in a global IP address network, and includes a pool storage unit, a packet transfer unit, and a packet translation unit. The pool storage unit stores a pool, which is a combination of a global IP address and a range of port numbers, over the number of private IP addresses and a private IP address corresponding to the pool. The packet transfer unit receives a packet from a terminal in the private IP address network, and transmits the packet after address conversion to the terminal in the global IP address network. The packet conversion unit acquires a private IP address from the packet received via the packet transfer unit, acquires pool information corresponding to the private IP address from the pool storage unit, and further, from the range of pool port numbers The port number is determined, and the private IP address and port number of the received packet are converted into the global IP address and port number of the determined pool.

着信ログと変換規則から、一意にプライベートIPアドレスを特定することができ、NATによるアドレス変換の記録を保存しなくてもよい。   The private IP address can be uniquely specified from the incoming call log and the conversion rule, and it is not necessary to store a record of address conversion by NAT.

実施例の説明に先立ち、既存のNAT技術を用いてユーザを特定する方法について分析する。
前述の通り、既存のユーザの回線接続毎に1ユーザに1つのグローバルIPアドレスを割り当てる場合には、ISPは、ユーザを一意に決定するために、割り当てログAのみを保存しておけば良かった。なお、着信ログは、Webサーバ等の管理者等が保存する。
一方、ISPがNAT技術を利用する場合、ユーザを特定するために、回線接続毎に割り当てた時刻、ユーザID及び割り当てた発信元プライベートIPアドレス(以下、これらのデータを併せて「割り当てログB」という)を保存するのに加え、以下のデータを保存しなければならない。なお、図4に、割り当てログBのデータ例を示す。
Prior to the description of the embodiment, a method for identifying a user using existing NAT technology will be analyzed.
As described above, when one global IP address is assigned to one user for each line connection of an existing user, the ISP only has to save only the assignment log A in order to uniquely determine the user. . The incoming log is saved by an administrator such as a Web server.
On the other hand, when the ISP uses NAT technology, in order to identify the user, the time assigned for each line connection, the user ID and the assigned source private IP address (hereinafter referred to as “allocation log B” together with these data) The following data must be saved: FIG. 4 shows an example of data of the allocation log B.

コネクション確立毎に、少なくとも発信元プライベートIPアドレス、変換後グローバルIPアドレス、変換後ポート番号、プロトコル種別及びコネクション時刻(以下、これらのデータを併せて「変換ログ」という)を外部記憶装置900に保存する必要がある。図5に、変換ログのデータ例、図6にISPがNAT装置を用いて提供するインターネット接続サービスのシステム構成例、図7に既存のNAT装置及び外部記憶装置の構成例を示す。   Each time a connection is established, at least the source private IP address, the converted global IP address, the converted port number, the protocol type, and the connection time (hereinafter referred to as “conversion log”) are stored in the external storage device 900. There is a need to. FIG. 5 shows an example of conversion log data, FIG. 6 shows a system configuration example of an Internet connection service provided by an ISP using a NAT device, and FIG. 7 shows a configuration example of an existing NAT device and external storage device.

以下、既存のNAT技術を利用した場合について説明する。NAT装置1000は、主として、プライベートIPアドレスネットワーク600とグローバルIPアドレスネットワーク640の間に設置され、接続確立毎ではなく、コネクション確立毎に、プライベートIPアドレスに対応するグローバルIPアドレスとTCPやUDP等のポート番号(以下、単に「ポート番号」という)を割り当てる。   Hereinafter, a case where the existing NAT technology is used will be described. The NAT device 1000 is mainly installed between the private IP address network 600 and the global IP address network 640. The NAT device 1000 does not have to establish a connection but establishes a global IP address corresponding to a private IP address and a TCP, UDP, etc. A port number (hereinafter simply referred to as “port number”) is assigned.

既存のNAT装置1000は、パケット転送部100と変換状況保持部200とパケット変換部300を有する。NAT装置1000は、プライベートIPアドレスネットワーク600からパケット転送部100を介してパケットを受信し、パケット変換部300は、あらかじめ定めた単一の規則に従って、1つのコネクションに対して、グローバルIPアドレスとポート番号の割り当てを行う。
なお、あらかじめ定めた単一の規則とは、現在使用されているポート番号の1つ次の番号を順次用いる方式
新ポート番号=現在使用されているポート番号+1
や、ポート番号の割り当てに際して、乱数を用いる方式
新ポート番号=基数(49152)+乱数(0〜16383)
等がある。その他、変換状況保持部200に保持されているグローバルIPアドレスとポート番号の組合せを使用しない単一の規則であればよい。
The existing NAT device 1000 includes a packet transfer unit 100, a conversion status holding unit 200, and a packet conversion unit 300. The NAT device 1000 receives a packet from the private IP address network 600 via the packet transfer unit 100, and the packet conversion unit 300 transmits a global IP address and a port for one connection according to a predetermined single rule. Assign a number.
The single rule set in advance is a method that uses the next number of the currently used port number in sequence. New port number = currently used port number + 1
Or a method that uses random numbers when assigning port numbers New port number = radix (49152) + random number (0 to 16383)
Etc. In addition, a single rule that does not use the combination of the global IP address and the port number held in the conversion status holding unit 200 may be used.

変換状況保持部200は、変換ログに加えて、発信元ポート番号、着信先グローバルIPアドレス及び着信先ポート番号(以下、これらのデータを併せて「変換状況データ」という)を保持する。図8に、変換状況データのデータ例を示す。変換状況データは、NAT装置1000が、異なるコネクションに対して、同一のグローバルIPアドレスとポート番号の組合せを割り当てることを防ぐために必要である。また、NAT装置1000が、着信先から応答パケットを受信し、パケットを発信元へ転送したり、同一のコネクションに属する他のパケットを同様に変換したりするために必要となるため、変換状況保持部200に一定期間(例えば2分程度)保持される。例えば、Webサーバ650からのデータは、変換後のグローバルIPアドレスと変換後のポート番号に対して送信されるため、NAT装置1000のパケット転送部100で受信され、変換状況保持部200のデータに基づいて、パケット変換部300で、発信元プライベートIPアドレスと発信元ポート番号にアドレス変換され、パケット転送部100からユーザに送信される。   In addition to the conversion log, the conversion status holding unit 200 holds a source port number, a destination global IP address, and a destination port number (hereinafter, these data are collectively referred to as “conversion status data”). FIG. 8 shows an example of conversion status data. The conversion status data is necessary to prevent the NAT device 1000 from assigning the same global IP address and port number combination to different connections. Also, since the NAT device 1000 receives the response packet from the destination and transfers the packet to the source, or converts other packets belonging to the same connection in the same manner, the conversion status is maintained. The unit 200 holds the unit 200 for a certain period (for example, about 2 minutes). For example, since the data from the Web server 650 is transmitted to the converted global IP address and the converted port number, the data is received by the packet transfer unit 100 of the NAT device 1000 and the data of the conversion status holding unit 200 is received. Based on this, the packet conversion unit 300 converts the address into a source private IP address and a source port number, and transmits the packet from the packet transfer unit 100 to the user.

もし、異なるコネクションに対して、同一のグローバルIPアドレスとポート番号を割り当てると、Webサーバからのデータをどのコネクションを使って転送すればよいか不明となるため、一定期間の間は、同一のグローバルIPアドレスとポート番号の組合せを割り当てないように、変換状況データに基づき制御する。   If the same global IP address and port number are assigned to different connections, it is unclear which connection should be used to transfer the data from the Web server. Control is performed based on the conversion status data so that a combination of an IP address and a port number is not assigned.

次に、変換状況データの内、少なくとも変換ログを外部記憶装置900に送信し、保存する。この保存は、一意にユーザを特定するために必要となる。特定方法については、後述する。パケット変換部300は、パケットに含まれるプライベートIPアドレスとポート番号をグローバルIPアドレスと別のポート番号に変換し、パケット転送部100を介してパケットをグローバルIPアドレスネットワーク640内の端末(例えば、Webサーバ650)へ転送する。   Next, at least the conversion log in the conversion status data is transmitted to the external storage device 900 and stored. This storage is necessary to uniquely identify the user. A specific method will be described later. The packet conversion unit 300 converts the private IP address and port number included in the packet into a port number different from the global IP address, and the packet is transferred via the packet transfer unit 100 to a terminal in the global IP address network 640 (for example, Web Server 650).

ここで、従来のNAT装置におけるユーザの特定方法について説明する。従来のNAT装置1000は、1つのグローバルIPアドレスを複数のプライベートIPアドレスで共有している。そのため、着信ログ記憶部660に記録される着信ログから、発信元グローバルIPアドレス、発信元ポート番号及び着信時刻は分かるが、その発信元グローバルIPアドレスと発信元ポート番号は、NAT装置1000が変換した後のグローバルIPアドレスとポート番号であり、グローバルIPアドレスの共有者の内のどのプライベートIPアドレスによる着信なのか一意には、特定できない。よって、どのプライベートIPアドレスによる接続かがわからない以上、割り当てログBを調べてユーザを特定できない。   Here, a user identification method in the conventional NAT device will be described. The conventional NAT device 1000 shares one global IP address with a plurality of private IP addresses. Therefore, from the incoming log recorded in the incoming log storage unit 660, the source global IP address, the source port number, and the incoming time are known, but the NAT device 1000 converts the source global IP address and the source port number. It is the global IP address and port number after it has been received, and it cannot be uniquely identified by which private IP address among the sharers of the global IP address. Therefore, as long as the private IP address is not known, the user cannot be identified by examining the allocation log B.

ここで、着信ログの発信元グローバルIPアドレス、発信元ポート番号及び着信時刻からプライベートIPアドレスを特定するために、変換後グローバルIPアドレス、変換後ポート番号、発信元プライベートIPアドレス、プロトコル種別及びコネクション時刻を保存する必要がある。この変換ログと割り当てログBを調べることにより一意にユーザを特定することができる。   Here, in order to identify the private IP address from the source global IP address, source port number, and incoming time of the incoming log, the converted global IP address, the converted port number, the source private IP address, the protocol type, and the connection You need to save the time. By examining the conversion log and the allocation log B, the user can be uniquely specified.

なお、着信ログに発信元のプライベートIPアドレスとポート番号は残らず、変換後のグローバルIPアドレスと変換後のポート番号しか残らないことは、ユーザにとっては、セキュリティを強化するという側面もある。つまり、グローバルIPアドレスネットワーク内の端末から着信ログを使って、ユーザ行動の追跡や識別を仕掛けられたとしても、着信ログ上ではNAT装置のグローバルIPアドレスであり、ユーザは行動の追跡や識別を免れることができる。そのため、NAT技術において、セキュリティ上、変換ログを保存するという発想がそもそもなかった。しかし、ISPは、ユーザを一意に特定できることが要求されているため、NAT技術を利用する場合には、変換ログを保存し、かつ、情報が改ざん、漏洩等しないように、変換ログを保存した外部記憶装置900のセキュリティも確保しなければならない。   It should be noted that the fact that the private IP address and port number of the transmission source do not remain in the incoming call log, and only the global IP address after conversion and the port number after conversion remain, also has an aspect of enhancing security for the user. In other words, even if an incoming log is used to track and identify user behavior from a terminal in the global IP address network, it is the NAT device's global IP address on the incoming log, and the user can track and identify the behavior. I can be spared. Therefore, in the NAT technology, the idea of saving the conversion log was not originally provided for security. However, since ISPs are required to uniquely identify users, when using NAT technology, the conversion log is saved and the conversion log is saved so that the information is not falsified or leaked. The security of the external storage device 900 must also be ensured.

小規模LANではなく、多数のグローバルIPアドレスを持つISP等で変換ログを保存するには、高速、かつ、大容量の外部記憶装置900が必要となり、そのセキュリティも厳重に管理しなければならない。   In order to save a conversion log not by a small LAN but by an ISP having a large number of global IP addresses, a high-speed and large-capacity external storage device 900 is required, and its security must be strictly managed.

例えば、NAT装置の変換ログを記録するには、発信元プライベートIPアドレス(32ビット)、変換後グローバルIPアドレス(32ビット)、変換後ポート番号(16ビット)、プロトコル種別(8ビット)、コネクション時刻(64ビット)、1コネクション確立毎に合計152ビット(19バイト)の記憶容量を必要とする。Webページ1ページに10個のhtmlファイルや画像ファイル等があるとすると、1ページにアクセスするごとに合計(19*10)=190バイトを保存する必要がある。   For example, in order to record the conversion log of the NAT device, the source private IP address (32 bits), the converted global IP address (32 bits), the converted port number (16 bits), the protocol type (8 bits), the connection Time (64 bits) requires a storage capacity of 152 bits (19 bytes) in total for each connection established. If there are 10 html files, image files, etc. in one web page, it is necessary to store a total of (19 * 10) = 190 bytes every time one page is accessed.

1ユーザが、1分間に1回アクセスつまり1時間に60アクセスし、1日に3時間程度利用すると考えると、1日あたり(60*3)回アクセスし、6か月間に約(60*3*180)回程度アクセスする。なお、ここで期間を6か月間とした理由は、ISPには、ユーザを特定するためのデータを6か月以上保存することが求められているからである。結果として1ユーザあたり(190*60*3*180)バイト=約6メガバイトとなり、例えば、500万ユーザをもつISPは、約30テラバイトのデータ量を保存しなくてはならない。   Assuming that one user accesses once a minute, that is, 60 accesses per hour and uses it for about 3 hours per day, he accesses (60 * 3) times per day, and about sixty months (60 * 3) * 180) Access about once. Here, the reason for setting the period to 6 months is that the ISP is required to store data for specifying the user for 6 months or more. As a result, (190 * 60 * 3 * 180) bytes per user = about 6 megabytes, for example, an ISP with 5 million users must save about 30 terabytes of data.

ここで、本発明の実施例について述べる。   Now, an embodiment of the present invention will be described.

プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うNAT装置2000は、パケット転送部100と変換状況保持部200とパケット変換部300とプール記憶部400を有する。図9は、実施例1のインターネット接続サービスのシステム構成例、図10は、実施例1のNAT装置の機能構成例を示す。   The NAT device 2000 that performs address conversion during communication between the first terminal in the private IP address network and the second terminal in the global IP address network includes a packet transfer unit 100, a conversion status holding unit 200, and a packet conversion unit 300. A pool storage unit 400 is included. FIG. 9 shows a system configuration example of the Internet connection service of the first embodiment, and FIG. 10 shows a functional configuration example of the NAT device of the first embodiment.

プール記憶部400は、グローバルIPアドレスとポート番号の範囲の組合せであるプールをプライベートIPアドレスの数以上と、そのプールと対応するプライベートIPアドレスが記憶される。プールを特定することで、プライベートIPアドレスが特定できるような対応とすればよい。なお、プライベートIPアドレスとプールの組合せを変換規則という。図11に、プール記憶部400に格納されているデータ例を示す。例えば、図11(A)のように、ポート番号の範囲として、連続するポート番号(例えば、2000番ずつ)に区切って割り当ててもよい。実施例1記載のNAT装置2000は、NAT装置設定時に「静的」に自動でプライベートIPアドレスと1対1で対応するプールを決める仕組みを備える。「静的」とは、プライベートIPアドレスとプールの対応が、ユーザの回線接続等によって変化せず、NAT装置設定時に決定され、プール記憶部400へ記憶され、その後、手動等で変更しない限り、プライベートIPアドレスとプールの対応が、変化しないことを意味する。   The pool storage unit 400 stores a pool, which is a combination of a global IP address and a range of port numbers, in excess of the number of private IP addresses and a private IP address corresponding to the pool. By specifying the pool, it is sufficient to take a measure that allows the private IP address to be specified. A combination of a private IP address and a pool is called a conversion rule. FIG. 11 shows an example of data stored in the pool storage unit 400. For example, as shown in FIG. 11A, the port number range may be divided into consecutive port numbers (for example, 2000 numbers) and assigned. The NAT device 2000 described in the first embodiment includes a mechanism that automatically and “statically” determines a pool corresponding to a private IP address when setting a NAT device. “Static” means that the correspondence between the private IP address and the pool does not change depending on the user's line connection or the like, is determined when the NAT device is set, stored in the pool storage unit 400, and then manually changed, etc. This means that the correspondence between the private IP address and the pool does not change.

プールをNAT装置設定時に「静的」に自動で決める仕組みを説明する。予め利用してよいポート番号の範囲(例えば、49152から65535までの16384個)と、1プライベートIPアドレス毎に割り当てるポート番号の数(例えば、2000個)と、利用できるグローバルIPアドレスの範囲(例えば、192.0.2.1から192.0.2.16まで16個)を指定する。   A mechanism for automatically determining a pool as “static” when setting a NAT device will be described. A range of port numbers that can be used in advance (for example, 16384 ports from 49152 to 65535), the number of port numbers assigned for each private IP address (for example, 2000 ports), and a range of available global IP addresses (for example, , 192.0.2.1 to 192.0.2.16).

利用してよいポート番号の範囲を1プライベートIPアドレス毎に割り当てるポート番号の数で割り算し、1グローバルIPアドレスを共有するプライベートIPアドレスの数を計算する。
共有するプライベートIPアドレスの数=16384÷2000=8.192
よって、1つのグローバルIPアドレスを8個のプライベートIPアドレスで共有する。利用できるグローバルIPアドレス数と、共有できるプライベートIPアドレス数を乗算し、ユーザに割り当てるためのプライベートIPアドレス数と範囲を求める。
グローバルIPアドレス数(16)*共有できるプライベートIPアドレス数(8)=128(個)
よって、プライベートIPアドレスの範囲と数(例えば、例えば、10.0.0.1から10.0.0.128まで128個)が求まる。
各プライベートIPアドレス(例えば「10.0.0.1」)にプール(例えば、「グローバルIPアドレス192.0.2.1とポート番号の範囲49152から51151まで」)を自動的に割り当て、変換規則を作成する。
The range of port numbers that can be used is divided by the number of port numbers assigned for each private IP address, and the number of private IP addresses sharing one global IP address is calculated.
Number of shared private IP addresses = 16384 ÷ 2000 = 8.192
Therefore, one global IP address is shared by eight private IP addresses. Multiply the number of global IP addresses that can be used and the number of private IP addresses that can be shared to determine the number and range of private IP addresses to be assigned to users.
Number of global IP addresses (16) * Number of private IP addresses that can be shared (8) = 128 (pieces)
Therefore, the range and number of private IP addresses (for example, 128 from 10.0.0.1 to 10.0.0.128) are obtained.
Each private IP address (for example, “10.0.0.1”) is automatically assigned a pool (for example, “Global IP address 192.0.2.1 and port number range 49152 to 51151”) and converted. Create a rule.

なお、ポート番号の範囲は、1個以上であればよい。ただし、上述の通り、変換状況保持部200では、変換状況データが一定期間保持される。同一のプライベートIPアドレスに対しても、異なるコネクション確立時に、グローバルIPアドレスとポート番号の同一の組合せを割り当てることはできない。もし、同一のプライベートIPアドレスに対して、異なるコネクション確立時に、グローバルIPアドレスとポート番号の同一の組合せを割り当てると、WebサーバからのデータをどのプライベートIPアドレスとポート番号の組合せに転送すればよいか不明となるため、一定期間の間は、同一のグローバルIPアドレスとポート番号の組合せを割り当てないように、変換状況データに基づき制御する。よって、適度にコネクションを確立するためにポート番号の範囲は100個以上2000個以下程度が望ましい。例えば、ポートの番号の範囲を2個とすると、ユーザが同時に確立できるコネクションの数は2個となり、3個目以降のコネクションは、変換状況保持部200から変換状況データが削除されるまで、確立できない。   The range of port numbers may be one or more. However, as described above, the conversion status holding unit 200 holds the conversion status data for a certain period. Even for the same private IP address, the same combination of global IP address and port number cannot be assigned when different connections are established. If the same combination of global IP address and port number is assigned to the same private IP address when different connections are established, the data from the Web server may be transferred to any combination of private IP address and port number Therefore, control is performed based on the conversion status data so that the same combination of global IP address and port number is not assigned for a certain period. Therefore, the port number range is desirably about 100 or more and 2000 or less in order to establish a connection appropriately. For example, if the port number range is two, the number of connections that the user can establish simultaneously is two, and the third and subsequent connections are established until the conversion status data is deleted from the conversion status holding unit 200. Can not.

ここで、一度に並行して確立できるコネクションの個数は、webブラウザ等の設定により異なるが、一般に2〜16個程度である。一度に並行して確立できるコネクションの個数が4個であり、1つのWebページ上に100個のファイルがある場合には、4個ずつコネクションを確立していき、25回、コネクションを確立する。なお、変換状況保持部200は、コネクション確立毎に変換状況データを作成し、一定期間保持する。   Here, the number of connections that can be established in parallel at one time varies depending on the settings of the web browser or the like, but is generally about 2 to 16. If the number of connections that can be established in parallel at a time is four and there are 100 files on one Web page, the connection is established four by four and the connection is established 25 times. The conversion status holding unit 200 creates conversion status data every time a connection is established, and holds it for a certain period.

図12に、パケット変換の流れを示す。パケット変換部300は、パケット転送部100を介してプライベートIPアドレスネットワーク内の端末からのパケットを受信する(S101)。受信したパケットに対応するエントリが変換状況保持部200にあるか問合せる(S102)。エントリがあれば、同様に、プライベートIPアドレスをグローバルIPアドレスに変換し、ポート番号を変換する(S107)。エントリがなければ、新規コネクションであるとして、受信したパケットからプライベートIPアドレスを取得し、プール記憶部400に問合せる(S103)。プール記憶部400に、プライベートIPアドレスがあれば(S104)、プライベートIPアドレスに対応するプールを取得する(S105)。もし、プール記憶部に記憶されていないプライベートIPアドレスからのパケットを受信した場合には、対応するプールを取得できないため、パケットを廃棄する(S110)。さらに、パケット変換部300は、ポート番号の範囲の中からあらかじめ定めた単一の規則に従って、ポート番号を割り当てる(S106)。なお、あらかじめ定めた単一の規則とは、図11(A)の場合には、現在使用されている1つ次の番号を順次用いる方式
新ポート番号=現在使用されているポート番号+1
や、ポート番号の割り当てに際して、乱数を用いる方式
新ポート番号=基数(プールのポート番号中の先頭)+乱数(0〜1999)
等がある。
FIG. 12 shows the flow of packet conversion. The packet conversion unit 300 receives a packet from a terminal in the private IP address network via the packet transfer unit 100 (S101). An inquiry is made as to whether there is an entry corresponding to the received packet in the conversion status holding unit 200 (S102). If there is an entry, similarly, the private IP address is converted into a global IP address, and the port number is converted (S107). If there is no entry, it is determined that the connection is a new connection, the private IP address is acquired from the received packet, and the pool storage unit 400 is inquired (S103). If there is a private IP address in the pool storage unit 400 (S104), a pool corresponding to the private IP address is acquired (S105). If a packet from a private IP address that is not stored in the pool storage unit is received, the corresponding pool cannot be acquired, and the packet is discarded (S110). Further, the packet conversion unit 300 assigns a port number according to a predetermined single rule from the range of port numbers (S106). In addition, in the case of FIG. 11A, the predetermined single rule is a method in which the next next number that is currently used is sequentially used. New port number = currently used port number + 1
Or a method that uses random numbers when assigning port numbers New port number = radix (top of pool port number) + random number (0-1999)
Etc.

さらに、パケット変換部300は、作成されたグローバルIPアドレスと新ポート番号の組合せと変換状況保持部200に保持されているグローバルIPアドレスとポート番号の組合せが同一とならないか、検査する。検査の結果、両組合せが、同一であれば、再度あらかじめ定めた単一の規則に従ってポート番号割り当て、異なる組合せとなるまで、繰り返す(S107)。   Further, the packet conversion unit 300 checks whether the combination of the created global IP address and new port number and the combination of the global IP address and port number held in the conversion status holding unit 200 are the same. If both combinations are the same as a result of the inspection, port numbers are assigned again according to a predetermined single rule, and the process is repeated until different combinations are obtained (S107).

変換後グローバルIPアドレスと変換後ポート番号を決定したら、受信したパケットの発信元プライベートIPアドレスと発信元ポート番号を決定したグローバルIPアドレスとポート番号に変換する(S108)。そして、パケット転送部100を介してグローバルIPアドレスネットワーク内の端末へパケットを送信する(S109)。   When the converted global IP address and the converted port number are determined, the source private IP address and the source port number of the received packet are converted into the determined global IP address and port number (S108). Then, the packet is transmitted to the terminal in the global IP address network via the packet transfer unit 100 (S109).

このようにアドレス変換することにより、着信ログと変換規則及び割り当てログBを調べれば、ユーザを一意に特定することができ、ISPは、変換ログを外部記憶装置900に保存する必要がなくなる。なぜなら、着信ログ記憶部660の着信ログから、発信元グローバルIPアドレスと発信元ポート番号が分かるため、対応する変換規則からプライベートIPアドレスを特定することができる。このプライベートIPアドレスと割り当てログBと着信時刻からユーザを一意に決定することができる。   By converting the address in this way, the user can be uniquely identified by examining the incoming log, the conversion rule, and the allocation log B, and the ISP does not need to store the conversion log in the external storage device 900. This is because the source global IP address and the source port number are known from the incoming log of the incoming log storage unit 660, so that the private IP address can be specified from the corresponding conversion rule. The user can be uniquely determined from the private IP address, the allocation log B, and the incoming time.

[変形例1]
以下、実施例1と異なる部分のみ説明する。
NAT装置設定時に「静的」に自動でプライベートIPアドレスと1対1で対応するプールを決める仕組みは、以下のように定めてもよい。図11(B)のように、ポート番号の範囲を下一桁の値で分割してもよい。この場合、予め利用してよいポート番号の範囲(例えば、49152から65535までの16384個)と、利用できるグローバルIPアドレスの範囲(例えば、192.0.2.1から192.0.2.16まで16個)を指定する。予め利用してよいポート番号の範囲は、下一桁の値で10個のポート番号の範囲に分割されているため、1つのグローバルIPアドレスを10個のプライベートIPアドレスで共有する。これによりユーザに割り当てるためのプライベートIPアドレス数と範囲を求める。
グローバルIPアドレス数(16)*共有できるプライベートIPアドレス数(10)=160(個)
よって、プライベートIPアドレスの範囲(例えば、例えば、10.0.0.1から10.0.0.160まで160個)が求まる。各プライベートIPアドレス(例えば「10.0.0.1」)にプール(例えば、「グローバルIPアドレス192.0.2.1と利用してよいポート番号の範囲のうち下一桁が0の値」)を自動的に割り当て、変換規則を作成する。
[Modification 1]
Only the parts different from the first embodiment will be described below.
A mechanism for automatically determining a pool corresponding to a private IP address one-to-one “statically” when setting a NAT device may be determined as follows. As shown in FIG. 11B, the range of port numbers may be divided by the last digit value. In this case, a range of port numbers that can be used in advance (for example, 16384 numbers from 49152 to 65535) and a range of available global IP addresses (for example, 192.0.2.1 to 192.0.2.16). Up to 16). The range of port numbers that can be used in advance is divided into a range of 10 port numbers by the last digit value, so one global IP address is shared by 10 private IP addresses. As a result, the number and range of private IP addresses to be assigned to the user are obtained.
Number of global IP addresses (16) * Number of private IP addresses that can be shared (10) = 160 (pieces)
Therefore, a range of private IP addresses (for example, 160 addresses from 10.0.0.1 to 10.0.0.160) is obtained. Each private IP address (for example, “10.0.0.1”) has a pool (for example, “global IP address 192.0.2.1” and the port number range that can be used is the value with the last digit 0 ]) Automatically and create conversion rules.

この場合、パケット変換部300が、ポート番号の範囲の中からあらかじめ定めた単一の規則に従って、ポート番号を割り当てる際には(S106)、あらかじめ定めた単一の規則を以下のようにすることが考えられる。
現在使用されているポート番号に10を加えた番号を順次用いる方式
新ポート番号=現在使用されているポート番号+10
や、ポート番号の割り当てに際して、乱数を用い、10倍する方式
新ボート番号=49160+下一桁の値+乱数(0〜1636)*10
等がある。
In this case, when the packet conversion unit 300 assigns a port number according to a predetermined single rule from the range of port numbers (S106), the predetermined single rule is as follows. Can be considered.
A method that sequentially uses a number obtained by adding 10 to the currently used port number. New port number = currently used port number + 10
Or, when assigning a port number, a random number is used and multiplied by 10. New boat number = 49160 + the last digit value + random number (0-1636) * 10
Etc.

[変形例2]
以下、実施例1と異なる部分のみ説明する。
プールをNAT装置設定時に「静的」に自動で決める仕組みを説明する。実施例1では、予め利用してよいポート番号の範囲(例えば、49152から65535までの16384個)と、1プライベートIPアドレス毎に割り当てるポート番号の範囲(例えば、2000個)と、利用できるグローバルIPアドレスの範囲(例えば、192.0.2.1から192.0.2.16まで16個)を指定するが、変形例2では、1プライベートIPアドレス毎に割り当てるポート番号の範囲(例えば、2000個)を予め指定するのに代えて、1つのグローバルIPアドレスを共有するプライベートIPアドレスの数(例えば、16個)を予め指定する。
[Modification 2]
Only the parts different from the first embodiment will be described below.
A mechanism for automatically determining a pool as “static” when setting a NAT device will be described. In the first embodiment, a range of port numbers that can be used in advance (for example, 16384 ports from 49152 to 65535), a range of port numbers assigned for each private IP address (for example, 2000 ports), and a global IP that can be used. An address range (for example, 16 addresses from 192.0.2.1 to 192.0.2.16) is specified. In the second modification, a range of port numbers allocated for each private IP address (for example, 2000) Instead of designating in advance, the number of private IP addresses sharing one global IP address (for example, 16) is designated in advance.

利用してよいポート番号の範囲を共有するプライベートIPアドレスの数で割り算し、1プライベートIPアドレス毎に割り当てるポート番号の範囲を計算する。
ポート番号の範囲=16384÷16=1024
利用できるグローバルIPアドレス数と、共有できるプライベートIPアドレス数を乗算し、ユーザに割り当てるためのプライベートIPアドレス数と範囲を求める。
グローバルIPアドレス数(16)*共有できるプライベートIPアドレス数(16)=256(個)
その後、プライベートIPアドレスの範囲(例えば、10.0.0.1から10.0.0.255と10.0.1.1を併せた256個)を自動的に決定する。
The range of port numbers that can be used is divided by the number of shared private IP addresses, and the range of port numbers assigned for each private IP address is calculated.
Port number range = 16384/16 = 1024
Multiply the number of global IP addresses that can be used and the number of private IP addresses that can be shared to determine the number and range of private IP addresses to be assigned to users.
Number of global IP addresses (16) * Number of private IP addresses that can be shared (16) = 256 (pieces)
Thereafter, a range of private IP addresses (for example, 256 including 10.0.0.1 to 10.0.0.25 and 10.0.1.1) is automatically determined.

各プライベートIPアドレス(例えば「10.0.0.1」)にプール(例えば、「グローバルIPアドレス192.0.2.1とポート番号の範囲49152からまで50175」)を自動的に割り当て、変換規則を作成する。   Each private IP address (for example, “10.0.0.1”) is automatically assigned and converted to a pool (for example, “Global IP address 192.0.2.1 and port number range 49152 to 49175”). Create a rule.

実施例1のプールをNAT装置設定時に「静的」に自動で決める仕組みは、割り当てるポート番号の範囲(コネクション数の確立数)が決まっている時に採用し、変形例2の仕組みは、1つのグローバルIPアドレスを共有するプライベートIPアドレスの数が決まっている時に採用するとよい。   The mechanism for automatically determining the pool of the first embodiment as “static” when setting the NAT device is adopted when the range of port numbers to be assigned (the number of established connections) is determined, and the mechanism of the second modification is one It may be adopted when the number of private IP addresses sharing a global IP address is determined.

[変形例3]
以下、実施例1と異なる部分のみ説明する。
NAT装置2000は、NAT装置設定時に「静的」に自動でプライベートIPアドレスと対応するプールを決める仕組みに代えて、手動でプライベートIPアドレスと対応するプールを決める仕組みを備える。
手動で特定のプライベートIPアドレスには、多くのポート番号の範囲(例えば2000個)を割り当て、残りのプールには、少ないポート番号の範囲(例えば100個)を割り当てても、プライベートIPアドレスとプールが対応していればよい。
[Modification 3]
Only the parts different from the first embodiment will be described below.
The NAT device 2000 includes a mechanism for manually determining a pool corresponding to a private IP address instead of a mechanism for automatically and statically determining a pool corresponding to a private IP address when the NAT device is set.
Even if you manually assign a large range of port numbers (for example, 2000) to a specific private IP address and assign a small range of port numbers (for example, 100) to the remaining pools, As long as it corresponds.

実施例1、変形例1〜2の場合に、プライベートIPアドレスと1対1で対応するプールを決める仕組みを提供しているが、1対1でなくとも、プールが特定できれば、プライベートIPアドレスが特定できればよい。よって、一対多、つまり、1つのプライベートIPアドレスに対して、複数のプールを割り当ててもよい。その変換規則は、プール記憶部400に記憶される。その場合も、着信ログと変換規則及び割り当てログBを調べれば、ユーザを一意に特定することができる。   In the case of the first embodiment and the first and second modifications, a mechanism for determining a pool corresponding to a private IP address on a one-to-one basis is provided. It only needs to be identified. Therefore, a plurality of pools may be assigned to one-to-many, that is, one private IP address. The conversion rule is stored in the pool storage unit 400. Even in this case, the user can be uniquely identified by examining the incoming call log, the conversion rule, and the allocation log B.

以下、実施例1と異なる部分についてのみ記載する。図13は、実施例2のインターネット接続サービスのシステム構成例、図14は、実施例2のNAT装置の機能構成例を示す。NAT装置3000は、アドレス割り当て部500を有する。NAT装置3000は、ユーザに対してプライベートIPアドレスを割り当てる機能も同時に備える。   Only the parts different from the first embodiment will be described below. FIG. 13 shows a system configuration example of the Internet connection service of the second embodiment, and FIG. 14 shows a functional configuration example of the NAT device of the second embodiment. The NAT device 3000 has an address assignment unit 500. The NAT device 3000 also has a function of assigning a private IP address to a user.

図15に、プライベートIPアドレスの割り当て方法を示す。アドレス割り当て部500は、プライベートIPアドレスネットワーク600内の端末の回線接続に伴って、端末に対してプライベートIPアドレスを割り当て、さらにプライベートIPアドレスとプールの対応を決定し、プール記憶部へ記憶する。具体的には、ユーザ回線接続時に、アドレス割り当て部500は、プール記憶部400を参照し、使用されていないプライベートIPアドレスをユーザに割り当てる(S112)。IPアドレス割り当て部500は、プライベートIPアドレスの割り当てと同時に、そのプライベートIPアドレスに対応するプールも割り当て、プール記憶部400に記憶する(S113)。プール記憶部400に記憶されているプールのデータ例を図16に示す。また、NAT装置3000は、割り当てログBと割り当てたプールを割り当てログ記憶部630へ記録する(S114)。図17に、割り当てログ記憶部に記録されるデータ例を示す。   FIG. 15 shows a method for assigning private IP addresses. The address assignment unit 500 assigns a private IP address to the terminal as the terminal in the private IP address network 600 is connected, further determines the correspondence between the private IP address and the pool, and stores it in the pool storage unit. Specifically, when the user line is connected, the address assignment unit 500 refers to the pool storage unit 400 and assigns an unused private IP address to the user (S112). The IP address assignment unit 500 assigns a pool corresponding to the private IP address at the same time as the assignment of the private IP address, and stores it in the pool storage unit 400 (S113). An example of pool data stored in the pool storage unit 400 is shown in FIG. The NAT device 3000 records the allocation log B and the allocated pool in the allocation log storage unit 630 (S114). FIG. 17 shows an example of data recorded in the allocation log storage unit.

なお、アドレス変換装置3000は、プライベートIPアドレスとプールの対応を、回線接続毎に「動的」に自動で決める仕組みを備える。「動的」とは、プライベートIPアドレスとプールの対応が、ユーザの回線接続等によって変化することを意味する。   The address translation device 3000 includes a mechanism that automatically determines the correspondence between the private IP address and the pool “dynamically” for each line connection. “Dynamic” means that the correspondence between the private IP address and the pool changes depending on the line connection of the user.

プールを「動的」に自動で決める仕組みを説明する。予め利用してよいポート番号の範囲(例えば、49152から65535までの16384個)と、1プライベートIPアドレス毎に割り当てるポート番号の数(例えば、2000個)と、利用できるグローバルIPアドレスの範囲(例えば、192.0.2.1から192.0.2.16まで16個)を指定する。   Explain the mechanism to automatically determine the pool as "dynamic". A range of port numbers that can be used in advance (for example, 16384 ports from 49152 to 65535), the number of port numbers assigned for each private IP address (for example, 2000 ports), and a range of available global IP addresses (for example, , 192.0.2.1 to 192.0.2.16).

利用してよいポート番号の範囲を1プライベートIPアドレス毎に割り当てるポート番号の数で割り算し、1グローバルIPアドレスを共有するプライベートIPアドレスの数を計算する。
共有するプライベートIPアドレスの数=16384÷2000=8.192
利用できるグローバルIPアドレス数と、共有できるプライベートIPアドレス数を乗算し、ユーザに割り当てるためのプライベートIPアドレス数を求める。
グローバルIPアドレス数(16)*共有できるプライベートIPアドレス数(8)=128(個)
よって、128個のプライベートIPアドレスに対応できる。128個のプールを作成し、プール記憶部400に記憶する。
The range of port numbers that can be used is divided by the number of port numbers assigned for each private IP address, and the number of private IP addresses sharing one global IP address is calculated.
Number of shared private IP addresses = 16384 ÷ 2000 = 8.192
Multiply the number of available global IP addresses by the number of private IP addresses that can be shared to determine the number of private IP addresses to be assigned to users.
Number of global IP addresses (16) * Number of private IP addresses that can be shared (8) = 128 (pieces)
Therefore, 128 private IP addresses can be handled. 128 pools are created and stored in the pool storage unit 400.

アドレス割り当て部500は、ユーザの回線接続時に、プライベートIPアドレス(例えば「10.0.0.1」)を割り当て(S112)、このプライベートIPアドレスに対し、プール(例えば、「グローバルIPアドレス192.0.2.1とポート番号の範囲49152から51151まで」)を自動的に割り当て、変換規則を作成し、プール記憶部400に記憶する(S113)。同時に、アドレス装置変換装置は、割り当てログ記憶部630に割り当てログBと変換規則を保存する(S114)。なお、回線切断時には、プール記憶部400は、切断したプライベートIPアドレスをプール記憶部400から削除し「空き」とする。   The address allocation unit 500 allocates a private IP address (for example, “10.0.0.1”) when the user connects to the line (S112), and a pool (for example, “global IP address 192. 0.2.1 and port number range 49152 to 51151 ") are automatically assigned, a conversion rule is created, and stored in the pool storage unit 400 (S113). At the same time, the address device conversion apparatus stores the allocation log B and the conversion rule in the allocation log storage unit 630 (S114). When the line is disconnected, the pool storage unit 400 deletes the disconnected private IP address from the pool storage unit 400 to make it “free”.

実施例2の場合、プール記憶部400のプールを確認しなくても、割り当てログ記憶部630に保存される割り当てログBと変換規則と着信ログからユーザを一意に特定することができる。また、プールを変更しても、記憶部630には、回線接続時の割り当てログBと変換規則が保存される。記憶部630に記録されるログは、コネクション確立毎ではなく、回線接続毎になるため、実施例1と同様に外部記憶装置900に変換ログを保存する必要がなくなる。   In the case of the second embodiment, the user can be uniquely identified from the allocation log B, the conversion rule, and the incoming call log stored in the allocation log storage unit 630 without checking the pool in the pool storage unit 400. Even if the pool is changed, the storage unit 630 stores the allocation log B and the conversion rule when the line is connected. Since the log recorded in the storage unit 630 is not for each connection establishment but for each line connection, it is not necessary to store the conversion log in the external storage device 900 as in the first embodiment.

[変形例]
以下、実施例2と異なる部分のみ説明する。変形例のアドレス変換装置は、ユーザ回線接続時に、管理サーバ等を用いて、ユーザの認証を行い、IPアドレスを割り当てる。図18に変形例のインターネット接続サービスのシステム構成例、図19に変形例のNAT装置の機能構成例、図20にプライベートIPアドレスの割り当て方法を示す。ユーザ回線接続時には、NAT装置3000は、ユーザIDとパスワード等を管理サーバ700に認証を要求する(S111)。認証が許可された場合には、実施例2と同様に、プライベートIPアドレスを割り当てる。
[Modification]
Only the parts different from the second embodiment will be described below. The address translation device according to the modification uses a management server or the like to authenticate a user and assign an IP address when the user line is connected. FIG. 18 shows a system configuration example of the modified Internet connection service, FIG. 19 shows a functional configuration example of the NAT device of the modified example, and FIG. 20 shows a private IP address assignment method. When the user line is connected, the NAT device 3000 requests the management server 700 to authenticate the user ID and password (S111). When authentication is permitted, a private IP address is assigned as in the second embodiment.

変形例では、変換規則を作成し、プール記憶部400に記憶する(S113)のと同時に、割り当てログ記憶部630に割り当てログBと変換規則を保存するのに、代わって、アドレス割り当て部500は、RADIUS(Remote Authentication Dial In User Service)プロトコル(RFC2865及びRFC2866参照)等を用いて、ユーザに割り当てたプライベートIPアドレスを管理サーバ700に通知する(S115)。管理サーバ700内には、割り当てログBと変換規則が保存される。
実施例1,2において、アドレス変換装置をISPが使用する場合について、述べたが、小規模LAN等でアドレス変換装置を使用する場合も含む。
In the modified example, the conversion rule is created and stored in the pool storage unit 400 (S113). At the same time, the allocation log B and the conversion rule are stored in the allocation log storage unit 630. The management server 700 is notified of the private IP address assigned to the user using the RADIUS (Remote Authentication Dial In User Service) protocol (see RFC 2865 and RFC 2866) or the like (S115). In the management server 700, an allocation log B and conversion rules are stored.
In the first and second embodiments, the case where the ISP uses the address translation device has been described, but the case where the address translation device is used in a small-scale LAN or the like is also included.

上述においてアドレス変換装置は、ルータやゲートウェイ等に実装されていてもよい。アドレス変換装置は、コンピュータにより機能させてもよい。その場合は、各過程をコンピュータにより実行させるためのプログラムを、CD−ROM、磁気ディスク、半導体記憶装置などの記録媒体からインストールし、あるいは通信回線を通じてダウンロードして、そのコンピュータにそのプログラムを実行させればよい。   In the above description, the address translation device may be mounted on a router, a gateway, or the like. The address translation device may function by a computer. In that case, a program for causing the computer to execute each process is installed from a recording medium such as a CD-ROM, a magnetic disk, or a semiconductor storage device, or downloaded through a communication line, and the program is executed by the computer. Just do it.

既存のISPが提供するインターネット接続サービスのシステム構成例を示す構成図である。It is a block diagram which shows the system structural example of the internet connection service which the existing ISP provides. 割り当てログAのデータ例を示す図である。It is a figure which shows the example of data of the allocation log A. 着信ログのデータ例を示す図である。It is a figure which shows the example of data of an incoming call log. 割り当てログBのデータ例を示す図である。6 is a diagram illustrating an example of data in an allocation log B. FIG. 変換ログのデータ例を示す図である。It is a figure which shows the example of data of a conversion log. 既存のISPがNAT装置を用いて提供するインターネット接続サービスのシステム構成例を示す構成図である。It is a block diagram which shows the system structural example of the internet connection service which the existing ISP provides using a NAT apparatus. 既存のNAT装置及び外部記憶装置の構成例を示す構成図である。It is a block diagram which shows the structural example of the existing NAT apparatus and an external storage device. 変換状況データのデータ例を示す図である。It is a figure which shows the data example of conversion status data. 実施例1のインターネット接続サービスのシステム構成例を示す構成図である。1 is a configuration diagram illustrating a system configuration example of an Internet connection service of Embodiment 1. FIG. 実施例1のNAT装置の機能構成例を示す構成図である。1 is a configuration diagram illustrating a functional configuration example of a NAT device according to Embodiment 1. FIG. プール記憶部400に格納されているデータ例を示す図である。4 is a diagram illustrating an example of data stored in a pool storage unit 400. FIG. パケット変換の流れを示す流れ図である。It is a flowchart which shows the flow of packet conversion. 実施例2のインターネット接続サービスのシステム構成例を示す構成図である。It is a block diagram which shows the system structural example of the internet connection service of Example 2. FIG. 実施例2のNAT装置の機能構成例を示す構成図である。6 is a configuration diagram illustrating a functional configuration example of a NAT device according to Embodiment 2. FIG. プライベートIPアドレスの割り当て方法を示す流れ図である。It is a flowchart which shows the allocation method of a private IP address. プール記憶部400に記憶されているプールのデータ例を示す図である。4 is a diagram illustrating an example of pool data stored in a pool storage unit 400. FIG. 実施例2の割り当てログ記憶部に記憶されているデータ例を示す図である。It is a figure which shows the example of data memorize | stored in the allocation log memory | storage part of Example 2. FIG. 実施例2の変形例のインターネット接続サービスのシステム構成例を示す構成図である。FIG. 10 is a configuration diagram illustrating a system configuration example of an Internet connection service according to a modification of the second embodiment. 実施例2の変形例のNAT装置の機能構成例を示す構成図である。FIG. 10 is a configuration diagram illustrating a functional configuration example of a NAT device according to a modification of the second embodiment. 実施例2の変形例のプライベートIPアドレスの割り当て方法を示す流れ図である。10 is a flowchart illustrating a method for assigning a private IP address according to a modification of the second embodiment.

符号の説明Explanation of symbols

1000,2000,3000 NAT装置
100 パケット転送部 200 変換状況保持部
300 パケット変換部 400 プール記憶部
500 アドレス割り当て部
1000, 2000, 3000 NAT device 100 packet transfer unit 200 conversion status holding unit 300 packet conversion unit 400 pool storage unit 500 address allocation unit

Claims (5)

プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うアドレス変換装置であって、
グローバルIPアドレスとポート番号の範囲の組合せであるプールをプライベートIPアドレスの数以上と、該プールと対応するプライベートIPアドレスが記憶されるプール記憶部と、
該第一の端末からのパケットを受信し、アドレス変換後のパケットを該第二の端末へ送信するパケット転送部と、
該パケット転送部を介して受信したパケットから該プライベートIPアドレスを取得し、該プライベートIPアドレスに対応するプールの情報を該プール記憶部から取得し、さらに、該プールのポート番号の範囲の中からポート番号を決定し、該受信したパケットのプライベートIPアドレスとポート番号を、決定した該プールのグローバルIPアドレスとポート番号に変換するパケット変換部と、を有し、
該ポート番号の範囲には、複数のポート番号が含まれ、
該アドレス変換装置設定時に、プライベートIPアドレスとプールの対応を決定しプール記憶部へ記憶すること、
を特徴とするアドレス変換装置。
An address translation device that performs address translation during communication between a first terminal in a private IP address network and a second terminal in a global IP address network,
A pool that is a combination of a range of global IP addresses and port numbers, and more than the number of private IP addresses; a pool storage unit that stores private IP addresses corresponding to the pools;
A packet transfer unit that receives a packet from the first terminal and transmits the address-converted packet to the second terminal;
The private IP address is acquired from the packet received via the packet transfer unit, the pool information corresponding to the private IP address is acquired from the pool storage unit, and further, from the range of port numbers of the pool A packet conversion unit that determines a port number and converts the private IP address and port number of the received packet into the determined global IP address and port number of the pool ;
The port number range includes a plurality of port numbers,
Determining the correspondence between the private IP address and the pool at the time of setting the address translation device, and storing it in the pool storage unit;
An address translator characterized by the above .
プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うアドレス変換装置であって、
グローバルIPアドレスとポート番号の範囲の組合せであるプールをプライベートIPアドレスの数以上と、該プールと対応するプライベートIPアドレスが記憶されるプール記憶部と、
該第一の端末からのパケットを受信し、アドレス変換後のパケットを該第二の端末へ送信するパケット転送部と、
該パケット転送部を介して受信したパケットから該プライベートIPアドレスを取得し、該プライベートIPアドレスに対応するプールの情報を該プール記憶部から取得し、さらに、該プールのポート番号の範囲の中からポート番号を決定し、該受信したパケットのプライベートIPアドレスとポート番号を、決定した該プールのグローバルIPアドレスとポート番号に変換するパケット変換部と、
プライベートIPアドレスネットワーク内の第一の端末の回線接続に伴って、動的に、該第一の端末に対してプライベートIPアドレスを割り当て、さらに該プライベートIPアドレスとプールの対応を決定しプール記憶部へ記憶するアドレス割り当て部と、
前記アドレス割り当て部で決定したIPアドレスとプールの対応を、回線接続に係わらず記憶しておく割り当てログ記憶部と、を有し、
該ポート番号の範囲には、複数のポート番号が含まれる、
ことを特徴とするアドレス変換装置。
An address translation device that performs address translation during communication between a first terminal in a private IP address network and a second terminal in a global IP address network,
A pool that is a combination of a range of global IP addresses and port numbers, and more than the number of private IP addresses; a pool storage unit that stores private IP addresses corresponding to the pools;
A packet transfer unit that receives a packet from the first terminal and transmits the address-converted packet to the second terminal;
The private IP address is acquired from the packet received via the packet transfer unit, the pool information corresponding to the private IP address is acquired from the pool storage unit, and further, from the range of port numbers of the pool A packet conversion unit that determines a port number and converts the private IP address and port number of the received packet into the determined global IP address and port number of the pool;
As the first terminal in the private IP address network is connected to the line, a private IP address is dynamically assigned to the first terminal, and a correspondence between the private IP address and the pool is determined, and a pool storage unit An address assignment unit for storing
An allocation log storage unit for storing the correspondence between the IP address determined by the address allocation unit and the pool regardless of the line connection;
The port number range includes a plurality of port numbers.
An address translation device characterized by that .
請求項1または請求項2に記載したアドレス変換装置であって、
プール記憶部は、1つのプライベートIPアドレスに対して複数のプールが記憶されること、
を特徴とするアドレス変換装置。
The address translation device according to claim 1 or 2 , wherein
The pool storage unit stores a plurality of pools for one private IP address,
An address translator characterized by the above.
請求項1からのいずれかに記載したアドレス変換装置であって、
プロトコル種別、発信元プライベートIPアドレス、発信元ポート番号と変換後グローバルIPアドレス、変換後ポート番号、着信先グローバルアドレス、着信先ポート番号、及びコネクション時刻を保持する変換状況保持部を有すること、
を特徴とするアドレス変換装置。
The address translation device according to any one of claims 1 to 3 ,
Having a conversion status holding unit that holds a protocol type, a source private IP address, a source port number and a converted global IP address, a converted port number, a destination global address, a destination port number, and a connection time;
An address translator characterized by the above.
請求項1からのいずれかに記載したアドレス変換装置としてコンピュータを機能させるためのプログラム。 Program for causing a computer to function as an address conversion device as claimed in any one of claims 1 to 4.
JP2008111689A 2008-04-22 2008-04-22 Address translation device, address translation program Active JP4705656B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008111689A JP4705656B2 (en) 2008-04-22 2008-04-22 Address translation device, address translation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008111689A JP4705656B2 (en) 2008-04-22 2008-04-22 Address translation device, address translation program

Publications (2)

Publication Number Publication Date
JP2009267522A JP2009267522A (en) 2009-11-12
JP4705656B2 true JP4705656B2 (en) 2011-06-22

Family

ID=41392864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008111689A Active JP4705656B2 (en) 2008-04-22 2008-04-22 Address translation device, address translation program

Country Status (1)

Country Link
JP (1) JP4705656B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013069927A1 (en) * 2011-11-11 2013-05-16 Samsung Electronics Co., Ltd. Method and apparatus for provisioning network address translator traversal methods
US8891540B2 (en) 2012-05-14 2014-11-18 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
US9178846B1 (en) 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
US9258272B1 (en) 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
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

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101083494B1 (en) * 2010-06-16 2011-11-16 엔에이치엔(주) System and method for binary packet relay
CN102377833B (en) 2010-08-19 2015-07-22 华为技术有限公司 Method and device for managing network address translation
EP2671399A1 (en) 2011-02-01 2013-12-11 Telefonaktiebolaget L M Ericsson (PUBL) Method and apparatus for pcc support for scenarios with nat/napt in the pdn-gw
JP2014039135A (en) * 2012-08-15 2014-02-27 Nec Corp Napt device, communication system, and port number granting method used for the same, and program for the same
JP6256773B2 (en) * 2016-05-11 2018-01-10 アライドテレシスホールディングス株式会社 Security system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000270004A (en) * 1999-01-12 2000-09-29 Yamaha Corp Router
JP2002123491A (en) * 2000-10-13 2002-04-26 Nippon Telegr & Teleph Corp <Ntt> Authentication proxy method, device and system
JP2003124962A (en) * 2001-10-18 2003-04-25 Fujitsu Ltd Packet transferring apparatus and method, and semiconductor device
JP2007165990A (en) * 2005-12-09 2007-06-28 Hitachi Ltd Ip address conversion method, and information processor
JP2007266863A (en) * 2006-03-28 2007-10-11 Konami Digital Entertainment:Kk Communication system, communication method, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000270004A (en) * 1999-01-12 2000-09-29 Yamaha Corp Router
JP2002123491A (en) * 2000-10-13 2002-04-26 Nippon Telegr & Teleph Corp <Ntt> Authentication proxy method, device and system
JP2003124962A (en) * 2001-10-18 2003-04-25 Fujitsu Ltd Packet transferring apparatus and method, and semiconductor device
JP2007165990A (en) * 2005-12-09 2007-06-28 Hitachi Ltd Ip address conversion method, and information processor
JP2007266863A (en) * 2006-03-28 2007-10-11 Konami Digital Entertainment:Kk Communication system, communication method, and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US9614761B1 (en) 2011-11-04 2017-04-04 Juniper Networks, Inc. Deterministic network address and port translation
WO2013069927A1 (en) * 2011-11-11 2013-05-16 Samsung Electronics Co., Ltd. Method and apparatus for provisioning network address translator traversal methods
US8891540B2 (en) 2012-05-14 2014-11-18 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
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

Also Published As

Publication number Publication date
JP2009267522A (en) 2009-11-12

Similar Documents

Publication Publication Date Title
JP4705656B2 (en) Address translation device, address translation program
US8902743B2 (en) Distributed and scalable network address translation
US7283544B2 (en) Automatic network device route management
US6434600B2 (en) Methods and systems for securely delivering electronic mail to hosts having dynamic IP addresses
WO2017054526A1 (en) Arp entry generation method and device
US7529810B2 (en) DDNS server, a DDNS client terminal and a DDNS system, and a web server terminal, its network system and an access control method
RU2413982C2 (en) Branch office dns storage and resolution
EP1998506B1 (en) Method for controlling the connection of a virtual network
JP4354294B2 (en) Gateway device connected to a plurality of networks having different network segments, and program and method for transferring IP packet
US20080250407A1 (en) Network group name for virtual machines
WO2011065708A2 (en) System and method for managing ipv6 address and access policy
US20060109850A1 (en) IP-SAN network access control list generating method and access control list setup method
JP4912996B2 (en) Information processing apparatus and computer system
US10341286B2 (en) Methods and systems for updating domain name service (DNS) resource records
US8799428B2 (en) Automated provisioning of new networked devices
CN111064804A (en) Network access method and device
CN104506667B (en) A kind of distribution method and device of port resource, user authentication management device
WO2021121040A1 (en) Broadband access method and apparatus, device, and storage medium
CN102148882B (en) Dynamic domain name analytic method and system after deployment of NAT
US9929951B1 (en) Techniques for using mappings to manage network traffic
CN111970250B (en) Method for identifying account sharing, electronic device and storage medium
JP5300650B2 (en) Service registration apparatus, content registration apparatus, service registration method, content registration method, program, and recording medium using http service
JP2007074059A (en) Communication support apparatus, system, communication method, and computer program
JP4498984B2 (en) Service providing apparatus and communication control program
WO2003079615A1 (en) Address assigning device and router

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110311

R150 Certificate of patent or registration of utility model

Ref document number: 4705656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250