この記事ではグローバルIPアドレスとプライベートIPアドレス、NATとNAPT(IPマスカレード)について解説します。
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アドレス、NATとNAPTに関する問題が出題されます。是非最後までご覧ください。
IPアドレスはネットワークの住所
現実世界の住所のように、インターネットに接続している全てのコンピュータにはIPアドレスが割り当てられています。IPアドレスはコンピュータを識別するために使うものなので、重複はありません。
現実世界で郵便物を届ける時に住所を使うように、インターネットの世界でデータを届ける時はIPアドレスを使ってどのコンピュータに送ればいいのかを判断します。
グローバルIPアドレスとプライベートIPアドレス
IPアドレスにはグローバルIPアドレスとプライベートIPアドレスがあります。
グローバルIPアドレスは、インターネットの世界で使われるIPアドレスで、
プライベートIPアドレスは、LAN内で使われる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はIPアドレスに追加でポート番号も変換することで、複数のコンピュータの接続が可能になります。
なぜ、ポート番号の書換えが必要なのでしょうか?もしポート番号を書き換えずにNATと同じようにIPアドレスだけを変換するとどうなるのか見てみましょう。
①から③の流れはNATと同じですが、④で困ったことが発生します。
PC2から返ってきたデータをルータは元のPCに返さないといけないのですが、
複数のPCが繋がっているため、どのPCに返せばいいのか分かりません。
ではポート番号を変換すればどうなるでしょうか。
②でデータを送る時に、送信元ポート番号をPC1に対応する1080に変換します。
こうすることで、LAN内のどのコンピュータにデータを返せばいいのかが分かるようになります。
応用情報技術者試験での出題例
令和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アドレスとポート番号が変換対象です。
よって答えはエです。