NATとは?1つのIPアドレスを家じゅうで分け合う仕組みを解説

7 min 60 views

ルーターの設定画面や、ネットワークの説明の中で「NAT」という三文字を見かけたことはありませんか。

読み方は「ナット」。なんだか難しそうで、詳しい人でないと関係ない話に見えます。

NAT(ネットワークアドレス変換)とは、家の中だけで通じる住所を、外で通じる住所に書き換える仕組みです。

ところが実は、家でスマートフォンとパソコンとテレビを同時に使えているのは、このNATのおかげです。家に届いているインターネット上の住所は、ふつうはたった1つしかありません。

この記事では、ITやネットワークの知識がない方でもわかるように、NATが何をしている仕組みなのかを解説していきます。あわせて「NATがあるから外からは入られない」とよく言われることについて、そのセキュリティ上の効果がどこまで正しくて、どこから先は別の話なのかも見ていきます。

NATとは?1つの住所を家じゅうで分け合う仕組み

NATの全体像を示す図解。「外向けの住所は1つ、家の中の住所は機器の数だけ」という見出しのもと、左に外の世界を表す雲、中央にルーター、右にノートパソコン・スマートフォン・テレビが縦に並んで線でつながっている。

NAT(ナット/Network Address Translation)は、住所を書き換える仕組みです。日本語ではネットワークアドレス変換といいます。

何を何に書き換えるのか。ここで、住所が2種類あることを思い出してください。

  • グローバルIPアドレス… 世界中で重複しない、外の世界で通じる住所。ふつうは回線1本につき1つ
  • プライベートIPアドレス… 家の中だけで通じる住所。機器の数だけある

2種類の住所についてはIPアドレスの記事でくわしく説明していますが、大事なのは外向けの住所が1つしかないという点です。

家の中の機器が使っている「192.168.1.10」のような住所は、家の外に出た瞬間に通じなくなります。手紙にその住所を書いて出しても、返事は返ってきません。

ちなみに、パソコンで「ipconfig」と打ったときに出てくるのは、この家の中だけの住所のほうです。外の相手に伝えても、そこには届きません。外向けの番号を知りたいときの調べ方はグローバルIPアドレスの記事にまとめました。

そこでルーターが、外へ出ていくデータの差出人欄を、家の外でも通じる住所に書き換えます。返事が届いたら、今度は逆に書き戻して家の中の機器に渡します。この書き換えがNATです。

日本のIPアドレスを管理しているJPNICの用語解説も、同じことを次のように説明しています。

  • 送信元アドレスがプライベートアドレスである場合に、その送信元アドレスをグローバルアドレスに書き換える
  • そのグローバルアドレス宛ての応答パケットについて、宛先アドレスをプライベートアドレスに変換する

いまNATと呼ばれているものは、正確にはNAPT

ここで、多くの解説がつまずくところを先に片づけておきます。

NATには、よく似た名前の兄弟がいます。NAPT(ナプト/Network Address Port Translation)です。NTT東日本の用語解説によればIPマスカレードとも呼ばれます。

違いは1つだけで、NAPTは住所に加えて番号も書き換えるという点です。この番号が何なのかは次の章で説明します。

覚えておきたいのは、名前の違いよりも次のことです。あなたの家のルーターがやっているのは、ほぼ確実にNAPTのほうです。

これは筆者の推測ではありません。先ほどの2つの解説が、どちらも同じことを書いています。

  • JPNIC —「今日では単にNATという場合に、このNAPTのことも含めている場合が多くあります」
  • NTT東日本 —「今日ではほとんどの場合、NATというとき、NAPTの機能を指す」

住所だけを1対1で固定する使い方(静的NAT)もありますが、家庭ではまず出てきません。ですのでこの記事でも、以降はまとめて「NAT」と呼びます。用語を厳密に使い分けても、読者の困りごとは解決しないからです。

NATはどうやって返事を届け分けているのか

返事の行き先が決まらない様子を示す図解。「同じ住所あてに返事が2つ届いたら、どちらに渡す?」という見出しのもと、左の雲から2本の矢印が同じルーターに届き、その先は点線が交差していて、右に並ぶ2台のノートパソコンのどちらへ渡すか定まっていない。

ここからが、NATのいちばん面白いところです。

住所だけ書き換えると、返事の届け先が決まらない

いま、あなたとご家族が同時に同じニュースサイトを開いたとしましょう。

2台とも、差出人欄は同じ住所に書き換えられて出ていきます。外向けの住所は1つしかないのですから、当然です。

すると、ニュースサイトから返事が2つ返ってきます。どちらも宛先は同じ住所です。

さて、ルーターは困りました。どちらの返事を、どちらの機器に渡せばよいのでしょうか。

住所を書き戻すだけでは、ここで詰まります。書き戻す先の候補が家の中に何台もあって、1台に決められないからです。

だから、ポート番号もセットで書き換えている

ルーターが対応の控えを持っていることを示す図解。「どの機器のどの番号かを、控えておく」という見出しのもと、中央のルーターの上に表があり、左の列に「外向けの住所と番号」、右の列に「家の中の住所と番号」と書かれている。左は外の世界を表す雲、右は2台のノートパソコンにつながっている。

この問題を解いているのが、ポート番号です。

データには宛先の住所のほかに、「どの用件か」を表す番号が付いています。ウェブサイトを見るときの443番などが有名ですが、実は送る側にも番号が付いています。こちらは決まった番号ではなく、その通信のためにその場で自動的に選ばれる番号です。

ルーターは、住所を書き換えるときにこの送る側の番号も、自分が管理する別の番号に付け替えます。そして「どの機器のどの番号を、どの番号に付け替えたか」を控えておきます。

実際の値で見てみましょう。NATの動きをまとめたインターネット技術の文書RFC 3022には、次のような例が載っています。

住所送る側の番号
家の中の機器10.0.0.103017
書き換えた後(外向け)138.76.28.41024

同じ文書には、返事についてもこう書かれています。戻ってくるデータは、同じ変換を逆にたどると。

つまり、1024番宛てに返事が来たら、控えを見て「これは10.0.0.10の3017番の分だ」と分かる、というわけです。

会社の代表電話にたとえると分かりやすいかもしれません。社員が外にかけるときは全員が同じ代表番号で発信され、交換手が「この用件は誰の分か」を控えておく。かかってきた返事は、その控えを見て取り次ぐ。NATがやっているのは、これとほとんど同じことです。

この控えは、ずっと残るわけではありません。同じRFC 3022には、その対応づけを使う最後の通信が終われば、対応づけ自体も終わることがあると書かれています。

先ほどの「同時に同じサイトを開いた2台」も、これで解決します。2台の送る側の番号は別々の番号に付け替えられているので、返事が混ざりません。

NATにセキュリティ効果はある?何を防ぎ、何を防がないのか

外から来た通信がその先へ進めない様子を示す図解。「外から来た通信は、その先へ進めない」という見出しのもと、左の雲から伸びた矢印がルーターに届いているが、ルーターの右にある縦の仕切りから先へは進まず、右のノートパソコン・スマートフォン・テレビには何も届いていない。仕切りには「控えが無いので渡す先が無い」と添えられている。

NATの説明でよく見かけるのが、「NATがあるから外からは入られない」という話です。

これはおおむね正しく、しかし理由を知っておく価値があります。理由が分かると、どこまでを当てにしてよいかが見えてくるからです。

外から新しく始まった通信は、控えが無いとルーターで止まる

もう一度、控えの話を思い出してください。

控えは、家の中から誰かが外へ出ていったときに作られます。ですから、こちらが何もしていないのに外から突然やってきた通信には、対応する控えがありません。

控えが無いと、ルーターは渡す先を決められません。先ほどのRFC 3022は、この場合の扱いをはっきり書いています。外から新しく始まった通信は、あらかじめ対応づけを登録しておかないかぎり、ルーター自身に宛てたものとみなす、と。

結果として、家の中の機器は外から名指しできない状態になります。住所を知られていても、その先の1台を指定する手段がないのです。

この「あらかじめ登録しておく」操作こそ、ポート開放と呼ばれているものです。外からの通信を家の中の1台に届けたいときだけ、その通り道を作ります。ふだんは必要ありません。

ゲーム機に出る「NATタイプ」という表示も、外からの通信がどれくらい通るかを、ゲーム側が判定したものです。こちらはポート番号の記事で扱っています。

ただし「危ないものを選んで止めている」わけではない

ここが、この記事でいちばんお伝えしたいところです。NATのセキュリティ上の効果には、性質があります。

NATに侵入を防ぐ働きがあること自体は、機器メーカーも書いています。ルーターを作っているヤマハがIPv6が広まる前に公開したIPv6についてのよくある質問は、これまでのIPv4での話として「NATは通信の双方向性を阻害し、外敵の侵入を防ぎます」と述べています。

ただし、その防ぎ方には性質があります。NATは、届け先が分からないから渡せないだけで、中身を見て「これは危ないから止めよう」と判断しているわけではありません。

同じ解説も、その正体を「通信を開始できる端末が限定される(通信の非対称性)」と言い表しています。そして、この非対称性は別の仕組みでも用意できるものだとして、ダイナミックフィルタという機能を挙げています。守っているのは「向きが一方通行であること」であって、中身の良し悪しではない、ということです。

実際の限界も、文書に残っています。NATの用語と考慮点をまとめたRFC 2663は、多くの人がNATを一方向のフィルタと「見なしている」と書いたうえで、次のことを挙げています。

  • ある種の通信(UDP)では、控えと一部しか一致しないデータが入り込む余地があるため、本質的に安全とはいえない
  • しかも、この弱点はファイアウォールにも同じようにあると書かれている
  • NATはファイアウォールと組み合わせて使われることがある

つまり、この文書は「NATだけで守りが完結する」とは書いていない、ということです。同時に、代わりの一手で全部が片づくとも書いていません。

そしてもう1つ。NATが見ているのは、外から入ってくる通信だけです。家の中の機器が自分から外へ出ていく通信は、ふだん使う種類のものなら控えが作られてそのまま通ります。

ですから、うっかり開いた添付ファイルや、入れてしまった不正なソフトが外へ通信するのを、NATは止めません。中身を見て判断するのはファイアウォールやウイルス対策ソフトの役目です。

整理すると、次のようになります。

NATがしていること
外から新しく来た通信届け先が分からないので渡せない(結果として止まる)
中から外へ出る通信ふだん使うものはそのまま通す(控えを作る)
通信の中身見ていない

なお、ここでお話ししているのはNATという仕組みだけの話です。ルーターにはこれ以外の機能もあります。

ちなみに、先ほどのヤマハの解説は「IPv6ではNATを使用するメリットは減る」とも述べています。その場合、ここで見た「外から名指しされない」状態は前提ではなくなるので、守りは別に用意することになります(IPv4とIPv6の記事)。

「NATがあるから安心」ではなく、NATがあるから外から名指しされない。中身の判断は別の仕組みが受け持つ。この線引きを持っておくと、ルーターの設定を触るときに迷いにくくなります。

NATで起きること — 家じゅうが同じIPアドレスに見える

外から見た家の見え方を示す図解。「外から見ると、家じゅうが同じ1つの住所」という見出しのもと、左の雲から伸びた線が家の外側にある1つの丸につながっており、家の中にはノートパソコン・スマートフォン・テレビがあるが、外からはその丸しか見えない。

NATの働きは、ふだんの生活の中にも顔を出します。

いちばん分かりやすいのが、外から見ると家じゅうの機器が同じ住所(同じグローバルIPアドレス)に見えるということです。

あなたのスマートフォンも、ご家族のパソコンも、外の世界には同じ1つの住所として現れます。訪問先のサイトから見れば、区別がつきません。

そのため、こんなことが起きます。

  • 家族の誰かが何かをしたせいで、自分の端末まで同じ扱いを受けることがある(アクセスの回数制限など)
  • 逆に、住所だけでは家の中の誰かまでは分からない

Webサービスが出す「同じネットワークから多数のアクセスがありました」といった警告は、この1つの住所を見て言っていることがあります。家の中で使っている台数が数台でも、外からはひとかたまりに見えているわけです。

なお、回線の契約の形によっては、家の外の人とこの住所を分け合っていることもあります。通信事業者の側でもう一段この仕組みを使うやり方があるためです。その場合、同じ住所を使っているのは自分の家族だけとは限りません。

2つめは、IPアドレスから個人が特定できるのかという疑問の答えの一端でもあります。外に出ている住所は、その回線を指しているだけだからです。

もう1つ、世の中の側で起きたことにも触れておきます。NATは、住所が足りなくなる問題を先延ばしにしました

1つの住所を家じゅうで分け合えるということは、機器が増えても必要な住所が増えないということです。もしNATが無ければ、家庭ごとに何個もの住所が要ることになっていました。この住所の不足と、その解決策についてはIPv4とIPv6の記事で扱っています。

まとめ

この記事では、NATについて、ITやネットワークの知識がない方でもわかるように解説しました。

あらためて要点をまとめると、次のとおりです。

  • NATは、家の中だけで通じる住所(プライベートIPアドレス)と外で通じる住所(グローバルIPアドレス)を書き換える仕組み。外向けの住所は、ふつうは回線1本に1つしかない
  • 住所だけでは返事の届け先が決まらないので、送る側のポート番号もセットで付け替えて控えておく。いまNATと呼ばれているものの多くは、正確にはこのNAPT
  • 外から来た通信が止まるのは、控えが無くて届け先を決められないから。危ないものを選んで止めているわけではなく、すり抜ける余地もあると文書に書かれている
  • 中から外へ出る通信と、通信の中身はNATの守備範囲ではない。そこはファイアウォールなどが受け持つ
  • 外から見ると家じゅうの機器が同じIPアドレスに見える。家族の誰かの巻き添えで制限を受けることがある一方、住所だけでは家の中の誰かまでは分からない

ふだん意識することのない仕組みですが、「外から名指しされない」ことと「守られている」ことは別だと知っておくと、機器を選んだり設定を触ったりするときの判断が変わってきます。

関連記事