前回、家庭内LANの環境改善のためにネットワークを少し変更したのですが、
今回はその内容について少し解説してみます。
できるだけわかりやすくお話できればと思いますが、完全にchaboの趣味の世界なんでここはPVは気にしない(笑)
ネットワーク比較
まず、前回のネットワーク構成変更前と変更後をもう一度見比べてみます。
変更されている部分は赤字の部分。変更前には「192.168.100.x」しかなかったのが、新たに「192.168.200.x」というものが増えていますね。
IPアドレスとは
グローバルIPとプラベートIPの違い
これはIPアドレスというもので、有線無線を問わずネットワークに繋がる端末(パソコン、スマホ、タブレット、プリンター、、、etc)には例外なく割り当てなければ互いに通信ができないというものです。
IPアドレスというものは、大きく分けて「グローバルIPアドレス」と、「プライベートIPアドレス」というものがあって、ここで出てくるIPアドレスは「プライベートIPアドレス」のほうです。
この2つの違いは何かというと、
グローバルIPアドレス・・・インターネット上に存在し、ホスト同士が互いに通信するためのIPアドレス
プライベートIPアドレス・・・家庭や企業など、ある閉じられた環境内で互いに通信するためのIPアドレス
ということになります。
IPアドレスはいわば「住所」の代わりですから、重複したものは同じ環境内に存在することが規則上できません。それは例えば、「東京都○○区□□町1-1」が2つも3つも存在していたら、amazonの荷物がちゃんと届かないという理屈と一緒で、インターネット上に存在するグローバルIPアドレスも重複したものは存在しないことになっています。
プライベートIPアドレスも基本的に同様ですが、グローバルIPアドレスとの違いは、例えば家庭の中であれば、別に他のお宅の中のIPアドレスと重複していても構わない、ということです。
例えば「リビングのテーブルの上にあるパソコン」は佐藤さんのお宅にも、鈴木さんのお宅にも存在できるわけです。でも家の中に入ってしまえば、「リビングのテーブルの上にあるパソコン」は一つしかないから、不都合は生じないわけですね。
IPアドレスの枯渇問題
世の中にはたくさんの端末が存在するため、全世界の端末にユニークな(重複しない、一意の)IPアドレスを付与するとあっという間にIPアドレスが足りなくなってしまいます。これを解消するために考えられた規格がIPv6という規格ですが、あまりにもこれまで一般に使われてきた「IPv4」という規格のIPアドレスが浸透しているために、IPv6はまだまだ限られた端末で使われているにとどまっています。
ここでお話する「192.168.100.x」というアドレスも、IPv4アドレスの規格です。まだまだ一般的にはこちらが主流です。
さて、グローバルIPアドレスは全世界に通信可能なIPアドレスであるので、皆んなが好き放題にアドレスを使用したら、大変なことになります。「東京都○○区ホニャララ」が世界中に何十、何百と出来上がることになるからです。
そのため、IPアドレスはNIC(Network Information Center)という組織で管理されていて、日本ではJPNICという組織が日本国内で使用されるグローバルIPアドレスを管理しています。
彼らは国際的に日本で使用が認められているアドレス帯(ここからここまでのアドレスを使っていいよという帯域)をISPに割り振っています。つまり皆さんがネット接続するために契約しているプロバイダやスマホのキャリアのことです。
そして、ISPは契約者に対してIPアドレスを払い出し、はじめて私達ユーザーがインターネットを楽しむことができるという塩梅です。
通常、このグローバルアドレスは、皆さんの家庭内にある終端装置(NTTフレッツならCTUやホームゲートウェイ、CATVならケーブルモデムなど)に自動で割り当てられるので、意識することは特にありません。
私のように家にサーバを立てるような特殊な状況だと色々考えなければならないことがあるのですが、それはまた別の機会に。
プライベートアドレスは原則いくつでも作れる
そして、グローバルIPアドレスが割り振られた終端装置の内側からは、今度はプライベートIPアドレスを使うことになるのです。
このグローバルIPとプライベートIPを変換する機能、これをNAT(Network Address Translation)といい、そのアドレス帯をまたいで正常に通信ができる機能をルーティング(Routing)と呼び、その機能を実装した機械を一般的にルーター(Router)と呼んでいます。
我が家のルーターはこの図の左上にある「CATVモデム兼ワイヤレスルーター」です。
ルーターと呼ばれる機械には、NATの役割、ルーティングの役割とともに、LAN内の端末に向けた機能も付与されていて、大きく分けると、
- DHCPサーバ機能
- DNSサーバ機能
- ゲートウェイ機能
が重要な要素になります。その他ファイヤーウォール機能(外部からの不正な侵入を防御する)や、WiFi機能(無線接続の親機になる)、パケットフィルタリングやポートフォワード機能なども装備されているものも多いです。
DHCPサーバとは
DHCPサーバという機能は、LAN内の端末に対して、自動でプライベートIPアドレスを払い出し、付与する機能です。イチイチ端末側で重複しないようにIPアドレスを設定することはとっても負担ですよね。通常はそんなことは意識してはやりませんし、やりたくもないでしょう。だからこれがないと非常に面倒なことになってしまいます。
ですから、ルーターにはほぼこの機能が内蔵されていると考えていいでしょう。
DNSサーバとは
DNSは本当に優れたインターネット上の技術の一つで、一般人がインターネットをやり始めた1990年代から存在していて、今でもバリバリ現役のシステムです。
先ほどお話したIPアドレスは3x4の12桁で表しますが、例えば「Yahoo」や「Google」にアクセスするのにイチイチ数字なんて覚えていたら混乱しますよね。もっとわかり易い名前「yahoo.co.jp」とか「google.co.jp」とかなら覚えられるし判りやすいです。これをドメインと言って、DNSはこのドメイン名でリクエストがあった通信を先ほどのIPアドレスに変換するためのシステムです。
例えば全世界のドメインとIPアドレスを一つのコンピュータにデータとして保管してあったらどうなるでしょう?
1秒間に何千万、何億というアクセスが集中し、スーパーコンピュータでも処理が追いつかないかもしれません。
もしそこがダウンしたら、全世界のインターネットが一斉に止まります。そんなことは現実的にナンセンスです。
そして、ドメインは毎日多くの新しいドメインが誕生し、消滅していきます。それを一々データベースに書き込むのもナンセンスですね。
実はインターネットの黎明期には本当に一元化されたデータベースでこのシステムを動かしていました。その時は非常に限られたネットワークで利用する人数も少なかったので不都合はありませんでしたが、インターネットがパブリックなネットワークとして一般に公開されたらそれでは駄目だ、ということになり、このDNSというシステムが出来上がりました。
少し端折って説明すると、方法はこうです。
世界中のDNSの親玉が幾つかあって、複数の国にそれぞれ設置されています。
まずはそこに問い合わせされ、目的のアドレスが「yahoo.co.jp」だったら、最後の「jp」(ルートドメイン)だけを読み取って「ああ、この宛先はjpだから日本だな。じゃあ日本の親玉を紹介しよう」とそこのアドレスを返します。
返された方は次はそこに問い合わせをすると、次は「yahoo」ドメインを管轄しているDNSのアドレスを紹介します。
そして改めてyahooのDNSに到達し、「yahoo.co.jp」のアドレスはどこかを教えてもらい、最終的にyahooのサイトへアクセスできるのです。
この仕組は実に芸術的で、こうすることで、yahooは自社のサイトへアクセスするためのDNSだけをメンテナンスすればいいことになり、例えそのサーバがダウンしたとしても、世界のネットワークは影響を受けることはありません。(日本国内ではyahooにアクセスできなくなったら大騒ぎかもしれませんが)
これをドメインごとにやってもらえれば、ここのホストコンピュータの負荷は最小限で済みますし、メンテナンスも容易です。
私達がインターネットを快適に利用できるのは、こういった工夫の上に成り立っているのですね。
話を戻しますが、家庭内のルータにはこのDNSサーバ機能が備わっていますが、つまりここに聞けば、ISPのDNSサーバに聞いてあげるよ」という機能です。そして聞かれたISPのDNSサーバは上記のやり取りをひたすらこなすのです。
ゲートウェイ機能
これはいわば家庭内から外に向かうための玄関であり出口です。インターネットへ向けて通信する際に「出口はここだよ」という情報を端末に予め教えてあげることが必要なため、その機能をルータに持たせているのです。
ネットワークを分割する
さて、この家庭内の限られた空間に存在するプライベートアドレスですが、例えば今回のような「192.168.100.x」の端末と、「192.168.200.x」という端末同士では通信ができません。IPアドレスというのはサブネットという考え方があって、余計な通信が必要のない場所に行かないようにエリアを分けることができるという仕様になっています。
これも詳しくは割愛しますが、上記は一般的に24ビットのネットワークと言って、最初の3×3桁のアドレスが同じでなければ互いに通信はできません。16ビットのネットワークとか他の形式にすればもっと通信できる端末が増えますが、その分ネットワークを太くする(端末が増えれば通信量も増えるため)必要がるため、企業などでは使われますが家庭内では24ビットが一般的です。
そして、なぜこのネットワークを2つにしたかというと、上記のDHCPサーバとDNSサーバが関係します。
今回スマホ1台だけをルーターのWiFiに直接接続させましたが、これはあくまで速度向上のための措置です。当然IPアドレスやDNSの情報もルーターからもらいます。
ただわたしのPCやスマホからは、同じ宅内にあるNASや録画用サーバにプライベートIPアドレスでアクセスしなければブログも書けません。
だからそれを解決してくれるDNSが必要ですが、ルーターからDHCPサーバやDNSを付与されてしまうと、当然ながら外の世界に聞きに行ってしまうので、回答としてグローバルIPアドレスを返してくることになります。
これでは具合が悪いです。だってワタシはあくまで自宅の中にしかも目の前に置いてあるNASにアクセスしたいのに、「日本国福井県○○市ホニャララ」と言われても困るわけです。
でも外にいるなら話は別です。スタバでブログを書こうとして店員に「家の片隅の黒いあのニクイNAS野郎」と言ってもわかってくれる人はいないのですから、そこは具体的に「福井県ホニャララ」でいいのです。
でも、家にいる時でも、外出先でもアクセス先は「www.omoide-soko.jp」です。このURLリクエストに対して、家では「192.168.100.x」、外からは「111.222.333.x」というISPから自宅のルータに割り当てられているアドレスにアクセスできたら便利でしょう?
ネットワーウを2つに分けることで、ルータのDHCPが及ぶ範囲が「192.168.100.x」に限定され、それにより、「192.168.200.x」のエリアにある端末は、別のDHCPサーバからIPアドレスやDNSを受け取ることができるようになります。
そしてEX6100をルータモードにして、ここから端末に割り当てるIPアドレスを「192.168.200.x」とし、DNSはNASを指定することで、NASのDNSのに記載しているLAN内の端末のプライベートIPアドレスを端末に返すことが出来るというわけです。
なんとなく分かってもらえたでしょうか。
重要点
重要な点をまとめると、
[table id=2 /]
ということになります。
わからないことがあったら、気軽に問い合わせてください、お答えできることはお答えしていきたいと思います。