ネットワークのアドレス変換 (NATとNAPT)

ネットワークのアドレス変換のNAT、NAPT、ポートフォワードについてです。

目次

NAT

ネットワークアドレスの変換を行う技術です。
NATは、Network Address Translationの略です。

流れ

PCとサーバでNATを経由して送受信するときの概念図です。

  • ①と②は、PCからサーバへの送信時の流れで、送信元のプライベートIPアドレスをルーターのグローバルIPアドレスに変換します。
  • ③と④は、サーバからPCへの受信時の流れで、送信先のルーターのグローバルIPアドレスをプライベートIPアドレスに変換します。

NATの問題点

  • プライベートIPアドレスとグローバルIPアドレスが1対1で対応するためプライベートネットワークのPCが増えると対応できません。

NAPT

ネットワークアドレスの変換に加えてポート番号も変換する技術です。
NAPTは、Network Address Port Translationの略です。

送信

PCからサーバへNAPTを経由して送信するときの概念図です。

  • ①は、PCが2台ありそれぞれサーバにアクセスしに行きます。その際ポート番号が同じだったとします。
  • ②は、送信元のPC1とPC2のプライベートIPアドレスの変換とPC2の方のポート番号を変換しています。
  • サーバは、このIPアドレスとポート番号によってそれぞれのPCを判別できます。

受信

サーバからPCへNAPTを経由して接続するときの概念図です。

  • ③は、サーバが送信先に送信します。
  • ④は、ルーターがPCからサーバへ送信したときの送信元の情報(PCの情報)を覚えていてそのIPアドレスととポート番号に戻しています。

ポートフォワード

PCからサーバへポートフォワードで送信するときの概念図です。

  • ポートフォワードとは、ルータの転送設定のことです。
  • 特定のポート番号のときだけサーバ等に通信が届くようにルータに設定します。
  • プライベートネットワーク内にWebサーバなどを立てて外部に公開する場合などで使用します。

関連の記事

メールを送受信するプロトコル (SMTP/POP/IMAP)
Webサーバに接続するまでの流れとポート番号
DNSの仕組み
L2スイッチとL3スイッチの違い
MACアドレスを取得するプロトコル (ARP)
インターネットVPNとIP-VPN
プロキシサーバとリバースプロキシサーバの違い
使用しているネット環境
PHP セッションのサンプル
PHP クッキーのサンプル
「HTTPリクエスト」と「HTTPレスポンス」



△上に戻る