LoginSignup
0
1

More than 3 years have passed since last update.

NATについて無知だったので少し調べた

Posted at

NATってなに?

「NAT越え」「NATの設定を...」などは聞いたことがあったが、実際に「NATが...だから...だよね?」って聞かれて困ったので少し調べた。

NATの役割

そもそもNATとはNetwork Address Translationの略でIPアドレスを変換する技術である。Network Address Translationという名前がとてもわかりやすい。
一般的には企業内のLANのプライベートIPアドレスをインターネット内の識別子であるグローバルIPアドレスに変換する際に使われる。

ここまではなるほど、「確かにそうだな。プライベートIPで通信しないよなー。」ってなりました。

しかし、ここで思ったのが、「パケットは飛んでいくけど、パケットが帰ってくるとき、どこに帰ってきたらいいかわからなくね?」ということでした。

LANの中のノードからNATを経由してインターネットへパケットを出すときは、相手のグローバルIPアドレスを指定しているため問題なくパケットは届くものの、相手からパケットが帰ってくるときには行きで使ったNATまでは帰ってくるものの、そこからNATさんが「どこにこのパケット送ったらいいの???」ってなってしまいそうです。

NAPT

この問題を解決したのが、NAPT(Network Address Port Translation)です。NATにPortという単語が入ってきました。言葉の通り、LAN内のノードがNATを経由してインターネットと通信を行う際に、それぞれのノードにポート番号を振ることで、LAN内のPCを識別するというものです。

これで、LAN内のノードの識別を行うことができるようになったため、1対多の通信を行うことができるようになりました。NATではこの識別ができなかったため、1対1の通信しか行うことができませんでした。

本当にNATは1対1の通信しかできないのか?

「NAPTを使わないと、1対多の通信はできないのか。NATってしょぼいのか。。。」と思ったがそうではないらしい。

動的NAT

動的NATでは、1つまたは複数のグローバルアドレスをNAT用に割り当て、LANからインターネット側へ通信しようとするホストへ先着順で1対1のペアとして変換します。
割り当てたグローバルアドレスの数と同数のノードが同時にインターネットとの通信可能することができるようになります。

NATに割り当てられたグローバルIPアドレスよりLAN側へ通信しようとするノードのほうが多く、グローバルアドレスがすべて使用されているときは、プライベートIPアドレスとグローバルIPアドレスの関連付けができません。そのため、
既存のセッションが終了すると、また先着順で空いたグローバルIPアドレスと1対1のペアとして関連付け、アドレス変換処理が行われます。

まとめ

プライベートIPアドレスとグローバルIPアドレスがLANからインターネットに通信するときに、変換されるのは知っていたが、その役割を持っていたのがNATさんであることがわかった。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1