PAT(Port Address Translation)とは、TCP(UDP)/IPパケットに含まれるIPアドレスとポート番号を、別のIPアドレスとポート番号に変換する技術です。一般にはNAPT(Network Address Port Translation)またはIPマスカレードと呼ばれます。ベンダごとに異なる名前がつけられていて、PATはCisco SystemsではPATとよんでいます。
PAT(NAPT)はIPアドレス変換技術であるNAT(Network Address Translation)がさらに発展したものだといえます。
NATは、IPパケットのヘッダに含まれるIPパケットのアドレスを、別のIPパケットのアドレスに変換する技術です。IPv4のアドレス枯渇問題を緩和するために、一般に組織内の端末はプライベートIPアドレスを割り当てられますが、組織外のサーバ等とインターネット経由で通信を行う際にはグローバルIPアドレスを使用する必要があります。この時、プライベートIPアドレスとグローバルIPアドレスとの変換を行うのがNATです。しかしNATはアドレス変換を1対1で行うため、複数端末からの通信を同時に扱うことができません。この問題を解決するために登場したのがPAT(NAPT)です。
PATでは、プライベートIPアドレスを割り当てられた端末からパケットを受け取ると、送信元のIPアドレスをグローバルIPアドレスに変換すると共に、送信元のポート番号も変更し、変更前後の対応情報を記録した上で、インターネット上のサーバへと送り出します。サーバからの返信は、この変更後のIPアドレスとポート番号宛に送られてきます。PATは記録した情報にもとづき、元のプライベートIPアドレスとポート番号を復元し、送信元の端末に返信パケットを渡します。
PATでポート番号を変更するのは、変更後のポート番号によって、変更前のプライベートIPアドレスを識別するためです。PAT経由で複数の端末が同時に通信を行った場合、外部に対する送信元IPアドレスは同一のグローバルIPアドレスになりますが、ポート番号は端末毎に異なります。これで端末の識別を行うことで、複数端末の同時通信が可能になります。
現在ではPAT/NAPTも含め、NATと総称することが多くなっています。なおNATは内部ネットワークを外部から隠蔽する効果もあるので、ネットワークを分割しフィルタ効果によるセキュリティが期待されていたことがあります。トンネリングによるEnd to Endを接続する各種技術もあるので、NATがセキュリティの脅威の対応に万全であるということではありません。