NAPT(Network Address Port Translation)、別名PAT(Port Address Translation)は、ネットワークアドレス変換(NAT)の一種で、多くのローカルIPアドレスを1つまたは少数のグローバルIPアドレスにマッピングする技術です。インターネット上でのIPアドレスの枯渇を防ぐために使用されています。
基本的な動作原理:
- アドレスとポートの変換:
NAPTは、送信元ホストのプライベートIPアドレスと送信元ポート番号を、ルータやファイアウォールのグローバルIPアドレスと新しいポート番号に変換します。 - セッションベースの変換:
各アウトバウンドセッションに対して、一意のソースポート番号が割り当てられます。これにより、インバウンドトラフィックがどの内部デバイスにルーティングされるべきかを識別することができます。 - トラフィックのトラッキング:
NATテーブルがトラフィックを追跡し、インバウンドパケットを正しい内部デバイスに転送するために使用されます。このテーブルには、元のIPアドレスとポート番号、変換後のIPアドレスとポート番号が記録されています。
主な利点:
- IPアドレスの節約:
多くのデバイスを少数のパブリックIPアドレスでインターネットに接続することが可能です。 - セキュリティ:
内部ネットワークの構造が外部からは見えにくくなり、セキュリティが向上します。 - 柔軟性:
内部ネットワークの構成を変更しても、外部IPアドレスは変わらないため、外部との接続性を維持できます。
注意点:
- エンドツーエンドの接続性の問題:
NAPTを使用すると、エンドツーエンドの接続性が損なわれる場合があります。特定のアプリケーションやプロトコル(例えば、IPsecやVoIP)がNATを通過する際に問題を抱えることがあります。 - ポート番号の枯渇:
使用可能なポート番号が65535に限られているため、非常に多くの内部ホストが同時にインターネット接続を行う場合、ポート番号が不足する可能性があります。 - 追跡とログの困難:
複数のデバイスが同一の公開IPアドレスを共有しているため、個々のデバイスによる通信を追跡することが困難になることがあります。
NAPTは、IPv4アドレスが限られている現在のインターネット環境において、家庭や小規模オフィスのネットワークで広く利用されています。IPv6への移行が進むと、NAPTの必要性は減少すると予測されていますが、現時点では重要な技術の一つです。