ホームネットワーク構築(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アプリケーションで説明することになると思います。
|
|
[Prev]
[Next]
[Top]
,
Network
[Prev]
[Next]
|