TCP/IP とデータ通信

ルータの追加

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

ネットワークトポロジ

ネットワークトポロジは、複数のネットワークの相互関係を示します。ルータは、ネットワークを相互に接続する実体です。TCP/IP の視点から見れば、ルータは複数のネットワークインタフェースを備えた任意のマシンです。しかし、マシンをルータとして働かせるためには、第 5 章「ルータの構成」の説明に従って、そのルータを正しく構成しておくことが必要です。

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

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

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

Graphic

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

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

図 3-6 ネットワーク間のパスの追

Graphic

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

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

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

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

図 3-7 相互接続された 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 の IP アドレスである 192.9.202.10 が含まれています。

  2. ネットワーク 192.9.200 には、192.9.202.10 の IP アドレスを持つマシンはありません。したがって、ルータ 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 がそのパケットを受け取ります。