Solaris のシステム管理 (第 3 巻)

ルーターの追加

TCP/IP から見た場合、ネットワーク上に存在するのは、2 つの種類のエンティティ、つまりホストとルーターだけです。ホストはすべてのネットワークに必要がありますが、ルーターはすべてのネットワークに必要なわけではありません。ルーターを使用するかどうかは、ネットワークの物理的なトポロジによって異なります。この節では、ネットワークトポロジとルーティングの概念を紹介します。この概念は、既存のネットワークに別のネットワークを追加しようとするときに、重要な意味を持ちます。

ネットワークトポロジ

ネットワークトポロジは、複数のネットワークの相互関係を示します。ルーターは、ネットワークを相互に接続するエンティティです。TCP/IP の視点から見れば、ルーターは複数のネットワークインタフェースを持つ任意のマシンです。しかし、マシンをルーターとして機能させるためには、「ルーターの構成」の説明に従って、そのルーターを正しく構成しておく必要があります。

複数のネットワークをルーターによって接続することで、より大きなインターネットワークを作ることができます。ルーターは、隣接する 2 つのネットワーク間でパケットの受け渡しをするように構成する必要があります。さらに、隣接するネットワークを越えた位置にあるネットワークに、パケットを渡す機能も備えられている必要があります。

図 5-1 に、ネットワークトポロジの基本部分を示します。最初の図は、2 つのネットワークを 1 台のルーターで接続した単純な構成です。2 番目の図は、3 つのネットワークを 2 台のルーターで相互接続した構成を示しています。最初の例では、ネットワーク 1 とネットワーク 2 がルーター R で連結されて、より大きなインターネットワークが作られています。2 番目の例では、ルーター R1 がネットワーク 1 とネットワーク 2 を接続し、ルーター R2 がネットワーク 2 とネットワーク 3 を接続して、ネットワーク 1、2、3 から成る 1 つのネットワークが作られています。

図 5-1 基本的なネットワークトポロジ

Graphic

ルーターは、ネットワークを連結してインターネットワークを作り、宛先ネットワークのアドレスに基づいて、ネットワーク相互間でパケットをルーティングします。インターネットワークがより複雑になるにつれて、パケットをどこに送るかについての各ルーターでの決定の回数は増加します。

複雑さの度合の増加を示す例として、Failed Cross Reference Formatのような場合が考えられます。この例では、ネットワーク 1 とネットワーク 3 が、ルーター R3 により直接接続されています。このような冗長な方法を使用する目的は、信頼性にあります。ネットワーク 2 がダウンしても、ルーター R3 はネットワーク 1 と 3 の間のルートを提供することができます。すべてが同じネットワークプロトコルに従っていれば、ネットワークをいくつでも相互接続して、互いに通信させることができます。

図 5-2 ネットワーク間のパスの追加

Graphic

ルーターがどのようにパケットを転送するか

ネットワーク上でのルーティングに関する決定は、パケットヘッダーに含まれている受信側 IP アドレスのネットワーク部に基づいて行われます。このアドレスにローカルネットワークのネットワーク番号が含まれている場合は、その IP アドレスを持つホストに直接パケットが送られます。ネットワーク番号がローカルネットワークではない場合は、パケットはローカルネットワーク上のルーターに送られます。

ルーターは、ルーティングテーブル内にルーティング情報を維持します。このテーブルには、ルーターが接続されているネットワーク上のホストとルーターの IP アドレスが含まれています。また、それらのネットワークを指すポインタも含まれています。ルーターは、パケットを受け取ると、ルーティングテーブルを調べて、ヘッダー内の宛先アドレスがテーブルにリストされているかどうかを確認します。テーブルにその宛先アドレスが含まれていない場合は、ルーターは、ルーティングテーブルにリストされている他のルーターにパケットを転送します。ルーターについての詳細は、 「ルーターの構成」を参照してください。

図 5-3 は、2 つのルーターにより接続された 3 つのネットワークのネットワークトポロジを示しています。

図 5-3 相互接続された 3 つのネットワーク

Graphic

ルーター R1 は、ネットワーク 192.9.200 とネットワーク 192.9.201 と接続しています。ルーター R2 は、ネットワーク 192.9.201 とネットワーク 192.9.202 を接続しています。ネットワーク 192.9.200 のホスト A がネットワーク 192.9.202 のホスト B にメッセージを送るとすると、その操作は次の手順で行われます。

  1. ホスト A は、ネットワーク 192.9.200 にパケットを送り出します。パケットヘッダーには、受信側ホスト B の IPv4 アドレスである 192.9.202.10 が含まれています。

  2. ネットワーク 192.9.200 には、192.9.202.10 の IPv4 アドレスを持つマシンはありません。したがって、ルーター R1 がパケットを受け取ります。

  3. ルーター R1 は自己のルーティングテーブルを調べます。ネットワーク 192.9.201 には、アドレスが 192.9.202.10 であるマシンはありません。ただし、ルーティングテーブルにはルーター R2 がリストされています。

  4. R1 は「次のリレー」ルーターとして R2 を選択し、パケットを R2 に送ります。

  5. R2 はネットワーク 192.9.201 を 192.9.202 に接続しているので、ホスト B に関するルーティング情報を保持しています。そこで、ルーター R2 はパケットをネットワーク 192.9.202 に転送し、ホスト B がそのパケットを受け取ります。