IPアドレスとポート番号を組み合わせて複数端末で1つのグローバルアドレスを共有する変換方式。
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マスカレードは、NAPT とほぼ同じ仕組みを指す呼び方です。どちらもポート番号を併用して、複数の端末が1つのグローバルIPを共有します。主に Linux 系で「IPマスカレード」と呼ばれてきました。
混同しやすい「NAT」との違いもあわせて整理しておきましょう。
| 用語 | 変換するもの | 共有できる端末数 |
|---|---|---|
| NAT(基本) | IPアドレスのみ | 1IPにつき1端末(1対1) |
| NAPT | IP+ポート番号 | 1IPで多数(多対1) |
| IPマスカレード | IP+ポート番号 | NAPTとほぼ同じ(多対1) |
家庭用ルータが「1本の回線(1つのグローバルIP)に何台でもつなげる」のは、この NAPT/IPマスカレードのおかげです。IPアドレスに加えてポート番号も変換するという1点が、多くの端末を共有させる鍵だと覚えておきましょう。
インターネットで使われるグローバルIPアドレス(=インターネット上で世界に1つの住所)は、IPv4(=現在広く使われているIPアドレスの方式)では全部で約43億個しかありません。スマートフォンやタブレット、IoT機器(=インターネットにつながる家電・センサー等)が爆発的に増えた結果、2011年ごろにはIPv4のグローバルアドレスがほぼ枯渇しました。
この問題を緩和するために普及したのが、プライベートIPアドレスとNAPTの組み合わせです。仕組みを整理すると次のとおりです。
・プライベートIPアドレス(例:192.168.x.x):家や会社などの内部だけで使う住所。インターネットには出ないので何度でも使い回せる
・グローバルIPアドレス:外側(インターネット)では1個だけ持てばよく、NAPTで多数の端末が共有する
おかげで、家庭の複数のスマホやPCが1つのグローバルIPで同時にインターネットを使えています。これが「なぜ家のルータ1台でたくさんの端末をつなげるのか」の答えです。
NAPTが正常に動くのは、ルータが変換テーブル(=どの内側ポートをどの外側ポートに変換したかの対応表)を持つからです。テーブルがあるおかげで、インターネットから返ってきた応答を正しい端末に届けられます。
テーブルの役割は2段階あります。
・送信時(内→外):端末の「プライベート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に変換されて初めてインターネットに出ていけます。