前回、この連載をどのようにするかの方向性に関して書きましたが、今回は技術的な話の第1回です。どこから話そうか非常に悩んだのですが、まず導入は皆様に非常に馴染みが深いWebから入ることにしました。
余談ですが、私が最初にインターネット通信技術を学んだのは大学の研究室でした。そこでは、まず最初にLANケーブルを自作することからはじまり、LANケーブルの中に流れる信号について学ぶといった順番だったのですが、さすがにそれをここでやると眠くなるのでやめときます。
さて、Webから入るにしても、どのように具体的な話に落として行くかというところが次の課題になりました。ここでは、まず最初にURLから宛先を抽出し、宛先までの間にルータが存在している話をします。その後、パケット転送の話やIPアドレスの話へとつないでいきます。
http://www.pasonatech.co.jp/
まず、Webの解説の入り口として一番最初に今ではよく見る「http://」という部分から解説しようと思います。
Webブラウザにhttp://で始まるURLを打ち込むと、何故か指定したWebページが見られるようになります。このhttp://の裏側で、何が起きているのでしょうか?
まず、ユーザからの視点では、ブラウザにURLを入力するとURLに記述されているWebサーバからデータを取って来て表示しているところまではわかると思います。Webサーバを表しているのはURLのうちの「http://○○○/」の○の部分です。
図にすると図1のような感じでしょうか。ユーザが意識するのは自分のPCとWebサーバの2台だけです。
ルータ
データを取得するWebサーバは物理的にどこにあるのでしょうか? 通常の状態であれば、手元のPCのすぐ隣ではないことは確かです。たとえば、アメリカにあるWebサーバを日本から見ている場合、物理的にかなり離れていることになります。
このように、物理的に離れている機器同士が通信をする手助けをしているのが、間にある「ルータ(router)」という機器です。インターネットは無数のルータが相互に接続することによって実現しています。先ほどの概念図(図1)にルータを描いてみると、たとえば図2のようになります。
パケット
ルータはユーザのPCからWebサーバまでのデータ転送を行います。このとき、データはパケットという小さな単位に区切られて転送されていきます。ルータはパケットを次のルータへの転送する作業を続けることによって、データ全体を目的地まで送り届けます。
この「パケットを転送する」という概念はインターネットの根幹を為す技術のひとつです。インターネットが登場する前は、データを送信するために毎回回線そのものが構築され直すという方式が採用されていました。そのため、複数の宛先へのデータを多重化して同時に送信することができませんでした。
しかし、パケット転送技術が発明されてから、同時に複数のデータをやりとりすることができるようになりました。今では複数の人が同時に通信を行ったり、1つのPCから複数のWebページを同時に見たりすることが当たり前ですが、インターネットが発明されるまでは、そのような通信は夢の通信だったようです。
最後に
ここでは、身近なインターネット利用方法であるWebを例にしながらインターネットの仕組みを大まかに解説してみました。ただし、ここに書いた概要は非常に単純化してあるので、厳密に言えば間違いであったり説明が不十分と言える部分が含まれています。ご注意ください。
次は、もう少し細かく見て行きます。次回の内容は、パケットがどのようにインターネットの中で扱われるかを書きます。お楽しみに!