ネットビギナーガイド

NAT と NAPT の違い|プライベート IP がインターネットに出られる仕組み

NAT と NAPT の違いを一言で: NAT は「IP アドレスだけを変換」、NAPT は「IP アドレス + ポート番号を変換」する仕組み。家庭の WiFi ルーターが使っているのは正確には NAPT(別名: IP マスカレード)です。

なぜ IP アドレスを変換する必要があるのか

インターネットには「グローバル IP アドレス」という世界で唯一の住所が必要です。 しかしグローバル IP は数が限られており、家庭の各端末ごとに割り当てることはできません。

そこで考えられたのが「家の中ではプライベート IP(誰でも自由に使える IP)を使い、外に出るときだけグローバル IP に変換する」という仕組みです。これが NAT/NAPT です。

[家の中]                              [外]
PC      192.168.1.10                
スマホ  192.168.1.11    ←→ ルーター ←→ インターネット
TV      192.168.1.12   (プライベート IP → グローバル IP に変換)
NAS     192.168.1.13                

NAT(基本形)

NAT(Network Address Translation) は、プライベート IP とグローバル IP を 1 対 1 で対応させる方式 です。

社内 192.168.1.10  ⇔  グローバル 203.0.113.5
社内 192.168.1.11  ⇔  グローバル 203.0.113.6
社内 192.168.1.12  ⇔  グローバル 203.0.113.7

各端末ごとに異なるグローバル IP が必要なため、グローバル IP の節約にはなりません。 そのため家庭で使われることはほぼなく、企業の特定用途で使われる程度です。

NAPT(家庭で使われる方式)

NAPT(Network Address Port Translation) は、IP アドレスに加えて ポート番号も変換する方式 です。 ポート番号によって複数の端末を区別するため、1 つのグローバル IP を複数の端末で共有できます

IP マスカレード」や「PAT(Port Address Translation)」と呼ばれることもあります。

PC     192.168.1.10:5000  ⇔  203.0.113.5:20001
スマホ 192.168.1.11:5000  ⇔  203.0.113.5:20002
TV     192.168.1.12:5000  ⇔  203.0.113.5:20003

ポート番号で区別することで、1 つのグローバル IP を多数の端末で共有できます。 家庭の WiFi ルーター・モバイル回線のほぼすべてが NAPT を使っています。

NAT(NAPT)の動作例

家庭の PC が Google にアクセスする場合の流れ:

[1] PC が「google.com に接続したい」と送信
    送信元: 192.168.1.10:54321
    宛先: 142.250.196.78:443

[2] ルーターが NAPT 変換
    送信元: 203.0.113.5:60001 (ルーターのグローバル IP)
    宛先: 142.250.196.78:443
    → ルーターの内部テーブルに対応関係を記録
       192.168.1.10:54321 ⇔ 203.0.113.5:60001

[3] Google からの応答が届く
    宛先: 203.0.113.5:60001
    
[4] ルーターがテーブルを引いて変換
    宛先: 192.168.1.10:54321 へ転送

ルーターは「どの端末がどの通信をしているか」をテーブルで記憶し、戻ってきたパケットを正しい端末に届けています。

NAPT のメリット

グローバル IP を節約できる

家庭の数百〜数千台の端末が、たった 1 つのグローバル IP を共有できます。

簡易ファイアウォール効果

NAPT のテーブルにない通信は、ルーターから内側の端末に届きません。 これは結果的に「外からの不正アクセスを遮断する」効果になります。 完全なファイアウォールではありませんが、家庭で守られる最低限のセキュリティとして機能しています。

NAPT のデメリット

外部から個別の端末にアクセスしにくい

家庭の PC・NAS に外部からアクセスしたい場合(自宅サーバー・リモート接続)、NAPT がそのまま外からの接続を遮断します。 これを通すには ポート開放(ポートフォワーディング) という設定が必要です。

→ 詳しくはポート開放のやり方を参照

ピアツーピア通信の難しさ

VoIP(IP 電話)・オンラインゲーム・P2P アプリケーションは、NAPT 越しの通信に工夫が必要になることがあります。 UPnP という仕組みで自動的に設定する方法もありますが、機種によっては手動でポート開放する必要があります。

IPv6 では不要

IPv6 はアドレス数が事実上無制限のため、すべての端末に個別のグローバル IP を割り当てられます。 NAPT が不要になることで、ピアツーピア通信が大幅に簡単になります。

NAPT セッションテーブルの注意点

家庭のルーターは NAPT のテーブルを限られたメモリで管理しているため、 同時に発生する通信が多すぎる とテーブルが溢れて通信が不安定になることがあります。

  • IoT 機器を大量に接続している
  • P2P 系のアプリで多くの通信が発生している

といった環境で速度低下や接続切れが起きる場合、ルーター本体の性能(同時セッション数)が原因のことがあります。 新しいルーターほど大きなテーブルを持っているため、買い替えで改善することもあります。

よくある質問

Q. プライベート IP に使える範囲は?

A. RFC 1918 で次の範囲が定義されています。

  • 10.0.0.0 〜 10.255.255.255
  • 172.16.0.0 〜 172.31.255.255
  • 192.168.0.0 〜 192.168.255.255

家庭では「192.168.x.x」が多く使われ、企業の大規模ネットワークでは「10.x.x.x」が使われる傾向があります。

Q. 二重 NAT とは?

A. ルーターが 2 段階で NAPT を行う構成です。 HGW(NTT のホームゲートウェイ)と市販ルーターを両方ルーターモードで使っている場合に発生します。通信に問題が出ることがあるため、市販ルーターはブリッジモードにするのが一般的です。

→ 詳しくはHGW の機能解説を参照

まとめ

  • NAT: IP アドレスだけを変換する。家庭ではほぼ使われない
  • NAPT(IP マスカレード): IP + ポート番号を変換する。家庭・モバイルで使われる主流
  • グローバル IP を節約でき、簡易ファイアウォール効果もある
  • 外部から内部に接続したい場合はポート開放が必要

関連記事

関連記事