【理解の一歩目】NAT(NAPT)とポート転送(ポートフォワーディング) -ネットワーク-

IPアドレスについてや、セグメントに分かれたネットワークが直接通信をできないことを知った上で、どのような仕組みでセグメントが分かれているプライベートネットワーク(ローカルネットワーク)からインターネットに接続されるかを簡単に説明しています。

NAT(NAPT)

NAT(Network Address(Port) Translation)は、プライベートネットワーク内のコンピューターやデバイスなどのICT機器がインターネットにアクセスする際に使用される技術です。

まず、プライベートネットワーク内のICT機器は通常、ルーターによって割り当てられたプライベートIPアドレスが割り当てられています。

ですが、プライベートIPアドレスはインターネット上の所在地を示すための数値ではないため、プライベートIPアドレスが割り当てられているICT機器からインターネット上のコンピューターやデバイスとは直接通信することができません。

そのため、グローバルIPアドレスを持つルーターのNAT機能を使います。

ルーターは、ローカルネットワーク内のデバイスがインターネットにアクセスしようとする通信を受け取ると、インターネット上の接続先にはローカルネットワーク内のデバイスが持つプライベートIPアドレスから、ルーターの持つグローバルIPアドレスを接続元として変換して通信します。

イメージ図(情報量多くてすいません)

インターネット上の接続先からの返答はグローバルIPアドレスを持つルーターに送られるため、ルーターが返答を受け取ると、記録されている接続元のプライベートIPアドレス宛に送信します。

このIPアドレスの変換をNATと言い、プライベートIPアドレスしか割り当てられていないICT機器でも、ルーターの持つグローバルIPアドレスを使ってインターネットに接続できるようになります。

ポートフォワーディング

ポートフォワーディングは、特定のポート番号に対する外部(主にインターネット)からのアクセスを、ローカルネットワーク内の指定したデバイスやサービスに転送する機能です。

  • 【理解の一歩目】ポート番号ってどんなもの? -ネットワーク-

例えば、ローカルネットワーク内に存在するWebサーバー(192.168.137.51)には、インターネットから直接アクセスすることはできないため、インターネットからの通信はルーターの443番ポート(https)に届けることしかできません。

そこで、事前にルーターに対して、443番ポート宛の通信を受け取った場合はプライベートネットワーク内のWebサーバー(192.168.137.51)に転送するように設定をします。

そうすることで、インターネットからルーターに送られた通信が目的のWebサーバーまで届けることができるようになります。

また、ポートフォワーディングを使用することでサービス(WebサーバーやFTPサーバー、ゲームサーバーなど)が複数のサーバーで動作している場合でも、目的のサーバーに正しくルーティングされます。

まとめ

NATはローカルネットワークとインターネットとの間で、プライベートIPアドレス ⇔ グローバルIPアドレスを変換してインターネットとの接続を可能にする機能です(中 ⇔ 外)。

それに対して、ポートフォワーディングはインターネットからローカルネットワークにあてられる特定の通信を対象に、ローカルネットワーク内の指定したデバイスやポートに転送することで外部から内部のサーバーへのアクセスを可能にする機能です(外 ⇒ 中)。