IP ルーティング

IP によるルーティングを理解します

 不必要なトラフィックを最小限にし、フレームをある場所から別の場所への効果的に転送させるために、 相互接続されたホストはグループ分けされています。 このグループ分けの結果(ネットワーク設計者や管理者によって決められているのですが)、 相互接続されたデバイスは、二つのネットワーク間の最適経路を決めることができます。

 この相互接続デバイスのことをルータと呼びます。ルータは第3層、つまりネットワーク層で動作し、 あるネットワークと別のネットワークとの境界となります。フレームがルータを越えるということは、 異なるネットワークに行くということです。フレームがルータを越えることなく、発信元から宛先に行くと言うことは、 同じネットワーク内で通信が行われるということです。ネットワークというのは、ルータによって一まとめにされた通信機器のことをネットワークと呼びます。

 ルータはネットワークがどこにあるかを知るために、フレームに書き込まれた IP アドレスの中の数ビットを利用します。 残りのビットは、最終目的地のネットワーク上にあるステーションを特定するために使われます。

 ネットワークを特定するためのビットと、ホストを特定するためのビットとは、区別されます。 フレームの送り手が、この区別をしなければなりません。宛先が自分と同じネットワークにあるのか、異なるネットワークにあるのかを決めなければならないからです。 送り手が、受け手と同じネットワークに存在する場合は、宛先マシンのデータリンクアドレスが確定されます。 そうすれば、フレームを宛先に直接送ることができます。

 一方で、宛先が別のネットワーク上にある場合は、フレームをルータに送らなければなりません。 そしてルータがフレームを最終目的地へ転送します。最終目的地のネットワーク上にて、 最後のルータがホストのデータリンクアドレスを確定し、そのネットワーク上にあるホストに直接フレームを転送します。

 ルータは入ってくるフレームを受けると、ルーティングテーブルの内容と比較して検索キーを作り、宛先アドレスを確定します。 ルーティングテーブルはフレームをどのように処理すべきかを示します。

 ルータの特定ポートにフレームが直接送られることもあります。離れたネットワークにある最終目的地に向かうために、 隣のルータに送られることもあります。ルーティングテーブルはこのような情報を持っているのです。 管理者によって直接設定されるという方法や、定期的にルータ情報を更新するブロードキャストによる間接設定で、ルーティングテーブルは作られます。 RIP や OSPF や IGRP などのプロトコルは、すべてのルータに対して定期的に流されます。 結果として、他のネットワークにどうやってたどり着くかを、すべてのルータが知ることになります。

 以下の例について考えてみよう。このネットワークは3つのルータと4つのセグメントから構成されています。

ネットワーク図

 ルータは3台ともマスク 255.255.0.0 を使います。真ん中のルータのルーティングテーブルは次のようになります。

	マスクの結果       フレーム転送
	-------------------------------------------------------------------
	140.6.0.0       ポート1(左側ポート)へ ARP を行い、直接転送
	140.7.0.0       ポート2(右側ポート)へ ARP を行い、直接転送
	140.8.0.0       隣のルータ : 140.7.12.2 へ転送
	140.9.0.0       隣のルータ : 140.6.2.1 へ転送
 この例を通して、ルーティングテーブルと物理アドレスの関係について理解しましょう。エンドノードがネットワーク 140.6.0.0 上にあるとします。 ネットワーク 140.7.0.0 へフレームを送る場合は、フレームを真ん中のルータに送ります。 このルータは、フレームを適切なポートへ直接送ればよいということを知っています。フレームがネットワーク 140.8.0.0 宛ての場合は、 このルータは隣のルータへフレームを送ることを知らなければなりません。この例では、そのポートは 140.7.12.2 と定義されています(一番右のルータの左側のポート)。 140.7.12.2 が ネットワーク 140.8.0.0 向けのポートへフレームを直接送ることになります。

 マスク処理を行うことによって、このルータは例えば 140.8.192.9 というアドレスのステーションが、140.8.2.3 というアドレスのステーションと同じネットワークあることを知ります。 このような二つのアドレスをマスクすると 140.8.0.0 のようなアドレスが見えてくるので、140.8.0.0 向けのすべてのフレームが正しく配送されます。 ルータはすべてのエンドノードを個別に記録する必要はありません。 エンドノードグループになっているので、ルータは世界中のすべてのステーションのアドレスについての膨大なリストを持たずに、フレームを送ることができます。

IP ルーティングの追加情報

RFC 1812
IP ルータに期待される動作に関しては RFC 1812 にあります。 長い文章ですが、これはIP バージョン4ネットワークのルーティングの完全なドキュメントです。