Pict1.多数のネットワークを経由
Pict1.多数のネットワークを経由
[画像のクリックで拡大表示]
Pict2.必要な五つの機能
Pict2.必要な五つの機能
[画像のクリックで拡大表示]

 インターネットをはじめとする実際のコンピュータ・ネットワークは,さまざまなネットワークを相互に接続して作られています。家庭内や社内のLAN,インターネット接続事業者(プロバイダ)が構築するバックボーン,国と国を接続するWANなどです。こうしたネットワークを相互接続することで,世界中のコンピュータが互いに通信できるようになります。

インターネットはLANやWANの相互接続ネット

 インターネットを利用すると,家庭にあるパソコンから海外の企業が運営するWebサーバーなどへアクセスし,さまざまな情報を見られます。これは,相互につながった複数のネットワークを介して2台のコンピュータが通信できるからです(pict.1[拡大表示])。

 家のパソコンは家庭内のLANに属しています。このLANはブロードバンド・ルーターを介してプロバイダのバックボーンにつながっています。そのバックボーンはさらにほかのプロバイダのバックボーンに接続しています。こうして複数のWANを経由すると,海外企業のWebサーバーがあるLANにたどり着きます。

 家庭のコンピュータと海外企業のコンピュータ(Webサーバー)は,まったく別のネットワークに所属しています。しかし,いろいろなネットワークを介して両者がつながっていれば通信できます。複数のネットワークを介して相互に通信するためには,単一のLANのなかで通信するのとは別の機能が必要になります。

 必要な機能は,(1)相手までの通信路をどうやって確保するのか,(2)相手をどうやって指定するのか,(3)データを送るルートをどう決めるのか,(4)途中でトラブルが起こったらどうするのか,(5)さまざまなアプリケーション(上位層)やネットワーク(下位層)の違いをどう吸収するのか——の五つです(pict.2[拡大表示])。

 この五つの機能は,「ネットワーク層」もしくは「第3層」と呼ぶ枠組みで規定されています。ネットワーク層の取り決め(プロトコル)にはいろいろありますが,どれもこの五つの機能を備えています。ちなみに,TCP/IPネットワークでネットワーク層に当たるのはIP(internet protocol)です。

 五つの機能の詳細は次回以降に説明します。今回は概要だけつまんで見てみましょう。

相手までの通信路はどうやってつなぐ?

 複数のネットワークを介して2台のコンピュータが通信するには,まず通信路を確保しなければなりません(機能(1))。この方法は二つあり,それぞれコネクション型とコネクションレス型と呼ばれています。

 コネクション型は電話の接続方法を基本として考えられた方法です。最初に片方が電話番号をダイヤルして相手を呼び出し,相手が受話器を取ったら接続を確認して通話を行い,要件がすめば受話器を置いて接続を切ります。コネクション型の接続は,こうした電話の手順に似た方法で2台のコンピュータを接続します。

 一方のコネクションレス型は,相手のコンピュータに接続確認を行わないで,いきなりデータを送ります。相手のコンピュータの状況をまったく考えていないので,相手がデータを受け取れたかどうかはわかりません。その代わり,通信に必要な手順が簡略化できるというメリットがあります。

 コンピュータ間の通信には,コネクション型もしくはコネクションレス型のいずれかの接続方法を使います。インターネットで使われるIPはコネクションレス型の方式を採用しています。

相手をどうやって指定するのか

 イーサネットの中の通信では,ハードウエアごとにあらかじめ決まっているMAC(medium access control)アドレスを使って相手を指定します。相手のMACアドレスを知らないときはブロードキャストを使ってLAN全体に問い合わせ,相手を見つけます。

 しかし,いくつものネットワークが相互接続されている環境ではMACアドレスは使えません。相手のコンピュータがイーサネットを使っているとは限らないからです。こうした環境で相手を指定するには,ただ一つしかないユニークなアドレスをそれぞれのコンピュータに割り振る必要があります(機能(2))。

 例えば,国際電話を掛けるとき,まず国番号(日本の場合なら「81」)をダイヤルし,次に市外局番を含む国内の電話番号をダイヤルします。こうすることで,世界で一つしかない番号を指定しているわけです。

 インターネットの通信でこの役目を担うのがIPアドレスです。IPアドレスは,最初から世界中で使うように考えられていて,それぞれのコンピュータに異なる値を割り振る決まりです。そのためにまず,ネットワークごとのアドレスを決め,そのネットワーク内のコンピュータには,ネットワークに割り当てられたアドレスの範囲からアドレスを割り振る階層構造になっています。

ルートの決定とトラブルへの対処

 複数のネットワークが相互接続している環境では,どういったルートを通ればあて先のコンピュータまでいち早くたどり着くのかわかっていなければなりません。わかっていないと,いつまでたっても相手までの経路が見つからなかったり,ひどく遠回りの経路ができてしまう可能性があるからです。

 このカギを握るのが経路表です(機能(3))。経路表はネットワーク同士を相互接続する中継装置が持っています。中継装置は二つ以上のネットワークへの接続経路(データリンク)を持っており,受け取ったデータを指定された相手に届けるには,次にどのデータリンクを使うべきか判断する必要があるからです。

 経路表の作成方法は2種類あります。あらかじめ手作業で入力する静的ルーティングと,中継装置同士が通信しながら自動的に更新する動的ルーティングです。インターネットではおもに後者が使われています。

 エラーが起こったときの対処機能も必要です(機能(4))。経路の途中で障害が発生しても,別の経路を通ってデータを相手に届けなければなりません。さらに,どういった障害が発生しているのかを,通信中のコンピュータに通知するしくみも必要となります。これらの機能は,ネットワークを相互接続する中継装置が大きな役目を担います。インターネットでこの役目を担うのがICMP(internet control message protocol)と呼ばれるプロトコルです。


●筆者:水野 忠則(みずの ただのり)氏
静岡大学創造科学技術大学院 大学院長・教授。情報処理学会フェロー,監事。現在の研究分野はモバイル&ユビキタス・コンピューティング,情報ネットワークなど
●筆者:井手口 哲夫(いでぐち てつお)氏
愛知県立大学情報科学部教授。現在の研究分野はLANや広域ネットワークのインターネットワーキング技術,ネットワーク・アーキテクチャ,モバイル・ネットワークなど
●イラストレータ:なかがわ みさこ
日経NETWORK誌掲載のイラストを,創刊号以来担当している。ホームページはhttp://creator-m.com/misako/