NATとNAPT(IP マスカレード)の違いについて
NATとNAPT(IP マスカレード)の大きな違いは
IPアドレスの一対一での変換かIPアドレスとポートの組で変換という点です。
まず、NAT(Network Address Translation)は、スペル通りアドレス(プライベートIPアドレス⇔グローバルIPアドレス)を変換(Translation)するものです。
インターネットに接続する場合は、必ずグローバルIPアドレスを使用する必要があり、プライベートネットワークとインターネットの間にあるルーターなどのネットワーク機器に機能として備わっています。
ただ、ルーターなどが保持するグローバルIPアドレスの数しか複数端末が同時にインターネットへ接続できないという問題でてきます。
その不具合を解消するために登場した技術が、NAPT(Network Address and Port Translation)です。NATを進化させたといったイメージで良いと思いますが、今まで、アドレス(Network Address)を変換(Translation)していたところアドレスとポートの組み(Network Address and Port)を変換(Translation)することで複数端末が接続できるように対応したという形です。
名前のとおりなのでスペルを覚えれば理解できますね・・・
なお、情報処理の試験ではNAPTやIPマスカレード、NAPT(IPマスカレード)などの記述が出てきて混乱させてきます。
調べると、「Linux 上での NAPTの実装」をIPマスカレードと呼ぶらしいです。
つまり、NAPTとIPマスカレードは同義と捉えても問題なさそうです。
NAT(Network Address Translation) | IPアドレスの一対一での変換。 |
NAPT(Network Address and Port Translation) | ・IPアドレスとポートの組で変換。 ・一つのIPアドレス(主にグローバルIPアドレス)を複数のプライベートIPアドレスの機器で共有する。 |
NAPTの変換について
NAPTでIPアドレスとポートの組で変換は以下のような感じです。
- クライアントのプライベートIPアドレスとポート番号をグローバルIPアドレスと任意のポート番号に変換
- 変換前の情報をルータなどにて変換テーブルに記録
- インターネットから応答が返ってきたときには宛先ポート番号を見て対応するプライベートIPアドレスを検索、変換前の情報に戻してクライアントに送信。
コメントを残す