ルーティングとは
ルーティングとは
ネットワーク層(インターネット層)の役割(復習)
迷わずデータを届けるための規格
ネットワーク層(インターネット層)では、異なるネットワークのコンピュータ同士のエンドツーエンドの通信を実現するための規格が定められています。
通信を行う過程で、幾つものネットワークを経由してデータが届きます。
宛先を特定しネットワークという道を迷わずデータを届けられるよう、経路を決めるための規格がネットワーク層です。
ルーティングについて
宛先までの経路を決めること
通信における幾つものネットワークを経由する過程で、宛先までデータが届けられるよう、
経路を決めることをルーティングと呼びます。
ルーティングは、ネットワーク層で動作するルータ、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アドレスは、最終的な到着地点の情報なので書き換えられません。