Pict1.経路表に従ってパケットを転送
Pict1.経路表に従ってパケットを転送
[画像のクリックで拡大表示]
Pict2.経路表の作り方は2種類
Pict2.経路表の作り方は2種類
[画像のクリックで拡大表示]

 ネットワーク層の役割は,異なる伝送方式を使ったネットワーク同士を相互接続して通信する場合に,通信相手までデータを配送することです。

 複数のネットワークが相互接続されている状況だと,指定した相手に届くまでにいくつかのネットワークを経由することになります。ルート(経路)も一つとは限りません。目的のアドレスのコンピュータにたどり着く正しいルートを選んだり,複数ある中から最適なルートを選ぶのもネットワーク層の機能です。今回はデータを送り届けるルートの決め方を説明します。

 パケット交換方式のネットワークを介して,パケットを転送する中継装置をルーターと呼びます。ルーターは,ネットワーク層でデータを送り届ける役割の中心を担います(pict.1[拡大表示])。通常,ルーターは二つ以上のネットワークにつながる口(ポート)を持っています。

経路を選択するルーティング処理

 ルーターは,受け取ったパケットに書かれたあて先アドレスを基に,あて先のネットワークにつながるポートにパケットを送り出します。このとき,あて先アドレスから送出ポートを決めるために使うのが経路表(ルーティング・テーブル)です。経路表はポートとそこにつながっているネットワークの対応表です。例えば,ネットワーク層プロトコルの一つであるIPの経路表では,(1)あて先のネットワーク・アドレス(アドレスの範囲),(2)あて先ネットワークの方向にある最寄りのルーターのアドレス,(3)そのネットワークにつながるポート——の三つが一組になっています。

 目的のコンピュータが自分と同じネットワークにあれば,ルーターは自分(ポート0)にパケットを送り出します。別のルーターが管理するネットワークのコンピュータがあて先の場合は,そのルーターが接続されたポートにパケットを送り,転送を依頼します。

 ただ,インターネットの通信などの場合は,あて先アドレスが経路表に必ずあるとは限りません。個別のルーターが世界中のすべてのネットワークのアドレスを知っているわけがないからです。その場合は,デフォルト・ゲートウエイと呼ばれるルーターが接続されたポートへパケットを送り出します。デフォルト・ゲートウエイは通常,上位のネットワークに接続されています。

静的ルーティングと適応的ルーティング

 複数のネットワークが相互接続されていると,あるルーターからあて先のコンピュータへ到達するルートは一つとは限りません。どうすれば,正しいルートを選択し,迷うことなく相手までデータを送り届けることができるでしょうか。その秘密は,経路表を作る方法と関係します。

 経路表を構築する方法は大きく分けて二つあります(pict.2[拡大表示])。まず,管理者がルーターごとに手作業で一つ一つ設定する方式で,この方式を静的(スタティック)ルーティングと呼びます。もう一つはルーター同士が情報を交換して,経路表を自動的に作る適応的(ダイナミック)ルーティングです。

 静的ルーティングでは,目的地までのルートはいつでも,最初に管理者が決めたとおりになります。別の見方をすると,仮にネットワークが途中で切れたり,特定のルーターが混雑するような状況になっても,いつでも同じルートが使われるので,相手にパケットが届かなかったり,極端に時間がかかったりします。

 これに対して,ネットワークの状況に応じて経路を動的に変更するのが適応的ルーティングです。このため,ルーティング・プロトコルと呼ばれる手順を使って,いろいろな情報をルーター間で交換します。ネットワークのつながりや通信の負荷,遅延などの情報を定期的,あるいは変化があった時点で交換し,ルーターは得られた情報を基に,必要に応じて経路表を書き換えます。こうして通信が行われる時点でなるべく最適と思われるルートを選ぶのです。つまり,目的地までのルートは常に同じと限りません。


●筆者:水野 忠則(みずの ただのり)氏
静岡大学創造科学技術大学院 大学院長・教授。情報処理学会フェロー,監事。現在の研究分野はモバイル&ユビキタス・コンピューティング,情報ネットワークなど
●筆者:佐藤 文明(さとう ふみあき)氏
東邦大学 理学部 情報科学科。東北大学大学院工学研究科修了。現在の研究分野は通信ソフトウエアの開発方法,分散処理システムなど
●イラストレータ:なかがわ みさこ
日経NETWORK誌掲載のイラストを,創刊号以来担当している。ホームページはhttp://creator-m.com/misako/