💀
[Cisco]ルーティングについて!#2-②(ダイナミックルーティング)
ダイナミックルーティングを自分なりに解説その②
自分なりにダイナミックルーティングを解説します~
ルーティングプロトコルの分類
- それぞれのルーティングプロトコルで使用場面や動作が異なり、いくつかに分類できる。
- これらを自分なりに解説していきたいと思います。
IGPとEGP
ルーティングプロトコルは使用される場面で分けると2つに分けることができる。
IGP(Interior Gateway Protocol)
- IGPは自律システム内(Autonomous System、略称:AS)で経路情報を交換するためのルーティングプロトコル。
🔧 代表的なIGPの例:
- RIP(Routing Information Protocol)
- OSPF(Open Shortest Path First)
- EIGRP(Enhanced Interior Gateway Routing Protocol)
- IS-IS(Intermediate System to Intermediate System
EGP(Exterior Gateway Protocol)
- EGPは、異なるAS(自律システム)同士で経路情報を交換するためのルーティングプロトコルです。ASごとに運用ポリシーや内部構成が異なるため、AS間の通信には専用のプロトコルが必要になります。
- 実際に現在使われているEGPはほぼ BGP(Border Gateway Protocol) 一択です。
🏢 AS(自律システム)ってなに?
- AS(Autonomous System)は、1つの組織が管理しているネットワークのまとまり。
- インターネット全体を1つ1つのルーターで管理するのは大変なので、AS単位で管理することで効率化している。
アルゴリズムによる分類
ルーティングプロトコルは、最適なルートを計算する際の考え方が異なる。
この考え方をルーティングアルゴリズムといい、IGPに分類されるルーティングプロトコルは、大きく
- ディスタンスベクタ型
- 拡張ディスタンスベクタ型
- リンクステート型
に分けられます。
ディスタンスベクタ型
- ルーターは「自分から見てどのネットワークまで何ホップで行けるか」を近くのルーターに伝える方式。
- 「距離(Distance)」と「方向(Vector)」の2つの情報からルートを選ぶのでこの名前がついている。
- 情報は定期的に送信され、隣接ルーターからの情報を元に、ルーティングテーブルを更新していく。
🔁 ルート情報のやり取りの特徴
- ルーター同士でルーティングテーブル全体を交換する(変更があってもなくても)。
- 自分が知らないネットワークを、隣から「〇〇に行けるよ!」と教えてもらって学ぶ。
❗デメリット(問題点)
- 経路の変化に対して収束(反映)が遅い。
- **ルーティングループ(無限ループ)**が起きやすい。
- 例:RIPは最大ホップ数が15(16は到達不能)と制限がある。
拡張ディスタンスベクタ型(ハイブリッド型)
- ディスタンスベクタ型の改良版。Cisco独自のルーティングプロトコルであるEIGRPがこの分類。
- 基本的な動作はディスタンスベクタ型と同じだが、リンクステート型の特徴も取り入れている。
- 通常の距離と方向だけでなく、帯域幅・遅延・信頼性などのメトリクス(経路の評価値)を使って、より精密なルート選択が可能。
- ルーティングループの防止や、高速な収束など、ディスタンスベクタ型の弱点をカバーしている。
🧠 情報交換の仕組み
- 変更があった時にのみ、影響のあるルーターに情報を伝える「トリガード更新」を使う。
- 必要なときにだけやり取りするので、ネットワーク負荷が軽い。
❗ デメリット(注意点)
- Cisco独自のプロトコルであり、マルチベンダー環境では使いづらい(※現在は一部オープン仕様あり)。
- 内部の動作(DUALアルゴリズムなど)がブラックボックス的で、理解が難しいと感じることがある。
- ネットワークが複雑になると、トポロジテーブルやメトリクスのチューニングが大変。
- EIGRPの管理者やエンジニアの知識依存が高くなる傾向がある(RIPやOSPFより一般的でないため)。
💡EIGRPの特徴
- Cisco製品でしか基本的に使えない(でも最近は一部オープン化されてる)。
- ルーティングテーブルとは別にトポロジテーブルを持っていて、そこから最適なルートを選んでいる。
リンクステート型
リンクステート型ルーティングプロトコルは、ネットワーク全体の構造を各ルーターが自分で把握して、最適なルートを自分で計算する方式です。
🔍 特徴
- 各ルーターは、自分の**直結しているルーターやネットワークの情報(リンクステート)**を他のルーターに伝える。
- 全ルーターが同じネットワーク構造の地図(トポロジー)を持つことで、**最短経路(Shortest Path)**を自力で計算する。
- ネットワークに変化があったときだけ、**変更部分の情報(LSA)**をやり取りするので効率的。
❗ デメリット(注意点)
- 各ルーターがネットワーク全体の構成を記憶する必要があるため、メモリやCPUの負荷が高くなる。
- 初期同期や再計算時に大量の情報(LSA)をやり取りする必要があるため、大規模ネットワークでは慎重な設計が必要。
- エリア構成、DR/BDR選出、LSAタイプなど、設定が複雑で理解に時間がかかる。
- ネットワーク構成を誤ると、不適切な経路選定やループの原因になることがある。
🧠 情報のやりとりの流れ(ざっくり)
-
Helloパケット送信
- お互いを「隣のルーター」として認識(ネイバー関係の確立)
-
LSA(Link State Advertisement)交換
- 自分のリンク情報を他のルーターに伝える
-
LSDB(Link State Database)の構築
- 各ルーターがネットワークの地図を作る
-
SPFアルゴリズムで最短経路を計算
- 「ダイクストラ法」というアルゴリズムで、最短ルートを導き出す
🔧 代表的なリンクステート型プロトコル
-
OSPF(Open Shortest Path First)
- IGPの中で広く使われている
- エンタープライズネットワークでよく登場
-
IS-IS(Intermediate System to Intermediate System)
- 通信事業者の大規模ネットワークで使われることが多い
ここまでのまとめを表にしてみた
分類 | 主なプロトコル | 情報交換方式 | メリット | デメリット |
---|---|---|---|---|
ディスタンスベクタ型 | RIP | 定期的に全体を送信 | シンプルで設定が簡単 | 遅い・ループしやすい |
拡張ディスタンスベクタ型 | EIGRP | 必要時に差分を送信 | 高速・ループに強い | Cisco依存・複雑 |
リンクステート型 | OSPF, IS-IS | 状態情報を広く共有 | 高速・安定・大規模対応 | 負荷が高い・設定が難しい |
Discussion