[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

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

NAPT

pointこの用語のポイント

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

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

pointポート番号を利用することで、1つのグローバルIPアドレスと複数のプライベートIPアドレスを紐付けられるよ

スポンサーリンク

簡単に書くよ

NAPTとは

ポート番号を利用することで、1つのグローバルIPアドレスと複数のプライベートIPアドレスを紐付けて変換する技術
です。

image piyo

詳しく書くよ

Network Address Port Translation(ネットワーク・アドレス・ポート・トランスレーション)」の略で「NAPT」です。
その名の通りネットワーク間のアドレス(IPアドレス)とポートを翻訳(変換)する技術を指します。

NAPTを理解するためにはNATを理解していると都合が良いです。
IPアドレス」「ポート」「グローバルIPアドレス」「プライベートIPアドレス」「NAT」辺りの用語の意味が分からない方は、まずそちらからお勉強してください。

「えー、そんなん面倒くさいよー」な人のために簡単に書いておくと、IPアドレスはインターネットをするときにコンピュータに割り当てられる住所、ポートはネットワークからパソコンさんにお邪魔するとき通るドア、グローバルIPアドレスは全世界で通用するIPアドレス、プライベートIPアドレスは仲間内でのみ通用するIPアドレス、NATはグローバルIPアドレスとプライベートIPアドレスを紐付けて変換する技術です。

ここまでを予備知識として、NATにポートの概念を持たせたパワーアップ版がNAPTです。1つのグローバルIPアドレスを使って複数台のコンピュータで同時にインターネットをすることができるようになります。

それではNAPTの仕組みを見ていきましょう。

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

NAPT

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

NAPT2

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

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

NAPT3

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

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

NAPT4

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

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

NAPT5

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

NAPT6

恐らくプライベート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」へ届けるべきでしょうか。

NAPT7

分かりませんよね?

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

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

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

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

NAPT8

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

NAPT9

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

NAPT10

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

NAPT11

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

NAPT12

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

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

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

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

image piyo2

一言でまとめるよ

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

一番上に戻るよ
スポンサーリンク