🎓 レベル:標準 | 重要度:B(重要) 📎 前提:静的ルーティング
要点(BLUF)
- 距離ベクトル型は「隣のルータが言う距離」を信じて経路を決めます。各ルータは全体地図を持たず、噂を伝言ゲームで広めるイメージです。
- RIPはメトリックがホップ数(最大15)でシンプルだが大規模に不向き。EIGRPは帯域・遅延の複合メトリックで高速収束するCisco製。
- 「隣を信じる」性質ゆえルーピングが起きやすく、スプリットホライズンなどの対策を持ちます。
距離ベクトルの考え方
各ルータは「どの宛先へは、どの隣へ、距離いくつで行ける」という表を隣にだけ配ります。受け取った側は距離に1を足して再配布します。
graph LR A["ルータA"] B["ルータB"] C["ルータC(宛先網に直結)"] C -->|"網Xは距離0"| B B -->|"網Xは距離1"| A A -->|"自分は網Xへ距離2と認識"| A
全体像を知らずに、隣の申告だけで最短を選ぶ——これが「距離ベクトル」です。
RIP:ホップ数
- メトリックは**通過ルータ数(ホップ)**のみ。帯域を考慮しないため、速い回線2ホップより遅い回線1ホップを選ぶ欠点。
- 最大15ホップ(16は到達不能)。小規模専用。
- 30秒ごとに全テーブルを定期broadcast/multicastし、収束が遅い。
Router(config)# router rip
Router(config-router)# version 2
Router(config-router)# network 192.168.1.0
Router(config-router)# no auto-summary
EIGRP:複合メトリックと高速収束
CiscoのEIGRPは距離ベクトルの進化形(ハイブリッドとも呼ばれる)。
- メトリックは既定で帯域と遅延の合成。速い経路を正しく選べる。
- DUALアルゴリズムで、代替経路(フィージブルサクセサ)を事前計算し、障害時に即切替。
- 変化があったときだけ更新(定期全送信しない)ので軽い。AD=90。
ルーピング対策
「隣を信じる」と、誤情報が往復して経路が振動します。主な対策:
- スプリットホライズン:教わった方向へは、その経路を教え返さない。
- ルートポイズニング:消えた経路を「距離無限大」で明示的に広告。
- ホールドダウンタイマー:悪い知らせの後しばらく良い噂を信じない。
# RIPのホップ数メトリック: 速さを見ないため不利な経路を選ぶ例
paths = {
"経路A: 1Gbpsを2ホップ": {"hops": 2, "bw_mbps": 1000},
"経路B: 10Mbpsを1ホップ": {"hops": 1, "bw_mbps": 10},
}
rip_choice = min(paths, key=lambda k: paths[k]["hops"])
fast_choice = max(paths, key=lambda k: paths[k]["bw_mbps"])
print("RIPが選ぶ(ホップ最小):", rip_choice)
print("本当に速い(帯域最大):", fast_choice)
print("一致?:", rip_choice == fast_choice)
実行結果:
RIPが選ぶ(ホップ最小): 経路B: 10Mbpsを1ホップ
本当に速い(帯域最大): 経路A: 1Gbpsを2ホップ
一致?: False
RIPは遅い1ホップを選んでしまう——帯域を見るOSPF/EIGRPが必要になる理由です。
なぜ大規模で使われなくなったか(設計の直観)
距離ベクトルは「全体地図を持たない」ぶん実装は軽いですが、(1) 噂の伝播が遅く収束に時間がかかり、(2) 全体を知らないためループに陥りやすい。ネットワークが大きく速くなるほど、この弱点が顕在化します。そこで各ルータが全体地図を持つリンクステート型(OSPF)が主流になりました。EIGRPは距離ベクトルの弱点を多く克服しましたが、標準ではないため、相互運用が要る場面ではOSPFが選ばれます。
⚠️ よくある誤解
- 「RIPのメトリックは帯域」ではない。RIPはホップ数だけ。帯域・遅延は無視します。
- 「EIGRPはリンクステート」ではない。距離ベクトルの発展形(DUAL)で、全体トポロジ地図は持ちません。
- 「距離ベクトルは全体の地図を持つ」ではない。持つのはリンクステート(OSPF)。距離ベクトルは隣の申告だけです。
対応 lab
[[networking-study/labs/06-02_rip_vs_bw.py]]— ホップ数メトリックが速い経路を取り逃す例
関連
- 前:
[[06-01_静的ルーティング]]/次:[[06-03_リンクステート型]] - AD比較:
[[06-04_ルーティングの比較と再配布]]