ホップ数

ホップ数

 距離ベクトル型のルーティングプロトコルでは、各ノードは自分自身から目的地までの最短経路を知るために、自分の隣接ノードに対して定期的に経路情報を送信し、経路情報を受信することによって、自分自身から目的地までの距離を計算します。

 このとき、距離の単位として使われるのが「ホップ数」です。ホップ数とは、パケットがネットワーク上を移動する際に通過するノード数のことであり、通信路の物理的な距離とは必ずしも一致しない場合があります。つまり、ルーター同士の距離が長くても、中間に存在するノードが少ない場合は、最短経路として選択されることがあります。

 距離ベクトル型のルーティングプロトコルでは、各ノードが自分自身から目的地までの最短経路を持ち、それを隣接ノードに送信することで、ネットワーク全体の最短経路を計算します。この結果、各ノードは自分自身から目的地までの最短距離を知ることができ、その情報をもとにパケットを転送する経路を選択します。

 ただし、距離ベクトル型のルーティングプロトコルでは、各ノードが自分の隣接ノードにしか情報を送信しないため、全体最適解には収束しないことがあります。また、定期的に経路情報を送信するため、帯域幅やネットワーク負荷に影響を与えることがあります。そのため、近年ではリンクステート型のルーティングプロトコルが主流となっています。

 リンクステート型のルーティングプロトコルでは、各ノードが自分自身から全ノードへの経路情報を知っているため、ネットワーク全体の最短経路を正確に計算することができます。また、経路情報を収集する際に、必要最小限の情報のみを収集するため、帯域幅やネットワーク負荷の影響を受けにくくなっています。

 リンクステート型のルーティングプロトコルでは、各ノードが自分自身から目的地までの最短経路を計算するために、以下のような手順を踏みます。

  1. 各ノードは、自分自身から直接接続しているノードの情報を収集し、リンクステートパケットとして隣接ノードに送信します。
  2. 受信したリンクステートパケットをもとに、各ノードは全ノードの情報を収集し、自分自身から各ノードまでの最短経路を計算します。
  3. 計算された最短経路をもとに、各ノードはルーティングテーブルを更新し、パケットの転送に利用します。

 このように、リンクステート型のルーティングプロトコルでは、各ノードが全ノードの情報を持っているため、全体最適解に収束することができます。しかし、経路情報を収集する際に必要な通信量が多く、処理時間がかかるため、大規模なネットワークでは実用的ではありません。

 対して、距離ベクトル型のルーティングプロトコルは、各ノードが自分自身から直接接続しているノードまでの距離情報を持っているため、全体最適解に収束するまでに時間がかかることがありますが、ネットワークの規模が大きくなっても処理時間や通信量が抑えられるため、実用的です。

 距離ベクトル型のルーティングプロトコルでは、各ノードが自分自身から直接接続しているノードまでの距離情報と、隣接ノードから受信した距離情報をもとに、目的地までの距離情報を計算します。この計算には、以下のような手順があります。

  1. 各ノードは、自分自身から直接接続しているノードまでの距離情報を持っているため、初期値として自分自身までの距離は0、その他のノードまでの距離は無限大とします。
  2. 各ノードは、定期的に隣接ノードに距離情報を送信し、受信した距離情報をもとに自分自身から各ノードまでの距離を更新します。
  3. 距離情報が更新された場合、各ノードはその情報を隣接ノードに送信し、情報が収束するまでこの手順を繰り返します。

 このように、距離ベクトル型のルーティングプロトコルでは、各ノードが自分自身から直接接続しているノードまでの距離情報をもとに、目的地までの距離情報を更新していくことで、最短経路を求めます。しかし、更新が収束するまでに時間がかかるため、経路情報が変更される度に計算が必要となります。また、距離情報がループする場合には収束しなくなる問題もあります。