第3章 第4話IPアドレスとURLとの関係

0
1636

CS-3章 ネットワーク

【CS03-04】IPアドレスとURLとの関係

コンピュータ同士が繋がるとは?

この章の第3話まででインターネットの概要をお話ししてきましたが、インターネットについては更に詳しく話を進めていきたいと思います。そもそもネットワークに接続して情報を得る際には目的のコンピュータと「接続」されるわけですが、このコンピュータ同士が繋がるためにはどんな手続きが必要なのでしょうか。

コンピュータ同士が接続されるためには様々なステップがあります。ハード的にもソフト的にも様々な事が行われていますので、今回はインターネットを例にとってどんなステップでつながるのかを理解していきましょう。

ウェブサイトに繋がるまで

第三章1話で勉強したとおり、インターネットの世界では「サーバー」と呼ばれるサービスを提供するコンピュータと、そのサービスを受ける側の「クライアント」によって様々なサービスのやり取りがされています。

HTTPという約束で接続される

ネットワークでは「プロトコル」と呼ばれる通信をする上での約束があります。インターネットのウェブサイトを見る場合は、コンピュータ上の「ブラウザ」と呼ばれるソフトからHTTP(Hyper Text Transfer Protocol)という約束で通信を行います。これはハイパーテキストという形で作られたファイルをインターネット上にあるウェブサーバーに配置し、クライアントがいつでも自由にその情報を得る事ができる仕組みです。

例えば、以下のアドレスのページにアクセスする場合を考えてみます。

www.fabshop.jp

上記のようなホームページの場所を表すものをURLと呼びます。まずはコンピュータ上でブラウザに目的のウェブサイトのURLを入力すると、自宅にある「ルーター」と呼ばれるインターネットへの中継器に最初のデータが送られます。ルーターは「モデム」や「ONU」と呼ばれる通信回線にデータを送る装置を介してインターネットと常にやり取りを行っています。

上の図で、ONUは光回線の場合に利用されるもので、電話回線を利用して通信を行う場合はモデムを利用します。ここから出たリクエストはISP(インターネット・サービス・プロバイダ)と呼ばれるインターネット接続を行う業者を通ってDNSサーバーに問い合わせを行います。DNSサーバーにはインターネット上のどこにそのウェブサイトがあるかが記録されているので、そこからウェブサーバーにアクセスし、その情報をクライアントのコンピュータへ届けます。

ちょっと難しくなってきましたね。ここでURLとDNSについてもう少し詳しく見ていきます。

ウェブサイトの所在地を示す「URL」

まずURLについてみていきましょう。皆さんがよく「ホームページのアドレス」なんて呼んでいるもの、これがURLというもので「Uniform Resource Locator」の略です。インターネット上のどこにその情報があるかの位置情報という事になります。URLは以下のように構成されています。安全にインターネットを行うためにもこのURLの構成を覚えておくことはとても重要です。

まず最初に「http://~」とあります。これはHTTPというプロトコルで通信を行いますよという意味になっています。最近ではhttps://~と「s」がついている場合がほとんどです。これはSecure(セキュア)のsで「安全な通信ですよ」という意味になっています。通常インターネットに公開されている情報を見るだけであれば問題ないのですが、最近ではネット通販などで、ウェブサイト上に自分の個人情報を入力する場合があります。そういったサービスを利用する場合にはhttpsがついていることを確認してください。今皆さんがみているこのページもhttpsになっています。最近のブラウザではURLの先頭に「鍵」のマークがついています。それは、このサイトの通信は暗号化されてリクエストのやり取りを行っているので安心です、というものです。

次にwww.fabshop.jpという部分です。最初のwwwの部分は、ホスト名、つまりコンピュータの名称という事になります。wwwと言えば前回の話で「ダブリュー・ダブリュー・ダブリュー(ワールド・ワイド・ウェブ)」という事で、主にウェブサイトを置いておくサーバーの名称を慣例でこのような名前にするようになっています。

ホスト名はいろいろある

ホスト名とは、ネットワーク上のコンピュータの名前です。ウェブサイトはインターネット上の公開されたコンピュータ上に置かれていて、www.とするのは慣例としてよく使われますが、他にもstoreや、メール用のサーバーであればmailなど利用形態によって名前が付けられています。

当サイトでもショッピング用のサイトはstore.fabshop.jpとなっていて「store」というコンピュータをwwwとは別に用意してURLを分けて利用しています。

ドメイン名

ホスト名の次に来るのが「ドメイン名」といわれる部分です。ここは会社名やサイト名、サービス名、商品名など様々なです。人が見たときに「あ、ここはあのサイトだな」と分かりやすいような名称になっています。当サイトではfabshop.jpとなっています。ドメイン名の一番最後についている「.jp」の部分をトップレベルドメインと呼び、大きくいくつかの分類に分けられています。「.jp」のように国を示している場合が多く、この場合は「日本」と言うのがすぐにわかるようになっています。.us や.au、.ukなど国名を表すものがあります。利用者の国に関係なく利用できるドメイン名として.com、.org、.netなどもあります。「.com」は主に商用サービスを表していて、「.org」は任意団体、「.net」はネットワークサービスを表しています。

ドメイン名以降は「/(スラッシュ)」で区切った「パス」

URLのドメイン名以降は、パス(path)と呼ばれていて「/」で区切ってフォルダがあることを意味しています。今回の例で言えば、/microbitとなっていて、ウェブサイトの中にmicrobitというフォルダがあるという事になります。

次の図ではウェブサイトの構成を表しています。ウェブサイトもウェブサーバーと呼ばれるコンピュータの中に普通のコンピュータ同様にファイルシステムが構築されています。サイトの中の情報も作成した人が分かりやすいようにディレクトリ、いわゆる「フォルダ」で分けられています。このディレクトリの階層の事を「パス(Path)」と呼びます。

図の例では、www.fabshop.jpというウェブサイトの中に「raspberrypi」というフォルダがあって、更にその中に「rpi」というフォルダがあった場合、URLとしてあらわすと、

https://www.fabshop.jp/raspberrypi/rpi/

となります。このrpiの中には通常index.htmlと呼ばれるハイパーテキストで書かれたファイルがあり、自動的にこのindexファイルを読みに行くようになっています。

URLの仕組み、理解できたでしょうか?ここで重要なのは、httpsという通信方法が標準的になってきていて、この通信で接続していれば通信が暗号化されて安心であるというところと、ドメイン名にも気を付けてください。以下のURLを見てください。

https://www.microsoft.com

https://www.microsott.com

これ、よく見ると下のURLは間違えています。詐欺サイトなどはこのように紛らわしく似たようなURLなどをメールに張り付けてくる場合があります。URLはよく見て間違いがないサイトかどうかを判断しましょう。

ネットに接続されたすべてのコンピュータに割り当てられるIPアドレス

インターネットのウェブサイトの位置を表すURLを知ったところで、更に深くインターネットに接続されたコンピュータについてひも解いていきましょう。

まずインターネットに接続されたコンピュータには全て番号が振られます。これをIPアドレスといい、以下のように3ケタの数字を4つに区切って表します。

192.168.111.89

これはインターネットに接続されたコンピュータは全て振られる番号ですから、ラップトップパソコンやデスクトップパソコンはもちろん、スマートフォンやネット接続されたテレビ、ゲーム機などにも番号が振られます。

IPアドレスの最大値は255.255.255.255になります。999.999.999.999まで数字が無いのは2進数で表されているからです。0~255までで数字が256個あることになります。256は2の8乗になります。つまり8ケタの2進数の塊が4つという事です。

255.255.255.255を2進数で表すと

11111111.11111111.11111111.11111111

となります。コンピュータの中で起こるものは全て2進数でした。ですから10進数で表すと変な数字で終わる場合があるのです。

では、この番号はどのようにふられているかと言うと、図の中央にある「Router(ルーター)」と呼ばれるインターネットでの道先案内の役目をするような装置です。このルーターにはDHCP(Dynamic Host Configuration Protocol)と呼ばれる、このルーターに接続されたコンピュータに自動的にIPアドレスを振るサーバーが動作しています。IPアドレスは基本的には同じ番号はあってはいけません。しかしながら世界には数十億というコンピュータが接続されています。それではおよそ42億通りしかない、先ほどのIPアドレスではあっという間になくなってしまうため、グローバルIPとローカルIPというものを用意しています。

グローバルIPアドレスとローカルIPアドレス

IPアドレスは同じものが2つあってはいけないものです。インターネット上には同じIPアドレスが現れないように管理しているICANNという組織があり、これによりインターネット上のIPアドレスの重複を監視しています。

しかし、42億程度では、これからどんどん増えるコンピュータをさばききれなくなります。そのためにあるのが、グローバルIPアドレスとローカルIPアドレスという仕組みです。元々はグローバルIPアドレスしかありませんでしたが、ルーターでネットワークを区切ってしまえば、そのルーター以下のネットワークは1つのグローバルIPアドレスですべてのコンピュータが繋がるというものです。次の図を見てみましょう。

図の中で青いIPアドレスがグローバルIPで、緑色がローカルIPです。この家にはラップトップとデスクトップの2台のコンピュータがありますから通常2個のグローバルIPアドレスが必要です。

この場合、まずプロバイダからは1個のIPアドレスがインターネットとの出入口となるルーターに振られます。この例で言えば「118.217.131.163」が振られています。インターネット側から見ればこの家からのリクエストはすべてこのルーターを通ってきます。ですから全体で1つのコンピュータという扱いにします。ルーターより下側、つまり家庭内のLAN以下には「ローカルIP」というIPアドレスを振ります。もちろんこのIPアドレスは家庭内で重複してはいけません。

例えば、Aさん、Bさんそれぞれの家庭がある場合、ネットの入り口となるルーターにはインターネット側から見たら違うIPが振られているため、それぞれの家庭内でのIPアドレスは自由に決められます。Aさん宅内のIPアドレスとBさん宅内のIPアドレスは同じものを利用していても、ルーターから外に出るときにはグローバルIPに変換されて出ていく為、インターネット上ではIPアドレスが重複することがありません。

このようにしてIPアドレスを節約して使っています。企業などでは数十台、数百台のコンピュータを使うでしょうから、これらをルーターで管理して1つのグローバルIPにすることで相当なIPアドレスの節約になります。

IPアドレスとURLの橋渡し「DNSサーバー」

インターネットに接続されているコンピュータは全てIPアドレスが振られていて、このIPアドレスがインターネット上の住所のようなものになります。インターネット上に公開されている「Yahoo!」や「Google」のようなウェブサイトも全てIPアドレスを持っているわけです。しかしIPアドレスは数字であるため、Yahooにアクセスするときにいちいち数字で覚えるのは大変です。

そこで出てきたのが先ほど学んだURLという事になります。URLは人間が見たときにウェブサイトなどの所在地を覚えやすくするために用意されたものですから、本当はIPアドレスになっています。

つまりDNSサーバーはURLで入力されたものをIPアドレスで指定されているウェブサイトへ転送しているという事になります。

自宅のコンピュータから「fabshop」へアクセスする際には、ブラウザにwww.fabshop.jpと入力し、Enterを押します。すると、「www.fabshop.jpサイトへ接続してください」というリクエストがルーターに行きます。このルーターの中にはDNSサーバーが内蔵されていて、そのDNSサーバーはインターネット上にある他のDNSサーバーに接続して、その所在地の情報を調べIPアドレスがあるかどうかを調べます。ここで広大なインターネット上から所在地を特定し、そのウェブサーバーへ接続して、リクエストされた情報をコンピュータへ送ります。するとウェブサイトが表示されるわけです。

IPアドレスはもっと奥が深い

ここまでURL、IPアドレス、DNSサーバーについて触れてきましたが、IPアドレスは実はもっと奥が深いものになります。今後の章でさらに詳しくご紹介していきますが、今回の話しが良くわからなかった人は以下の事だけでも覚えておいてください。

  • インターネットに接続されているコンピュータはどんなものでも必ずIPアドレスと呼ばれる4つ区切りの数字(192.168.111.123のような)が割り当てられる。
  • 世界中のコンピュータを接続しなければならないので、IPアドレス節約のためにローカルIPというものを利用している。
  • URLは、最初に通信の規約、ホスト名、サイト名(ドメイン名)、パスという構成で出来ていて、サイト名などは注意深く見ておく必要がある。
  • ウェブサーバーなどネット上のサーバーはIPアドレスでその情報がある位置を引き当てますが、数字の羅列では覚えずらいのでURLを用意してそれをDNSサーバーというサービスで変換して利用している。
  • ルーターはインターネットの道先案内をしてくれるような装置で、DNSサーバーの機能を持ち、IPアドレスを自動的にふるDHCPサーバーという機能ももっている。

という感じの知識だけここでは覚えていただければいいでしょう。

コンピュータサイエンスは、様々な情報を複合的に知識として積み上げていく事でコンピュータへの理解が深まります。