ホームネットワーク構築(6)
2017/09/03 (2017/09/10 updated)
[Prev] [Next] [Top] , Network [Prev] [Next]
PCのTCP/IP設定(2):デフォルトゲートウェイ
  • 前回のレポートではIPアドレスとサブネットマスクについて説明しました。残りのTCP/IP設定項目はデフォルトゲートウェイとDNSサーバーですが、今回はデフォルトゲートウェイを説明します。結論から書くと、デフォルトゲートウェイにはルータのLAN側IPアドレスを記述します。

  • ホームネットワーク構築(2)」で説明したように、インターネットはLANが相互に接続されたものです。つまりホームネットワーク(自宅のLAN)からインターネットを利用するとは、自宅のLANをインターネットに接続することを意味しています。この接続ポイントがゲートウェイです。


    図1 : ゲートウェイとルータ

  • そして、このゲートウェイとして置かれるホスト又は装置は、Internet側とLAN側でIPアドレスの変換を行います。具体的には、ホームネットワークというLANに対してISP(*)から一つ与えられるグローバルアドレスをLAN側のホストで共有します。この機能を持った装置をルータと呼びます。

    図2 : ルータ

  • このIPアドレスの変換は、Linux等のサーバ機能を持ったPC上でソフトウェアを使っても実現できます(*2)。しかしながら、ホームネットワークでも複数ホストの存在は当たり前であることと、ルータが安価になっていることから、インターネットへの接続には装置としてのルータを経由することがデフォルトとなっています。

  • つまり、ホームネットワークの観点では「デフォルトゲートウェイとはルータを指す」という理解で全く問題ありません。そして図1の例では、ルータのLAN側IPアドレスに「192.168.10.1」を与えているので、LAN側各ホストのデフォルトゲートウェイには、この値を書くことになります。

NAPT(Network Address Port Translation)
  • ここでもう少しルータが何をしているのか見てみましょう。例としてインターネットでWeb閲覧を考えてみます。Webを見るとはインターネット上にあるHTTPサーバにデータを要求し、そのデータを受け取るということです。受け取ったデータはWebブラウザで整形され、まさに目の前で見ているように表示されます。

  • しかし、一つのサーバでHTTP以外にもメールやFTP等複数のTCP/IPアプリケーションが動いていることも多いため、データ要求を送るにしても対象となるアプリケーションを指定する必要があります。これはポート番号(*3)と呼ばれ、通常WebサーバつまりHTTPには「80」番が割り当てられています。

  • そして、HTTPサーバへデータを要求するLAN側ホストは、サーバの応答データを受け取るポート番号も一緒につけて出しています。図3はLAN側のホストがインターネット上のHTTPサーバにデータ要求を送信する流れを示しています。


    図3 : ルータを経由したHTTPサーバへのデータ要求

  • ルータはプライベートアドレス(LIP1,LIP2)をグローバルアドレス(GIP0)に変換します。これはNAT(Netwok Address Traslation)と呼ばれています。しかし、ただ単にアドレスを変換しただけだと、HTTPサーバから応答がきたときに、どのローカルホストからの要求に対する応答かがわかりません。

  • そこでルータは、各ローカルホストの送信時ポート番号を変換して、インターネット送信時にローカルホスト毎でポート番号が異なるようにします。そのポート番号の変換テーブルはルータ内で保持されます。この仕組をNAPT(Network Address Port Translation)(*4)と呼びます。このNAPTによりLAN側からの送信要求を並列に処理することが可能になっています。

  • そして同じようにHTTPサーバ側からの応答データを受け取るときですが、HTTPサーバ自身はグローバルアドレスGIP0に対してデータを渡しているだけです。ルータ側で送信先ポートに基づいてローカルホストのIPアドレス及びオリジナルのポート番号へ戻します。図4はルータを経由したHTTPサーバからのデータ受信を示しています。


    図4 : ルータを経由したHTTPサーバからのデータ受信

  • まとめると、ルータはNAPTによって一つのグローバルドレスをLAN側の複数ホストで共有しています

何故NAPTの説明を、そして次回は
  • 一部の方は違和感を感じたと思います。それはホームネットワーク構築のため、ネットワークの基礎知識を説明するこのレポートで「NAPTの説明は行き過ぎじゃないの?」というものでしょう。

  • これには理由があります。それは一般レベルでIoTの浸透が始まるだろうという予想によるものです。外出先からIoT機器にアクセスする際に、このNAPTを理解できていないと、説明書を見ても「意味がわからない」(*5)という状態になると考えているからです。本当はIPv6の普及で解決されるはずだったのですが、IoT自身の普及のほうが早そうな気がしています。

  • 次回はLAN側ホスト最後のTCP/IP設定項目としてDNSを説明予定です。
Notes
  • Internet Service Provider : インターネットのプロバイダのことです。
  • ネットワーク機器は24時間動いているものなので、自宅ではどうかな(燃えないかな)と。実験室とかで急遽独立LANを作りたい時に、Linux PCやラズパイで代用といったところでしょう。
  • ポート番号についてはTCP/IPアプリケーションで再度説明予定です。
  • Linux上の機能の名前として、NAPTのことをIPマスカレードと呼びます。年寄り(私も)はIPマスカレードと言う傾向に。
  • ポートフォワーディングのことです。インターネット側からの特定ポートに対する送信要求を受けられるようNAPTを設定することです。これもTCP/IPアプリケーションで説明することになると思います。
Copyright(C) 2017 Altmo
本HPについて
[Prev] [Next] [Top] , Network [Prev] [Next]