PR

企業や家庭のパソコンにはプライベートIPアドレスが割り当てられている。そのままでは、グローバルIPアドレスで運用されているインターネットにアクセスできない。そこで活躍しているのが「NAT」だ。NATの基本や仕組み、そしてオンラインゲームを例にどう動いているのかを学ぼう。

 一口にNAT(Network Address Translation)といっても、様々な方式がある。今回は、いろいろな種類のNATの仕組みを見ていこう。

 まずNATのアドレス変換方式について整理する。大きく分けると「静的NAT」「動的NAT」「NAPT(Network Address Port Translation)」の三つになる。

NATのアドレス変換方法は静的NAT、動的NAT、NAPTの3種類
NATのアドレス変換方法は静的NAT、動的NAT、NAPTの3種類
[画像のクリックで拡大表示]

 静的NATは、変換対象のIPアドレスが1対1で固定でひも付いている。静的NATで設定した内部IPアドレスに対して、外部から透過的にアクセスできる。静的NATは内部ネットワークにあるWebサーバーやメールサーバーなどをインターネットに公開したり、外部から透過的にアクセスできる領域(DMZ)を設けたりするときに使われる。

 動的NATは、NATの対象となる複数のIPアドレス(IPアドレスプール)をルーターに持たせておいて、内部の端末が外部にアクセスするときにプールの中からどれかを選択して変換する。

 NAT機能がIPアドレスの割り当てを解除するタイミングは、通信開始から一定時間経過したときや、TCPの場合はFIN/RSTパケットを検知して通信が終了したとみなしたときになる。

 3番目のNAPTは、IPアドレスとポート番号の両方を変換対象とする方式だ。

 NATに関連するアプリの開発を手掛けてきた筆者の感覚では、伝統的に使われてきた静的NATや動的NATに比べて、NAPTの利用のほうが圧倒的に多い。現在、NATといえば事実上NAPTのことを指しているといってもよいだろう。以降では「NAT=NAPT」として説明を進めていく。