この記事では、グローバルIPアドレス・プライベートIPアドレス、NATとNAPTについて、初心者にも分かりやすく、図解付きで丁寧に解説しています!
IPアドレス
- IPアドレスはネットワークにおける住所のような役割を果たす番号
グローバルIPアドレスとプライベートIPアドレス
- グローバルIPアドレスはインターネットの世界で使われるIPアドレス
- プライベートIPアドレスはLAN内だけで使われるIPアドレス
NAT
- ルータはLANの中と外を繋ぐ役割を果たす
- プライベートIPアドレスとグローバルIPアドレスを1対1で変換する技術をNATと呼ぶ
- NATではルータはIPアドレスの変換を行う
NAPT(IPマスカレード)
- 複数のプライベートIPアドレスと1つのグローバルIPアドレスを対応付けて変換する技術をNAPT(IPマスカレード)と呼ぶ
- NAPTではルータはIPアドレスとポート番号の変換を行う
IPアドレスはネットワークの住所
IPアドレスは、インターネット上に存在する全ての端末に割り当てられている識別番号です。サーバ、パソコン、携帯電話などインターネットと繋がっている全ての端末にIPアドレスが与えられています。IPアドレスがあることで、どの端末にデータを送れば良いのかが分かるようになります。IPアドレスはネットワーク界の住所なんですね。

グローバルIPアドレスとプライベートIPアドレス
IPアドレスにはグローバルIPアドレスとプライベートIPアドレスがあります。
グローバルIPアドレスは、インターネットの世界で使われるIPアドレスで、プライベートIPアドレスは、LAN内で使われるIPアドレスです。
グローバルIPアドレス
インターネット上での通信で使用するIPアドレス。世界中に同じIPアドレスは存在しない。
プライベートIPアドレス
特定のネットワーク内でのみ使用するIPアドレス。特定のネットワーク内で重複が無ければ自由に設定できる。

NATとNAPT
LAN内でプライベートIPアドレスを使っているコンピュータもLAN外のコンピュータとやり取りするためには、グローバルIPアドレスが必要になります。ルータがLANの中と外を繋ぐ役割を果たしていることが多く、その際、NATやNAPT(IPマスカレードとも呼ぶ)と言う技術を使います。ルータはLAN内ともLAN外ともやり取りをするので、プライベートIPアドレスとグローバルIPアドレスの両方を持ちます。

NATやNAPTを使うと、プライベートIPアドレスとグローバルIPアドレスを変換できます。
NAT
NATはプライベートIPアドレスとグローバルIPアドレスを1対1で結び付けて変換します。どういう仕組みで変換するのかを見てみましょう。

- LAN内のコンピュータ(PC1)がLAN外のコンピュータ(PC2)にデータを送る時、PC1はLANの中と外を繋ぐ窓口であるルータにデータを送ります。
宛先IPアドレス:ルータのプライベートIPアドレス(192.168.1.2)
送信元IPアドレス:PC1のプライベートIPアドレス(192.168.1.1) - データを受け取ったルータがPC2にデータを送信します。ルータはLAN外のPC2とやり取りをするのでグローバルIPアドレスを使います。
宛先IPアドレス:PC2のグローバルIPアドレス(219.111.190.135)
送信元IPアドレス:ルータのグローバルIPアドレス(219.111.187.135) - PC2はデータを送ってきたルータに返答します。
宛先IPアドレス:ルータのグローバルIPアドレス(219.111.187.135)
送信元IPアドレス:PC2のグローバルIPアドレス(219.111.190.135) - PC2から返ってきたデータをルータはPC1に返します。LAN内のやり取りになるので、プライベートIPアドレスを使います。
宛先IPアドレス:PC1のプライベートIPアドレス(192.168.1.1)
送信元IPアドレス:ルータのプライベートIPアドレス(192.168.1.2)
NAPT(IPマスカレード)
NAPTは複数のプライベートIPアドレスとグローバルIPアドレスを結び付けて変換します。NAPTはIPマスカレードと呼ばれることもあります。
NATではIPアドレスを変換しただけですが、NAPTはポート番号も変換することで、複数のコンピュータの接続が可能になります。
なぜ、ポート番号の書換えが必要なのでしょうか?もしポート番号を書き換えずにNATと同じようにIPアドレスだけを変換するとどうなるのか見てみましょう。

①から③の流れはNATと同じですが、④で困ったことが発生します。PC2から返ってきたデータをルータは元のPCに返さないといけないのですが、複数のPCが繋がっているため、どのPCに返せばいいのか分かりません。
ではポート番号を変換すればどうなるでしょうか。それぞれのPCに対応したポート番号を用意しておきます。下図だと、PC1にはポート番号1080が割り当てられています。

②でデータを送る時に、送信元ポート番号をPC1に対応する1080に変換します。LAN外のPC2は③でポート番号1080にデータを返すので、④でPC1にデータを返せばよいことが分かります。
応用情報技術者試験での出題例
令和5年度秋期問32
応用情報技術者
午前試験 令和5年度秋期問32
プライベートIPアドレスを割り当てられたPCがNAPT(IPマスカレード)機能をもつルータを経由して,インターネット上のWebサーバにアクセスしている。WebサーバからPCへの応答パケットに含まれるヘッダー情報のうち,このルータで書き換えられるフィールドの組合せとして,適切なものはどれか。ここで,表中の〇はフィールドの情報が書き換えられていることを表す。

正解は”イ”
NAPTではルータはIPアドレスとポート番号を変換します。
・プライベートIPアドレス⇔グローバルIPアドレスを変換
・プライベートIPアドレスに対応したポート番号に変換
今、LAN外からLAN内のコンピュータに送られる時のことを聞かれているので、
宛先コンピュータのIPアドレスとポート番号が変換対象です。
よって答えはイです。
令和3年度秋期問33
応用情報技術者
午前試験 令和3年度秋期問33
PCが,NAPT(IPマスカレード)機能を有効にしているルータを経由してインターネットに接続されているとき,PCからインターネットに送出されるパケットのTCPとIPのヘッダのうち,ルータを経由する際に書き換えられるものはどれか。
ア 宛先のIPアドレスと宛先のポート番号
イ 宛先のIPアドレスと送信元のIPアドレス
ウ 送信元のポート番号と宛先のポート番号
エ 送信元のポート番号と送信元のIPアドレス
正解は”エ”
NAPTではルータはIPアドレスとポート番号を変換します。
・プライベートIPアドレス⇔グローバルIPアドレスを変換
・プライベートIPアドレスに対応したポート番号に変換
今、LAN内からLAN外のコンピュータに送られる時のことを聞かれているので、
送信元コンピュータのIPアドレスとポート番号が変換対象です。
よって答えはエです。