JP2009267522A - アドレス変換装置、アドレス変換プログラム - Google Patents

アドレス変換装置、アドレス変換プログラム Download PDF

Info

Publication number
JP2009267522A
JP2009267522A JP2008111689A JP2008111689A JP2009267522A JP 2009267522 A JP2009267522 A JP 2009267522A JP 2008111689 A JP2008111689 A JP 2008111689A JP 2008111689 A JP2008111689 A JP 2008111689A JP 2009267522 A JP2009267522 A JP 2009267522A
Authority
JP
Japan
Prior art keywords
address
private
pool
global
port number
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.)
Granted
Application number
JP2008111689A
Other languages
English (en)
Other versions
JP4705656B2 (ja
Inventor
Yasuhiro Shirasaki
泰弘 白崎
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/ja
Publication of JP2009267522A publication Critical patent/JP2009267522A/ja
Application granted granted Critical
Publication of JP4705656B2 publication Critical patent/JP4705656B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】本発明は、ユーザを特定でき、かつ、経済的なNAT装置を提供することを目的とする。
【解決手段】アドレス変換を行うアドレス変換装置であって、プール記憶部は、グローバルIPアドレスとポート番号の範囲の組合せであるプールをプライベートIPアドレスの数以上と、そのプールと対応するプライベートIPアドレスが記憶され、パケット変換部は、パケット転送部を介して受信したパケットからプライベートIPアドレスを取得し、プライベートIPアドレスに対応するプールの情報をプール記憶部から取得し、さらに、プールのポート番号の範囲の中からポート番号を決定し、受信したパケットのプライベートIPアドレスとポート番号を決定したプールのグローバルIPアドレスとポート番号に変換する。
【選択図】図10

Description

プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信のためにアドレス変換を行うアドレス変換装置(以下、「NAT装置」という)に関する。
現在、インターネットサービスプロバイダ(以下「ISP」という)は、ユーザの回線接続毎に、1ユーザに1つのグローバルIPアドレスを割り当てている。なお、グローバルIPアドレスとは、固定長で有限の番号体系であり、世界中が接続されているグローバルIPアドレスネットワークで使われている、世界で一意なIPアドレスである。 しかし、グローバルIPアドレスの枯渇により、ISPが、回線接続毎に、1ユーザに1つのグローバルIPアドレスを割り当てるのは、困難となりつつある。
そこで、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
しかし、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等の何れのプロトコルが使われているかは、明らかとなる。
例えば、Webサーバ650上の電子掲示板(参加者が自由に文章などを投稿し、書き込みを連ねていくことでコミュニケーションできるWebページ)に誹謗中傷や、殺人予告等が書き込まれ、書き込み者を特定する必要がある場合には、着信ログ記憶部660の着信ログから発信元グローバルIPアドレス及び着信時刻を調べ、ルータ620が割り当てたグローバルIPアドレスを記録する割り当てログ記憶部630の割り当てログAからその着信時刻に、そのグローバルIPアドレスを割り当てられていたユーザIDを調べることで、ユーザを一意に特定できる。
しかし、従来のNAT技術を利用すると、1つのグローバルIPアドレスに複数のプライベートIPアドレスが対応するため、割り当てログAとwebサーバの着信ログを調べることのみでは、ユーザを特定することができない。本発明は、ユーザを特定でき、かつ、経済的なNAT装置を提供することを目的とする。
プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うアドレス変換装置であって、プール記憶部とパケット転送部とパケット変換部を有する。プール記憶部は、グローバルIPアドレスとポート番号の範囲の組合せであるプールをプライベートIPアドレスの数以上と、そのプールと対応するプライベートIPアドレスが記憶される。パケット転送部は、プライベートIPアドレスネットワーク内の端末からのパケットを受信し、アドレス変換後のパケットをグローバルIPアドレスネットワーク内の端末へ送信する。パケット変換部は、パケット転送部を介して受信したパケットからプライベートIPアドレスを取得し、プライベートIPアドレスに対応するプールの情報をプール記憶部から取得し、さらに、プールのポート番号の範囲の中からポート番号を決定し、受信したパケットのプライベートIPアドレスとポート番号を決定したプールのグローバルIPアドレスとポート番号に変換する。
着信ログと変換規則から、一意にプライベートIPアドレスを特定することができ、NATによるアドレス変換の記録を保存しなくてもよい。
実施例の説明に先立ち、既存のNAT技術を用いてユーザを特定する方法について分析する。
前述の通り、既存のユーザの回線接続毎に1ユーザに1つのグローバルIPアドレスを割り当てる場合には、ISPは、ユーザを一意に決定するために、割り当てログAのみを保存しておけば良かった。なお、着信ログは、Webサーバ等の管理者等が保存する。
一方、ISPがNAT技術を利用する場合、ユーザを特定するために、回線接続毎に割り当てた時刻、ユーザID及び割り当てた発信元プライベートIPアドレス(以下、これらのデータを併せて「割り当てログB」という)を保存するのに加え、以下のデータを保存しなければならない。なお、図4に、割り当てログBのデータ例を示す。
コネクション確立毎に、少なくとも発信元プライベートIPアドレス、変換後グローバルIPアドレス、変換後ポート番号、プロトコル種別及びコネクション時刻(以下、これらのデータを併せて「変換ログ」という)を外部記憶装置900に保存する必要がある。図5に、変換ログのデータ例、図6にISPがNAT装置を用いて提供するインターネット接続サービスのシステム構成例、図7に既存のNAT装置及び外部記憶装置の構成例を示す。
以下、既存のNAT技術を利用した場合について説明する。NAT装置1000は、主として、プライベートIPアドレスネットワーク600とグローバルIPアドレスネットワーク640の間に設置され、接続確立毎ではなく、コネクション確立毎に、プライベートIPアドレスに対応するグローバルIPアドレスとTCPやUDP等のポート番号(以下、単に「ポート番号」という)を割り当てる。
既存のNAT装置1000は、パケット転送部100と変換状況保持部200とパケット変換部300を有する。NAT装置1000は、プライベートIPアドレスネットワーク600からパケット転送部100を介してパケットを受信し、パケット変換部300は、あらかじめ定めた単一の規則に従って、1つのコネクションに対して、グローバルIPアドレスとポート番号の割り当てを行う。
なお、あらかじめ定めた単一の規則とは、現在使用されているポート番号の1つ次の番号を順次用いる方式
新ポート番号=現在使用されているポート番号+1
や、ポート番号の割り当てに際して、乱数を用いる方式
新ポート番号=基数(49152)+乱数(0〜16383)
等がある。その他、変換状況保持部200に保持されているグローバルIPアドレスとポート番号の組合せを使用しない単一の規則であればよい。
変換状況保持部200は、変換ログに加えて、発信元ポート番号、着信先グローバルIPアドレス及び着信先ポート番号(以下、これらのデータを併せて「変換状況データ」という)を保持する。図8に、変換状況データのデータ例を示す。変換状況データは、NAT装置1000が、異なるコネクションに対して、同一のグローバルIPアドレスとポート番号の組合せを割り当てることを防ぐために必要である。また、NAT装置1000が、着信先から応答パケットを受信し、パケットを発信元へ転送したり、同一のコネクションに属する他のパケットを同様に変換したりするために必要となるため、変換状況保持部200に一定期間(例えば2分程度)保持される。例えば、Webサーバ650からのデータは、変換後のグローバルIPアドレスと変換後のポート番号に対して送信されるため、NAT装置1000のパケット転送部100で受信され、変換状況保持部200のデータに基づいて、パケット変換部300で、発信元プライベートIPアドレスと発信元ポート番号にアドレス変換され、パケット転送部100からユーザに送信される。
もし、異なるコネクションに対して、同一のグローバルIPアドレスとポート番号を割り当てると、Webサーバからのデータをどのコネクションを使って転送すればよいか不明となるため、一定期間の間は、同一のグローバルIPアドレスとポート番号の組合せを割り当てないように、変換状況データに基づき制御する。
次に、変換状況データの内、少なくとも変換ログを外部記憶装置900に送信し、保存する。この保存は、一意にユーザを特定するために必要となる。特定方法については、後述する。パケット変換部300は、パケットに含まれるプライベートIPアドレスとポート番号をグローバルIPアドレスと別のポート番号に変換し、パケット転送部100を介してパケットをグローバルIPアドレスネットワーク640内の端末(例えば、Webサーバ650)へ転送する。
ここで、従来のNAT装置におけるユーザの特定方法について説明する。従来のNAT装置1000は、1つのグローバルIPアドレスを複数のプライベートIPアドレスで共有している。そのため、着信ログ記憶部660に記録される着信ログから、発信元グローバルIPアドレス、発信元ポート番号及び着信時刻は分かるが、その発信元グローバルIPアドレスと発信元ポート番号は、NAT装置1000が変換した後のグローバルIPアドレスとポート番号であり、グローバルIPアドレスの共有者の内のどのプライベートIPアドレスによる着信なのか一意には、特定できない。よって、どのプライベートIPアドレスによる接続かがわからない以上、割り当てログBを調べてユーザを特定できない。
ここで、着信ログの発信元グローバルIPアドレス、発信元ポート番号及び着信時刻からプライベートIPアドレスを特定するために、変換後グローバルIPアドレス、変換後ポート番号、発信元プライベートIPアドレス、プロトコル種別及びコネクション時刻を保存する必要がある。この変換ログと割り当てログBを調べることにより一意にユーザを特定することができる。
なお、着信ログに発信元のプライベートIPアドレスとポート番号は残らず、変換後のグローバルIPアドレスと変換後のポート番号しか残らないことは、ユーザにとっては、セキュリティを強化するという側面もある。つまり、グローバルIPアドレスネットワーク内の端末から着信ログを使って、ユーザ行動の追跡や識別を仕掛けられたとしても、着信ログ上ではNAT装置のグローバルIPアドレスであり、ユーザは行動の追跡や識別を免れることができる。そのため、NAT技術において、セキュリティ上、変換ログを保存するという発想がそもそもなかった。しかし、ISPは、ユーザを一意に特定できることが要求されているため、NAT技術を利用する場合には、変換ログを保存し、かつ、情報が改ざん、漏洩等しないように、変換ログを保存した外部記憶装置900のセキュリティも確保しなければならない。
小規模LANではなく、多数のグローバルIPアドレスを持つISP等で変換ログを保存するには、高速、かつ、大容量の外部記憶装置900が必要となり、そのセキュリティも厳重に管理しなければならない。
例えば、NAT装置の変換ログを記録するには、発信元プライベートIPアドレス(32ビット)、変換後グローバルIPアドレス(32ビット)、変換後ポート番号(16ビット)、プロトコル種別(8ビット)、コネクション時刻(64ビット)、1コネクション確立毎に合計152ビット(19バイト)の記憶容量を必要とする。Webページ1ページに10個のhtmlファイルや画像ファイル等があるとすると、1ページにアクセスするごとに合計(19*10)=190バイトを保存する必要がある。
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テラバイトのデータ量を保存しなくてはならない。
ここで、本発明の実施例について述べる。
プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うNAT装置2000は、パケット転送部100と変換状況保持部200とパケット変換部300とプール記憶部400を有する。図9は、実施例1のインターネット接続サービスのシステム構成例、図10は、実施例1のNAT装置の機能構成例を示す。
プール記憶部400は、グローバルIPアドレスとポート番号の範囲の組合せであるプールをプライベートIPアドレスの数以上と、そのプールと対応するプライベートIPアドレスが記憶される。プールを特定することで、プライベートIPアドレスが特定できるような対応とすればよい。なお、プライベートIPアドレスとプールの組合せを変換規則という。図11に、プール記憶部400に格納されているデータ例を示す。例えば、図11(A)のように、ポート番号の範囲として、連続するポート番号(例えば、2000番ずつ)に区切って割り当ててもよい。実施例1記載のNAT装置2000は、NAT装置設定時に「静的」に自動でプライベートIPアドレスと1対1で対応するプールを決める仕組みを備える。「静的」とは、プライベートIPアドレスとプールの対応が、ユーザの回線接続等によって変化せず、NAT装置設定時に決定され、プール記憶部400へ記憶され、その後、手動等で変更しない限り、プライベートIPアドレスとプールの対応が、変化しないことを意味する。
プールをNAT装置設定時に「静的」に自動で決める仕組みを説明する。予め利用してよいポート番号の範囲(例えば、49152から65535までの16384個)と、1プライベートIPアドレス毎に割り当てるポート番号の数(例えば、2000個)と、利用できるグローバルIPアドレスの範囲(例えば、192.0.2.1から192.0.2.16まで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まで」)を自動的に割り当て、変換規則を作成する。
なお、ポート番号の範囲は、1個以上であればよい。ただし、上述の通り、変換状況保持部200では、変換状況データが一定期間保持される。同一のプライベートIPアドレスに対しても、異なるコネクション確立時に、グローバルIPアドレスとポート番号の同一の組合せを割り当てることはできない。もし、同一のプライベートIPアドレスに対して、異なるコネクション確立時に、グローバルIPアドレスとポート番号の同一の組合せを割り当てると、WebサーバからのデータをどのプライベートIPアドレスとポート番号の組合せに転送すればよいか不明となるため、一定期間の間は、同一のグローバルIPアドレスとポート番号の組合せを割り当てないように、変換状況データに基づき制御する。よって、適度にコネクションを確立するためにポート番号の範囲は100個以上2000個以下程度が望ましい。例えば、ポートの番号の範囲を2個とすると、ユーザが同時に確立できるコネクションの数は2個となり、3個目以降のコネクションは、変換状況保持部200から変換状況データが削除されるまで、確立できない。
ここで、一度に並行して確立できるコネクションの個数は、webブラウザ等の設定により異なるが、一般に2〜16個程度である。一度に並行して確立できるコネクションの個数が4個であり、1つのWebページ上に100個のファイルがある場合には、4個ずつコネクションを確立していき、25回、コネクションを確立する。なお、変換状況保持部200は、コネクション確立毎に変換状況データを作成し、一定期間保持する。
図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)
等がある。
さらに、パケット変換部300は、作成されたグローバルIPアドレスと新ポート番号の組合せと変換状況保持部200に保持されているグローバルIPアドレスとポート番号の組合せが同一とならないか、検査する。検査の結果、両組合せが、同一であれば、再度あらかじめ定めた単一の規則に従ってポート番号割り当て、異なる組合せとなるまで、繰り返す(S107)。
変換後グローバルIPアドレスと変換後ポート番号を決定したら、受信したパケットの発信元プライベートIPアドレスと発信元ポート番号を決定したグローバルIPアドレスとポート番号に変換する(S108)。そして、パケット転送部100を介してグローバルIPアドレスネットワーク内の端末へパケットを送信する(S109)。
このようにアドレス変換することにより、着信ログと変換規則及び割り当てログBを調べれば、ユーザを一意に特定することができ、ISPは、変換ログを外部記憶装置900に保存する必要がなくなる。なぜなら、着信ログ記憶部660の着信ログから、発信元グローバルIPアドレスと発信元ポート番号が分かるため、対応する変換規則からプライベートIPアドレスを特定することができる。このプライベートIPアドレスと割り当てログBと着信時刻からユーザを一意に決定することができる。
[変形例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の値」)を自動的に割り当て、変換規則を作成する。
この場合、パケット変換部300が、ポート番号の範囲の中からあらかじめ定めた単一の規則に従って、ポート番号を割り当てる際には(S106)、あらかじめ定めた単一の規則を以下のようにすることが考えられる。
現在使用されているポート番号に10を加えた番号を順次用いる方式
新ポート番号=現在使用されているポート番号+10
や、ポート番号の割り当てに際して、乱数を用い、10倍する方式
新ボート番号=49160+下一桁の値+乱数(0〜1636)*10
等がある。
[変形例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個)を予め指定する。
利用してよいポート番号の範囲を共有するプライベート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個)を自動的に決定する。
各プライベートIPアドレス(例えば「10.0.0.1」)にプール(例えば、「グローバルIPアドレス192.0.2.1とポート番号の範囲49152からまで50175」)を自動的に割り当て、変換規則を作成する。
実施例1のプールをNAT装置設定時に「静的」に自動で決める仕組みは、割り当てるポート番号の範囲(コネクション数の確立数)が決まっている時に採用し、変形例2の仕組みは、1つのグローバルIPアドレスを共有するプライベートIPアドレスの数が決まっている時に採用するとよい。
[変形例3]
以下、実施例1と異なる部分のみ説明する。
NAT装置2000は、NAT装置設定時に「静的」に自動でプライベートIPアドレスと対応するプールを決める仕組みに代えて、手動でプライベートIPアドレスと対応するプールを決める仕組みを備える。
手動で特定のプライベートIPアドレスには、多くのポート番号の範囲(例えば2000個)を割り当て、残りのプールには、少ないポート番号の範囲(例えば100個)を割り当てても、プライベートIPアドレスとプールが対応していればよい。
実施例1、変形例1〜2の場合に、プライベートIPアドレスと1対1で対応するプールを決める仕組みを提供しているが、1対1でなくとも、プールが特定できれば、プライベートIPアドレスが特定できればよい。よって、一対多、つまり、1つのプライベートIPアドレスに対して、複数のプールを割り当ててもよい。その変換規則は、プール記憶部400に記憶される。その場合も、着信ログと変換規則及び割り当てログBを調べれば、ユーザを一意に特定することができる。
以下、実施例1と異なる部分についてのみ記載する。図13は、実施例2のインターネット接続サービスのシステム構成例、図14は、実施例2のNAT装置の機能構成例を示す。NAT装置3000は、アドレス割り当て部500を有する。NAT装置3000は、ユーザに対してプライベートIPアドレスを割り当てる機能も同時に備える。
図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に、割り当てログ記憶部に記録されるデータ例を示す。
なお、アドレス変換装置3000は、プライベートIPアドレスとプールの対応を、回線接続毎に「動的」に自動で決める仕組みを備える。「動的」とは、プライベートIPアドレスとプールの対応が、ユーザの回線接続等によって変化することを意味する。
プールを「動的」に自動で決める仕組みを説明する。予め利用してよいポート番号の範囲(例えば、49152から65535までの16384個)と、1プライベートIPアドレス毎に割り当てるポート番号の数(例えば、2000個)と、利用できるグローバルIPアドレスの範囲(例えば、192.0.2.1から192.0.2.16まで16個)を指定する。
利用してよいポート番号の範囲を1プライベートIPアドレス毎に割り当てるポート番号の数で割り算し、1グローバルIPアドレスを共有するプライベートIPアドレスの数を計算する。
共有するプライベートIPアドレスの数=16384÷2000=8.192
利用できるグローバルIPアドレス数と、共有できるプライベートIPアドレス数を乗算し、ユーザに割り当てるためのプライベートIPアドレス数を求める。
グローバルIPアドレス数(16)*共有できるプライベートIPアドレス数(8)=128(個)
よって、128個のプライベートIPアドレスに対応できる。128個のプールを作成し、プール記憶部400に記憶する。
アドレス割り当て部500は、ユーザの回線接続時に、プライベートIPアドレス(例えば「10.0.0.1」)を割り当て(S112)、このプライベートIPアドレスに対し、プール(例えば、「グローバルIPアドレス192.0.2.1とポート番号の範囲49152から51151まで」)を自動的に割り当て、変換規則を作成し、プール記憶部400に記憶する(S113)。同時に、アドレス装置変換装置は、割り当てログ記憶部630に割り当てログBと変換規則を保存する(S114)。なお、回線切断時には、プール記憶部400は、切断したプライベートIPアドレスをプール記憶部400から削除し「空き」とする。
実施例2の場合、プール記憶部400のプールを確認しなくても、割り当てログ記憶部630に保存される割り当てログBと変換規則と着信ログからユーザを一意に特定することができる。また、プールを変更しても、記憶部630には、回線接続時の割り当てログBと変換規則が保存される。記憶部630に記録されるログは、コネクション確立毎ではなく、回線接続毎になるため、実施例1と同様に外部記憶装置900に変換ログを保存する必要がなくなる。
[変形例]
以下、実施例2と異なる部分のみ説明する。変形例のアドレス変換装置は、ユーザ回線接続時に、管理サーバ等を用いて、ユーザの認証を行い、IPアドレスを割り当てる。図18に変形例のインターネット接続サービスのシステム構成例、図19に変形例のNAT装置の機能構成例、図20にプライベートIPアドレスの割り当て方法を示す。ユーザ回線接続時には、NAT装置3000は、ユーザIDとパスワード等を管理サーバ700に認証を要求する(S111)。認証が許可された場合には、実施例2と同様に、プライベートIPアドレスを割り当てる。
変形例では、変換規則を作成し、プール記憶部400に記憶する(S113)のと同時に、割り当てログ記憶部630に割り当てログBと変換規則を保存するのに、代わって、アドレス割り当て部500は、RADIUS(Remote Authentication Dial In User Service)プロトコル(RFC2865及びRFC2866参照)等を用いて、ユーザに割り当てたプライベートIPアドレスを管理サーバ700に通知する(S115)。管理サーバ700内には、割り当てログBと変換規則が保存される。
実施例1,2において、アドレス変換装置をISPが使用する場合について、述べたが、小規模LAN等でアドレス変換装置を使用する場合も含む。
上述においてアドレス変換装置は、ルータやゲートウェイ等に実装されていてもよい。アドレス変換装置は、コンピュータにより機能させてもよい。その場合は、各過程をコンピュータにより実行させるためのプログラムを、CD−ROM、磁気ディスク、半導体記憶装置などの記録媒体からインストールし、あるいは通信回線を通じてダウンロードして、そのコンピュータにそのプログラムを実行させればよい。
既存のISPが提供するインターネット接続サービスのシステム構成例を示す構成図である。 割り当てログAのデータ例を示す図である。 着信ログのデータ例を示す図である。 割り当てログBのデータ例を示す図である。 変換ログのデータ例を示す図である。 既存のISPがNAT装置を用いて提供するインターネット接続サービスのシステム構成例を示す構成図である。 既存のNAT装置及び外部記憶装置の構成例を示す構成図である。 変換状況データのデータ例を示す図である。 実施例1のインターネット接続サービスのシステム構成例を示す構成図である。 実施例1のNAT装置の機能構成例を示す構成図である。 プール記憶部400に格納されているデータ例を示す図である。 パケット変換の流れを示す流れ図である。 実施例2のインターネット接続サービスのシステム構成例を示す構成図である。 実施例2のNAT装置の機能構成例を示す構成図である。 プライベートIPアドレスの割り当て方法を示す流れ図である。 プール記憶部400に記憶されているプールのデータ例を示す図である。 実施例2の割り当てログ記憶部に記憶されているデータ例を示す図である。 実施例2の変形例のインターネット接続サービスのシステム構成例を示す構成図である。 実施例2の変形例のNAT装置の機能構成例を示す構成図である。 実施例2の変形例のプライベートIPアドレスの割り当て方法を示す流れ図である。
符号の説明
1000,2000,3000 NAT装置
100 パケット転送部 200 変換状況保持部
300 パケット変換部 400 プール記憶部
500 アドレス割り当て部

Claims (6)

  1. プライベートIPアドレスネットワーク内の第一の端末とグローバルIPアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うアドレス変換装置であって、
    グローバルIPアドレスとポート番号の範囲の組合せであるプールをプライベートIPアドレスの数以上と、該プールと対応するプライベートIPアドレスが記憶されるプール記憶部と、
    該第一の端末からのパケットを受信し、アドレス変換後のパケットを該第二の端末へ送信するパケット転送部と、
    該パケット転送部を介して受信したパケットから該プライベートIPアドレスを取得し、該プライベートIPアドレスに対応するプールの情報を該プール記憶部から取得し、さらに、該プールのポート番号の範囲の中からポート番号を決定し、該受信したパケットのプライベートIPアドレスとポート番号を、決定した該プールのグローバルIPアドレスとポート番号に変換するパケット変換部と、
    を有するアドレス変換装置。
  2. 請求項1記載のアドレス変換装置であって、
    該アドレス変換装置設定時に、プライベートIPアドレスとプールの対応を決定しプール記憶部へ記憶すること、
    を特徴とするアドレス変換装置。
  3. 請求項1記載のアドレス変換装置であって、
    プライベートIPアドレスネットワーク内の第一の端末の回線接続に伴って該第一の端末に対してプライベートIPアドレスを割り当て、さらに該プライベートIPアドレスとプールの対応を決定しプール記憶部へ記憶するアドレス割り当て部、
    を有することを特徴とするアドレス変換装置。
  4. 請求項1から3のいずれかに記載したアドレス変換装置であって、
    プール記憶部は、1つのプライベートIPアドレスに対して複数のプールが記憶されること、
    を特徴とするアドレス変換装置。
  5. 請求項1から4のいずれかに記載したアドレス変換装置であって、
    プロトコル種別、発信元プライベートIPアドレス、発信元ポート番号と変換後グローバルIPアドレス、変換後ポート番号、着信先グローバルアドレス、着信先ポート番号、及びコネクション時刻を保持する変換状況保持部を有すること、
    を特徴とするアドレス変換装置。
  6. 請求項1から5のいずれかに記載したアドレス変換装置としてコンピュータを機能させるためのプログラム。
JP2008111689A 2008-04-22 2008-04-22 アドレス変換装置、アドレス変換プログラム Active JP4705656B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008111689A JP4705656B2 (ja) 2008-04-22 2008-04-22 アドレス変換装置、アドレス変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008111689A JP4705656B2 (ja) 2008-04-22 2008-04-22 アドレス変換装置、アドレス変換プログラム

Publications (2)

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

Family

ID=41392864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008111689A Active JP4705656B2 (ja) 2008-04-22 2008-04-22 アドレス変換装置、アドレス変換プログラム

Country Status (1)

Country Link
JP (1) JP4705656B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003763A (ja) * 2010-06-16 2012-01-05 Nhn Corp バイナリパケット中継システムおよび方法
JP2013501483A (ja) * 2010-08-19 2013-01-10 華為技術有限公司 ネットワークアドレス変換のための管理方法および管理デバイス
JP2014504834A (ja) * 2011-02-01 2014-02-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Pdn−gw内のnat/naptを伴うシナリオについてのpccサポートのための方法及び装置
JP2014039135A (ja) * 2012-08-15 2014-02-27 Nec Corp Napt装置、通信システム及びそれらに用いるポート番号払い出し方法並びにそのプログラム
US9351324B2 (en) 2012-05-14 2016-05-24 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
JP2017204721A (ja) * 2016-05-11 2017-11-16 アライドテレシス株式会社 セキュリティシステム

Families Citing this family (5)

* 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
KR20130052240A (ko) * 2011-11-11 2013-05-22 삼성전자주식회사 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치
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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000270004A (ja) * 1999-01-12 2000-09-29 Yamaha Corp ルータ
JP2002123491A (ja) * 2000-10-13 2002-04-26 Nippon Telegr & Teleph Corp <Ntt> 認証代行方法、認証代行装置、及び認証代行システム
JP2003124962A (ja) * 2001-10-18 2003-04-25 Fujitsu Ltd パケット転送装置、パケット転送方法、および、半導体装置
JP2007165990A (ja) * 2005-12-09 2007-06-28 Hitachi Ltd Ipアドレス変換方法及び情報処理装置
JP2007266863A (ja) * 2006-03-28 2007-10-11 Konami Digital Entertainment:Kk 通信システム、通信方法、ならびに、プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000270004A (ja) * 1999-01-12 2000-09-29 Yamaha Corp ルータ
JP2002123491A (ja) * 2000-10-13 2002-04-26 Nippon Telegr & Teleph Corp <Ntt> 認証代行方法、認証代行装置、及び認証代行システム
JP2003124962A (ja) * 2001-10-18 2003-04-25 Fujitsu Ltd パケット転送装置、パケット転送方法、および、半導体装置
JP2007165990A (ja) * 2005-12-09 2007-06-28 Hitachi Ltd Ipアドレス変換方法及び情報処理装置
JP2007266863A (ja) * 2006-03-28 2007-10-11 Konami Digital Entertainment:Kk 通信システム、通信方法、ならびに、プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003763A (ja) * 2010-06-16 2012-01-05 Nhn Corp バイナリパケット中継システムおよび方法
JP2013501483A (ja) * 2010-08-19 2013-01-10 華為技術有限公司 ネットワークアドレス変換のための管理方法および管理デバイス
US8612601B2 (en) 2010-08-19 2013-12-17 Huawei Technologies Co., Ltd. Management method and management device for network address translation
JP2014504834A (ja) * 2011-02-01 2014-02-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Pdn−gw内のnat/naptを伴うシナリオについてのpccサポートのための方法及び装置
US9537821B2 (en) 2011-02-01 2017-01-03 Telefonaktiebolaget Lm Ericsson (Publ) Method for PCC support for scenarios with NAT in the GW
US9351324B2 (en) 2012-05-14 2016-05-24 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
JP2014039135A (ja) * 2012-08-15 2014-02-27 Nec Corp Napt装置、通信システム及びそれらに用いるポート番号払い出し方法並びにそのプログラム
JP2017204721A (ja) * 2016-05-11 2017-11-16 アライドテレシス株式会社 セキュリティシステム

Also Published As

Publication number Publication date
JP4705656B2 (ja) 2011-06-22

Similar Documents

Publication Publication Date Title
JP4705656B2 (ja) アドレス変換装置、アドレス変換プログラム
US11637906B2 (en) Private service endpoints in isolated virtual networks
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 (zh) 一种arp条目生成方法和装置
EP1998506B1 (en) Method for controlling the connection of a virtual network
KR101034938B1 (ko) IPv6 주소 및 접속정책 관리 시스템 및 방법
US20080250407A1 (en) Network group name for virtual machines
JP2005244408A (ja) ネットワーク・セグメントが互いに異なる複数のネットワークに接続されたゲートウェイ装置、およびipパケットを転送するためのプログラムおよび方法
WO2008119214A1 (fr) Procédé pour accéder au service web de réseau interne d&#39;internet
JP4912996B2 (ja) 情報処理装置及び計算機システム
US10341286B2 (en) Methods and systems for updating domain name service (DNS) resource records
US20170048159A1 (en) Method and system for identifying network resources
US8799428B2 (en) Automated provisioning of new networked devices
CN111064804A (zh) 网络访问方法和装置
JP2004112018A (ja) インターネットアクセスWeb監視制御システム
CN104506667B (zh) 一种分配端口资源的方法及装置、用户认证管理的装置
CN102148882B (zh) 部署nat后的动态域名解析方法及系统
US9929951B1 (en) Techniques for using mappings to manage network traffic
JP5300650B2 (ja) HttpServiceを用いたサービス登録装置、コンテンツ登録装置、サービス登録方法、コンテンツ登録方法、プログラム及び記録媒体
CN114531417B (zh) 一种通信方法及装置
CN111970250B (zh) 一种识别账号共享的方法及电子设备、存储介质
JP2007074059A (ja) 通信支援装置、システム、通信方法及びコンピュータプログラム
JP4498984B2 (ja) サービス提供装置および通信制御プログラム

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