NAT(Network Address Translation)とは
NAT(Network Address Translation)は、IPアドレスを別のIPアドレスに変換する技術のことです。
IPアドレスには、「グローバルIPアドレス」および「プライベートIPアドレス」の2種類が存在します。
グローバルIPアドレスは、インターネットに接続する機器に1つ1つ割り振られるIPアドレスのことで、このアドレスを用いて通信を行います。「インターネット上の住所」のような役割を担っています。
プライベートIPアドレスは、ローカルのネットワーク内において割り当てられるIPアドレスであり、そのネットワーク内で重複がなければ自由に割り振りができ、「会社の内線」のように例えられることがあります。
さて、ローカルネットワークでのみ利用可能なプライベートIPを使ってインターネット通信を行おうとしても、いわば「内線」を使って外部と通信を行うようなもので、通信を行うことはできません。
インターネット通信を行うためにはグローバルIPアドレスを用いなければなりません。
そこで登場するのが、NATです。
NATの仕組み
「プライベートIPアドレス」と「グローバルIPアドレス」とを変換することで、インターネット通信を可能にします。
NAT機能に対応したルータをローカルネットワークと外部ネットワークの中継として設置し、IPアドレスの相互変換を行うケースが多くあります。
内部ネットワークからインターネットへの通信の場合は、通信パケットの「送信元IPアドレス」が、インターネットから内部ネットワークへの通信の場合には「宛先IPアドレス」が対応するグローバルIPアドレスへと変換されます。
ただし、IPアドレスのみを変換する特性上、1つのグローバルIPアドレスを複数変換できず、同時使用ができない弱点があります。
NAPT(IPマスカレード)
NAPTは、NATが抱えていた「1対1」での変換しかできない、という弱点を克服しています。
NAPTでは、IPアドレスに加え、ポート番号の変換も行います。これを行うと、グローバルIPアドレスにポート番号が付与された形になります。
すると、変換されたグローバルIPアドレスはそれぞれの付与されたポート番号宛に返ってきます。
結果的には、「同じグローバルIPアドレスであるが、それぞれのポートに返ってくるため複数人で使うことができる」ということが実現できます。