ルーティングとは

ルーティングとは

ネットワーク層(インターネット層)の役割(復習)

迷わずデータを届けるための規格

ネットワーク層(インターネット層)では、異なるネットワークのコンピュータ同士のエンドツーエンドの通信を実現するための規格が定められています。

通信を行う過程で、幾つものネットワークを経由してデータが届きます。

宛先を特定しネットワークという道を迷わずデータを届けられるよう、経路を決めるための規格がネットワーク層です。

ルーティングについて

宛先までの経路を決めること

通信における幾つものネットワークを経由する過程で、宛先までデータが届けられるよう、

経路を決めることをルーティングと呼びます。

ルーティングは、ネットワーク層で動作するルータ、L3スイッチによって行われます。
(※この章ではルータをL3デバイスとして説明させていただきます。)

各ルータが経路選択をする(次の転送先を決める)上で、下記のテーブルを使用します。

  • ルーティングテーブル(次の転送先のネットワークを決めるためのもの)
  • ARPテーブル(IPアドレスとMACアドレスの対応表)

ルーティングテーブルについて

次の転送先ネットワークを決めるための対応表

ルーティングテーブルは、複数のネットワークを経由して宛先に到達するまでの過程で、次の転送先のネットワークを決めるためのものです。

ルーティングテーブルは各ルータが管理しており、具体的には以下の情報を紐づけるための対応表になっています。

宛先のネットワーク

宛先のネットワークのIPアドレス

ネクストホップ

次にパケットを転送するルータ(の転送元のネットワーク側のインターフェイス)のIPアドレスです。

転送先は次のネットワークにパケットを転送するためのデフォルトゲートウェイになります。

出力先のインターフェイス

自身(転送元ルータ)の転送元インターフェイス

ルーティングテーブルの見方

ルーティングテーブルは、宛先ネットワークが、

(テーブルを管理する)ルータの所属するネットワークに含まれるかどうかによって、表示方法が変わります。

ルータ所属のネットワークに含まれる場合

ネクストホップには、宛先までの経路で、次にパケットを転送するルータ(の転送元のネットワーク側のインターフェイス)のIPアドレスが記載されますが、同一ネットワーク内に宛先がある場合、転送先がないため「connected」になります。

出力1/Fには、該当の宛先ネットワークに含まれる自身(転送元ルータ)のインターフェイスの情報が記載されます。

ルータ所属のネットワークに含まれる場合【例】

下記図のようなルータの状況において

宛先ネットワークが「192.168.3.0」の場合

ルータは既に「192.168.3.0」に含まれているので、

ネクストホップは「connected」になり、

インターフェイスは「192.168.3.0」 に含まれているため「fa0/1」になります。

宛先ネットワークが「192.168.2.0」の場合

同様にルータは既に「192.168.2.0」に含まれているので、

ネクストホップは「connected」になり、

インターフェイスは「192.168.2.0」 に含まれているため「fa0/0」になります。

ルータ所属のネットワークに含まれていない場合

一方、ルータが属していない、異なるネットワークが宛先ネットワークに指定されている場合、

ネクストホップに指定する情報

ネクストホップには、 次にパケットを転送するルータのIPアドレスが記載されます。

ルータにはインターフェイスごとに所属するネットワークが異なり、異なるIPアドレスが割り当てられるため、正確には(転送先のルータの)インターフェイスのIPアドレスが指定されます。

この時、転送元のネットワークのデフォルトゲートウェイ(ネットワークの出入り口)として、
転送元のルータが属するネットワーク側の転送先ルータのインターフェイスを指定します。

出力1/F(インターフェイス)

また出力1/Fには、ネクストホップのIPアドレスと同じネットワークに含まれる転送元のルータの
インターフェイスの情報が記載されます。

ルータ所属のネットワークに含まれない場合【例】

下記図のようなルータの状況においてルータAを転送元としてルーティングテーブルを考えていきます。

宛先ネットワークが「192.168.4.0」の場合

次の転送先は「192.168.4.0」に属している「ルータC」になります。

またルータAにとってルータCへの転送先は、

ルータAが属する「192.168.3.0」側の「ルータCのインターフェイスのfa0/0」になるので、ネクストホップには「192.168.3.2」を指定します。

一方、出力1/F(インターフェイス)については、

ルータAにとって次の転送先であるルータCに向かうためには、

「fa0/1」から転送する必要があるので、「 fa0/1 」を指定します。

宛先ネットワークが「192.168.1.0」の場合

同様に次の転送先はルータBであり、

ネクストホップは、ルータAにとってのデフォルトゲートウェイなので、「192.168.2.2」となり、

またルータBと繋がっているルータAのインターフェイスは「fa0/0」なので、インターフェイスは「fa0/0」です。

ARPテーブルとルーティングテーブルの紐づけについて

ARPテーブルとは:IPアドレスから、MACアドレスの対応表

データを転送する際、転送先のMACアドレスの情報が必要になります。

しかしルーティングテーブルでは、転送先のIPアドレスを特定できますが、MACアドレスまでは特定できません。

そこで転送先のMACアドレスを特定するために、ARPテーブルを使用します。

ARPは与えられたIPアドレスから、MACアドレスを調べ、両者を紐づけするためのものであり、
ARPテーブルはその両者の紐づけをまとめた対応表です。

紐づけたMACアドレスは、パケットの中に含まれている(イーサネットヘッダ内の)宛先MACアドレスを
書き換えた上で、パケットが転送されます。

IPヘッダに含まれる宛先IPアドレスは、最終的な到着地点の情報なので書き換えられません。

【例】次の転送先が『192.168.3.2』の場合


NEXT>> ネットワークの必要性とメリット