
今回のテーマは、「インターネットにおけるデータが運ばれる仕組み」だ。
インターネットに接続したコンピュータから送られたデータが、どのような経路を辿って、遠く離れた人のコンピュータに届けられるのか?誰でも一度は気になったことがあると思う。
本記事は、「パケット」「ルーター」「IPアドレス」「経路表」という、4つのキーワードに注目しながら、読み進めていってほしい。
データは分割して送られる(パケット通信方式)
インターネット通信の場合、データは「パケット」と呼ばれる細かいデータ単位に分割してから送信される。
1つ1つのパケットには「宛先情報(IPアドレス)」と「通し番号」が付加されており、データを受け取る機械(ルーター)は自分宛てのパケットのみを受け取って、通し番号通りに並べることで元データを復元する。
これを「パケット通信方式」という。
パケット通信方式の主なメリットは、送信するデータサイズが小さいことによって、通信回線を長時間占有することが無い点。
また、それにより複数のプログラムが"ほぼ"同時にデータを送信できるため、ある程度の時間幅でみれば一本の回線で複数のデータを同時に送信できる(ようにみえる)点である。
パケット通信方式の成り立ちは以前に公開した記事にて解説しているので、興味があれば見てみてほしい。
パケットが送られる仕組み(パケット交換方式)
パケット交換方式について説明する前に、事前に知っておくことで後々理解しやすくなる知識があるので、順に説明していく。
インターネットは「ネットワーク」の集合体
まず知っておきたいのは、インターネットは「小さなネットワークの集合体」だということだ。
小さなネットワークとは、簡単に言えば「LAN(Local Area Network)」のことである。カフェ、ホテル、家など、ある特定の場所でしか利用できないネットワークのことだ。
そして、LANの中には最低1つの「ルーター」が存在していて、各LAN内のルーター同士が電波・電線を介して電気的に通信することで、他のLANとデータを送受信できるのである。
つまるところインターネットの正体とは、そういった隣り合ったLAN同士が地道に通信しあうことで、世界中のコンピューターと間接的に相互接続できる状態のことだといえる。
パケットはバケツリレーで送られる
さて、勘のいい方はお気づきだろうが、パケットは複数のLANを経由することで目的のLAN(の中の目的のコンピュータ)へとたどり着く。
これをパケット交換方式という。
パケット交換方式の実際の手順を簡略化するとこうなる。
- ネットワーク回線にパケットを流す
- ルーターがパケットを取り込む
- ルーターの働き(※詳細後述)により、パケットが隣接するLANに送られる
- ③を複数回繰り返して、目的地にパケットが届く
パケット交換方式の特徴と問題点
パケット交換方式は、非常に優れたデータ配送方式であり、かつては米国の軍事予算で研究開発や整備が推進されていたほどだ。
最大の特徴は、その堅牢性である。
パケット交換方式において、送り手は「データを送信する」だけでよく、データ配送のルート選択はルーターによって自動で行われる。
仮に普段の配送ルートにトラブルがあり不通となった場合でも、ルーターは別の配送経路を選択し直せばよく、短時間で不通経路を迂回できるのである。
一方で、送り手が経路指定できない点は、問題にもなり得る。
例えば、仕組み上、悪意をもった第三者が他人宛てのパケットを勝手に盗み見することが可能なのだが、だからといってルータに"悪意の有無"を判断することはできず、ゆえに迂回することも不可能である。
ルーターはどのようにして配送先を決めているのか?
さて、ここまで読んで最後に気になるのは「ルーターがどのように配送先を決めているのか?」だ。
キーワードは「IPアドレス」と「経路表」。
それでは、先ほど同様必要な知識を順々に紹介していく。
IPアドレスってなに?
本記事の序盤で「パケットには宛先情報が付加されている」と言ったが、その「宛先情報」こそが「IPアドレス」である。
IPアドレスはインターネットに接続されたホスト(≒コンピューター)固有の番号で、IPv4という規格では32ビットの2進数で表され、それを8ビットずつに分けて10進数に変換し、4つの10進数の組で表されることが多い。(例:192.168.10.123)
ルーターは「経路表」を使って配送先を決める
ルーターは「経路表」と呼ばれる情報を持っており、これを参照することで「目的地への最短ルート」が分かるようになっている。
経路表には以下2つの情報が含まれている。
- 宛先のIPアドレスへ中継してくれるルーターのIPアドレスの一覧表
- 一覧表に宛先のIPアドレスがなかった場合のパケットの送り先(デフォルトゲートウェイ)
経路表に目的地が記載されていれば中継先のルーターへ、なければデフォルトゲートウェイへパケットを送る。これを複数回繰り返すことで、パケットは無事に目的地へたどり着くのである。
ルーターの「経路表」はどのようにして作られるのか?
さらに気になるのは、ルーターが「経路表をどのようにして作成・更新しているのか?」という点だ。
インターネットの状況は刻一刻と変化しており、さっきまで無かったルーターが突然現れたり、その逆もある。すべてのルーターがすべてのIPアドレスへの最適な配送ルートをいつでも把握していれば、それに越したことはないだろうが、情報量が多きすぎて現実的ではないだろう。
結論をいえば、ルーターは"管理者"によって決められた特定のエリア内に限り、そこにあるすべてのルーターの接続情報を把握している。
仕組みを簡略化するとこうなる。
- 特定エリアの中から"代表ルーター"が選ばれる
- エリア内の各ルーターは代表ルータ―に自身の接続情報を送る
- 代表ルータ―は②の情報を元に特定エリアのネットワーク全体を把握できる地図(データベース)を作る
- 代表ルータ―は地図を各ルーターに送る
- 各ルーターが地図を元に経路表を作成する
- (各ルーターに変更があれば、代表ルータ―にその旨を伝える)
- (代表ルータ―が地図を更新して各ルーターに送る)
- (各ルーターは経路表を更新する)
以上が、ルーターが経路表を作成する方法である。
特定エリア外にパケットを送る場合はどうするのか?
この場合は、契約している「ISP(インターネットサービスプロバイダー)」にパケットが送られる。
ISPに送られたパケットは、宛先がそのISPが管轄する他のネットワーク内にあればそこへ送られる。なければ、さらに上位のISPへ送られる。
さらに国内のISPで対応できない場合は、海底ケーブルを通して海外の大手ISPにパケットが送られる。
中小ISPは、大手ISPに接続料を払うことで、膨大な経路情報を供給してもらっている。これをトランジットの関係という。
こういったことを繰り返して、最終的には「Tier1」と呼ばれるアメリカ最大手のISPへパケットが送られる。
Tier1には、インターネットに接続されているすべてのネットワークへの経路情報が集約されていて、Tier1を介することで世界中のどのネットワークとも通信することができるのである。
インターネットにおけるデータが運ばれる仕組み|まとめ
さて、以上で、「インターネットにおけるデータが運ばれる仕組み」についての解説は終了だ。
要するに、インターネットとは小さなネットワークの集合体であり、各ネットワークはルーターによって接続されている。
パケットという単位に分割されたデータは、ルーターがもつ「経路表」によって、複数のネットワークを経由しながら目的地へと運ばれるのである。
細かな技術的な疑問にさえ目をつぶれば、大まかな仕組みは理解できたはずだ。