NATの仕組みを図解で説明
〜NATとNAPTの違い〜
「NAT」知っていますか?「NAPT」との違いを説明できますか?
どちらもアドレスを変換する技術、くらいの理解の人も多いと思います。
NATとNAPTの仕組みと違いについて、図を使って説明していきます。
NATとは?
NAT(Network Address Translation)は、プライベートIPアドレスとグローバルIPアドレスを変換する技術です。
主にルータが、この変換を行っています。
まずは、2種類のIPアドレスについて簡単に説明します。
プライベートIPアドレスとグローバルIPアドレス
IPアドレスには、「グローバルIPアドレス」と「プライベートIPアドレス」があります。
グローバルIPアドレスは、インターネットで使用するアドレスです。世界中で重複しないように管理されています。
プライベートIPアドレスは、家庭や会社のLANの中で自由に使用できるアドレスです。
プライベートIPアドレスの範囲は、次のように決まっています。
- 10.0.0.0 〜 10.255.255.255
- 172.16.0.0 〜 172.31.255.255
- 192.168.0.0 〜 192.168.255.255
自宅のパソコンのIPアドレスを確認すると、「192.168」で始まっていることが多いと思います。
ただし、プライベートIPアドレスのままではインターネットの相手と通信できません。
そこで、インターネットの出入り口にあるルータがアドレスを変換します。これがNATです。
NATの動き
NATは①〜④の流れで通信を行います。
①パソコンがWebサーバにデータを送信
②ルータが送信元をプライベートIPアドレスからグローバルIPアドレスに変換
③WebサーバがルータのグローバルIPアドレス宛に返信
④ルータが宛先をプライベートIPアドレスに戻してパソコンへ転送

この時ルータは、どのパソコンの通信を変換したのかを変換表に記録しています。
そのため、返ってきたデータを正しいパソコンに届けることができます。
ただし、NATは基本的にプライベートIPアドレスとグローバルIPアドレスを1対1で変換します。
グローバルIPアドレスが1つしかなければ、同時にインターネットへ接続できるパソコンは1台だけになってしまいます。
この問題を解決するのが、NAPTです。
NAPTとは?
NAPT(Network Address Port Translation)は、IPアドレスに加えてポート番号も変換する技術です。
ポート番号は、パソコンの中でどのアプリの通信かを見分けるための番号です。
このポート番号を使って見分けることで、1つのグローバルIPアドレスを複数のパソコンで共有できます。
Linuxでは、同じ仕組みを「IPマスカレード」と呼ぶこともあります。
NAPTの動き
パソコンA、Bの2台が、同じWebサーバに接続する場合を考えます。
①2台のパソコンが、それぞれ自分のポート番号でデータを送信
②ルータが送信元のIPアドレスを同じグローバルIPアドレスに変換し、ポート番号は重ならない番号に変換
③Webサーバが、ルータのグローバルIPアドレスとそれぞれのポート番号宛に返信
④ルータが変換表を見て、宛先を元のパソコンのIPアドレスとポート番号に戻して転送

図の例では、どちらのパソコンも送信元のポート番号は50000です。
ですが、ルータがポート番号を60001と60002に変換しているので、返信がどちらのパソコン宛か見分けることができます。
自宅のルータでも、スマホやパソコンを何台もインターネットに接続できています。
一般的に「NAT」と呼ばれていても、家庭用のルータで実際に動いているのはNAPTであることがほとんどです。
NATとNAPTの違い
2つの違いを簡単に説明すると、
・NATは、IPアドレスだけを変換する。基本は1対1
・NAPTは、IPアドレスとポート番号を変換する。複数台で共有できる
になります。

試験では、ポート番号まで変換するのがNAPTと覚えておけば迷いにくくなります。
外からの通信はどうなる?
NAPTでは、パソコンから通信を始めた時に変換表が作られます。
そのため、インターネット側からいきなりパソコンへ接続しようとしても、ルータはどのパソコン宛なのか分かりません。
外からの接続が届きにくいので、結果として家庭や会社のパソコンが守られている面もあります。
ただし、NATはセキュリティのための技術ではありません。ファイアウォールの代わりにはならないので注意してください。
内部のサーバを外部に公開したい場合は、ルータに転送のルールを設定します。これを「ポートフォワーディング」といいます。

図の例では、ルータの8080番ポートに届いた通信を、内部のサーバの80番ポートへ転送しています。
ポートフォワーディングで公開したサーバは、インターネットから攻撃を受ける可能性があります。公開する場合は、更新や認証などの対策を忘れないようにしましょう。
NATは他の技術にも影響しています。
FTPのアクティブモードは、サーバからクライアントへ接続するため、NATの環境でうまく動かないことがあります。詳しくはFTPの仕組みを図解で説明の記事で説明しています。
また、外から会社のパソコンに直接つながらない理由の1つもNATです。テレワークで会社に接続する仕組みは、テレワークはどうやって会社に繋がってるの?で説明しています。
まとめ
今回はNATとNAPTの仕組みと違いについて説明しました。
NATは、プライベートIPアドレスとグローバルIPアドレスを変換する技術です。NAPTは、そこにポート番号の変換を加えて、1つのグローバルIPアドレスを複数台で使えるようにした技術です。
少し難しく見えますが、普段のインターネットの通信でも当たり前に使われています。
基本情報技術者試験の勉強でも、ネットワークの分野を理解する上で大切な考え方になるので、しっかり押さえておきましょう。
自宅のルータの設定画面を見ると、グローバルIPアドレスやポートの転送の設定を確認できることがあります。一度見てみると、理解が深まると思います。
IPアドレスのネットワーク部とホスト部の考え方は、サブネットマスクの計算を図解で説明の記事で説明しています。


