動的ルーティング
ルータ同士がルーティングプロトコルで経路情報を交換し、ネットワークの状態の変化に合わせて、経路表を自動的に更新する方式。管理者が手で経路を設定する静的ルーティングと対になる。
イマシルちゃんの解説
ネットワークが大きくなると、宛先ごとの経路を人が一つずつ設定して管理するのは大変だよ。
動的ルーティングは、ルータ同士が経路情報を交換して、使う経路を自動的に更新する方式なんだ。
情報交換の決まりをルーティングプロトコルといい、OSPFやRIPなどが使われるよ。
ルータは集めた情報から経路を選び、宛先と次の送り先を記録する経路表に反映するんだ。
回線に障害が起きても、別の使える経路を学習できれば切り替えられるよ。
構成が変わるたびに人が経路を設定し直す手間を減らせるんだね。
この解説はわかりやすかったですか?
より深い解説
経路を学び、転送へ反映する
動的ルーティングでは、ルータがプロトコルの規則に従って経路情報を交換し、使う経路を自動的に更新する。管理者は接続相手、広告するネットワーク、優先する経路などの方針を設定する。
宛先の範囲は、ネットワークアドレスとプレフィックス長を組にした宛先プレフィックスで表す。例えば10.60.0.0/16へ到達できることを他のルータへ知らせる操作が経路広告である。実際の転送へ反映するまでには、次の段階がある。
- 隣接ルータなどから、宛先への到達情報やネットワークの接続状態を受信する。
- プロトコルごとの規則で経路を計算・比較し、利用する候補を選ぶ。
- 静的経路など他の情報源とも比較し、採用した経路をルーティングテーブルへ反映する。
- パケットを受け取ったら、宛先に一致する経路から次の転送先であるネクストホップを選ぶ。
経路を受信できたことと、その経路が転送に使われることは別である。 経路の受信ポリシー、次ホップへの到達性、他の情報源の優先順位によっては、受信した候補が採用されない。
情報の集め方と比較方法を選ぶ
AS内部で使うルーティングプロトコルをIGP、AS間で使うものをEGPという。代表的な方式は次のとおりである。
| プロトコル | 学習する情報と選び方 |
|---|---|
| RIP | 隣接相手から宛先と距離を学ぶ距離ベクトル型で、通常はホップ数を比べる |
| OSPF・IS-IS | 接続状態を共有するリンクステート型で、リンクのコストなどを合計して経路を求める |
| BGP | ASの経由情報を含むパスベクトル型で、属性と運用方針に基づいて経路を選ぶ |
OSPFのコストやRIPのホップ数など、経路の評価に使う指標をメトリックという。異なるプロトコルの値を、そのまま同じ尺度として比べるわけではない。BGPのように複数の属性を順に比較する方式もある。
AS内の経路をOSPFで確保し、外部の到達情報をBGPで交換するなど、用途に応じて併用できる。隣接関係の確立やメッセージの種類は各プロトコルの記事で扱う。
障害を検出して経路を更新する
リンク断や隣接相手の応答停止を検出すると、ルータは使えなくなった経路や接続状態を反映する。変更が他のルータへ伝わり、それぞれの経路選択が新しい状態へ落ち着くことを収束という。
切替えにかかる時間には、障害の検出、情報の伝達、経路の計算、転送処理への反映が含まれる。機器やプロトコルのタイマーだけでなく、構成と負荷にも左右される。収束の途中では、一時的なパケット損失やルーティングループが起こる場合もある。
注意:別の有効な経路がなければ、動的ルーティングを使っても通信は回復しない。 予備回線が存在することに加え、その経路を学習して採用できるか、戻りの通信も届くかを確認する。経路が切り替わっても、ファイアウォールやNAPTが持つ接続状態まで引き継がれるとは限らない。
静的な設定と組み合わせる
静的ルーティングは、管理者が宛先と転送先を設定する方式である。動的ルーティングとの違いは、経路情報を得る方法にある。
| 観点 | 静的ルーティング | 動的ルーティング |
|---|---|---|
| 経路を用意する方法 | 宛先と転送先を設定する | プロトコルで学習する |
| 構成変更への対応 | 設定の見直しが中心になる | 学習内容から経路を更新する |
| 主な負担 | 経路の追加・修正を管理する | 情報交換と経路計算が必要になる |
静的経路でも、監視と連携した削除や予備経路の設定によって自動的な切替えを行える。動的ルーティングでも、代替経路や切替え条件の設計が不要になるわけではない。
両者を併用する場合、同じネットワークアドレスとプレフィックス長への経路を情報源ごとの優先順位で比較する。Ciscoのアドミニストレーティブディスタンスでは、値が小さい候補を優先する。名称、既定値、設定可能な範囲は製品によって異なる。
例えば、同じ10.60.0.0/16への静的経路とBGP経路を持つルータで、静的経路を優先する設定が残っていれば、BGPで経路を学習しても転送先は変わらない。BGP属性だけを変更しても、別の情報源との優先関係は置き換えられない。
動的経路が消えたときに使う、優先順位を下げた静的経路をフローティングスタティックルートという。その設定と監視条件は静的ルーティングの記事で扱う。採用済みの異なる宛先範囲からパケットの転送先を選ぶ規則は、ロンゲストマッチの記事で説明する。