距離ベクトル型とリンクステート型のルーティングプロトコルの違い:RIPとOSPFで経路の求め方・収束・規模を比較
ルーティングプロトコルは、ルータどうしが経路の情報を交換して、経路表を自動で作るためのしくみです。組織の中で使うもの(IGP)には、大きく2つの考え方があります。距離ベクトル型では、各ルータが隣のルータから「どの宛先まで、どれだけの距離か」を聞き、隣までの距離を足して経路を選びます。代表例のRIPは、通過するルータの数(ホップ数)を距離にします。リンクステート型では、各ルータが自分のリンクの状態を広告してネットワークの地図(トポロジ)を共有し、それぞれがダイクストラ法で最短経路を計算します。代表例のOSPFは、リンクごとに決めたコストの合計で経路を選びます。距離ベクトル型はしくみが単純で設定も簡単ですが、障害の後に経路が落ち着く(収束する)のが遅く、大きなネットワークには向きません。リンクステート型は計算とメモリの負担が大きいものの、変化に素早く追従し、大きなネットワークにも使えます。
| 項目 | 距離ベクトル型(RIPなど) | リンクステート型(OSPFなど) |
|---|---|---|
| ルータが知っている情報 | 隣のルータから聞いた、宛先ごとの距離と次の転送先だけ。ネットワーク全体の構成は知らない | 同じエリアのすべてのルータとリンク、そのコスト。エリアの中の全ルータが同じ地図(リンクステートデータベース)をもつ |
| 経路の計算 | 隣から聞いた距離に隣までの距離を足し、最も小さいものを選ぶ(ベルマン-フォード法の考え方) | 地図をもとに、自分を起点としてダイクストラ法で最短経路の木を計算する |
| メトリック(経路の良さを表す値) | RIPはホップ数。15までで、16は「届かない」の意味 | OSPFはリンクごとのコストの合計。コストは管理者が設定でき、帯域幅をもとに決めるのが一般的 |
| 更新の送り方 | RIPは経路表の内容を一定の間隔(RFC 2453では30秒)で隣に送る。変化があればすぐにも送る(トリガードアップデート) | 変化があったときに、リンクの状態(LSA)をエリア全体に広める(フラッディング)。ふだんはHelloで隣の生存を確かめ、LSAは長い間隔(30分)で送り直すだけ |
| 収束の速さとループ | 遅い。障害の後、距離が少しずつ増えていく無限カウントが起こりうる。スプリットホライズンなどで抑える | 速い。変化が伝わると各ルータがすぐに計算し直す。全員が同じ地図から計算するので、ループができにくい |
| ネットワークの規模 | 小さなネットワーク向け。RIPは16ホップ以上離れた宛先を扱えない | 大きなネットワークにも使える。エリアに分け、バックボーンエリア(エリア0)を中心に階層化する |
| 必要な資源と設定 | CPUとメモリの負担は小さい。設定も簡単 | 地図の保持と最短経路の計算に、CPUとメモリを多く使う。エリアの設計など、設定も複雑 |
| 代表例 | RIP(RIPv1、RIPv2、IPv6用のRIPng) | OSPF(IPv4用のOSPFv2、IPv6用のOSPFv3)、IS-IS |
数値は代表的な目安で、世代や製品によって異なります。