NATとは、ネットワークの経路上でIPアドレスを指定されたIPアドレスへ変換する機能です。NAT が必要になるパターンはいくつかありますが、IP アドレスを変換したい場合に使用されます。送信元のIPアドレスまたは宛先のIPアドレスどちらも変換可能です。少々複雑ですが知っておくと便利な機能です。
NAT(Network Address Translation)の概要と基本動作
NATの概要
NATとはネットワークの通信経路の途中で送信元または宛先のIPアドレスを別のIPアドレスへ変換する機能です。主にネットワークの境界線にあるルーターやファイアウォールなどでNAT機能を利用することができます。
このアドレス変換は本来の IP アドレスを隠し装うことになるためネットワーク管理者が設定する際には慎重に利用して管理する必要があります。
NATの基本動作
基本の動作としてはたとえば以下の図のようにNATを使用すると、特定の送信元の IP アドレスを指定の IP アドレスへ 1対1で 変換することができます。このように送信元 IP アドレスを変換した場合、サーバーから見ると同じネットワーク内にいる相手との通信にも見せかけることができます。

宛先 IP アドレスを変換することもできます。たとえば、何らかの事情でサーバーの IP アドレスが一時的に変わるような場合にも端末側の設定を変えずに、ルーターへの NAT 設定だけで使うことが可能になります。

NATテーブル
NAT 機能をもつルーターなどの機器は、NAT機能によりIP アドレスを変換した場合にきちんと管理しておかなければ戻りのパケットをどこに送り戻せばよいかわからなくなります。一度変換した内容は NAT テーブルというところで変換したIPアドレスは記録され、戻りのパケットが届いたときにはNAT テーブルに記録した逆の変換処理をして変換前の正しいIPアドレスを持つ送信元へ送れるようになっています。

NAPTとポートフォワーディング
NAPT(Network Address Port Translation)
LANからインターネットへ出て通信するためには IP アドレスはグローバル IP アドレスへ変換される必要があります。
一般的にグローバル IP アドレスはプロバイダーから割り当てられたものを使用します。社内や家庭の内部ネットワークとインターネットの境界にあるルーターは、プロバイダーから割り当てられたグローバル IP アドレスを持っています。
しかし、プロバイダから割り当てられるグローバル IP アドレスは少なく通常は1つしかありません。NAT を使う場合、ある内部の IP アドレスを1つしかないグローバル IP アドレスに割り当ててしまうと、インターネットを使える端末機器はその1台だけになってしまいます。
その問題を解決するために、NAPT という機能を使うことで少ないグローバル IP アドレスを効率よく複数の端末が共有できるようになります。仕組みとしては、1つのグローバル IP アドレスのポート番号を接続ごとに割り当てることで、ポート番号の数だけグローバル IP アドレスを共有してインターネットが利用できるようになります。

ポート番号とはトランスポート層の TCP と UDP プロトコルでセッション管理やアプリケーション層のプロトコルを識別するために付与される番号です。
NAPT では送信元 IP アドレスとポート番号のセットごとに、グローバル IP アドレスとランダムで割り当てたポート番号のセットに変換します。変換したIPアドレスやポート番号の情報はルーターの NAT テーブルで管理し、返信で戻ってきた時には逆の変換をおこない正しい送信元へ返します。
ポートフォワーディング
インターネット上からポート番号を指定して内部の LAN 上にある特定の機器と通信することを可能にする技術です。
この技術を利用すると内部に設置している個々のサーバーにグローバル IP アドレスを割り当てずに公開することができるようになります。
ルーターが持つグローバル IP アドレスのポート番号とLAN側のサーバーの IP アドレスを紐づける設定をあらかじめネットワーク機器に設定しておくことで実現できます。

上の図では変換後のポート番号は同じですが、指定の番号に変換するよう設定することも可能です。
参考リンク
IPアドレス(IP Address)とは – 概要と基本の形
ネットワークのゲートウェイとは – Gateway の種類と役割
コメント