【なっと】

NAT とは?

最終更新:
💡 通信の住所を置き換える仕組み

ネットワークを通るパケットのIPアドレスを変換する技術。プライベートIPv4と外部向けのアドレスの対応づけなどに使う。ポートも扱うNAPTでは、複数の機器が一つの外部アドレスを共有できる。

📌 このページのポイント
NAPT:アドレスとポートを対応づける LAN内 NAPTルーター 外部 アドレスと ポートを変換 外向きIP 203.0.113.1 接続先 サーバー 10.0.0.2 ポート 41000 10.0.0.3 ポート 41000 仮のTCP通信の対応表 LAN内の送信元 外向きの送信元 10.0.0.2:41000 203.0.113.1:50001 10.0.0.3:41000 203.0.113.1:50002 戻りの通信は対応をたどって元の機器へ
NATのうち、複数機器で外部アドレスを共有するNAPTの例。矢印は送信と戻りの通信、表の矢印は送信元の変換。203.0.113.1は文書用アドレスで、実際に接続する宛先ではない。Basic NATはIPだけを変換する。対応や通信の許可は方式・設定で変わる。
ひよこ ひよこ
NATは何を変換しているの?
ペンギン先生 ペンギン先生
パケットに書かれたIPアドレスだよ。たとえばLANのプライベートIPv4を外部向けのアドレスに対応づける。IPだけを扱うBasic NATと、ポート番号なども扱うNAPTがあるので、NATは必ず複数台を一つのIPにまとめる、という定義ではないんだ。
ひよこ ひよこ
NAPTって何?
ペンギン先生 ペンギン先生
Network Address Port Translationで、ポートも扱う方式だよ。図の仮のTCP通信では、PCとスマホの送信元を203.0.113.1の別々のポート50001/50002へ対応づける。戻りの通信も対応を使って元の機器へ届ける。203.0.113.1は説明用アドレスだよ。
ひよこ ひよこ
外からLANへは接続できないの?
ペンギン先生 ペンギン先生
動的な変換では、外から新しく始める通信に対応がなくて、届かない場合があるよ。ただし静的な対応やポート転送などを設定する方式もある。NATを置けば外部からの接続をすべて拒否できる、というわけではなく、ファイアウォールの許可ルールも別に考えるんだ。
ひよこ ひよこ
IPv6なら問題は全部解決する?
ペンギン先生 ペンギン先生
アドレスを共有するためのIPv4 NATを使わずに、端末へ外部向けアドレスを割り当てる構成にできるよ。でも経路やファイアウォールなどの設定は必要で、外部からの通信が自動的に可能・安全になるわけではない。NATが原因の問題と、それ以外を分けて考えよう。
ひよこ ひよこ
クラウドのNAT Gatewayとは?
ペンギン先生 ペンギン先生
たとえばAWSのPublic NAT Gatewayは、プライベートサブネットからインターネットへ接続し、外から勝手に始まる接続は受け付けないサービスだよ。経路やInternet Gatewayなどの設定も必要。Private NAT Gatewayは別のネットワークとの連携用なので、同じ名前でもインターネット向けとは限らないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「NAT」って出てきたら「通信するパケットのIPアドレスを変換する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Network Address Translation」 = ネットワークアドレス変換
💬 ネットワークのAddress(アドレス)をTranslation(変換)する技術だよ

参考資料

← 用語集にもどる