「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Network Address Port Translation

pointこの用語のポイント

pointIPアドレスを変換する技術だよ

pointグローバルIPアドレスとプライベートIPアドレスを紐付けて変換するよ

pointポート番号を使って、1つのグローバルIPアドレスと複数のプライベートIPアドレスを紐付けるよ

point「NAPT」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

Network Address Port Translation(読:ネットワーク・アドレス・ポート・トランスレーション)とは

いわゆる「NAPT」のこと。
用語の中身としては

NAT(IPアドレスを紐付けて変換する技術)のパワーアップ版
であり

ポート番号(ネットワークとパソコンの間にあるドアの番号)を利用することで、1つのグローバルIPアドレス(全世界で通用するIPアドレス)と複数のプライベートIPアドレス(仲間内でのみ通用するIPアドレス)を紐付けて変換する技術
です。


image piyo

詳しく書くよ

最初に留意事項です。
NAPT(ナプト?)」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
NAPTの正式名称(?)が「Network Address Port Translation」です。
Network Address Port Translation」の頭文字を取ったのが「NAPT」ね。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)

※「Network Address Port Translation」を何となく日本語にすると「ネットワーク住所と港変換」となります。[詳細]

以上が「NAPT」の意味を知っている人向けの説明です。

「NAPTって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩3

それでは、いってみましょう。

分からないのを承知で書きますが、サクっと一言で説明すると

ネットワーク間のアドレスIPアドレスポートを変換する技術

が「Network Address Port Translation」です。
上でも書きましたが、一般的には「NAPT」と表現されます。
※本ページでも以降は「NAPT」と表現します。

NAPTを理解するためにはNATNetwork Address Translationを理解していると都合が良かったりします。
以下の用語の意味が分からない方は、そちらから お勉強してください。

IPアドレス
グローバルIPアドレス
プライベートIPアドレス
ポート
ポート番号
NAT


……と言いたいところですが「えー、そんなの面倒くさいよー!」な人のために簡単に書いておきましょうかね。
ずらずらっと一気にいきます。

IPアドレスは「ネットワーク上の住所」です。
インターネットっぽい通信において、送信先を特定するときとかに使う情報です。
「198.51.100.2」のような形式になっています。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)2

IPアドレスは2種類あります。
それは

1.全世界で通用するIPアドレス
2.仲間内でのみ通用するIPアドレス


の2つです。

この2種類のIPアドレスのうち

1.全世界で通用するIPアドレス

を「グローバルIPアドレス」と言います。

もう一方の

2.仲間内でのみ通用するIPアドレス

は「プライベートIPアドレス」です。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)3

ポートは「ネットワークからパソコンさんに お邪魔するときに通るドア」です。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)4

※話を単純化するために「パソコン」と書きましたが、その他のコンピュータ類でも同じです。

パソコンさんには番号を振られたドアが たくさん付いています。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)5

通信において、データを受け取るときは、ネットワークを通ってきたデータが、たくさんあるドアの どれかを通ってコンピュータに入ってきます。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)6

データを送るときは、コンピュータの中にあるデータが、たくさんあるドアの どれかを通ってネットワークの世界に出ていきます。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)7

コンピュータには たくさんのドアが付いています。
データの種類によって どのドアを通るか決まっている……こともあれば、決まっていないこともあります。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)8

例えば、インターネットのデータは80番のドアとか443番のドアを通ると決まっています。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)9

FTP(インターネットの線を使ってファイルをやり取りする仕組み)のデータは20番とか21番のドアを通ります。
ここでは便宜上、20番のドアを通ることにしておきましょう。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)10

telnet(他のコンピュータを遠隔操作するときに使う仕組み)のやり取りは23番のドアを使うことになっています。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)11

このように「○番のドアは××のデータが通るね」と用途が決まっているドアもあれば「△番のドアは使いたい人が好きに使いなよ」と用途が決まっていないドアもあります。

これらのドアがポートです。
コンピュータとネットワークの間にあるドアです。
ネットワークとコンピュータの間を行き来するデータが通ります。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)12

ポート番号は「ポートに割り振られた番号」です。

ポートの説明で

○番のドア

という表現が登場しました。
80番のドア、20番のドア、23番のドアなどですね。

これらのドア(ポート)に付いている番号がポート番号です。
ポートを識別するために割り振られた番号です。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)13

NATは「ネットワーク間のアドレス(IPアドレス)を変換する技術」です。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)14

「NAT」自体は2つのネットワーク間のIPアドレスを中継する技術を指す用語です。
ただし、インターネットの話で出てきたときは

グローバルIPアドレスとプライベートIPアドレスの変換をやる

と考えてください。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)15

例えば、そうですね。
プライベートIPアドレスが「192.168.0.2」のコンピュータが あったとします。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)16

このコンピュータは、そのままではインターネットが使えません。
プライベートIPアドレスは仲間内でしか通用しないからです。
他のネットワークの人は、返事をしようと思ったときに「ん?そこって どこ?」と途方に暮れてしまうでしょう。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)17

そこでインターネットをするときはプライベートIPアドレスグローバルIPアドレスに変換します。

最初の時点では差出人(返信先)プライベートIPアドレスで書かれています。
これをグローバルIPアドレスに変換して、相手に送るのです。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)18

これで相手も、どこに お返事を出せば良いか分かりますね。

逆に相手から返ってきたお返事はグローバルIPアドレス宛になっています。
これをプライベートIPアドレスに変換して、戻してやります。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)19

これがNATです。

ここまでを予備知識として、NAPTの説明をします。

ズバリ!

NATにポートの概念を持たせたパワーアップ版

がNAPTです。

NATは「Network Address Translation」の略です。
NAPTは「Network Address Port Translation」の略です。
名前からして、違いは「Port(ポート)」の有無ですよね。

NATの場合は、1つのグローバルIPアドレスで一度にインターネットができるのは1台だけです。
同時に2台以上のコンピュータでインターネットをすることは できません。

NAPTでは、ポートを あれやこれやすることで、1つのグローバルIPアドレスで同時に2台以上のコンピュータがインターネットを使えるようにします。

それを踏まえて、NAPTの仕組みを見ていきましょう。

例えば、そうですね。
プライベートIPアドレスが「192.168.0.2」のコンピュータが あったとします。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)20

このコンピュータは、そのままではインターネットが使えません。
プライベートIPアドレスは仲間内でしか通用しないからです。
他のネットワークの人は、返事をしようと思ったときに「ん?そこって どこ?」と途方に暮れてしまうでしょう。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)21

そこでインターネットをするときはプライベートIPアドレスグローバルIPアドレスに変換します。

最初の時点では差出人(返信先)プライベートIPアドレスで書かれています。
これをグローバルIPアドレスに変換して、相手に送るのです。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)22

これで相手も、どこに お返事を出せば良いか分かりますね。

逆に相手から返ってきたお返事はグローバルIPアドレス宛になっています。
これをプライベートIPアドレスに変換して、戻してやります。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)23

ここまではNATの説明と同じです。

さて、ここにプライベートIPアドレスが「192.168.0.3」のコンピュータが あったとしましょう。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)24

こいつも「192.168.0.2」のコンピュータと同じグローバルIPアドレスを使ってインターネットをしようとしました。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)25

おそらく、プライベートIPアドレスからグローバルIPアドレスへの変換は問題ありません。
「192.168.0.2」から「198.51.100.xxx」への変換と「192.168.0.3」から「198.51.100.xxx」への変換をやるだけです。

しかし逆は どうでしょうか?

「198.51.100.xxx」へ届いた お返事は「192.168.0.2」へ渡せば良いのでしょうか。
それとも「192.168.0.3」へ渡すべきでしょうか。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)26

分かりませんよね?

これがNATの限界でした。
複数台のコンピュータで同時にインターネットをしようとすると、返ってきたお返事グローバルIPアドレス宛)を どのコンピュータに届ければ良いのか(どのプライベートIPアドレスに変換すれば良いのか)分からなくなっちゃうのです。

さぁ、ここで、いよいよNAPTの登場です。

NAPTではポートも使います。

例えば「192.168.0.2」のコンピュータには100番ポートを割り当てたとしましょう。
相手先のコンピュータには「198.51.100.xxxの100番ポートに お返事をくださいね」と指定してやるのです。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)27

そうすると「192.168.0.2」のコンピュータとやり取りする相手は「198.51.100.xxx」の「100番」ポートに返事をくれます。
100番ポートを使っているのは「192.168.0.2」なので、この場合は「198.51.100.xxx」を「192.168.0.2」に変換すれば良いと分かります。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)28

一方「192.168.0.3」のコンピュータには200番ポートを割り当てるとします。
相手先のコンピュータには「198.51.100.xxxの200番ポートに お返事をくださいね」と指定してやるのです。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)29

そうすると「192.168.0.3」のコンピュータとやり取りする相手は「198.51.100.xxx」の「200番」ポートに返事をくれます。
200番ポートを使っているのは「192.168.0.3」なので、この場合は「198.51.100.xxx」を「192.168.0.3」に変換すれば良いですね。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)30

はい、これで区別が付くようになりました。
同じグローバルIPアドレス「198.51.100.xxx」宛のお返事でも、ポートが100番であれば「192.168.0.2」に、ポートが200番であれば「192.168.0.3」に書き換えれば問題なくやり取りできます。

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)31

この仕組みがNAPTです。
どのポートにお返事が届いたかで、どのコンピュータ宛のお返事かを判断します。

最後に、もう一度まとめておきますね。

前提として、NATはグローバルIPアドレスプライベートIPアドレスを変換する技術です。
コンピュータが1台のときは良いのですが、複数台になるとグローバルIPアドレスをどのプライベートIPアドレスに変換すれば良いか分からなくなります。
そこで、プライベートIPアドレスごとに使うポート番号を変更して、どのプライベートIPアドレスに変換すれば良いかをポート番号から判断できるようにしました。
この仕組みがNAPTです。
NATでは1つのグローバルIPアドレスを使えるのは1台のコンピュータ(1つのプライベートIPアドレスだけでしたが、NAPTでは1つのグローバルIPアドレスを複数台のコンピュータ(複数のプライベートIPアドレスで同時に使えます。

ちなみに、NATとNAPTを混同して表現している場合も たまにあるようです。
複数台のコンピュータで同時にインターネットをするときは「NAPT」の方だと思ってください。


image piyo2

一言でまとめるよ

まぁ「Network Address Port Translation」って単語が出てきたら「NAPT(1つのグローバルIPアドレスを複数台のコンピュータで使ってインターネットをするための技術)のことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像033
書籍画像039

おまけ

■訳してみるよ

「network(ネットワーク)」はカタカナで「ネットワーク」で分かりますかね。
「address(アドレス)」の意味は「住所」とかです。
「port(ポート)」の意味は「港」とか「港湾」とか「港町」とかです。
「translation(トランスレーション)」の意味は「翻訳」とか「変換」とか「移動」とかです。
何となく くっつけると

ネットワーク住所と港変換

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
おい点P、動くんじゃねえ!──ニガテ民のための算数と数学の本
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け