(57)【特許請求の範囲】
【請求項１】
プライベートＩＰアドレスネットワーク内の第一の端末とグローバルＩＰアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うアドレス変換装置であって、
グローバルＩＰアドレスとポート番号の範囲の組合せであるプールをプライベートＩＰアドレスの数以上と、該プールと対応するプライベートＩＰアドレスが記憶されるプール記憶部と、
該第一の端末からのパケットを受信し、アドレス変換後のパケットを該第二の端末へ送信するパケット転送部と、
該パケット転送部を介して受信したパケットから該プライベートＩＰアドレスを取得し、該プライベートＩＰアドレスに対応するプールの情報を該プール記憶部から取得し、さらに、該プールのポート番号の範囲の中からポート番号を決定し、該受信したパケットのプライベートＩＰアドレスとポート番号を、決定した該プールのグローバルＩＰアドレスとポート番号に変換するパケット変換部と、を有し、
該ポート番号の範囲には、複数のポート番号が含まれ、
該アドレス変換装置設定時に、プライベートＩＰアドレスとプールの対応を決定しプール記憶部へ記憶すること、
を特徴とするアドレス変換装置。
【請求項２】
プライベートＩＰアドレスネットワーク内の第一の端末とグローバルＩＰアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うアドレス変換装置であって、
グローバルＩＰアドレスとポート番号の範囲の組合せであるプールをプライベートＩＰアドレスの数以上と、該プールと対応するプライベートＩＰアドレスが記憶されるプール記憶部と、
該第一の端末からのパケットを受信し、アドレス変換後のパケットを該第二の端末へ送信するパケット転送部と、
該パケット転送部を介して受信したパケットから該プライベートＩＰアドレスを取得し、該プライベートＩＰアドレスに対応するプールの情報を該プール記憶部から取得し、さらに、該プールのポート番号の範囲の中からポート番号を決定し、該受信したパケットのプライベートＩＰアドレスとポート番号を、決定した該プールのグローバルＩＰアドレスとポート番号に変換するパケット変換部と、
プライベートＩＰアドレスネットワーク内の第一の端末の回線接続に伴って、動的に、該第一の端末に対してプライベートＩＰアドレスを割り当て、さらに該プライベートＩＰアドレスとプールの対応を決定しプール記憶部へ記憶するアドレス割り当て部と、
前記アドレス割り当て部で決定したＩＰアドレスとプールの対応を、回線接続に係わらず記憶しておく割り当てログ記憶部と、を有し、
該ポート番号の範囲には、複数のポート番号が含まれる、
ことを特徴とするアドレス変換装置。
【請求項３】
請求項１または請求項２に記載したアドレス変換装置であって、
プール記憶部は、１つのプライベートＩＰアドレスに対して複数のプールが記憶されること、
を特徴とするアドレス変換装置。
【請求項４】
請求項１から３のいずれかに記載したアドレス変換装置であって、
プロトコル種別、発信元プライベートＩＰアドレス、発信元ポート番号と変換後グローバルＩＰアドレス、変換後ポート番号、着信先グローバルアドレス、着信先ポート番号、及びコネクション時刻を保持する変換状況保持部を有すること、
を特徴とするアドレス変換装置。
【請求項５】
請求項１から４のいずれかに記載したアドレス変換装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
プライベートＩＰアドレスネットワーク内の第一の端末とグローバルＩＰアドレスネットワーク内の第二の端末間の通信のためにアドレス変換を行うアドレス変換装置（以下、「ＮＡＴ装置」という）に関する。
【背景技術】
【０００２】
現在、インターネットサービスプロバイダ（以下「ＩＳＰ」という）は、ユーザの回線接続毎に、１ユーザに１つのグローバルＩＰアドレスを割り当てている。なお、グローバルＩＰアドレスとは、固定長で有限の番号体系であり、世界中が接続されているグローバルＩＰアドレスネットワークで使われている、世界で一意なＩＰアドレスである。  しかし、グローバルＩＰアドレスの枯渇により、ＩＳＰが、回線接続毎に、１ユーザに１つのグローバルＩＰアドレスを割り当てるのは、困難となりつつある。
【０００３】
そこで、ＴＣＰやＵＤＰにおいて、グローバルＩＰアドレスを効率的に利用する技術として、ＮＡＴ(Network Address Translator)という技術がある。ＮＡＴとは、プライベートＩＰアドレスをもつネットワーク内の端末（例えば、ユーザ端末）とグローバルＩＰアドレスネット内の端末（例えば、Ｗｅｂサーバ）間の通信のために、アドレス変換を行う技術である。なお、プライベートＩＰアドレスとは、グローバルＩＰアドレスネットワークに接続できないプライベートＩＰアドレスネットワーク内だけで使われるＩＰアドレスを指す。基本的には、ＮＡＴとは、プライベートＩＰアドレスネットワーク内の端末のプライベートＩＰアドレスとＮＡＴがもっているグローバルＩＰアドレスを１対１で対応させる技術である。しかし、広義には、ＮＡＴは、アドレスの変換に加え、ＴＣＰやＵＤＰにおけるポート番号の変換を行うことで１つのグローバルＩＰアドレスに複数のプライベートＩＰアドレスを対応させる技術を含む。本発明においては、ＮＡＴは、ＩＰアドレスに加えてポート番号も変更することで、１つのグローバルＩＰアドレスを、複数のプライベートＩＰアドレスで共有できるようにする技術を含むものとする。ＮＡＴ技術について詳しくは非特許文献１、非特許文献２、非特許文献３に記載されている。なお、このような技術をＮＡＰＴ（Network Address Port Translation）、ＩＰマスカレード（Ｍａｓｑｕａｒａｄｅ）等という場合もある。
【非特許文献１】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
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ＩＳＰがＮＡＴ技術を利用する場合、いくつかの問題がある。一つに、ＩＳＰには、他のインターネット接続組織や裁判所からの依頼・命令に基づいて、自社サービスのユーザを特定し、当該ユーザに対する対応を実施することが求められる。既存のＩＳＰがユーザの回線接続毎に１ユーザに１つのグローバルＩＰアドレスを割り当てる場合には、ＩＳＰが、回線接続毎に、割り当てた時刻、ユーザＩＤ及び割り当てたグローバルＩＰアドレス（以下、これらのデータを併せて「割り当てログＡ」という）を記録する。また、着信のあった端末（例えば、「Ｗｅｂサーバ」）には、コネクション毎に、発信元グローバルＩＰアドレス、発信元ポート番号及び着信時刻（以下「着信ログ」という）が記録される。そのため、割り当てログＡと着信ログを調べることで、ユーザを特定できる。ここでコネクションとは、端末間のデータのやり取りするための仮想的な通信路のことをいい、ｈｔｍｌファイルや画像ファイル等のファイル毎に確立される。よって、Ｗｅｂページを１ページ閲覧するために、ｈｔｍｌファイル、画像ファイル等が多い場合には、１００コネクション以上を確立することもある。なお、ＵＤＰはコネクションレス型通信と呼ばれるが、本発明におけるコネクションとは、単一のＵＤＰパケットで完了する通信、及び発信元ＩＰアドレス、発信元ポート番号、着信先ＩＰアドレス、着信先ポート番号が同一の連続した複数ＵＤＰパケットによって構成される通信を含むものとする。図１に既存のＩＳＰが提供するインターネット接続サービスのシステム構成例、図２に割り当てログＡのデータ例、図３に着信ログのデータ例を示す。着信ログは、より具体的には、
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」が発信元グローバルＩＰアドレスを表し、次の値、例えば「65003」が発信元ボート番号を表す。なお、着信ログには、図３のデータ例のように、ＴＣＰやＵＤＰ等のプロトコル種別が記録されない場合があるが、アプリケーション種別や着信先のサーバの機能等によって、ＴＣＰやＵＤＰ等の何れのプロトコルが使われているかは、明らかとなる。
【０００５】
例えば、Ｗｅｂサーバ６５０上の電子掲示板(参加者が自由に文章などを投稿し、書き込みを連ねていくことでコミュニケーションできるＷｅｂページ)に誹謗中傷や、殺人予告等が書き込まれ、書き込み者を特定する必要がある場合には、着信ログ記憶部６６０の着信ログから発信元グローバルＩＰアドレス及び着信時刻を調べ、ルータ６２０が割り当てたグローバルＩＰアドレスを記録する割り当てログ記憶部６３０の割り当てログＡからその着信時刻に、そのグローバルＩＰアドレスを割り当てられていたユーザＩＤを調べることで、ユーザを一意に特定できる。
【０００６】
しかし、従来のＮＡＴ技術を利用すると、１つのグローバルＩＰアドレスに複数のプライベートＩＰアドレスが対応するため、割り当てログＡとｗｅｂサーバの着信ログを調べることのみでは、ユーザを特定することができない。本発明は、ユーザを特定でき、かつ、経済的なＮＡＴ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
プライベートＩＰアドレスネットワーク内の第一の端末とグローバルＩＰアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うアドレス変換装置であって、プール記憶部とパケット転送部とパケット変換部を有する。プール記憶部は、グローバルＩＰアドレスとポート番号の範囲の組合せであるプールをプライベートＩＰアドレスの数以上と、そのプールと対応するプライベートＩＰアドレスが記憶される。パケット転送部は、プライベートＩＰアドレスネットワーク内の端末からのパケットを受信し、アドレス変換後のパケットをグローバルＩＰアドレスネットワーク内の端末へ送信する。パケット変換部は、パケット転送部を介して受信したパケットからプライベートＩＰアドレスを取得し、プライベートＩＰアドレスに対応するプールの情報をプール記憶部から取得し、さらに、プールのポート番号の範囲の中からポート番号を決定し、受信したパケットのプライベートＩＰアドレスとポート番号を決定したプールのグローバルＩＰアドレスとポート番号に変換する。
【発明の効果】
【０００８】
着信ログと変換規則から、一意にプライベートＩＰアドレスを特定することができ、ＮＡＴによるアドレス変換の記録を保存しなくてもよい。
【発明を実施するための最良の形態】
【０００９】
実施例の説明に先立ち、既存のＮＡＴ技術を用いてユーザを特定する方法について分析する。
前述の通り、既存のユーザの回線接続毎に１ユーザに１つのグローバルＩＰアドレスを割り当てる場合には、ＩＳＰは、ユーザを一意に決定するために、割り当てログＡのみを保存しておけば良かった。なお、着信ログは、Ｗｅｂサーバ等の管理者等が保存する。
一方、ＩＳＰがＮＡＴ技術を利用する場合、ユーザを特定するために、回線接続毎に割り当てた時刻、ユーザＩＤ及び割り当てた発信元プライベートＩＰアドレス（以下、これらのデータを併せて「割り当てログＢ」という）を保存するのに加え、以下のデータを保存しなければならない。なお、図４に、割り当てログＢのデータ例を示す。
【００１０】
コネクション確立毎に、少なくとも発信元プライベートＩＰアドレス、変換後グローバルＩＰアドレス、変換後ポート番号、プロトコル種別及びコネクション時刻（以下、これらのデータを併せて「変換ログ」という）を外部記憶装置９００に保存する必要がある。図５に、変換ログのデータ例、図６にＩＳＰがＮＡＴ装置を用いて提供するインターネット接続サービスのシステム構成例、図７に既存のＮＡＴ装置及び外部記憶装置の構成例を示す。
【００１１】
以下、既存のＮＡＴ技術を利用した場合について説明する。ＮＡＴ装置１０００は、主として、プライベートＩＰアドレスネットワーク６００とグローバルＩＰアドレスネットワーク６４０の間に設置され、接続確立毎ではなく、コネクション確立毎に、プライベートＩＰアドレスに対応するグローバルＩＰアドレスとＴＣＰやＵＤＰ等のポート番号（以下、単に「ポート番号」という）を割り当てる。
【００１２】
既存のＮＡＴ装置１０００は、パケット転送部１００と変換状況保持部２００とパケット変換部３００を有する。ＮＡＴ装置１０００は、プライベートＩＰアドレスネットワーク６００からパケット転送部１００を介してパケットを受信し、パケット変換部３００は、あらかじめ定めた単一の規則に従って、１つのコネクションに対して、グローバルＩＰアドレスとポート番号の割り当てを行う。
なお、あらかじめ定めた単一の規則とは、現在使用されているポート番号の１つ次の番号を順次用いる方式
新ポート番号＝現在使用されているポート番号＋１
や、ポート番号の割り当てに際して、乱数を用いる方式
新ポート番号＝基数（49152)＋乱数(0〜16383)
等がある。その他、変換状況保持部２００に保持されているグローバルＩＰアドレスとポート番号の組合せを使用しない単一の規則であればよい。
【００１３】
変換状況保持部２００は、変換ログに加えて、発信元ポート番号、着信先グローバルＩＰアドレス及び着信先ポート番号（以下、これらのデータを併せて「変換状況データ」という）を保持する。図８に、変換状況データのデータ例を示す。変換状況データは、ＮＡＴ装置１０００が、異なるコネクションに対して、同一のグローバルＩＰアドレスとポート番号の組合せを割り当てることを防ぐために必要である。また、ＮＡＴ装置１０００が、着信先から応答パケットを受信し、パケットを発信元へ転送したり、同一のコネクションに属する他のパケットを同様に変換したりするために必要となるため、変換状況保持部２００に一定期間（例えば２分程度）保持される。例えば、Ｗｅｂサーバ６５０からのデータは、変換後のグローバルＩＰアドレスと変換後のポート番号に対して送信されるため、ＮＡＴ装置１０００のパケット転送部１００で受信され、変換状況保持部２００のデータに基づいて、パケット変換部３００で、発信元プライベートＩＰアドレスと発信元ポート番号にアドレス変換され、パケット転送部１００からユーザに送信される。
【００１４】
もし、異なるコネクションに対して、同一のグローバルＩＰアドレスとポート番号を割り当てると、Ｗｅｂサーバからのデータをどのコネクションを使って転送すればよいか不明となるため、一定期間の間は、同一のグローバルＩＰアドレスとポート番号の組合せを割り当てないように、変換状況データに基づき制御する。
【００１５】
次に、変換状況データの内、少なくとも変換ログを外部記憶装置９００に送信し、保存する。この保存は、一意にユーザを特定するために必要となる。特定方法については、後述する。パケット変換部３００は、パケットに含まれるプライベートＩＰアドレスとポート番号をグローバルＩＰアドレスと別のポート番号に変換し、パケット転送部１００を介してパケットをグローバルＩＰアドレスネットワーク６４０内の端末（例えば、Ｗｅｂサーバ６５０）へ転送する。
【００１６】
ここで、従来のＮＡＴ装置におけるユーザの特定方法について説明する。従来のＮＡＴ装置１０００は、１つのグローバルＩＰアドレスを複数のプライベートＩＰアドレスで共有している。そのため、着信ログ記憶部６６０に記録される着信ログから、発信元グローバルＩＰアドレス、発信元ポート番号及び着信時刻は分かるが、その発信元グローバルＩＰアドレスと発信元ポート番号は、ＮＡＴ装置１０００が変換した後のグローバルＩＰアドレスとポート番号であり、グローバルＩＰアドレスの共有者の内のどのプライベートＩＰアドレスによる着信なのか一意には、特定できない。よって、どのプライベートＩＰアドレスによる接続かがわからない以上、割り当てログＢを調べてユーザを特定できない。
【００１７】
ここで、着信ログの発信元グローバルＩＰアドレス、発信元ポート番号及び着信時刻からプライベートＩＰアドレスを特定するために、変換後グローバルＩＰアドレス、変換後ポート番号、発信元プライベートＩＰアドレス、プロトコル種別及びコネクション時刻を保存する必要がある。この変換ログと割り当てログＢを調べることにより一意にユーザを特定することができる。
【００１８】
なお、着信ログに発信元のプライベートＩＰアドレスとポート番号は残らず、変換後のグローバルＩＰアドレスと変換後のポート番号しか残らないことは、ユーザにとっては、セキュリティを強化するという側面もある。つまり、グローバルＩＰアドレスネットワーク内の端末から着信ログを使って、ユーザ行動の追跡や識別を仕掛けられたとしても、着信ログ上ではＮＡＴ装置のグローバルＩＰアドレスであり、ユーザは行動の追跡や識別を免れることができる。そのため、ＮＡＴ技術において、セキュリティ上、変換ログを保存するという発想がそもそもなかった。しかし、ＩＳＰは、ユーザを一意に特定できることが要求されているため、ＮＡＴ技術を利用する場合には、変換ログを保存し、かつ、情報が改ざん、漏洩等しないように、変換ログを保存した外部記憶装置９００のセキュリティも確保しなければならない。
【００１９】
小規模ＬＡＮではなく、多数のグローバルＩＰアドレスを持つＩＳＰ等で変換ログを保存するには、高速、かつ、大容量の外部記憶装置９００が必要となり、そのセキュリティも厳重に管理しなければならない。
【００２０】
例えば、ＮＡＴ装置の変換ログを記録するには、発信元プライベートＩＰアドレス（３２ビット）、変換後グローバルＩＰアドレス（３２ビット）、変換後ポート番号（１６ビット）、プロトコル種別（８ビット）、コネクション時刻（６４ビット）、１コネクション確立毎に合計１５２ビット（１９バイト）の記憶容量を必要とする。Ｗｅｂページ１ページに１０個のｈｔｍｌファイルや画像ファイル等があるとすると、１ページにアクセスするごとに合計（１９＊１０）＝１９０バイトを保存する必要がある。
【００２１】
１ユーザが、１分間に１回アクセスつまり１時間に６０アクセスし、１日に３時間程度利用すると考えると、１日あたり（６０＊３）回アクセスし、６か月間に約（６０＊３＊１８０）回程度アクセスする。なお、ここで期間を６か月間とした理由は、ＩＳＰには、ユーザを特定するためのデータを６か月以上保存することが求められているからである。結果として１ユーザあたり（１９０＊６０＊３＊１８０）バイト＝約６メガバイトとなり、例えば、５００万ユーザをもつＩＳＰは、約３０テラバイトのデータ量を保存しなくてはならない。
【００２２】
ここで、本発明の実施例について述べる。
【実施例１】
【００２３】
プライベートＩＰアドレスネットワーク内の第一の端末とグローバルＩＰアドレスネットワーク内の第二の端末間の通信に際しアドレス変換を行うＮＡＴ装置２０００は、パケット転送部１００と変換状況保持部２００とパケット変換部３００とプール記憶部４００を有する。図９は、実施例１のインターネット接続サービスのシステム構成例、図１０は、実施例１のＮＡＴ装置の機能構成例を示す。
【００２４】
プール記憶部４００は、グローバルＩＰアドレスとポート番号の範囲の組合せであるプールをプライベートＩＰアドレスの数以上と、そのプールと対応するプライベートＩＰアドレスが記憶される。プールを特定することで、プライベートＩＰアドレスが特定できるような対応とすればよい。なお、プライベートＩＰアドレスとプールの組合せを変換規則という。図１１に、プール記憶部４００に格納されているデータ例を示す。例えば、図１１（Ａ）のように、ポート番号の範囲として、連続するポート番号（例えば、２０００番ずつ）に区切って割り当ててもよい。実施例１記載のＮＡＴ装置２０００は、ＮＡＴ装置設定時に「静的」に自動でプライベートＩＰアドレスと１対１で対応するプールを決める仕組みを備える。「静的」とは、プライベートＩＰアドレスとプールの対応が、ユーザの回線接続等によって変化せず、ＮＡＴ装置設定時に決定され、プール記憶部４００へ記憶され、その後、手動等で変更しない限り、プライベートＩＰアドレスとプールの対応が、変化しないことを意味する。
【００２５】
プールをＮＡＴ装置設定時に「静的」に自動で決める仕組みを説明する。予め利用してよいポート番号の範囲（例えば、４９１５２から６５５３５までの１６３８４個）と、１プライベートＩＰアドレス毎に割り当てるポート番号の数（例えば、２０００個）と、利用できるグローバルＩＰアドレスの範囲（例えば、１９２．０．２．１から１９２．０．２．１６まで１６個）を指定する。
【００２６】
利用してよいポート番号の範囲を１プライベートＩＰアドレス毎に割り当てるポート番号の数で割り算し、１グローバルＩＰアドレスを共有するプライベートＩＰアドレスの数を計算する。
共有するプライベートＩＰアドレスの数＝１６３８４÷２０００＝８．１９２
よって、1つのグローバルＩＰアドレスを８個のプライベートＩＰアドレスで共有する。利用できるグローバルＩＰアドレス数と、共有できるプライベートＩＰアドレス数を乗算し、ユーザに割り当てるためのプライベートＩＰアドレス数と範囲を求める。
グローバルＩＰアドレス数（１６）＊共有できるプライベートＩＰアドレス数（８）＝１２８（個）
よって、プライベートＩＰアドレスの範囲と数（例えば、例えば、１０．０．０．１から１０．０．０．１２８まで１２８個）が求まる。
各プライベートＩＰアドレス（例えば「１０．０．０．１」）にプール（例えば、「グローバルＩＰアドレス１９２．０．２．１とポート番号の範囲４９１５２から５１１５１まで」）を自動的に割り当て、変換規則を作成する。
【００２７】
なお、ポート番号の範囲は、１個以上であればよい。ただし、上述の通り、変換状況保持部２００では、変換状況データが一定期間保持される。同一のプライベートＩＰアドレスに対しても、異なるコネクション確立時に、グローバルＩＰアドレスとポート番号の同一の組合せを割り当てることはできない。もし、同一のプライベートＩＰアドレスに対して、異なるコネクション確立時に、グローバルＩＰアドレスとポート番号の同一の組合せを割り当てると、ＷｅｂサーバからのデータをどのプライベートＩＰアドレスとポート番号の組合せに転送すればよいか不明となるため、一定期間の間は、同一のグローバルＩＰアドレスとポート番号の組合せを割り当てないように、変換状況データに基づき制御する。よって、適度にコネクションを確立するためにポート番号の範囲は１００個以上２０００個以下程度が望ましい。例えば、ポートの番号の範囲を２個とすると、ユーザが同時に確立できるコネクションの数は２個となり、３個目以降のコネクションは、変換状況保持部２００から変換状況データが削除されるまで、確立できない。
【００２８】
ここで、一度に並行して確立できるコネクションの個数は、ｗｅｂブラウザ等の設定により異なるが、一般に２〜１６個程度である。一度に並行して確立できるコネクションの個数が４個であり、１つのＷｅｂページ上に１００個のファイルがある場合には、４個ずつコネクションを確立していき、２５回、コネクションを確立する。なお、変換状況保持部２００は、コネクション確立毎に変換状況データを作成し、一定期間保持する。
【００２９】
図１２に、パケット変換の流れを示す。パケット変換部３００は、パケット転送部１００を介してプライベートＩＰアドレスネットワーク内の端末からのパケットを受信する（Ｓ１０１）。受信したパケットに対応するエントリが変換状況保持部２００にあるか問合せる（Ｓ１０２）。エントリがあれば、同様に、プライベートＩＰアドレスをグローバルＩＰアドレスに変換し、ポート番号を変換する（Ｓ１０７）。エントリがなければ、新規コネクションであるとして、受信したパケットからプライベートＩＰアドレスを取得し、プール記憶部４００に問合せる（Ｓ１０３）。プール記憶部４００に、プライベートＩＰアドレスがあれば（Ｓ１０４）、プライベートＩＰアドレスに対応するプールを取得する（Ｓ１０５）。もし、プール記憶部に記憶されていないプライベートＩＰアドレスからのパケットを受信した場合には、対応するプールを取得できないため、パケットを廃棄する（Ｓ１１０）。さらに、パケット変換部３００は、ポート番号の範囲の中からあらかじめ定めた単一の規則に従って、ポート番号を割り当てる（Ｓ１０６）。なお、あらかじめ定めた単一の規則とは、図１１（Ａ）の場合には、現在使用されている１つ次の番号を順次用いる方式
新ポート番号＝現在使用されているポート番号＋１
や、ポート番号の割り当てに際して、乱数を用いる方式
新ポート番号＝基数（プールのポート番号中の先頭)＋乱数(０〜１９９９)
等がある。
【００３０】
さらに、パケット変換部３００は、作成されたグローバルＩＰアドレスと新ポート番号の組合せと変換状況保持部２００に保持されているグローバルＩＰアドレスとポート番号の組合せが同一とならないか、検査する。検査の結果、両組合せが、同一であれば、再度あらかじめ定めた単一の規則に従ってポート番号割り当て、異なる組合せとなるまで、繰り返す（Ｓ１０７）。
【００３１】
変換後グローバルＩＰアドレスと変換後ポート番号を決定したら、受信したパケットの発信元プライベートＩＰアドレスと発信元ポート番号を決定したグローバルＩＰアドレスとポート番号に変換する（Ｓ１０８）。そして、パケット転送部１００を介してグローバルＩＰアドレスネットワーク内の端末へパケットを送信する（Ｓ１０９）。
【００３２】
このようにアドレス変換することにより、着信ログと変換規則及び割り当てログＢを調べれば、ユーザを一意に特定することができ、ＩＳＰは、変換ログを外部記憶装置９００に保存する必要がなくなる。なぜなら、着信ログ記憶部６６０の着信ログから、発信元グローバルＩＰアドレスと発信元ポート番号が分かるため、対応する変換規則からプライベートＩＰアドレスを特定することができる。このプライベートＩＰアドレスと割り当てログＢと着信時刻からユーザを一意に決定することができる。
【００３３】
[変形例１]
以下、実施例１と異なる部分のみ説明する。
ＮＡＴ装置設定時に「静的」に自動でプライベートＩＰアドレスと１対１で対応するプールを決める仕組みは、以下のように定めてもよい。図１１（Ｂ）のように、ポート番号の範囲を下一桁の値で分割してもよい。この場合、予め利用してよいポート番号の範囲（例えば、４９１５２から６５５３５までの１６３８４個）と、利用できるグローバルＩＰアドレスの範囲（例えば、１９２．０．２．１から１９２．０．２．１６まで１６個）を指定する。予め利用してよいポート番号の範囲は、下一桁の値で１０個のポート番号の範囲に分割されているため、1つのグローバルＩＰアドレスを１０個のプライベートＩＰアドレスで共有する。これによりユーザに割り当てるためのプライベートＩＰアドレス数と範囲を求める。
グローバルＩＰアドレス数（１６）＊共有できるプライベートＩＰアドレス数（１０）＝１６０（個）
よって、プライベートＩＰアドレスの範囲（例えば、例えば、１０．０．０．１から１０．０．０．１６０まで１６０個）が求まる。各プライベートＩＰアドレス（例えば「１０．０．０．１」）にプール（例えば、「グローバルＩＰアドレス１９２．０．２．１と利用してよいポート番号の範囲のうち下一桁が０の値」）を自動的に割り当て、変換規則を作成する。
【００３４】
この場合、パケット変換部３００が、ポート番号の範囲の中からあらかじめ定めた単一の規則に従って、ポート番号を割り当てる際には（Ｓ１０６）、あらかじめ定めた単一の規則を以下のようにすることが考えられる。
現在使用されているポート番号に１０を加えた番号を順次用いる方式
新ポート番号＝現在使用されているポート番号＋１０
や、ポート番号の割り当てに際して、乱数を用い、１０倍する方式
新ボート番号＝４９１６０＋下一桁の値＋乱数（０〜１６３６）＊１０
等がある。
【００３５】
[変形例２]
以下、実施例１と異なる部分のみ説明する。
プールをＮＡＴ装置設定時に「静的」に自動で決める仕組みを説明する。実施例１では、予め利用してよいポート番号の範囲（例えば、４９１５２から６５５３５までの１６３８４個）と、１プライベートＩＰアドレス毎に割り当てるポート番号の範囲（例えば、２０００個）と、利用できるグローバルＩＰアドレスの範囲（例えば、１９２．０．２．１から１９２．０．２．１６まで１６個）を指定するが、変形例２では、１プライベートＩＰアドレス毎に割り当てるポート番号の範囲（例えば、２０００個）を予め指定するのに代えて、1つのグローバルＩＰアドレスを共有するプライベートＩＰアドレスの数（例えば、１６個）を予め指定する。
【００３６】
利用してよいポート番号の範囲を共有するプライベートＩＰアドレスの数で割り算し、１プライベートＩＰアドレス毎に割り当てるポート番号の範囲を計算する。
ポート番号の範囲＝１６３８４÷１６＝１０２４
利用できるグローバルＩＰアドレス数と、共有できるプライベートＩＰアドレス数を乗算し、ユーザに割り当てるためのプライベートＩＰアドレス数と範囲を求める。
グローバルＩＰアドレス数（１６）＊共有できるプライベートＩＰアドレス数（１６）＝２５６（個）
その後、プライベートＩＰアドレスの範囲（例えば、１０．０．０．１から１０．０．０．２５５と１０．０．１．１を併せた２５６個）を自動的に決定する。
【００３７】
各プライベートＩＰアドレス（例えば「１０．０．０．１」）にプール（例えば、「グローバルＩＰアドレス１９２．０．２．１とポート番号の範囲４９１５２からまで５０１７５」）を自動的に割り当て、変換規則を作成する。
【００３８】
実施例１のプールをＮＡＴ装置設定時に「静的」に自動で決める仕組みは、割り当てるポート番号の範囲（コネクション数の確立数）が決まっている時に採用し、変形例２の仕組みは、１つのグローバルＩＰアドレスを共有するプライベートＩＰアドレスの数が決まっている時に採用するとよい。
【００３９】
[変形例３]
以下、実施例１と異なる部分のみ説明する。
ＮＡＴ装置２０００は、ＮＡＴ装置設定時に「静的」に自動でプライベートＩＰアドレスと対応するプールを決める仕組みに代えて、手動でプライベートＩＰアドレスと対応するプールを決める仕組みを備える。
手動で特定のプライベートＩＰアドレスには、多くのポート番号の範囲（例えば２０００個）を割り当て、残りのプールには、少ないポート番号の範囲（例えば１００個）を割り当てても、プライベートＩＰアドレスとプールが対応していればよい。
【００４０】
実施例１、変形例１〜２の場合に、プライベートＩＰアドレスと１対１で対応するプールを決める仕組みを提供しているが、１対１でなくとも、プールが特定できれば、プライベートＩＰアドレスが特定できればよい。よって、一対多、つまり、１つのプライベートＩＰアドレスに対して、複数のプールを割り当ててもよい。その変換規則は、プール記憶部４００に記憶される。その場合も、着信ログと変換規則及び割り当てログＢを調べれば、ユーザを一意に特定することができる。
【実施例２】
【００４１】
以下、実施例１と異なる部分についてのみ記載する。図１３は、実施例２のインターネット接続サービスのシステム構成例、図１４は、実施例２のＮＡＴ装置の機能構成例を示す。ＮＡＴ装置３０００は、アドレス割り当て部５００を有する。ＮＡＴ装置３０００は、ユーザに対してプライベートＩＰアドレスを割り当てる機能も同時に備える。
【００４２】
図１５に、プライベートＩＰアドレスの割り当て方法を示す。アドレス割り当て部５００は、プライベートＩＰアドレスネットワーク６００内の端末の回線接続に伴って、端末に対してプライベートＩＰアドレスを割り当て、さらにプライベートＩＰアドレスとプールの対応を決定し、プール記憶部へ記憶する。具体的には、ユーザ回線接続時に、アドレス割り当て部５００は、プール記憶部４００を参照し、使用されていないプライベートＩＰアドレスをユーザに割り当てる（Ｓ１１２）。ＩＰアドレス割り当て部５００は、プライベートＩＰアドレスの割り当てと同時に、そのプライベートＩＰアドレスに対応するプールも割り当て、プール記憶部４００に記憶する（Ｓ１１３）。プール記憶部４００に記憶されているプールのデータ例を図１６に示す。また、ＮＡＴ装置３０００は、割り当てログＢと割り当てたプールを割り当てログ記憶部６３０へ記録する（Ｓ１１４）。図１７に、割り当てログ記憶部に記録されるデータ例を示す。
【００４３】
なお、アドレス変換装置３０００は、プライベートＩＰアドレスとプールの対応を、回線接続毎に「動的」に自動で決める仕組みを備える。「動的」とは、プライベートＩＰアドレスとプールの対応が、ユーザの回線接続等によって変化することを意味する。
【００４４】
プールを「動的」に自動で決める仕組みを説明する。予め利用してよいポート番号の範囲（例えば、４９１５２から６５５３５までの１６３８４個）と、１プライベートＩＰアドレス毎に割り当てるポート番号の数（例えば、２０００個）と、利用できるグローバルＩＰアドレスの範囲（例えば、１９２．０．２．１から１９２．０．２．１６まで１６個）を指定する。
【００４５】
利用してよいポート番号の範囲を１プライベートＩＰアドレス毎に割り当てるポート番号の数で割り算し、１グローバルＩＰアドレスを共有するプライベートＩＰアドレスの数を計算する。
共有するプライベートＩＰアドレスの数＝１６３８４÷２０００＝８．１９２
利用できるグローバルＩＰアドレス数と、共有できるプライベートＩＰアドレス数を乗算し、ユーザに割り当てるためのプライベートＩＰアドレス数を求める。
グローバルＩＰアドレス数（１６）＊共有できるプライベートＩＰアドレス数（８）＝１２８（個）
よって、１２８個のプライベートＩＰアドレスに対応できる。１２８個のプールを作成し、プール記憶部４００に記憶する。
【００４６】
アドレス割り当て部５００は、ユーザの回線接続時に、プライベートＩＰアドレス（例えば「１０．０．０．１」）を割り当て（Ｓ１１２）、このプライベートＩＰアドレスに対し、プール（例えば、「グローバルＩＰアドレス１９２．０．２．１とポート番号の範囲４９１５２から５１１５１まで」）を自動的に割り当て、変換規則を作成し、プール記憶部４００に記憶する（Ｓ１１３）。同時に、アドレス装置変換装置は、割り当てログ記憶部６３０に割り当てログＢと変換規則を保存する（Ｓ１１４）。なお、回線切断時には、プール記憶部４００は、切断したプライベートＩＰアドレスをプール記憶部４００から削除し「空き」とする。
【００４７】
実施例２の場合、プール記憶部４００のプールを確認しなくても、割り当てログ記憶部６３０に保存される割り当てログＢと変換規則と着信ログからユーザを一意に特定することができる。また、プールを変更しても、記憶部６３０には、回線接続時の割り当てログＢと変換規則が保存される。記憶部６３０に記録されるログは、コネクション確立毎ではなく、回線接続毎になるため、実施例１と同様に外部記憶装置９００に変換ログを保存する必要がなくなる。
【００４８】
[変形例]
以下、実施例２と異なる部分のみ説明する。変形例のアドレス変換装置は、ユーザ回線接続時に、管理サーバ等を用いて、ユーザの認証を行い、ＩＰアドレスを割り当てる。図１８に変形例のインターネット接続サービスのシステム構成例、図１９に変形例のＮＡＴ装置の機能構成例、図２０にプライベートＩＰアドレスの割り当て方法を示す。ユーザ回線接続時には、ＮＡＴ装置３０００は、ユーザＩＤとパスワード等を管理サーバ７００に認証を要求する（Ｓ１１１）。認証が許可された場合には、実施例２と同様に、プライベートＩＰアドレスを割り当てる。
【００４９】
変形例では、変換規則を作成し、プール記憶部４００に記憶する（Ｓ１１３）のと同時に、割り当てログ記憶部６３０に割り当てログＢと変換規則を保存するのに、代わって、アドレス割り当て部５００は、ＲＡＤＩＵＳ（Remote Authentication Dial In User Service）プロトコル（ＲＦＣ２８６５及びＲＦＣ２８６６参照）等を用いて、ユーザに割り当てたプライベートＩＰアドレスを管理サーバ７００に通知する（Ｓ１１５）。管理サーバ７００内には、割り当てログＢと変換規則が保存される。
実施例１，２において、アドレス変換装置をＩＳＰが使用する場合について、述べたが、小規模ＬＡＮ等でアドレス変換装置を使用する場合も含む。
【００５０】
上述においてアドレス変換装置は、ルータやゲートウェイ等に実装されていてもよい。アドレス変換装置は、コンピュータにより機能させてもよい。その場合は、各過程をコンピュータにより実行させるためのプログラムを、ＣＤ−ＲＯＭ、磁気ディスク、半導体記憶装置などの記録媒体からインストールし、あるいは通信回線を通じてダウンロードして、そのコンピュータにそのプログラムを実行させればよい。
【図面の簡単な説明】
【００５１】
【図１】既存のＩＳＰが提供するインターネット接続サービスのシステム構成例を示す構成図である。
【図２】割り当てログＡのデータ例を示す図である。
【図３】着信ログのデータ例を示す図である。
【図４】割り当てログＢのデータ例を示す図である。
【図５】変換ログのデータ例を示す図である。
【図６】既存のＩＳＰがＮＡＴ装置を用いて提供するインターネット接続サービスのシステム構成例を示す構成図である。
【図７】既存のＮＡＴ装置及び外部記憶装置の構成例を示す構成図である。
【図８】変換状況データのデータ例を示す図である。
【図９】実施例１のインターネット接続サービスのシステム構成例を示す構成図である。
【図１０】実施例１のＮＡＴ装置の機能構成例を示す構成図である。
【図１１】プール記憶部４００に格納されているデータ例を示す図である。
【図１２】パケット変換の流れを示す流れ図である。
【図１３】実施例２のインターネット接続サービスのシステム構成例を示す構成図である。
【図１４】実施例２のＮＡＴ装置の機能構成例を示す構成図である。
【図１５】プライベートＩＰアドレスの割り当て方法を示す流れ図である。
【図１６】プール記憶部４００に記憶されているプールのデータ例を示す図である。
【図１７】実施例２の割り当てログ記憶部に記憶されているデータ例を示す図である。
【図１８】実施例２の変形例のインターネット接続サービスのシステム構成例を示す構成図である。
【図１９】実施例２の変形例のＮＡＴ装置の機能構成例を示す構成図である。
【図２０】実施例２の変形例のプライベートＩＰアドレスの割り当て方法を示す流れ図である。
【符号の説明】
【００５２】
１０００，２０００，３０００  ＮＡＴ装置
１００   パケット転送部              ２００  変換状況保持部
３００   パケット変換部              ４００  プール記憶部
５００   アドレス割り当て部 
【図１】
0004705656.tif 000002
【図２】
0004705656.tif 000003
【図３】
0004705656.tif 000004
【図４】
0004705656.tif 000005
【図５】
0004705656.tif 000006
【図６】
0004705656.tif 000007
【図７】
0004705656.tif 000008
【図８】
0004705656.tif 000009
【図９】
0004705656.tif 000010
【図１０】
0004705656.tif 000011
【図１１】
0004705656.tif 000012
【図１２】
0004705656.tif 000013
【図１３】
0004705656.tif 000014
【図１４】
0004705656.tif 000015
【図１５】
0004705656.tif 000016
【図１６】
0004705656.tif 000017
【図１７】
0004705656.tif 000018
【図１８】
0004705656.tif 000019
【図１９】
0004705656.tif 000020
【図２０】
0004705656.tif 000021