距離ベクトル型
ルーティングプロトコルの方式の1つ。隣接するルータと、宛先ごとの距離(メトリック)と方向(次に送る相手)の情報を交換し、経路を決める。RIPが代表。
イマシルちゃんの解説
距離ベクトル型は、「伝言ゲーム」みたいな道案内なんだ。
お隣のルータから「駅まであと3つだよ」って聞いたら、
自分は「お隣を通れば、駅まで4つだね」って覚える。
そして今度は、自分のお隣に「駅まであと4つだよ」って伝えるんだ。
地図を持たなくていいからシンプルだけど、伝言だから、間違った情報が伝わり続けちゃうこともあるんだよ。
より深い解説
定義
距離ベクトル型ルーティングプロトコルは、各ルータが、宛先ネットワークごとの「距離(メトリック)」と「方向(ネクストホップ)」の組、すなわち距離ベクトルを経路表として持ち、それを隣接ルータとだけ交換して経路を決める方式である。経路の計算はベルマンフォード法の考え方に基づく。
経路の決め方
ルータは、隣接ルータから受け取った経路について、次のように判断する。
その宛先までの距離 = 隣接ルータが通知した距離 + 隣接ルータまでの距離
計算した距離が、今持っている経路より短ければ、経路表を書き換える。RIPでは、隣接ルータまでの距離は常に1(1ホップ)である。
代表的なプロトコル
BGPは、距離ベクトル型を発展させ、通ってきたASの並び(AS_PATH)も伝えるパスベクトル型である。
問題点:無限カウント
距離ベクトル型の各ルータは、ネットワーク全体の形を知らず、隣から聞いた話だけを信じる。そのため、経路が切れたときに、次のような現象が起こりうる。
- ルータAの先のネットワークNが切れる
- ルータBが、以前Aから聞いた「Nまで1」をもとに、Aに「Nまで2」と通知する
- Aは、Bを通ればNに届くと勘違いし、「Nまで3」として経路表に入れる
- この誤った情報のやり取りが続き、距離が少しずつ増えていく
これを無限カウント(Count to Infinity)という。RIPでは、ホップ数16を「到達不能」とすることで、最終的にこのループを止める。
対策
| 仕組み | 内容 |
|---|---|
| スプリットホライズン | ある隣接ルータから学んだ経路は、その隣接ルータには通知しない |
| ポイズンリバース | 学んだ経路を、学んだ相手には「到達不能」として通知する |
| トリガードアップデート | 経路が変わったら、定期更新を待たずにすぐ通知する |
| ホールドダウンタイマ | 到達不能になった経路について、一定時間は新しい情報を信用しない |
リンクステート型との比較
| 距離ベクトル型 | リンクステート型 | |
|---|---|---|
| 交換する相手 | 隣接ルータだけ | エリア内の全ルータ |
| 交換する情報 | 経路表(距離ベクトル) | リンクの状態(LSA) |
| 全体の地図 | 持たない | 持つ(LSDB) |
| 計算の負荷 | 小さい | 大きい |
| 収束 | 遅い | 速い |
| 向いている規模 | 小規模 | 中~大規模 |
距離ベクトル型は「全体を知らなくても動く」ことが長所であり、同時に「全体を知らないから誤りに気づけない」ことが短所である。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問4
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問7
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問3
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問5