NAT (Network Address Translation)
【ナット】
別名
・ネットワーク・アドレス変換 (Network Address Translation) 【ネットワーク・アドレス・ヘンカン】
TCP/IPを使ったインターネットなどのネットワークにおいて、IPアドレスを変換して、限られたIPアドレス資源を有効に使ったり、ファイアウォールを構築したりするための技術。インターネットへ接続するためのルータ(ISDNルータなど)に実装されていることが多い。
インターネットを利用するためには、インターネットに接続するノードに対して、世界中でユニークになるように公式に割り当てられた、グローバルIPアドレスを付けておく必要がある。しかし、インターネットの急速な普及により、グローバルなIPアドレスはそう遠くない将来に枯渇する恐れがあり、その対策としていろいろな方法が考え出された。その1つとして、組織内では広範囲にプライベートIPアドレスを使い、実際にインターネットに接続する必要のあるノードにだけグローバルIPアドレスをその都度割り当てる、という方法がある。いくつかのグローバルなIPアドレスをIPアドレス・プールと呼ばれるところに保留しておいて、インターネット上のサービスを利用したいローカル・ノードからの要求に応じて、グローバルIPアドレスを一時的に貸し出し、利用が終われば、速やかにそれをIPアドレス・プールに返却してもらうのである。例えば、あるノードでFTPやTELNETなどのアプリケーションを実行開始すると、グローバルIPアドレスを1つそのノードに対して割り当て、アプリケーションを終了すると、割り当てを解除する。
ただし、実際にいちいち各ノードに新しいIPアドレスを割り当てたり、解放してもらったりするのではなく、インターネットと組織のネットワークの間をパケットが通過するときに、そのパケットの内容を書き換えて、あたかもグローバルIPアドレスを持つノードが直接インターネットに接続されているかのように振る舞わせるのである。このアドレスの書き換え処理をNAT(ネットワークアドレス変換)といい、通常はNAT対応のルータか、専用のアドレス変換ハードウェア(「NAT box」などと呼ばれる)で変換処理を行う。
組織内部のノードがインターネットへアクセスしようとすると、ローカルIPアドレスからグローバルIPアドレスに向けてパケットが発信されるが、NATではこのパケットを捕捉して、アドレスの変換処理を開始する。まずIPアドレス・プールから空いているグローバルIPアドレスを1つ取り出し、これを発信元のローカルIPアドレスと対応付ける。そして、以後は、このIPアドレスから発信されたパケットのソース・アドレス・フィールドを書き換えて、あたかもグローバルIPアドレスから発信されたように見せかける。また、インターネット側から戻ってきたパケットに対しては、先の対応表を参照して、宛先のローカルIPアドレスを見つけ出し、パケットの宛先フィールドを書き換えてから、組織内部へとルーティングする。さらに、NATではパケットの内容も見ていて、FTPなどのように、データ中にIPアドレスが含まれているようなプロトコルの場合は、その内容も適切に修正する。そしてアプリケーションがすべてのコネクションをクローズしたことを検出すると、グローバルIPアドレスとローカルIPアドレスの対応を解除し、IPアドレス・プールへグローバルIPアドレスを返す。
以上のような処理により、少ないグローバルIPアドレスでも、複数のノードに対してインターネットへのアクセス・サービスを提供することができる。もっとも、用意されたIPアドレス・プールの総数を超えるようなノードが同時にインターネットへアクセスすることはできないし、未知のプロトコルの場合にはうまく動作しないこともあるが、メールやWWWなどは組織内に用意されたメール・サーバやプロキシ・サーバへアクセスするため、本当にグローバルIPアドレスが必要なサービスはそう多くないであろうから、これでも十分実用的といえる。
NATを使うと、組織内の各ノードに対してすべてグローバルIPアドレスを付ける必要がないので、IPアドレスを節約できるだけでなく、組織内の各ノードをインターネットから隔離することができるので、セキュリティ的にも望ましい。
なお、NATではIPアドレスしか変換しないが、さらにTCPやUDPのポート番号も変換して、1つのグローバルIPアドレスで複数のプライベートなノードをサポートした、IPマスカレード(もしくはアドレス/ポート変換、NAPT)と呼ばれるものもある。最近では、これをサポートしたルータも多い。
NATを利用したインターネット接続の例 これは、Windows 2000のインターネット接続共有機能を使い、Windows 2000マシンをNATルータとして機能させた例。192.168.0.〜のプライベートIPアドレスが割り当てられたLAN側のコンピュータからのインターネット・アクセスは、NATルータを経由してインターネットに送られる。 |
Copyright (C) 2000-2007 Digital Advantage Corp.
関連用語
■TCP/IP
■TCP
■UDP
■ノード
■IPアドレス
■グローバルIPアドレス
■プライベートIPアドレス
■ファイアウォール
■IPマスカレード
■Proxyサーバ
■ルータ
■ISDNダイヤルアップルータ
■World Wide Web
■FTP
■IPv6
■Teredo