ネットワーク - NATとは?

はじめに

今回は、NATについて学んでのでメモりたいと思います。

NATって?

Network Address Translationの略で、プライベートIPをパブリックIPに、またその逆を行う仕組みのことです。

これを用いると、例えばプライベートなネットワークに置かれたホスト(サーバ など)がインターネットに接続して通信を行えます。

例えば、

プライベートなネットワークに置かれたサーバに、ソフトウェアをインストールしたい時などです。

NATの仕組み

NATは、上で書いたようにIPアドレスを変換する仕組みで、2つのネットワークインターフェースを持ちます。一方のインターフェースは一般的にパブリックIPを設定します。他方にはプライベートIPを設定し、プライベートサブネットに接続します。

それでは、プライベートにおかれたホストAと、インターネット上におかれたホストBの通信の流れを見てみます。↓のような流れになります。

  1. ホストAが、ホストBに向けてインターネットにパケットを送信しようとすると、NATは、パケットの送信元IPアドレスを自身に設定してあるパブリックIPに変換します。
  2. ホストBは、NATからパケットが送られているように見えるので、応答パケットをNATに返します。
  3. NATは、戻ってきた応答パケットの宛先を、ホストAのプライベートIPに変換してホストAのネットワークに送ります。


以上のようにして、プライベートネットワークがインターネットと通信することができます。一方、インターネット側からNATを介してプライベートネットワークにアクセスすることはできません。