【NW】続・IP変換!NAPTとは??

#ネットワーク
written by キムキム

最近出前に頼りがち、どうもキムキムです。

社員の皆様がお忙しく、連日私の投稿になってしまい大変恐縮ですが
引き続きインフラの内容について触れていこうと思います。

今回は、前回に引き続きIP変換であるNAPTについて纏めていきます。
NATを纏めた前回の記事はこちらから

企業ネットワークでよく使われる機能でもあるので、必ず抑えておきましょう!

では、早速纏めていきます。

NAPTとは

Network Address Port Translationの略です。

略してNAPTと呼ばれたり、PAT、IPマスカレードとも呼ばれます。(本記事はNAPTと呼称します)
NATと違う点として「Port」が入っていますね、実際もそれ位しか大きな違いがありません。
NATはIPアドレスを素直に変換するのに対し、NAPTは変換後のIPアドレスにポート番号を紐づけます。

イメージは以下のような形です。

NAPT

動きはNATと同じように、A,B,CのIPアドレスをZのIPへ変換します。

NATは複数のIPを変換する際はStaticNATであれば1対1、DynamicNATであれば多対1の通信となるため
DynamicNATに動きは似ていますが、前述した通り、Portによる制御行います。

処理の内容としては以下の様に行われています。

sourceIP:A → Z:49152
DestIP:先方

sourceIP:B → Z:49153
DestIP:先方

sourceIP:C → Z:49154
DestIP:先方

変換後のIPアドレスにはポート番号が追加されていますが、SourceIPはZの一つで制御されています。
また、TCP/UDPヘッダが紐付けられます。
NAPTを行うことで、外部と通信するときは「送信元IP:Z」として通信できるようになる訳ですね!

戻り通信はどうなる?

それでは、戻り通信はどうなるでしょうか?
イメージは以下です。

NAPT_return

戻り通信の処理は以下内容となります。

sourceIP:先方
DestIP:Z:49152 → A

sourceIP:先方
DestIP:Z:49153 → B

sourceIP:先方
DestIP:Z:49154 → C

行きの通信はSourceIPを変換していたのに対し、戻り通信はDestinationIPを変換しています。
IP変換はIPをとポート番号を確認し、NAPTテーブルに一致するものがあれば、逆変換を行い通信を成立させます。
この時、NAPTテーブルに乗っていないIPアドレス及びポート番号の通信はすべて破棄されます。

今回は49152-49154でポート番号が割り振られていますが、どの範囲を指定するかはコマンドで制御することが可能です。
ポート番号は0~65535で振ることが出来ますが、IANAに登録されており機能を占めすポート番号等も有る為、使用する際は確認が必要ですね。
(TCP/UDP 53はDNSの通信である等、詳細は以下URLからご確認ください)

Wikipedia:ポート番号

おわりに

7月も中旬になりましたが、未だに雨や湿気の強い日に見舞われることが多いです!

蒸し暑い日が続くので、暑さには我慢せずエアコンや扇風機を使用し、自身の体調を第一に行動しましょう!!
私も気をつけます!

それでは!