最終更新:
NATの仕組み ― 家のルーターはどうやってIPアドレスを変換しているのか
NAPT:外側IPをポートで共有
どうして住所を共有する必要があるの?
返事が来たら、どっちの端末へ戻すか迷わない?
ルーターが変換の対応を記録するんだ。図ではスマホとPCの通信を外側の異なるポートへ対応付けているよ。戻ってきた通信を対応表と照合して、元の宛先へ書き換える。実際の照合条件にはプロトコルや相手側も関わるよ。
送信元を書き換えるのと、宛先を書き換えるのは別なの?
オンライン通話では、端末同士でつなぐのが難しくならない?
プロバイダ側でも変換していることがあるの?
NATがあれば安全、というわけではないんだね?
変換表を一行ずつ追ってみよう
図はTCP通信のNAPTを簡略化した例です。スマホの 192.168.1.10:50000 を、ルーターの外側では 203.0.113.1:30001 として送る、と考えます。外側の同じIPでも、PCの通信には別のポートを対応付けられます。
| 端末側の送信元 | 外側の送信元(例) |
|---|---|
| スマホ:192.168.1.10:50000 | 203.0.113.1:30001 |
| PC:192.168.1.20:50001 | 203.0.113.1:30002 |
203.0.113.1 は説明用のアドレスです。番号は実際の家庭に固定で使われる値ではありません。返事を戻すには対応する変換状態が必要で、タイムアウトなどで消えることもあります。プロトコルや相手側を含む詳しい対応・フィルタリングは機器の方式によって異なります。
接続トラブルを調べるなら、まず「端末のアドレス」「ルーターの外側のアドレス」「プロバイダ側の変換の有無」を分けて確認しましょう。次はIPv4とIPv6の比較とファイアウォールの仕組みで、それぞれの役割を整理できます。