FE EXAM

NAPT(IPとポートの変換)

IPアドレスとポート番号を組み合わせて複数端末で1つのグローバルアドレスを共有する変換方式。

INTERACTIVE VISUALIZATION
端末A
端末B
NAPTルータ
フェーズ
idle
共有グローバルIP
203.0.113.7
変換テーブルの行数
0
シナリオ
ステップ1 / 6
STEP 1/6通信を始める前家庭やオフィスの中(内側)には、端末A・端末BがそれぞれプライベートIPアドレスを持っています。プライベートIP=組織の中だけで使える住所で、そのままではインターネット(外側)に出られません。外に出るための共有のグローバルIPは 203.0.113.7 の1つだけです。これを2台で分け合います。
内側(プライベート)外側(インターネット)端末A192.168.1.10端末B192.168.1.11NAPTルータ203.0.113.7Webサーバ93.184.216.34
NAPT 変換テーブル
内側 IP:ポート(プライベート)外側 IP:ポート(グローバル)
(まだ通信していません)
同じグローバルIP(203.0.113.7)でも、ポート番号(:40001 / :40002)で端末を見分けています。
解説

📌
NAPTとは

端末A端末BNAPT203.0.113.7ネット

NAPT(Network Address Port Translation)とは、IPアドレスとポート番号を組み合わせて複数端末で1つのグローバルアドレスを共有する変換方式です。グローバルIP=インターネット上で世界に1つの住所、ポート番号=1つのIPの中で通信を区別する番号、のことです。

身近な例で考えると、大きなマンションの代表電話+内線番号に似ています。外から見える電話番号(グローバルIP)は1つでも、内線番号(ポート番号)で「どの部屋の誰あてか」を見分けられます。これで多くの住人が1本の代表番号を共有できます。

世界中で使えるグローバルIPアドレスは数に限りがあります。NAPT は少ないグローバルIPを大勢で分け合うための工夫です。上のツールで▶ボタンを押すと、2台の端末が同じグローバルIPを共有して通信する流れを確認できます。

🔀
ポート併用の仕組み

NAPT のポイントは、IPアドレスだけでなくポート番号もいっしょに書き換えて記録することです。仕組みは次のように進みます。


① 内→外の書き換え:端末の「プライベートIP:ポート」を「共有グローバルIP:別ポート」に変換して送り出す
② テーブルに記録:どの内側をどの外側ポートに変えたかを変換テーブルに残す
③ 外→内の逆変換:応答の宛先ポート番号でテーブルを逆引きし、正しい端末に届ける

同じグローバルIP宛に応答が返ってきても、ポート番号が違えば別の通信と分かります。ポート番号は6万通り以上あるので、たくさんの端末・たくさんの通信を1つのグローバルIPでさばけます。上のツールの変換テーブルで、IPは同じでもポートで端末を見分けている様子を確認できます。

⚖️
IPマスカレードとの関係

IPマスカレードは、NAPT とほぼ同じ仕組みを指す呼び方です。どちらもポート番号を併用して、複数の端末が1つのグローバルIPを共有します。主に Linux 系で「IPマスカレード」と呼ばれてきました。

混同しやすい「NAT」との違いもあわせて整理しておきましょう。

用語変換するもの共有できる端末数
NAT(基本)IPアドレスのみ1IPにつき1端末(1対1)
NAPTIP+ポート番号1IPで多数(多対1)
IPマスカレードIP+ポート番号NAPTとほぼ同じ(多対1)

家庭用ルータが「1本の回線(1つのグローバルIP)に何台でもつなげる」のは、この NAPT/IPマスカレードのおかげです。IPアドレスに加えてポート番号も変換するという1点が、多くの端末を共有させる鍵だと覚えておきましょう。

📌
なぜNAPTが必要になったのか

グローバルIPアドレスの枯渇問題IPv4 グローバルIP の総数2^32 ≒ 43億個世界の機器数が激増スマホ・IoTなどNAPTで共有1IPで多数の機器→ プライベートIP + NAPT で枯渇を緩和

インターネットで使われるグローバルIPアドレス(=インターネット上で世界に1つの住所)は、IPv4(=現在広く使われているIPアドレスの方式)では全部で約43億個しかありません。スマートフォンやタブレット、IoT機器(=インターネットにつながる家電・センサー等)が爆発的に増えた結果、2011年ごろにはIPv4のグローバルアドレスがほぼ枯渇しました。

この問題を緩和するために普及したのが、プライベートIPアドレスとNAPTの組み合わせです。仕組みを整理すると次のとおりです。
プライベートIPアドレス(例:192.168.x.x):家や会社などの内部だけで使う住所。インターネットには出ないので何度でも使い回せる
グローバルIPアドレス:外側(インターネット)では1個だけ持てばよく、NAPTで多数の端末が共有する

おかげで、家庭の複数のスマホやPCが1つのグローバルIPで同時にインターネットを使えています。これが「なぜ家のルータ1台でたくさんの端末をつなげるのか」の答えです。

📌
変換テーブルが「記録係」になる理由

送信(内 → 外)A:192.168.1.10:50001NAPT203.0.113.7:40001変換テーブル(記録)192.168.1.10:50001 ↔ :40001返信(外 → 内)宛先 :40001逆引き端末Aに届く

NAPTが正常に動くのは、ルータが変換テーブル(=どの内側ポートをどの外側ポートに変換したかの対応表)を持つからです。テーブルがあるおかげで、インターネットから返ってきた応答を正しい端末に届けられます。

テーブルの役割は2段階あります。
送信時(内→外):端末の「プライベートIP:ポート」を「グローバルIP:別ポート」に変換し、その対応をテーブルに記録する
受信時(外→内):返ってきた応答の宛先ポートでテーブルを逆引きし、どの端末に渡せばよいかを特定して届ける

宅配業者の仕分けセンターに例えると、送り状(変換テーブル)に「外向けの荷物番号(外側ポート)と内側の配達先(内側IP:ポート)」が書いてあるため、返送荷物が届いたときに正しい部屋へ届けられるイメージです。上のツールの変換テーブルで、ポート番号ごとに端末が振り分けられる様子を確認してみてください。

📌
プライベートIPアドレスの範囲

プライベートIPアドレス(=組織・家庭内だけで使える住所)には、インターネット上では使用しない範囲として以下の3種類が予約されています。

クラスアドレス範囲台数の目安主な用途
A相当10.0.0.0 〜 10.255.255.255約1677万台大企業・データセンター内
B相当172.16.0.0 〜 172.31.255.255約104万台中規模ネットワーク
C相当192.168.0.0 〜 192.168.255.255約65536台家庭・小規模オフィス

家庭でよく見かける 192.168.1.x は最下段の「C相当」にあたります。これらの範囲はインターネット上では使われない(ルーティングされない)と決まっているため、異なる家庭や会社が同じ 192.168.1.1 というアドレスを使っていてもお互いに干渉しません。NAPTによってグローバルIPに変換されて初めてインターネットに出ていけます。

練習問題

🎯
基本情報技術者 練習問題

Q1.NAPTの説明として最も適切なものはどれか。
A.IPアドレスとポート番号を組み合わせて複数端末で1つのグローバルアドレスを共有する変換方式
B.ドメイン名をIPアドレスに変換する方式
C.IPアドレスを自動で割り当てる方式
D.メールをサーバから受信する方式
Q2.NAPTが複数端末を同じグローバルIPで区別できる理由として正しいものはどれか。
A.MACアドレスを書き換えるから
B.端末ごとに異なるポート番号を割り当てて管理するから
C.端末ごとに別のグローバルIPを使うから
D.DNSが端末を振り分けるから
Q3.IPマスカレードとNAPTの関係として正しいものはどれか。
A.まったく無関係の別技術である
B.IPマスカレードはNAPTとほぼ同じ仕組みを指す呼び方である
C.IPマスカレードはメール送信プロトコルである
D.IPマスカレードはポート番号を使わない

関連コンテンツ

NAPT | Vizigo