ネットワークアドレスポート変換(NAPT)
NAPT(ネットワークアドレス・ポート変換)とは?
NAPTは「Network Address Port Translation」の略で、TCP(またはUDP)/IPパケットに含まれるIPアドレスとポート番号を、別のIPアドレスとポート番号に変換する技術です。IPマスカレードとも呼ばれ、IPアドレス変換技術であるNAT(Network Address Translation)を発展させたものと考えられます。
NATは、IPパケットのヘッダーに含まれるIPアドレスを別のアドレスに変換する技術です。一般に、IPv4アドレスの枯渇問題に対処するために導入されたプライベートIPアドレスを割り当てられた内部デバイスが、共有グローバルIPアドレスを使用してインターネット経由で外部サーバーと通信できるようにするために使用されます。ただし、NATは1対1のアドレスマッピングにしか対応していないため、複数のデバイスによる同時通信を処理できません。この制約に対処するために開発されたのがNAPTです。
NAPTは、プライベートIPアドレスが割り当てられたデバイスからパケットを受信すると、送信元IPアドレスをグローバルIPアドレスに変換し、送信元ポート番号を変更します。変換前と変換後のアドレスの対応関係を記録してから、パケットをインターネットに転送します。サーバーからの応答は、変換後のIPアドレスとポート番号宛てに送信されます。NAPTはこれらを元のプライベートIPアドレスとポート番号に対応付け、送信元のデバイスにパケットを転送します。ポート番号を変更することで、NAPTは異なるプライベートIPアドレスを識別できます。その結果、複数のデバイスがそれぞれのポート番号によって一意に識別され、同じグローバルIPアドレスを使用して同時に通信できます。
現在では、「NAT」という用語がNAPTも含む総称として使われることがよくあります。NAPTには、プライベートネットワークを外部から隠すことで、ネットワークをある程度秘匿する効果がありますが、完全に信頼できるセキュリティソリューションではありません。包括的なセキュリティ脅威に効果的に対処するには、トンネリングやエンドツーエンドの技術も必要です。
