今回は、インターネットへ接続するために必要な技術であるNATについてご紹介していきます。
【NATの概要】
NATとは、Network Address Translation の略称でIPヘッダ内のIPアドレスを変換する技術です。
例えば、家庭や企業などイントラネット環境からインターネットなどのパブリックネットワークに接続する際には、ヘッダ内の送信元IPアドレスがプライベートIPアドレスだと接続ができません。そこで、LANとインターネットの境界にあるルータのNATテーブルに登録されているグローバルIPアドレスをプライベートIPアドレスに変換してインターネット側のネットワークに転送します。
【NAT通信の流れ】
〇内部ネットワーク環境の端末(A)から外部のインターネットのWebサーバー(B)へアクセスする場合
A端末からBサーバーの宛先IPアドレスを指定してルータにリクエストを送信
↓
端末Aから受信したルータはパケット内の送信元プライベートIPアドレスをNATテーブルに登録されているグローバルIPアドレスに変換してBサーバーへ転送
↓
BサーバーはA端末からルータを経由して来たリクエストに対して、受信したグローバルIPアドレスを宛先IPアドレスに指定してレスポンスを送信
↓
Bサーバーから受信したルータは宛先のグローバルIPアドレスに紐づいたプライベートIPアドレスに変換して転送
↓
BサーバーからのレスポンスをA端末で受信
【NATの種類】
〇NAT
1つのプライベートIPアドレスを1つのグローバルIPアドレスに変換します。
NATには、さらに静的(スタティック)NATと動的(ダイナミック)NATがあります。
・静的(スタティック)NAT
静的(スタティック)NATは、NATテーブルに登録する際にグローバルIPアドレスとプライベートIPアドレスを紐づけて登録します。それぞれのIPで紐づいているため、外部からの通信をスタートした場合でも通信が可能ですが、管理者が手動で設定する必要があります。
・動的(ダイナミック)NAT
動的(ダイナミック)NATは、NATテーブルにあらかじめ一定範囲のグローバルIPアドレスをアドレスプールとして登録します。外部に通信する際にリアルタイムで自動的にアドレスプールに登録されている範囲からルータに来たプライベートIPアドレスにそれぞれ割り当てられます。
外部へ通信する際のみ割り当てられるため、外部からの通信をスタートした場合は、通信が不可能となります。
〇NAPT
多数のプライベートIPアドレスを1つのグローバルIPアドレスに変換します。
NATテーブルにはIPアドレスだけではなく、TCPやUDPのポート番号も紐づけて登録するため、IPアドレスの節約にもなります。動的(ダイナミック)NATと同じく、外部に通信する際に、リアルタイムで自動的にNATテーブルに登録されるため、外部からスタートされた通信はできません。
一般的なインターネット通信には、NAPTが使用されています。
以上、NATについてでした。
参考にしていただけると幸いです。
■参考資料
https://it-digital.net/about-nat/