NAT(NetworkAddressTracslation)はIPアドレスを変換する技術のことです。普段よく耳にするNATですが、具体的にどのようなものになるのでしょうか?

一般的にルータにはNAT機能が付いてますので、普段意識する機会が少ないのですが、理解を深めておくとネットワークの知識がより深まります。

ルータとNATの比較

具体的にみていきましょう。

NATの種類は全部で4種類です。

  1. 静的NAT
  2. 動的NAT
  3. IPマスカレード
  4. ディスティネーションNAT(DNAT)

があります。

NATが使われる目的

NATされる目的を用途ごとに分けて説明していきます。

プライベートIPアドレスとグローバルIPアドレスの変換

NATが最も頻繁に利用されるシーンとしては、普段私たちがインターネットを利用する際に、プライベートIPアドレスとグローバルIPアドレスの変換に使われます。

それぞれのパソコンにグローバルIPアドレスを直接付与すればNATは必要ありませんが、グローバルIPアドレスの数にも限界があり枯渇していきますので、NATによってLAN内ではグローバルIPアドレスを共有する使い方をします。

セキュリティの向上

NATを使うことで、内部のIPアドレスは外部からは隠蔽することができ、セキュリティを高められます。外部の攻撃者はNATによって変換されたIPアドレスしか見ることができないので、ターゲットとなるサーバや端末を特定できません。

同一ネットワーク帯のIPアドレス重複防止

同一ネットワークアドレス帯を持つネットワーク同士を接続することができます。

パソコンとサーバはそれぞれ同一のネットワーク帯に属していますが、「ルータ1」と「ルータ2」で発着信のパケットのソースアドレスを変換することで双方の通信が可能になります。

Webサーバの負荷分散

NATされるのは、送信先IPアドレスになります。クライアントからのリクエストを内部ネットワークの複数のサーバに負荷分散します。

NATの種類

冒頭に説明したNATの種類4つを簡単に説明します。

静的NAT

静的NATは、内部と外部のIPアドレスを1対1で対応づけするNATです。

内部のIPアドレスが192.168.0.1であれば、外部のIPアドレスは10.0.0.1、192.168.0.2であれば10.0.0.2といった具合に対になっています。

静的NATのイメージ

動的NAT

動的NATは、静的NAT同様に内部と外部のIPアドレスを1対1で接続しますが、その方法が異なります。静的NATは予め1対1のペアを決めていますが、動的NATは通信が発生した際に初めてペアが決まります。そして一定時間が経過したら、そのペアは解消されてしまいます。

下の図は動的NAT一例を表した図になります。内部のIPアドレスが3つ、外部のIPアドレスが2つ存在しており、通信が開始された順番にペアは最大で2つしか成立しません。3番目に開始された通信に関しては、割り当てる外部アドレスが存在しないことがわかります。

動的NATのイメージ

IPマスカレード

IPマスカレードとは、複数の内部IPアドレスを同一の外部IPアドレスに割り当てる技術です。これにより、内部から外部へのパケットの送信元IPアドレスは同じになります。

外部から内部への戻りパケットは、内部のだれに転送するかが不明です。そこでIPマスカレードでアドレスを変換するとき外部の送信元ポート番号で内部の端末を一気に識別します。

IPマスカレードのイメージ

上の図はIPマスカレードの一例です。

ここでは、3つのIPアドレスで同時に同一の外部IPアドレスに変換されます。

この状態だと戻りパケットが宛先不明になりますので、それぞれの内部IPアドレスに対応する外部の送信元ポート番号を割り当てます。外部の送信元ポート番号は、1000から2000まで動的に決定されます。

具体的には、192.168.0.1/10.0.0.1と1000のように割り当てられて、外部サーバからパケットの宛先が、10.0.0.1:1000であれば、ルータは192.168.0.1に転送する。といった仕組みです。