こんにちは、インフラエンジニアのryuです。
今回は、NAT(ナット)について解説します。NATとは、Network Address Translationの略で、IPアドレスを変換する技術です。なぜIPアドレスを変換する必要があるのか、どのような場面でNATが使われているのかを分かりやすく解説します。
目次
NATとは?

NATってなんですか?
NATとはIPアドレスを変換する技術のことです。
今回はNATについて解説します。NATとはIPアドレスを変換する技術のことです。
IPアドレスはPCの場所を表すものです。なぜ、IPアドレスを変換する必要があるのでしょうか?
NATがなぜ必要なのか、理解できるように詳しく解説します。
NATはローカルIPアドレスとグローバルIPアドレスを変換する
NATが一番使われる場面はローカルIPアドレスとグローバルIPアドレスの変換です。
ローカルIPアドレス?グローバルIPアドレス?
NATが一番使われる場面はローカルIPアドレスとグローバルIPアドレスを変換するところです。自分のPCがインターネットに接続する際に、IPアドレスの変換がされています。
では、そもそローカルIPアドレスとグローバルIPアドレスとはどのようなIPアドレスなのでしょうか?
NATを理解するために、おさらいしましょう。
- ローカルIPアドレス→LAN(自分のネットワーク)で使用するIPアドレス
- グローバルIPアドレス→WAN(インターネット)で使用するIPアドレス
自分のネットワーク、つまりLANで使用するのがローカルIPアドレスです。自宅のWifiで使用しているPCやスマホにはローカルIPアドレスが割り当てられます。
インターネットで使用するIPアドレス、つまりWANで使用するIPアドレスがグローバルIPアドレスです。インターネットを契約するとき、プロパイダーから割り当てられるIPアドレスです。インターネットに接続する場合は、このIPアドレスを使用します。

ルーターでIPアドレスを変換する
NATはルーターがローカルIPアドレスとグローバルIPアドレスを変換して自宅内のPCからインターネットにアクセスできるようにします。
ルーターとは、異なるネットワークの通信を制御するネットワーク機器です。
ルーターでNATの設定をすることでインターネットへアクセスすることが可能になります。
ただ、家庭用はモデムでNATしていたり、無線WifiでNATしていたりします。設定はすでにされているので、特に意識することなくPCを使用することができます。
ルーターがどのような機器なのかは、こちらの記事で詳しく解説しています。
NATでどのようにIPアドレスが変換されているのか
NATでIPアドレスを変換していることが分かりました。
では、IPアドレスがどのように変わっているのか具体的に見てみましょう。
ここからは、具体的にIPアドレスがどのように変換されてインターネットに通信されているのか確認してみます。
ローカルのPCからインターネットにアクセスする
まず、自分のPCからインターネットにアクセスすることを想定します。
構成は以下の通りです。

自分のPCが「192.168.0.1」、ルーターのローカルネットワーク側が「192.168.0.254」、インターネット側が「161.93.34.45」とします。
PCからインターネットに通信する際、インターネット上のサーバーは別のネットワークにあるため、一旦ルーターを経由します。

では、NATをしない場合、インターネット上のサーバーはローカルPCに返答を返すことができるでしょうか?答えはできません。
なぜなら、インターネット上のサーバーは「192.168.0.1」のネットワークを知らないからです。
NATをすることでインターネット上のサーバーが返答できる
ローカルPCからインターネット上のサーバーにアクセスする際、ルーターを経由します。ここで、NATの変換が行われます。
具体的には送信元のIPアドレスが変更されます。

ローカルPCからアクセスがあると、インターネット上のサーバーは応答を返します。この場合、送られてきたパケットの送信元に応答を返します。
NATで送信元が変換された場合、サーバーはルーターのグローバルIPアドレス宛(161.93.24.46)に応答を返します。
グローバルIPはプロパイダーで管理されており、ルーティングもされているので、サーバーは返答を返すことができます。
そして、ルーターは受けっとった返答の宛先を元のローカルPCのIPアドレスに変換して返します。

NATの動作は少し難しいですが、あて先と送信元のIPアドレスに着目していると分かりやすいです。
以上でNATの解説を終わります。