PR

あなたのパケットが迷わず
地球の裏まで届くわけ

 皆さんの多くは,日常的にWebブラウザでインターネットにアクセスしているかと思います。地球の裏側にあるWebサイトにアクセスすることはあまりないと思いますが,そのURLさえ知っていれば数秒でアクセスできますよね。

  図1●ブラウザのリンクをクリックしてから画面を表示するまで

 考えてみると,図1[拡大表示]の(4)にあるリクエストが数秒以下で,迷わず地球の裏側まで届いたわけです。これはどのような仕組みで実現されているのでしょうか。

ネットワーク間をルーターがつなぐ

 仕組みを理解するには,インターネットの構造を把握しなければいけません。そもそもインターネットとは,世界中のネットワークを相互接続したものです。学校,企業(インターネット・プロバイダも企業です)などさまざまなネットワークがつながって,インターネットを構成しているのです。

 ネットワークとネットワークをつなぐ機器がルーターです。ルーターには,個人宅で利用するような小型のものから,1Gビット/秒の伝送路を複数扱うような大型のものまでいろいろありますが,基本的な機能は同じです。受け取ったデータをどこに向けてデータ(パケット)を送ればいいかを判断し,そこへ向けて送り出します。これをルーティング(経路選択)といいます。

 TCP/IPのパケットは,郵便小包と同じように,送信元のIPアドレスと送信先のIPアドレスが記されたヘッダーと呼ばれる部分がついています。ルーターは,パケットのヘッダーに記された送信先のIPアドレスを見て,どの経路を選択すればよいのかを判断し,その経路上にあるルーターにパケットを転送します。そのパケットを受け取ったルーターは,経路を選択してさらに次のルーターに転送します。このように経路選択を繰り返しながらパケットをバケツ・リレーのように運び,最終的に送信先に記されたコンピュータへパケットを届けます。たとえば,本誌編集部から都内にあるプロバイダを経由してブラジル政府のWebサーバーにアクセスするまでに,ぜんぶで17台のルーターを経由しました(アメリカ東海岸経由でした)。

経路選択の基になる情報をルーター間で動的にやりとり

 では,ルーターはどのようにして経路を選択するのでしょうか。いくつか方法がありますが,(1)スタティック・ルーティング,(2)ダイナミック・ルーティングの2種類に大別できます。

 (1)のスタティック・ルーティングは,転送先のルーターごとにIPアドレスの範囲を決め,それをルーターにあらかじめ設定しておく方法です。たとえば三つの回線を持つルーターの場合,IPアドレスがA.0.0.0からB.0.0.0までの場合は1本目の回線に,C.D.0.0からE.G.0.0までの場合は2本目に,それ以外の場合は3本目に――と決めておきます。このデータをルーティング・テーブルと呼びます。パケットがルーターに到着したときは,パケットの送信先IPアドレスと,ルーティング・テーブルを比較して,どの回線を選択すべきかを判断します。

 しかし,インターネットは日々変化しています。新しいネットワークがあらわれて経路が増えることもありますし,逆に回線障害で,いつも使えていた経路が突然使えなくなることもあります。こうしたことがあるたびに,手動でルーティング・テーブルを書き換えていたのでは,ネットワーク管理者は面倒で仕方ありません。

 このような問題を解決するのが,(2)のダイナミック・ルーティングです。ルーター同士が専用のプロトコルで経路情報を交換し合い,その情報に基づいてルーターが最適な経路を自律的に判断します。たとえばRIP(Routing Information Protocol)というプロトコルの場合,30秒に一度の周期でルーター間で接続情報を交換します。この情報を基に,ある送信先ホストまでいくつのルーターを経由するかを計算し,経由するルーター数が最小になる経路でパケットを運びます。