WANとはなにか?
おはようございます。またはこんにちは。もしくはこんばんわ。マゲっちSCと申します。9月も終わりに近づいてきました。10月に入ると私の住む愛媛松山では秋祭りが開催されます。10月5日から6日にかけて小学生たちがいわゆる提灯行列というものを夜間(だいたい18時~19時半頃)に行います。
そして10月7日には朝6時から夕方18時ごろまで大人たちも一緒になってお御輿を担ぎ、新築の家や地元の中小企業、病院などを回っていきます。
これが基本スタイルですが、地域によってはこれに走り込みが追加されたり、けんか神輿が追加されたりと同じ松山市内でも場所が違うと微妙に雰囲気が変わります。有名所では道後のけんか神輿でしょうか。過去には全国放送のテレビでも取り上げられていました。
さて、前回のブログではLANについてお話させていただきました。LANは狭い範囲のネットワークです。各ご家庭や企業の部門単位のネットワークがLANに該当します。ネットワークの中継を行っているのはスイッチングハブで、家庭向けのWi-Fiルータにはこのスイッチングハブの機能が備わっています。
LANはWi-Fiルータやスイッチングハブが学習したMACアドレスを参照し、目的の機器に情報を超高速に伝達します。また、伝達する際は情報を電気信号としてLANケーブルやWi-Fiで伝達しますが、そのときに電気が減衰している場合は電気を増幅してくれます。
WANとはなにか?
LANに対してWANというものがあります。前回のブログでも若干触れましたがLANが狭い範囲のネットワークであるのに対して、WANは広域な範囲のネットワークになります。
とはいえ、広域と言ってもどの範囲をさすのかが非常に分かりづらいですよね。例えばあなたの隣に別の家が建っています。その家には住人の方がいてその方の家ではLANを構築して(PC1台とWi-Fi接続をしているスマホなど)をWi-Fiルータに接続しているとします。
その方の家のLAN内部のPCにみなさんの家のLANに接続されたPCからアクセスをしようとします。が、当然接続することはできません。それはみなさんの家のLANと隣の家の方のLANが別のネットワークだからです。
企業で言えば営業部のLANに接続されているPCから総務部のLANに接続されているPCにアクセスしようとしてもアクセスすることはできません。
しかし実際には隣の家の方のPCにメールを届けることもできますし、営業部のPCから総務部のPCにアクセスして、共有ファイルを見ることもできます。
それはルータを通してWANを通っているからです。皆さんの家のPCから隣の家の方のPCにメールを送信する場合は皆さんが契約しているISP(インターネットサービスプロバイダ)にあるメールサーバを通じて隣の家の方が契約しているISPのメールサーバにメールを転送しています。営業部のPCから総務部のPC内にある共有フォルダの中にある共有ファイルを見る場合は、営業部内にあるルータから総務部内にあるルータへリクエストが飛んでいます。
こうしてLANからルータを通って別のLANやインターネット(WAN)に情報やリクエストが届いているのです。
ルータの仕事とはなにか?
ではルータの仕事とは何でしょう?スイッチングハブの仕事はMACアドレスを確認して該当するMACアドレスを持つノード(PCやプリンタなど)へ情報を伝達することでした。同じネットワーク内なので割りと単純なものになっています。
ルータの場合はMACアドレスではなくIPアドレスで判断します。IPアドレスというのはネットワーク機器につけられた固有のネットワークアドレスです。MACアドレスと違う部分はMACアドレスが工場出荷時につけられ、基本的にはそのまま変更しないものであるのに対し、IPアドレスは固有とはいえ変更が可能になっています。また、プライベートIPアドレスとグローバルIPアドレスに分かれていたり、IPv4とIPv6の2種類があったりします。
ではルータのお仕事を見ていきましょう。まずみなさんのPCからとあるポータルサイト(検索機能のあるサイト)を閲覧したいというリクエストがみなさんの家に設置されているWi-Fiルータへ到達します。Wi-FiルータはまずMACアドレスを確認します。同じネットワーク内にその情報を持った端末があるかもしれないからです。しかしMACアドレスのテーブルを見ても宛先のMACアドレスが見つからない、またはMACアドレスの欄が空欄になっています。
するとWi-Fiルータはリクエストパケットの中にあるIPアドレスを確認します。みなさんのPCのIPアドレスが仮に「192.168.0.2」だったとします。Wi-FiルータのLAN側のIPアドレスは「192.168.0.1」です。
しかし、Wi-Fiルータはみなさんが閲覧したいポータルサイトのIPアドレスを知りません。これがスイッチングハブであればここで通信は終了となり、みなさんのウェブブラウザには情報を取得できなかった旨とエラーコードが表示されます。
が、ルータの場合は宛先のIPアドレスがわからない場合は別のネットワークやルータへその情報を投げることができます。ルータは別々のネットワークをIPアドレスによってつなぐことができます。
ただ、みなさんのPCに振られているIPアドレスはプライベートIPアドレスというタイプのLAN内専用のIPアドレスです。ルータはみなさんのIPアドレスをNATテーブルに書き込んで記憶するとISPから振られているグローバルIPアドレスというものに変換します。みなさんのご家庭のWi-FiルータはISPのDNSサーバに
「このポータルサイトを知らないか?」
と質問します。
DNSサーバは宛先のウェブアドレス(http://www.で始まるアドレス)をIPアドレスに変換します。そして、このサイトへ行く際にいつもパケットを渡している中継地点にあるネットワークルータに情報を投げます。
渡されたネットワークルータはそのサイトへアクセスする際に情報を投げているネットワークルータへまた情報を投げます。こうして何台かネットワークルータを経由して最終的にそのサイトのIPアドレスを知っているネットワークルータがポータルサイトのWebサーバへリクエストを渡します。
Webサーバはもらったリクエストを実行して、自分に情報を投げてくれたネットワークルータへ情報の入ったパケットを投げ返します。また数台のネットワークルータを経由してリクエストされた情報のパケットがみなさんのご家庭のWi-Fiルータへ戻されます。
Wi-Fiルータは戻ってきた情報をリクエストを発信したノードへ転送しなければなりません。そこでNATテーブルを確認します。リクエストがあったのはみなさんのPCなのでNATテーブルにあるプライベートIPアドレス(192.168.0.2)へリクエストを渡します。PCがその情報を受け取ると情報を解析・計算して最終的にウェブブラウザ上に表示したり音声をスピーカーから出したりします。このやり取りを高速に行っているというわけです。
また、Wi-Fiルータはこちらの端末から発したリクエストは送受信してくれますが、こちらが発していないリクエストは受信しないという機能もあります。
例えばみなさんがお食事にでかけたとします。ラーメンだけを注文しましたが、テーブルにはラーメンとチャーハンが来た場合、みなさんは
「いや、チャーハンは頼んでないよ」
と言われると思いますが、この注文していない料理を断る機能がみなさんのWi-Fiルータには備わっています。
インターネットの世界には善意を持ったユーザの他に悪意を持ったユーザもいて、みなさんのPCだったり企業のWebサーバなどにアクセスし、情報を盗み出そうとしたり改ざんしようとしたりする人もいます。そういうリクエストや命令をWi-Fiルータは跳ね除けてくれるいわゆるバリア機能があるんですね。
IPアドレスとはなにか?
プライベートIPアドレスとはなにか?
では、プライベートIPアドレスやグローバルIPアドレスとは何でしょうか?それ以前にIPアドレスとは何でしょうか?まずはIPアドレスについてお話します。
IPアドレスとはインターネット・プロトコルに準じてつけられているネットワーク用のアドレス(住所)のことです。
プライベートIPアドレスとは個人的なIPアドレスのことで、LAN内専用のIPアドレスです。LAN内ならMACアドレスを使えばいいじゃないかと思われるかもしれませんが、LANからWANへリクエストを投げる場合、リクエスト元のノードのIPアドレスがわからないと情報を返すことができません。そのためLAN内専用のIPアドレスが必要になります。なお、LAN専用のため、みなさんの家のPCのプライベートIPアドレスが「192.168.0.2」であってもお隣さんのプライベートIPアドレスも同じ「192.168.0.2」になっていることもあります。「これだと両者とも同じアドレスになるから同じ情報が届くのでは?」
と思われた方もいらっしゃるかもしれません。
グローバルIPアドレスとはなにか?
そこで登場するのがグローバルIPアドレスです。グローバルですから全世界で1つしかこのIPアドレスは存在しません。日本では各ISPに総務省からグローバルIPアドレスが配布されています。各ISPは契約している顧客に対して回線数に応じたグローバルIPアドレスを割り振っています。1回線につき1個のグローバルIPアドレスが割り振られます。
IPv4とIPv6とはなにか?
ではIPv4とIPv6とは何でしょうか?みなさんも目にしたことのある方とない方がいらっしゃると思います。
IPv4はIPアドレスのバージョン4に該当します。10進数の0~255までの数字4つで表現されています。ビット数は32bitですね。IPv6はIPアドレスのバージョン6になります。こちらは16進数で表現されます。ビット数は128bitになります。
インターネット黎明期はIPv4で世界中のサーバ・ルータ・PCなどを管理することができていました。が、現在はPCやスマホ、家庭用ゲーム機はもちろんIoT対応の家電(エアコンや電子レンジなど)も複数あります。そして世界には191の国と地域が存在していると言われています。それだけの数の国や地域の方が世界に1つしかないIPアドレスを手持ちのPCやスマホや家庭用ゲーム機、IoT対応家電に割り振った場合IPv4アドレスでは到底足りなくなってしまいます。そこで各家庭や企業などにルータを設置してグローバルIPアドレス1個の下にプライベートIPアドレスを複数個割り振るという対策を取ってきました。が、それでもIPv4ではまかないきれなくなるという試算が出てしまいます。
そこで新たにIPv6を作ります。32bitアドレスから128bitアドレスにすることで、現在世界中にあるネットワーク機器やIoT対応機器にグローバルIPアドレスを割り振ってもかなりの数が余る状態にすることができました。
2022年9月現在はIPv4とIPv6の入れ替えの過渡期にあたります。Windows10やWindows11搭載のPCやMac、PS4やPS5、ニンテンドウスイッチなどではIPv4とIPv6両方に対応しています。
先ほどお話したように、みなさんとお隣の家の方のプライベートIPアドレスが同じものだった場合でも、Wi-FiルータのWAN側に振られたIPアドレスはまったく別物になるため、情報が交錯することはありません。
Wi-Fiルータはデータをどのように元の端末に戻しているのか?
ところでWi-Fiルータはどのようにしてリクエストした元の端末にデータを送り返せるのでしょうか?
それを可能にしているのがNAT(ナット)テーブルと呼ばれるものになります。
先ほどお話した例の中で、みなさんのお使いのPCからポータルサイトの閲覧をリクエストした際にWi-FiルータがNATテーブルにリクエスト元のプライベートIPアドレスを記憶していたことを覚えていらっしゃるでしょうか?
一度にPCや家庭用ゲーム機、スマホなどからWi-Fiルータへ向かってインターネットサイトの閲覧リクエストが来た場合にWi-FiルータはそれぞれのプライベートIPアドレスをNATテーブルに記憶しておき、Wi-FiルータがウェブサイトのあるWebサーバへそれぞれの要求を投げていきます。Webサーバはリクエストを受け取ると、パケットを皆さんの部屋にあるWi-Fiルータへと送り返します。Wi-Fiルータはそれを受け取ると、NATテーブルを参照してどのパケットがどの端末から来たものかを判断して、それぞれの端末へとデータを送り返しているというわけです。
プライベートIPアドレスやグローバルIPアドレスは誰が設定しているのか?
そうなると疑問が湧いてくると思います。見出しにも書きましたがプライベートIPアドレスやグローバルIPアドレスはいつ誰が設定しているのでしょうか?
まずグローバルIPアドレスですが、これは先ほどもお話したとおり各ISPに総務省が割り当てています。総務省から一定の個数のグローバルIPアドレスを割り振られたISPは自身のデータベースにグローバルIPアドレスを保存します。
各家庭から通信装置(ONUやADSLモデムなど)とWi-Fiルータにそれぞれ電源が入るとWi-FiルータのWAN側のMACアドレスをISP側で感知し、自動的に現在使われていないグローバルIPアドレスをみなさんの家にあるWi-Fiルータへ割り振ります。
同じようにWi-FiルータにもこのIPアドレスを自動で割り振る機能がついており、Wi-Fiルータも自分とつながっている各ネットワーク機器やPCなどの端末に対してプライベートIPアドレスをリクエストがあった順番に(電源が入った端末がLANケーブルやWi-Fiの電波でつながったタイミングで)、自動的にプライベートIPアドレスを割り振っていきます。この自動的に空いているIPアドレスを割り振る機能をDHCP機能と呼び、DHCP機能を持つ機器をDHCPサーバと呼びます。現在売られているWi-FiルータにはこのDHCPサーバ機能が標準で搭載されているものがほとんどです。
ちなみにスイッチングハブとルータの処理能力の速さはスイッチングハブが圧倒的に速いです。これは反射的に決まった端末にデータを転送できるスイッチングハブに対して、ルータはNATテーブルでプライベートIPアドレスやグローバルIPアドレスに変換する必要があるからです。
また、ルータは自分の配下にある端末に無関係なパケットやルータを何度も経由している古いパケットは破棄するようになっています。また、ルータはすべてファームウェアや独自のOSで動作しているため、それらの計算などを行う必要があり結果として動作が遅くなります。インターネット上でも経由するルータの台数が多くなるほど、データの到達は遅くなっていきます。
まとめ
ルータは自分とつながっている各端末からのリクエストなどを皆さんがいる今のネットワークから別のネットワークへ接続するための機器であることがおわかりいただけたかと思います。また、インターネットの仕組みも簡単にですが紹介しました。DNSサーバについてはまた別の機会にお話できたらと思っています。
別のネットワークとは別のLANであったりインターネットであったりします。ご自身のPCなどがつながっているものがLANであり、それ以外のネットワークはWANまたは別のLANになると思っていただいていいかと思います。
では次回ですが、ネットワークには信頼性の高いものとそうではないものがあります。信頼性が高い=高品質、信頼性が低い=低品質と思われがちですが、ネットワークやコンピュータの信頼性というものはそういう意味合いではありません。ではこの信頼性の高いネットワークと信頼性の低いネットワーク。違いは何でしょう?正解は次回のブログでお話いたします。ご興味がありましたらまたお立ち寄りください。それでは失礼いたします。