ネットワークの基礎講座

IP(インターネット・プロトコル)

IPの経路設定


 

 

 


各ローカルホストは到来したデータグラムの宛先が自分宛かどうかを調べる。

Yes          そのデータグラムを上位層プロトコルに渡す

No           このデータグラムは別のホスト宛である。対応は自分に設定されたIP転送フラグ(ipforwarding flag)の値によって異なる。

true        このデータグラムは外に発信されるデータグラムゆえ以下に示すアルゴリズムで次のホップ(next hop)に回送される。

false        このデータグラムは廃棄される(他のホストが受理する)。

 

外に発信されるIPデータグラムは、宛先IPアドレスをもとに何処に送れば良いかを決定するIP経路設定アルゴリズムを通る。

·       そのホストが持つIP経路設定テーブル(IP routing table)に宛先IPアドレスと合致するアドレスが登録されているなら、そのデータグラムはその登録されているアドレスに送信される。

·       宛先IPアドレスのネットワーク番号が、そのホストが持っているネットワーク・アダプタのネットワーク番号と同じであれば(宛先のホストがそのネットワーク・アダプタでつながっているネットワーク上にある)、そのデータグラムは宛先IPアドレスと合致するホストの物理アドレスに向けて送信される。

·       それ以外の場合は、そのデータグラムはデフォルトのルータ(default router)にむけて送られる。

これが基本のアルゴリズムで、総てのIP実装に必要とされるものであり、基本経路設定機能を実行するには充分である。このアルゴリズムは2つのネットワークが1つのルータで接続されているような簡単なインターネットワークでは事足りるが、複雑な構成の場合は高度なプロトコルが必要となり、それらは後ほど紹介する。

 

ルータはプロトコル・スタックで表現すると下図のようになる。この図ではイーサネット上にあるホストAとパケット交換網上にあるホストBをルータが中継している。


この図では、ネットワーク番号X上にあるホストAからネットワーク番号Y上にあるホストBにむけてルータを介してメッセージが転送される。アプリケーション層でのメッセージはTCP層ではセグメントとして、IP層ではIPデータグラムとして、そして最下位層ではフレームとして転送される。中間にあるルータはネットワーク・インターフェイス層とIP層までを実装していることに注意されたい。

 

ここでデフォルト・ルータという言葉が出てきたので、簡単に図示する。ネットワークN1上のあるホストがネットワークN3上のあるホストに送信する場合、自分が含まれているネットワークN1宛ではないので、そのIPデータグラムをどちらかのルータに送らねばならない。一番簡単な方式はデフォルト方式で、自分の属しているネットワーク以外のネットワーク宛のデータグラムはR1に送るというものである。R1はデフォルト・ルータでそれにはN3宛のデータグラムはR3経由と登録されていなければならない。この場合データグラムはR1R3経由で相手のホストに届けられる。インターネットワークの構成の変更があった場合はR1のテーブルを変更しさえすれば良い。他のネットワーク宛は総てデフォルト・ルータ経由とする方式をデフォルト経路設定方式あるいは固定方式と言う。

 


デフォルト経路設定方式に対比されるものとして、ダイナミック経路設定方式がある。ホストは経路設定テーブル(ルート・キャッシュとも言う)を持つ。自分が持っている経路設定テーブルにN3宛のデータグラムはルータR3経由だと登録されていれば、R3宛に送れば良い。そうでなければデフォルトのR1に送れば良い。R1はそのうちN3宛のデータグラムはR3へ直接送ったほうが良いと判断して、その情報を後ほど説明するICMPメッセージで教えてくれる。そのときはホストは自分の経路設定テーブルを変更すれば良い。ICMP (Internet Control Message Protocol) というのはIPパケットではあるが、ルータやホストの間でIP動作の補佐として使われる制御メッセージである。これはIPと組で実装すべきプロトコルであり、別途説明する。

 

ちなみに皆さんのコンピュータにもルーティング・テーブルが存在することを試して見られたい。その詳細はここでは説明しない(IPアドレスを勉強した後のほうが理解しやすい)が、下図のようにMS-DOSのコマンドを使ってテーブルの内容を出力することが可能である。


 

 

 

 

 

 


前節     目次     次節