NATとは

 インターネットが急成長してくると、IPアドレス枯渇の問題が浮かび上がり、これに対処するためにいくつかの解決策が開発されました。その解決策の1つが、NAT(Network Address Translation)です。

 NATを使用すると構内でのみ使用できるプライベートIPアドレスを、インターネットで使用できるグローバルIPアドレスに変換できます。そうすることによって、プライベートIPアドレスが割り当てられた端末が、透過的にインターネットにアクセスできるようになります。

 NATとは、アドレス体系の異なるIP ネットワークを接続することができる機能のことです。プライベートIPアドレスを、グローバルIPアドレスに変換することだけが、NATの機能ではありません。

 プライベートIPアドレスをプライベートIPアドレスに変換することもできます。NAT機能を用いると、1つのグローバル IP アドレスに複数のホストを対応させたりすることもできます。

 NATがなければ、プライベートIPアドレスが割り当てられた端末は、インターネットにアクセスすることはできません。インターネット網では、プライベートIPアドレスではルーティングできないようになっているからです。

グローバルIPアドレスを構内の端末の台数だけ取得するのは、もはや至難の業です。

 NATを使うことにより、個々の企業や自宅において、プライベートIPアドレスを端末に割り当ておき、インターネットに接続する時にだけ、グローバルIPアドレスに変換することで、インターネットへ接続を提供することができます。

NATには、次の3つの方式があります。

  • スタティックNAT
  • ダイナミックNAT
  • IPマスカレード(NAPT)

 プライベートIPアドレスとグローバルIPアドレスの対応が常に1対1になる「スタティックNAT」、用意したグローバルIPアドレスのプールのなかで、プライベートIPアドレスとグローバルIPアドレスと1対1に対応させる「ダイナミックNAT」、TCP/UDPのポートを管理することで1つのグローバルIPアドレスでローカルIPアドレスが設定された複数の端末を同時に通信できるようにする「IPマスカレード(NAPT)」があります。

このNAT機能は、安価なブロードバンドルータでもサポートしています。

 NATの設定を行う前に、下の表のNATの用語を知っておく必要があります。紛らわしくて覚えにくいと思いますが、この呼び方と違いについて理解しておきましょう!

種類意味
内部ローカルアドレスLAN内で使用しているプライベートIPアドレス
内部グローバルアドレスアウトサイドで使用するIPアドレス。通常は、ISPから取得したグローバルIPアドレス。
外部ローカルアドレスLAN内で宛先としている外部へのIPアドレス
外部グローバルアドレス通信相手が取得しているグローバルIPアドレス。通常は、外部グローバルアドレスと外部ローカルアドレスは、同じ。

NAT変換は、内部ローカルアドレスと外部ローカルアドレスの変換が、基本になります。

  • ローカル ・・・ LAN
  • グローバル ・・・ インターネット

  • 内部 ・・・ 送信元
  • 外部 ・・・ 宛先

と整理して、考えると理解しやすいかもしれません。

NATの種類

ここで、NATについて、おさらいしておきます。NATには、次の3つの方式があります。

  • スタティックNAT
  • ダイナミックNAT
  • IPマスカレード(NAPT)

スタティックNAT

 「スタティックNAT」は、プライベートIPアドレスとグローバルIPアドレスの対応が常に1対1にマッピングされる方法です。IPアドレスとグローバルIPアドレスの対応が常に固定したい場合に使用します。

 スタティックNATでは、用意しているグローバルIPの数しか、ローカル端末は、外部(インターネット)へ接続ができません。

 「スタティックNAT」では、プライベートIPアドレスとグローバルIPアドレスの対応が、1対1にマッピングされ、NATテーブルに常に存在することになるため、外部(インターネット)から内部へのアクセスが可能となります。

 「スタティックNAT」、プライベートIPアドレスを割り当てたサーバを外部(インターネット)に公開したい場合などに利用します。

ダイナミックNAT

 プライベートIPアドレスと用意したグローバルIPアドレスのプールの中から1つのグローバルIPアドレスとを1対1に対応させるのが「ダイナミックNAT」です。

 上の図の例では、プールの200.1.1.1~200.1.1.20の範囲内で、内部グローバルアドレスに変換されます。

IPマスカレード(NAPT)

 「IPマスカレード(NAPT)」は、TCP/UDPのポートを管理することで、1つのグローバルIPアドレスでローカルIPアドレスが設定された複数の端末を同時に通信できるようにします。

「IPマスカレード(NAPT)」は、Ciscoでは、「PAT(オーバーローディング)」と呼んでいます。

※ここでは、理解し易いように送信元のポート番号と変換されるポート番号を同じにしていますが、実際には、異なる場合があります。