
NATとは、「Network Address Translation」の略称で、IPアドレスを他のIPアドレスに変換する技術のことです。NATは主にプライベートIPアドレスをグローバルIPアドレスに変換、もしくはその逆を行いインターネットへ接続するために利用されます。本記事ではNATの概要や仕組み、必要性、NAPTとの違いなどについて詳しく解説します。
目次
NATとは
NAT(Network Address Translation)とは、送信元、もしくは宛先となるIPアドレスを別のIPアドレスへ変換する技術のことを指します。一般的には、プライベートIPアドレスをグローバルIPアドレスに変換、もしくはその逆を行います。
グローバルIPアドレスとは
グローバルIPアドレスとは、インターネットに接続するために使用されるIPアドレスです。パブリックIPアドレスということもあります。インターネットに接続されている端末を個々に特定するための住所のようなもので、世界中で一意の値が割り当てられます。
プライベートIPアドレスとは
プライベートIPアドレスとは、組織内のローカルネットワーク内でのみ使用されるIPアドレスです。ローカルIPアドレスともいいます。
ローカルネットワークとは、社内や家庭などの限られたエリアにある端末同士でプライベートIPアドレスを用いて通信を行う環境のことです。プライベートIPアドレスはプライベートネットワーク内であれば通信できますが、インターネット上では通信ができません。
プライベートIPアドレスが登場した背景は、1980年代以降にインターネットが急成長した結果、IPアドレスの数が枯渇し足りなくなるリスクが生じました。そこで、インターネットとプライベートネットワークをつなぐ機器にのみ、グローバルIPアドレスを割り当て、プライベートネットワーク内の端末にはプライベートIPアドレスを割り当てるようになりました。
そのためプライベートIPアドレスはプライベートネットワーク内でのみ重複しなければ良く、別のプライベートネットワーク内で同じIPアドレスが付与されていても問題ありません。
NATの必要性
仮にプライベートIPアドレスでインターネットへの接続を試みようとしても、プライベートIPアドレスはインターネット上にルート情報が存在しないため通信できません。プライベートネットワークからインターネットに接続しようとする場合は、必ずグローバルIPアドレスにNATすることが必要になります。
NATは、プライベートネットワークとインターネットの間にあるルーターやファイアウォール、負荷分散装置(ロードバランサー)などのネットワーク機器に機能として備わっており、プライベートIPアドレスとグローバルIPアドレスの変換を行います。
NATの仕組み
次に、NATのアドレス変換の仕組みや種類について解説します。
NATの仕組み
NATはどのようなプロセスでIPアドレスの変換を行うのでしょうか。プライベートネットワークとインターネットの間にNATの機能を持つルーターがあることを想定して、NATの仕組みと接続までの流れを解説します。
- プライベートネットワーク内でプライベートIPアドレスを割り当てられた端末(コンピュータ)が、インターネット上のWebサイトを閲覧するためにWebサーバーへアクセスを試みます。
- 端末の持つプライベートIPアドレスではインターネットへアクセスできないため、ルーターが保持するグローバルIPアドレスに変換を行った上で、Webサーバーへリクエストを送ります。
- Webサーバーはルーターによって変換されたグローバルIPアドレスに対して応答(レスポンス)を送信します。
- 応答(レスポンス)を受け取ったルーターは、レスポンスの宛先(グローバルIPアドレス)を端末のプライベートIPアドレスへ変換を行い、端末へ送信します。
- これによりプライベートネットワーク内の端末とインターネット上のWebサーバーとの通信が成立し、Webサイトを閲覧できるようになります。

NATの種類
NATはプライベートアドレスとグローバルアドレスを1対1で変換を行う技術ですが、変換方法には以下の2種類があります。
・スタティックNAT(静的NAT)
管理者があらかじめ設定したルールに従い、1対1で固定的に変換する方法です。プライベートネットワーク内の複数の機器が外部と通信したい場合、同じ数だけグローバルIPアドレスが必要となります。
・ダイナミックNAT(動的NAT)
IPアドレスのプールを設定しておき、外部への通信が発生した際にそのプール内のIPアドレスを一時的に使用して変換を行う方法です。静的NATと異なり、グローバルIPアドレスを複数で共有することができますが、アドレスプールを使い切ると以降のクライアントは接続できずアドレスが返却されるまで待つ必要があります。
NATの弱点
NATは基本的にプライベートIPアドレスとグローバルIPアドレスを1対1で変換する技術です。そのため、ルーターが保持するグローバルIPアドレスの数しか複数端末が同時にインターネットへ接続できないという問題があります。この問題を解決するために登場したのが次章で解説するNAPTです。
NAPTとは
NAPT(Network Address Port Translation)とは、NATの問題点を解消するために登場した技術で、ポート番号を活用することで1つのグローバルIPアドレスを同時に複数の端末でNATできるようにしたものです。PAT(Port Address Translation)や IPマスカレードとも言われます。
NAPTではアドレス変換を行う際、送信元のプライベートアドレス端末のTCP/UDPポート番号を、ユニークなポート番号に書き換えます。
例えば、端末Aに対してポート番号6001、端末Bに対してポート番号6002を割り当てます。この場合、もし端末Aと端末Bが同じグローバルIPアドレスを使用していたとしても、ルーターは戻りのパケットをA・Bどちら宛かポート番号を頼りに判断できます。
これにより、1つのグローバルIPアドレスで複数の端末が同時にインターネットへ接続できる1対多の変換が可能となります。

NATとNAPTの違い
NATとNAPTの違いをまとめると以下のとおりです。
NAT:プライベートIPアドレスとグローバルIPアドレスを1対1で変換する技術
NAPT:ポート番号を使用して1つのグローバルIPアドレスを複数のプライベートIPアドレスに1対多で同時に変換する技術
つまり、保持するグローバルIPアドレス以上の複数端末で同時にインターネットにアクセスしたい場合は、NATではなくNAPTを使用する必要があります。
まとめ
NATとは、送信元、もしくは宛先のIPアドレスを別のIPアドレスに変換する技術のことです。インターネットに接続するには、プライベートIPアドレスをグローバルIPアドレスに変換する必要があり、その際にNATは必須となります。
ただし、NATは1対1の変換しかできず、グローバルIPアドレスの数以上の複数端末で同時にインターネット接続することはできません。これを解決する技術がNAPTです。NATとNAPTの違いを理解した上で、要件に合わせて使い分けましょう。
この記事を読んだ人へオススメ
Infrastructure as Codeとは? メリットや導入の課題、代表的なツールについて
DXを進めるうえでクラウドサービスの活用やDevOpsの考え方が普及した昨今、ITインフラ...
2022.09.28