<<第23回:電波は使い回している【実効速度・スループット・チャネル・衝突(コリジョン)・CSMA/CA・WPA2】
この記事のポイント
- ルータはデータの宛先がどのネットワークに接続されているかを判断して、次のデータへ転送する
- ルータが転送するデータはIPパケット
離れたネットワークにデータを届ける
ルーティングとは
異なるネットワークヘデータを運ぶには?
イーサネットや無線LANなどでは、同じネットワーク内の転送ができますが、異なるネットワーク宛てのデータは、ネットワークを相互接続しているルータで転送します。
ルータは、データの宛先がどのネットワークに接続されているかを判断して、つながっているネットワークのルータへと転送します(ルーティング)。このルーティングをどんどん繰り返すことで、データの送信元から宛先まで、たとえ遠く離れたネットワークであっても送り届けられるのです。
運ぶデータはIPパケット
ルータが転送する対象のデータはIPパケットです。IPパケットはTCP/IPの階層ではインターネット層に位置します。ルーティングの動作はインターネット層の階層で行うことになります。
ルータがIPパケットを転送するときには、IPヘッダ内の宛先IPアドレスをチェックします。IPヘッダのTTLとヘッダチェックサムのみ変更されますが、それ以外の部分は変更せずに転送していきます。(※1)
しかし、イーサネットヘッダなどのネットワークインタフェース層のプロトコルのヘッダは、ルータが転送するときにまったく新しいヘッダに付け替えられます。イーサネットヘッダなどのネットワークインタフェース層のヘッダは、つながっているネットワークにある別のルータまで送るためのものだからです。
(※1)NATのアドレス変換が行われるときはIPアドレスも変更されます。
ルータでネットワークにつなぐのに必要なアドレス設定
次の項目のポイント
- ルータでネットワーク同士を相互接続する
- ネットワークを接続するためには、ルータのインタフェースにIPアドレスを設定する
ネットワークの接続とは
IPアドレスを設定してネットワークをつなぐ
「ネットワークに接続するということはIPアドレスを設定する」ということです。ルータで複数のネットワークを接続するときも、IPアドレスの設定をすることになります。
ルータでネットワークを相互接続するには、ルータのインタフェースの物理的な配線に加えて、IPアドレスを設定する必要があります。一例をあげてみましょう。まずはルータのインタフェース1の物理的な配線を行ってそのインタフェースを有効にします。次にIPアドレス192.168.1.254/24を設定すると、ルータのインタフェース1は192.168.1.0/24 のネットワークに接続できます。ルータには複数のインタフェースが備わっているので、物理的な配線とIPアドレスの設定をそれぞれ行う必要があるのです。
ルータでのネットワークの相互接続の例
下の図のR1には3つのインタフェースがあります。インタフェース1の物理的な配線を行ってIPアドレス192.168.1.254/24を設定すると、ルータ1のインタフェース1はネットワーク1の192.168.1.0/24に接続します。同様にインタフェース2とインタフェース3にもIPアドレスを設定することで、R1はネットワーク1、ネットワーク2、ネットワーク3と相互接続します。
ネットワーク3にはR1だけではなくR2も接続されています。R2の3つのインタフェースにもR1と同様に物理的な配線をしてIPアドレスを設定することで、R2はネットワーク3、ネットワーク4、ネットワーク5を相互接続します。
こうして相互接続されたネットワーク間で、ルータはデータ(IPパケット)の転送を行うのです。
データの転送先を決める
次の項目のポイント
- ルーティング対象のIPパケットは次のようなアドレスのパケット
- 宛先レイヤ2アドレス:ルータ、宛先IPアドレス:ルータ以外
- 宛先IPアドレスからルーティングテーブルのルート情報を検索する
データ転送先の決定
ルータのデータ転送の流れ
ルータのデータ(IPパケット)の転送の流れをイーサネットで接続しているシンプルなネットワーク構成で、詳細に見ていきます。
1. ルーティング対象のIPパケットを受信する
ルータがルーティングする対象のIPパケットは、次のようなアドレス情報のパケットです。
- 宛先レイヤ2アドレス(MACアドレス):ルータ
- 宛先IPアドレス:ルータのIPアドレス以外
ホスト1からホスト2宛てのIPパケットは、まず、R1へ転送されます。そのときのアドレス情報は、次のようになっています。
- 宛先MACアドレス:R11 送信元MACアドレス:H1
- 宛先IPアドレス:192.168.2.100 送信元IPアドレス:192.168.1.100
2. ルート情報を検索して、転送先を決定
次に、宛先IPアドレスからルーティングテーブル上のルート情報を検索して、転送先を決定します。R1は宛先IPアドレスに一致するルーティングテーブルのルート情報を検索します。宛先IPアドレス192.168.2.100に一致するルート情報は192.168.2.0/24です。そのため、転送先のネクストホップ(次に転送するルータ)は192.168.0.2、すなわちR2であることがわかります。
次項で、レイヤ2ヘッダを書き換えてIPパケットを転送していく流れを説明します。
次のルータへデータを転送する
次の項目のポイント
- ネクストホップに転送するために新しいヘッダを付加する
- イーサネットの場合は、ARPを自動的に行いネクストホップのMACアドレスを求める
次のルータへのデータ転送
レイヤ2ヘッダを書き換えてIPパケットを転送
前項まででルートの検索が終わり、ネクストホップへ実際にデータを転送します。
下の図のR1は、ルーティングテーブルのルート情報から受信したIPパケットを192.168.0.2(R2)へ転送します。R1とR2はイーサネットで接続しているというネットワーク構成です。R2に転送するために、イーサネットヘッダを付加します。そのためには、R2 のMACアドレスが必要です。
MACアドレスを求めるためにARPを行います。ARPはIPアドレスからMACアドレスを求めるプロトコルです。ルーティングテーブルの一致するルート情報のネクストホップからR2のIPアドレスは192.168.0.2です。R1は192.168.0.2のMACアドレスを求めるために自動的にARPを行います。
そして、ARPで宛先MACアドレスR21がわかれば、新しいイーサネットヘッダに書き換えてIPパケットをインタフェース2から転送します。レイヤ2ヘッダであるイーサネットヘッダはまったく新しくなります。また、FCSも新しく付加されます。
しかし、IPヘッダのIPアドレスはまったく変わりません。なお、IPアドレスは変わらないものの、IPヘッダのTTLを-1して、それにともなってヘッダチェックサムの再計算を行います。
R1から転送されたデータはR2へと届き、続いてR2 でのルーティングの処理を行うことになります。
もし、ルータでNATによるIPアドレスの変換を行うときにはIPアドレスが書き換えられます。単純なルーティングを行うときには、IPアドレスは変わりません。
>>第25回:最終的な宛先を確かめる【ルーティングテーブル・ルート情報・経路情報・ネットワークアドレス/サブネットマスク・ネクストホップアドレス】