IPマスカレード(NAPT)とは?
IPマスカレード、またはNAPT(Network Address Port Translation)とは、プライベートIPアドレスと公開IPアドレスを相互に変換する技術です。プライベートIPアドレスは、インターネット上で一意になる必要がなく、ローカルネットワーク内でのみ有効です。しかし、公開IPアドレスはインターネット上で一意でなければなりません。NAPTを使用することで、複数のホストが1つの公開IPアドレスを共有することができます。
NAPTの基本概念
NAPTを理解するためには、以下の3つの基本概念を押さえておく必要があります。
- プライベートIPアドレス:ネットワーク内のコンピューターに割り当てられるローカルIPアドレス。
- グローバルIPアドレス:インターネット上で一意である必要がある、インターネットサービスプロバイダー(ISP)によって割り当てられたIPアドレス。
- ポート番号:1つのコンピューター内で動作する複数のアプリケーションを区別するために使用される番号。
NAPTの動作
NAPTは、プライベートIPアドレスをグローバルIPアドレスに変換することができます。これにより、インターネット上で1つのグローバルIPアドレスを共有する複数のホストが、同時に通信を行うことができます。
NAPTは、ポート番号を使用して変換を行います。1つのグローバルIPアドレスに対して、複数のプライベートIPアドレスが対応している場合、NAPTはポート番号を使用してそれらを区別します。例えば、10.0.0.1と10.0.0.2の2つのプライベートIPアドレスが、同じグローバルIPアドレスに対応する場合、NAPTはそれらをそれぞれ80番ポートと81番ポートで区別します。
また、NAPTは、逆方向の変換も行うことができます。すなわち、インターネット上から送信されたパケットを、正しいプライベートIPアドレスに変換して、ローカルネットワーク内のコンピューターに送信することができます。
まとめ
NAPTは、インターネット上で1つのグローバルIPアドレスを複数のホストが共有することを可能にする技術です。プライベートIPアドレスをグローバルIPアドレスに変換することで、複数のホストが同時に通信を行うことができます。
しかしながら、NAPTにはデメリットもあります。例えば、パケットの送信元IPアドレスが偽装されている場合、NAPTは正しい送信元IPアドレスを識別できなくなってしまいます。そのため、セキュリティ上のリスクがあるとされています。
以上が、IPマスカレード(NAPT)の基本概念と動作についての解説でした。