ネットワークアドレス変換
ネットワークアドレス変換(ネットワークアドレスへんかん)、NAT(Network Address Translation)とは、インターネットプロトコルによって構築されたコンピュータネットワークにおいて、パケットヘッダに含まれるIPアドレスを、別のIPアドレスに変換する技術である。
業務用、家庭用を問わず、インターネットに接続するために使用されるルータや無線LANのアクセスポイントにおいて標準的に利用されている。
IPアドレスに加え、ポート番号の変換も行うものをNAPT(Network Address Port Translation、またはIPマスカレード)と呼ぶ。今日では、NATと言えばNAPTのことを指すのが一般的である(#NATとNAPTも参照)。
インターネットに接続し通信を行うためには、世界で唯一のIPアドレス(グローバルIPアドレス)を使用する必要がある。よって、プライベートネットワーク環境下において、プライベートIPアドレスを割り当てられている機器は、そのままではインターネットに接続することができない。NATを利用することにより、ゲートウェイを通過するIPパケットの送信元または宛先のIPアドレスは、グローバルIPアドレスまたはプライベートIPアドレスに変換される。こうして、LAN内の機器が、ルータ等のゲートウェイを通してインターネットにアクセスできるようになる。
元来のNATは、送受信するパケットの送信元・宛先IPアドレスだけを識別して変換するものであったため、複数の機器が同時に外部ネットワークに接続する場合は、その機器数と同数のグローバルIPアドレスが必要であった。そこで現在では、プライベートIPアドレスとグローバルIPアドレスの1対1の変換に加え、ポート番号も変換してプライベートIPアドレスとグローバルIPアドレスを1対多に変換するNAPTが用いられることが多い。NATオーバーロード、オーバーロード変換、PAT(Port Address Translation、Cisco Systemsによる呼称)、IPマスカレード(LinuxにおけるNAPTの実装名から。マスカレード(masquerade)は、仮面舞踏会の意味)などとも呼ばれる。
NAPTでは、IPアドレスに加えてポート番号の識別や変換をすることで、複数のホストからローカル外のネットワークに接続する際、異なるローカルアドレスを同一のグローバルアドレス配下の異なるポートとして表現し、必要なグローバルアドレスの数を減らすことができる。動的NAPTは、インターネットプロバイダから利用者に対するグローバルIPアドレスの割り当て等でよく用いられる。
NATは、LAN内のホストにはプライベートIPアドレスを割り当て、インターネットに接続するときだけグローバルIPアドレスを使用する技術であるため、NATを活用することにより、使用するグローバルIPアドレスの数を減らすことができる。
動的 NAT(ダイナミック NAT)とは、LAN 内部の IP アドレスをあらかじめ用意された外部 IP アドレスの中の 1 個を選択してその IP アドレスに動的にマップする技術のことである。動的 NAT はセキュリティや不足する IP アドレスの問題解決に役に立つが、IP アドレスが固定されないという問題点がある。例えば、LAN 内部のサーバをインターネットなど、外部から参照する必要が生じた場合、外部から参照するためにはグローバル IP アドレスが必要だが、動的 NAT では解決できない。
静的 NAT(スタティック NAT)とは、LAN 内部の IP アドレスを常に同一の外部の IP アドレスに静的にマップする技術のことである。この技術を使用すれば、LAN の外部から常に同一の IP アドレスを指定することによって内部サーバにアクセスすることができる。
また、や、SIPなどのVoIPを機能させるためには工夫が必要な場合もある。
また、複数のローカルIPアドレスからのアクセスを、1つのグローバルIPアドレスで共有しているため、外からはローカルネットワーク内のどのノードがアクセスしたのかまでを特定することはできない。このためインターネットカフェなどの不特定多数の人が利用するアクセス端末からの、悪意のある利用(SPAM行為や掲示板荒らし、ネット犯罪など)がなされた場合、匿名性が高く特定がより困難になる。
Source NAT(送信元IPアドレス変換)
NAPT(Network Address Port Translation)
IPマスカレード(Linux)
PAT(Port Address Translation)(Cisco)
NATオーバーロード(Cisco)
ダイナミックENAT(Enhanced NAT)(アライドテレシス)
DIP(Dynamic IP)(Juniper SSG)
DIPP(Dynamic IP and port)(Palo Alto Networks)
Destination NAT(宛先IPアドレス変換)
スタティックENAT(アライドテレシス)
VIP(Juniper SSG)
バーチャルIP(Fortinet)
Source and Destination NAT(送信元IPアドレスと宛先IPアドレスの両方を変換する)
ダブルNAT(アライドテレシス)
MIP (Juniper SSG)
NATやNAPTではやSIPなどのVoIPなどうまく動作しないアプリケーションがあるため、さらにコネクションとトラッキングすることでそれらに対処した技術。Linuxのiptablesなどで実装されている。
住友電工製のADSLモデムに内蔵のルータに実装されたDMZを実現する機能の名称。 1つのグローバルIPアドレスしか提供されないIP接続サービス環境下において、DHCPによりローカルの一つのコンピュータにグローバルIPアドレスを割り当て、それ以外のコンピュータにはローカルIPアドレスを割り当てる。これによって、グローバルIPアドレスを割り当てられたコンピュータは、グローバルIPアドレスを直接使用しなければならないネットワークアプリケーションを動作させることができる。
UPnPのインターネットゲートウェイデバイス(IGD)仕様に準拠したNATルータは,それに対応したアプリケーションから様々な操作(Action)を受け付けることが可能である。この動作の中に、ポートマッピングを作成・削除・情報取得を行う操作(Action)がある。UPnP NAT Traversalとも呼ばれる。
これにより、使用するアプリケーションがポートマッピングを要求する場合、従来はユーザーがNATルータに例えばwebブラウザからアクセスするなどして、手動で設定を加えなければならなかったものが、アプリケーション自身が直接ルーターにアクセスしポートマッピングのエントリーを追加・削除できるようになった。
市場に出回る「ブロードバンドルータ」などの商品名のもので「UPnP機能搭載」や「UPnP NAT Traversal対応」などと書かれている製品がこれに当たる。
2007年現在、IPアドレス枯渇問題で足りないとされているIPv4のIPアドレスであるが、将来的にはIPv6のIPアドレス体系に移行すれば、枯渇問題は解決すると見られている。しかし、その移行期間においてはIPv4とIPv6の双方のネットワークが混在することになり、両ネットワークを接続するNAT(プロトコル変換も行うためゲートウェイと呼ぶのが妥当)が必要となる。実際のゲートウェイの実装方法がRFC 2766によって提案されている。