NAT/NAPTとは?IPアドレス変換の仕組みを初心者向けに解説
家庭や会社のネットワークでは、端末に 192.168.x.x などのプライベートIPアドレスが設定されていることがあります。
しかし、プライベートIPv4アドレスはそのままインターネット上で経路制御されるアドレスではありません。
そこで登場するのがNATやNAPTです。
NATとは?
NATは Network Address Translation の略です。
簡単にいうと、IPアドレスを別のIPアドレスへ変換する仕組みです。
たとえば内部ネットワークのプライベートIPアドレスと、外部ネットワークで利用するグローバルIPアドレスを変換できます。
PC
192.168.1.10
|
v
NAT
|
v
203.0.113.10
|
インターネット
203.0.113.0/24 は文書や説明用に予約されているアドレス帯を使った例です。
なぜNATが使われるの?
IPv4では利用できるアドレス数に限りがあります。
組織や家庭の内部ではプライベートIPアドレスを利用し、外部との通信時にアドレス変換を行うことで、限られたグローバルIPv4アドレスを活用できます。
NAPTとは?
NAPTは Network Address Port Translation の略です。
IPアドレスだけでなく、TCPやUDPのポート番号も利用して変換する仕組みです。
複数の内部端末が、1つのグローバルIPv4アドレスを共有して外部へ通信する構成でよく利用されます。
PC-A 192.168.1.10:50001 --+
|
PC-B 192.168.1.20:50002 --+--> NAPT --> 203.0.113.10
|
PC-C 192.168.1.30:50003 --+
変換後のポート番号などを使って、それぞれの通信を区別します。
NATとNAPTの違い
初心者向けに整理すると次のようになります。
| 項目 | NAT | NAPT |
|---|---|---|
| 主な変換対象 | IPアドレス | IPアドレスとポート番号 |
| 複数端末で1つの外部IPv4アドレスを共有 | NATの方式による | 代表的な用途 |
| 家庭用ルーターでよく見る方式 | 関連する概念 | よく利用される |
日常的にはNAPTを含めて広い意味で「NAT」と呼ばれることもあります。
ポート番号とは?
1台のコンピューターでは複数のアプリケーションが同時に通信します。
TCPやUDPでは、通信するアプリケーションを識別するためにポート番号を利用します。
NAPTでは、このポート番号も利用して複数の通信を区別します。
内側から始めた通信はどう戻ってくる?
NAPTを行う機器は、内部と外部の通信の対応関係を管理します。
そのため、内部端末から開始した通信への応答を、対応する端末へ戻せます。
概念的には、
内部 外部
192.168.1.10:50001 <--> 203.0.113.10:40001
192.168.1.20:50002 <--> 203.0.113.10:40002
のような対応を管理します。
外部から内部へ通信したい場合
外部から内部のサーバーへ新しく通信を開始したい場合には、静的NATやポートフォワーディングなど、目的に応じた設定が必要になることがあります。
ただし、インターネットへサービスを公開するときはセキュリティ設計も重要です。
NATはFirewallと同じ?
NATとFirewallは別の機能です。
NATの主目的はアドレスなどの変換です。
Firewallは通信を許可・拒否するなど、通信制御を行う仕組みです。
家庭用ルーターなどでは両方の機能が同じ機器に搭載されていることがあるため、混同しないようにしましょう。
IPv6では?
IPv6はIPv4より非常に大きなアドレス空間を持っています。
そのため「IPv4アドレス不足を補うためにNAPTで多数の端末が1つのアドレスを共有する」という事情はIPv6では異なります。
IPv6でもアドレス変換に関する技術は存在しますが、IPv4のNAT/NAPTと同じ前提で考えないことが大切です。
🍯 はちみつメモ
今日覚えることは1つだけ!
NAT = IPアドレスを変換する仕組み
NAPT = IPアドレスに加えてポート番号も利用して変換する仕組み
まとめ
- NATはNetwork Address Translationの略
- IPアドレスを別のIPアドレスへ変換する
- NAPTではIPアドレスとポート番号を利用する
- NAPTにより複数端末が1つのグローバルIPv4アドレスを共有できる
- NAT/NAPTとFirewallは別の機能
- 外部から内部へ通信させる場合には追加設定が必要になることがある
次におすすめ
次は**「Firewallとは?」**を学びます。