ルータ
一言でいうと
ネットワークを相互接続し、ネットワーク間のデータの転送(ルーティング)を行うネットワーク機器。
試験のポイント
- 「ルータがIPパケットを転送する仕組み」が試験で重要です。
- ネットワーク技術の基礎知識として、ルータはどのような役割を果たすネットワーク機器であるかをしっかりと把握しておきましょう。
- ルーティングの仕組みの詳細は、次回以降であらためて取り上げます。
ルータの役割
ルータは複数のネットワークを相互接続し、ネットワーク間のデータ転送を行うためのネットワーク機器です。企業の社内ネットワークは、部署ごとなどで複数のネットワークとして構成されています。それら複数のネットワークを相互接続するためにルータが利用されます。ルータが使用されるのは、企業の社内ネットワークだけではありません。インターネットにも膨大な数のネットワークがあり、それらがルータによって相互接続されています。
ルータによるネットワーク間のデータ転送のことをルーティングと呼びます。ルータにとってのデータは「IPパケット」です。IPは、OSI参照モデル(本連載第1回)ではネットワーク層のプロトコルです。IPパケットを転送するネットワーク機器なので、ルータはOSI参照モデルのネットワーク層レベルのネットワーク機器です。
ルータがネットワーク同士を相互接続する仕組み
機器をネットワークに接続するということは、その機器に「IPアドレスを設定する」ことと同意です。ルータによって複数のネットワークを接続する場合も、ルータにIPアドレスを設定することになります。ルータがネットワークを相互接続するには、ルータのインタフェースに物理的な配線(LANケーブルを差し込むなど)をした上で、そのインタフェースにIPアドレスを設定します。例えば、ルータのインタフェース1に物理的な配線を行い、そのインタフェースにIPアドレス192.168.1.254/24を設定すると、ルータのインタフェース1は192.168.1.0/24のネットワークに接続したことになります。
通常、ルータには複数のインタフェースが備わっていて、それぞれのインタフェースに物理的な配線とIPアドレスの設定を行うことで、ルータは複数のネットワークを相互接続することになります。
次の図1を見てください。
ルータR1には3つのインタフェースがあります。その1つのインタフェース1には物理的な配線と、IPアドレス192.168.1.254/24の設定が施されています。これにより、ルータ1のインタフェース1は、ネットワークアドレスが192.168.1.0/24のネットワーク1に接続された状態になります。同様にして、インタフェース2はネットワーク2と、インタフェース3はネットワーク3と接続された状態にあります。これにより、ネットワーク1~3はルータR1によって相互接続されます。
ルータR2は、インタフェース3~5がネットワーク3~5に接続されています。これにより、ネットワーク3~5はルータR2によって相互接続されます。
さらに、ルータR1とルータR2が共にネットワーク3に接続していることで、ネットワーク3を介し、ネットワーク1、ネットワーク2、ネットワーク4、ネットワーク5も相互接続されています。
ルーティングの動作
ルータは、IPアドレスに基づいてデータ(IPパケット)を適切なネットワークへ転送します。ただし、そのためには各ルータが持つルーティングテーブルに、転送先のネットワークの情報が登録されている必要があります。それがないと、ルータはIPパケットを転送できません。ルーティングテーブルに登録される転送先のネットワークの主な情報は「ネットワークアドレス/サブネットマスク」と「ネクストホップ」です。ネクストホップとは次にIPパケットを転送するべきルータのことです[1]。
IPパケットがやってくるとルータは、IPヘッダに記されている宛先IPアドレスとルーティングテーブルから、次にIPパケットを転送するべきルータ、すなわちネクストホップを決定します。そして、ネクストホップに転送するための出力インタフェースを決めて、IPパケットを転送します。ルーティングテーブルに登録されていないネットワーク宛てのIPパケットは、転送できずに破棄されます。
「ルーティングテーブルにネットワークの情報を登録する」ことは、ルーティングを考える上でとても重要です。この点がレイヤ2スイッチの動作と大きく異なります。レイヤ2スイッチは「(転送先が)分からなければとりあえずフラッディング[2]」という動作をしますが、ルータは「(転送先が)分からなければ破棄する」という動作をします。
この転送先が分からない場合のレイヤ2スイッチとルータの動作の違いは、転送範囲の違いによるものと考えてください。レイヤ2スイッチの転送範囲は同じネットワーク内だけです。とりあえずフラッディングしてもそれほど大きな影響は出ません。一方、ルータはネットワーク間のデータ転送です。転送先が分からないからといってとりあえず転送してしまうと、不要なデータ転送の多発を引き起こしかねません。
では、図1のネットワーク1に接続されているホストから、ネットワーク5に接続されているサーバへIPパケットを送信する場合の、ルータの動作を見てみましょう。図2がその様子を表しています。
もう一度原則を確認すると、宛先IPアドレスに基づいてルータがIPパケットを適切なネットワークへ転送するためには、その経路上にあるすべてのルータが、転送先のネットワークに関する情報を持っている必要があります。図2には、ネットワーク1(192.168.1.0/24)からネットワーク5(192.168.5.0/24)まで5つのネットワークがあります。そのため、ネットワーク1に接続されている図左上のホスト(送信元IP:192.168.1.100)から、ネットワーク5に接続されている図右下のサーバ(宛先IP:192.168.5.100)へIPパケットを転送するためには、ルータR1とルータR2がともにネットワーク5の情報をルーティングテーブルに登録していることが必要です。
ホストから送信されたIPパケットを、ネットワーク1に接続しているインタフェースから受け取ったルータR1は、宛先IPアドレス(192.168.5.100)に一致するネットワークの情報を、自分が持っているルーティングテーブルから検索します。宛先IPアドレスのネットワークアドレス(192.168.5.0/24)で検索すると、ネクストホップ(転送先)は「R2」です。そこで、ルータR1は受け取ったIPパケットを、ルータR2へ転送します。
ルータR2は、転送されてきたIPパケットに記されている宛先IPアドレスとルーティングテーブルを見比べて、ルータR2に直接接続されているネットワーク5(192.168.5.0/24)上のサーバへとIPパケットを転送します。
注
[1]: 「ホップ」とは多くの場合、ルータを意味します。