NATの概要 ~基礎編①~

ベル

今回の授業は、「NATの概要」について教えていこうと思います。NATと言ってもいくつかの種類があります。まずは概要から理解していきましょう。

 

NAT(Network Address Translation)とは

まず、NATは「ナット」と読みます。これは、オリジナルのIPアドレスを、別のIPアドレスに変更させる機能のことを言います。代表的な使い方としては、家庭のパソコンからインターネットなどにアクセスする際に、パソコンのIPアドレスをインターネット接続用のIPアドレスに変更しているのが挙げられます。ですので、皆さんも当たり前のように使われている技術なんですよ!

 

NATの用語

NATを使う上で覚えておかなければいけない用語があります。これだけはしっかり抑えておきましょう。

 

 

大体の方が頭でごちゃごちゃになりそうな用語ですよね?僕も内部のグローバルってなんだよ!!って何度も思いましたからね。

 

 

こんな風になる前に、以下のような構成をイメージしてもらえるとわかりやすいと思います。

 

 

まず、NATを使う際に意識しなければいけないのは、『inside』『outside』です。この場合、パソコンのある側がインサイドで内部ネットワークとなり、サーバ側がアウトサイドで外部ネットワークとなります。これは直感的にもわかりますよね。

 

それでは、『ローカル』と『グローバル』ってなんでしょうか?実は、これ、IPアドレスの授業でも扱っているんです。インターネットアクセスに使われるIPアドレスをグローバルIPアドレス、家庭内や社内LANで使われるIPアドレスをローカルIPアドレスと呼んでましたよね。これと同じです。ここまで整理が出来たら、以下のようなことが言えます。

 

 

これで、バッチリですね!!え?余計にわからなくなった?それでは、これでどうでしょう。

 

 

先程の構成図と一緒に見て確認しておいてください。NATの設計をしていると、当たり前に飛び交うのでちゃんと覚えておきましょうね!

 

NATの種類

冒頭でも話した通り、NATにはいくつかの種類があります。まず、大きく分けて2種類あります。IPアドレスだけを変更する『NAT』、ポート番号まで変更する『NAPT』があります。その『NAT』の中でも『スタティックNAT』『ダイナミックNAT』があります。スタティックNATは、あらかじめ1対1で定義されたIPアドレス同士を変換させる仕組みで、ダイナミックNATは、決められたIPアドレスプールの中から使っていないIPアドレスを選定して、変換する仕組みのことです。1つずつ詳細を見ていきましょう。

 

 

スタティックNAT

スタティックNATとは、1対1でNAT変換する仕組みです。実は、これまた『ホストNAT』『セグメントNAT』で分けて話すこともあります。説明しなくてもわかるとは思いますが、ホストNATは、NAT定義をホスト単位で指定します。NAT変換したい10台の端末があれば、10行の定義文が必要となります。

 

一方、セグメントNATであれば24ビットマスクのセグメントであれば、1行の定義文で254台の端末がNAT変換出来るようになります。(ネットワークアドレスとブロードキャストアドレスを除いています。)

 

例えば、『10.1.1.0/24』を『192.168.1.0/24』に変換するように定義するだけで、この範囲に含まれる端末は、全てNAT変換可能になります。ただし、注意してもらいたいのが、『10.1.1.1』のアドレスが『192.168.1.1』に変換されるという保証はされていない場合があります。端末の変換後アドレスが固定されないといけない場合などは、注意してくださいね!

 

 

ダイナミックNAT

続いてダイナミックNATですが、ダイナミックNATは、スタティックNATと似ていますが範囲の指定に違いがあります。スタティックNATは、NAT変換前のアドレスと変換後のアドレス範囲が同じになりますが、ダイナミックNATは異なります。大抵の場合は変換後アドレス範囲が狭くなります。

 

どうしても変換後のアドレス範囲が取れなかった場合に使用することがありますが、先に変換後アドレスを取ったもん勝ちになるので、アドレス範囲がなくると、後から来た端末は使えなくなります。端末を順番に使うなどの制御が出来るのであれば有効ですが、正直見たことありません。

 

NAPT(Network Address Port Translation)

最後にNAPTですが、これが一番身近なNATになります。家庭のパソコンからインターネットに出ていく時も使われる種類となります。これは、複数の内部ローカルアドレスを1つの内部グローバルアドレスに変換します。

 

例えば『10.1.1.1』と『10.1.1.2』の内部ローカルアドレスを『1.1.1.1』という内部グローバルアドレスに変換させることが可能になります。しかし、インターネットに出る時はいいんのですが、戻りに問題があります。インターネットから『1.1.1.1』に戻って来ても内部ネットワークのどちらのアドレスに返せばいいのかわからなくなりますよね。

 

そこで使用されるのが『ポート番号』です。送信元のポート番号も一緒に変換させ、戻りパケットの宛先ポート番号をNATエントリーと照合させて判断するのです。

 

例えば、『10.1.1.1』の送信元ポート番号が『100』であったパケットを、『1.1.1.1』の送信元ポート番号『101』に変換します。次に『10.1.1.2』の送信元ポート番号が『200』のパケットを、『1.1.1.1』の送信元ポート番号『201』に変換してます。そして、それぞれをNATテーブルに登録して、返りのパケットを待ちます。

 

パケットが戻ってくると、IPアドレスと宛先ポート番号を見て戻すアドレスを決めます。『1.1.1.1』のIPアドレスで宛先ポート番号が『101』であれば、『10.1.1.1』のアドレスで『100』のポート番号に戻すような仕組みです。このようにしてアドレス変換が完了します。

 

それなら、全部NAPTでいいじゃん!って声が聞こえて来そうですが、そうでもないんです。今回、『10.1.1.1』から開始したため通信は成立しましてが、外部ネットワークからは不可能なんです。なぜなら、NATテーブルに『10.1.1.1:100』⇒『1.1.1.1:101』のエントリがないからなんです。

 

家庭でインターネットアクセスする際は、大抵の場合、パソコンから通信を開始しますよね?インターネットからいきなり通信されることは少ないので成り立つのです。

 

なぜ、NATなの?

じゃあ、なんでこんなめんどくさいNATなんて使わなきゃいけないの?って思われる方もいると思います。それは、ネットワークの限界を補う仕組みなんです。

 

 

IPアドレス範囲の限界

インターネットが普及するようになってから爆発的にIPアドレスを持つ端末は増えましたが、実はその前からアドレスの枯渇は問題視されていました。そのため、IPv6などがつくられたのですが、その前の対策として行われていたのが、グローバルアドレスとローカルアドレスの分離でした。ローカルアドレスは組織内で好きに使ってもらい、インターネットに出る時は一意のグローバルアドレスに変換してもらうようになりました。

 

ネットワーク管理の限界

ネットワーク管理を多くの組織で行なっている場合が多いです。その管理主幹が異なると、当然、相手のことなんて考慮しないので、アドレスに重複が発生します。その重複してしまったネットワーク同士は接続できないので、どちらかのアドレスを変換させる必要があるのです。よくある話です。

 

セグメント変更の限界

ここまでIT化が進んでいる現在、完全新規でネットワークを作るなんてことは、まずないです。そんな中パソコンやプリンタなど数百台、数千台、場合によっては1万台のアドレス変更をするのは現実的ではないです。それをネットワーク機器が成り代わってNAT変換してあげることがあります。

 

まとめ

ベル

ここまで勉強してくると、頭がぐちゃぐちゃになってきますよね。それでいて、よくわからないけど、NATって便利だなーって思っているかもしれませんが、これが一番危険な状態です。次の授業で、NAT使用上の注意点をまとめてあります。こちらも受講してください!

【NATの概要 ~基礎編②~】

NATの概要 ~基礎編②~

 

【1週間でCCNAの基礎が学べる本】

NATはCCNAでも出題範囲となっています。それだけ一般的な技術となっているので、一度、本でも勉強してみましょう。

1週間で CCNAの基礎が学べる本 第2版 (徹底攻略)

新品価格
¥2,592から
(2018/10/6 00:43時点)

 


【Cisco1812J】

やっぱり何と言っても実機ですね。NATの勉強で絶対に使うのがルータなので、お手頃のルータを紹介しておきます。ぜひ検討してみてください。

CISCO Cisco 1812J 固定構成型 セキュアブロードバンドアクセスルータ CISCO1812-J/K9

中古価格
¥4,880から
(2018/10/6 00:51時点)

 

Follow me!

NATの概要 ~基礎編①~” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です