アドミニストレーティブディスタンス(AD)の考え方
同じ宛先ネットワークに対して、スタティックや複数のルーティングプロトコルから「行き方」が同時に届くことがあります。ルータはその中から一つだけを正解としてルーティングテーブルに載せます。この“どの情報源をどれだけ信用するか”を数値化したものがアドミニストレーティブディスタンス(Administrative Distance, AD)です。値が小さいほど信頼度が高く、優先されます。
カーナビにたとえるなら「地元の警備員さんの誘導(AD=小)」と「ネットの口コミ(AD=大)」が同時にあったら、まずは警備員さんの指示に従う、という感覚です。
同じ宛先を複数の情報源が教えてきたら
R1が「172.16.4.0/24」をスタティックルートでも知っており、同時にRIPでも学習しているとします。このとき、ADが小さいスタティックルートが採用され、RIPで得た同一プレフィックスの経路は候補から外れます。ところが、スタティックルートのネクストホップ側(例:R3)がダウンすれば、スタティックはテーブルから消え、代わりにRIP経路が自動で昇格します。つまりADは“平時の優先順位”を決め、障害時には“次点”が自然に繰り上がるわけです。
代表的なADの既定値(Cisco)
| ルート情報源 | AD値 | 覚え方のヒント |
|---|---|---|
| 直接接続 | 0 | 自分の直結は最強 |
| スタティック | 1 | 手動設定は堅い情報 |
| EIGRP サマリ | 5 | まとめ情報で信頼度高 |
| BGP 外部(eBGP) | 20 | AS外からの正式ルート |
| EIGRP 内部 | 90 | 主要IGPの中で高めの優先 |
| OSPF | 110 | OSPFは“110”でセット |
| IS-IS | 115 | OSPFより少し大きい |
| RIP | 120 | 学習は簡単だが優先度は低め |
| ODR | 160 | 特殊用途で高め |
| EIGRP 外部 | 170 | 外部再配布はより低信用 |
| BGP 内部(iBGP) | 200 | 同一AS内のBGPは最下位寄り |
| 不明 | 255 | 使われない(到達不可扱い) |
ルーティングが選ばれる順番
ルータが転送先を決めるときの比較は、必ず次の順番で行われます。
まず“どの情報源か”ではなく“どれだけピッタリ合っているか”が先です。
- ロンゲストマッチ(プレフィックス長が最も長い経路が最優先)
- アドミニストレーティブディスタンス(情報源の信頼度)
- メトリック(同一プロトコル内の“距離”の良し悪し)
例えば「/25」と「/24」が同じ宛先を指していたら、ADが大きくても「/25」が無条件で勝ちます。ここを取り違える問題がよく出ます。ADやメトリックは“同じ長さ同士でぶつかったときの話”だと整理しましょう。なお、同一プロトコル・同一メトリックで複数の等コスト経路が並べば、等コストロードバランシングとして複数経路が同時採用されることもあります。
例でイメージを固める
R1には次の二つの経路候補があるとします。
信頼度が高いほう(ADが小さいほう)が採用されます。
信頼度が高い(情報源:S 宛先:172.16.4.0/24 ネクストホップ:172.16.3.254 出力IF:FastEthernet0/3)
信頼度が低い(情報源:R 宛先:172.16.4.0/24 ネクストホップ:172.16.2.254 出力IF:FastEthernet0/2)
通常時はスタティックが有効ですが、R3がダウンすればスタティックはテーブルから外れ、RIP経路が自動で採用され、通信はR2経由に切り替わります。試験では「障害時にどの経路が残るか」をADの観点で追えるかがポイントです。
バックアップ経路を作る“フローティングスタティック”
ダイナミックルートを主役にしつつ、非常時だけスタティックを使わせたい場面では、スタティックに“わざと大きなAD”を付けておきます。水面下に浮かべておくイメージからフローティングスタティックと呼ばれます。
(config)# ip route 172.16.4.0 255.255.255.0 172.16.3.254 200
この例ではADを200に設定したため、平時はRIPやOSPFが優先され、障害でそれらが消えたときだけスタティックが浮上して採用されます。スタティックにADを付ける位置はip routeの最後、数値一つでOKです。
逆に、スタティックを最優先にしたいならADを省略(既定値1)します。必要があればpermanentキーワードで、出力IFダウン時にもテーブルから消えない振る舞いにできますが、実運用ではブラックホール化に注意が必要です。
メトリックとは
同じルーティングプロトコルの中で、同じ宛先へ向かう道が複数見つかったとき、どの道を「最適」として採用するかを決める指標がメトリックです。値が小さいほうが優先されます。日常の例で言えば、同じ目的地へ行くルートが二つあったら、所要時間が短いほうを選ぶ、という感覚に近いものです。
ホップ数(RIP)
宛先「172.16.4.0/24」へ、R1⇒R2⇒R3 と R1⇒R4 の二通りの経路があるとします。RIPはメトリックとして「ホップ数(中継ルータの数)」を用います。
R1⇒R2⇒R3 は 2 ホップ、R1⇒R4 は 1 ホップなので、R1⇒R4 が採用されます。RIPでは“寄り道が少ないほど良い”という単純明快な基準で選ばれるわけです。
OSPFでの考え方(コスト)
同じ状況をOSPFで見ると、判断基準は「コスト」に変わります。コストは基本的にリンク帯域幅から決まります(Ciscoの既定では 100Mbps を基準に、10Mbps のリンクはコスト10、100Mbps はコスト1)。
R1⇒R2⇒R3 が 100Mbps+100Mbps なら 1+1=2、R1⇒R4 が 10Mbps なら 10。数字が小さい 2 のほうが優先されるため、OSPFでは R1⇒R2⇒R3 が選ばれます。ここは必ず覚える:OSPFは“速いリンクを通るほどコストが小さくなる”。
プロトコル別のメトリック早見表
| ルーティングプロトコル | メトリック | 基準のイメージ |
|---|---|---|
| RIP | ホップ数 | 経由するルータの数が少ないほど良い |
| EIGRP | 複合メトリック | 主に帯域幅と遅延(既定)。信頼性や負荷、MTUは係数設定で加味可能 |
| OSPF | コスト | 帯域幅から算出。速いリンクほどコストが小さい |
| IS-IS | ナロー/ワイドメトリック | ナローは1~63、ワイドは1~16,777,214の範囲で柔軟に表現 |
ルートが選ばれる順序の再確認
パケット転送で“どの経路が使われるか”は、次の順序で必ず決まります。
まずは宛先との“合致の深さ”を見て、そのあとに“信頼度”、最後に“距離の良し悪し”です。
1つ目はロンゲストマッチです。より長いプレフィックス長(例:/25 は /24 より優先)が無条件で勝ちます。
2つ目はアドミニストレーティブディスタンス(AD)です。情報源の信頼度が小さいほうが選ばれます。
3つ目がメトリックです。同じプロトコル内で、より小さい値の経路が採用されます。
等コスト時のふるまいと補足
同一プロトコルでメトリックがまったく同じ経路が複数ある場合、ルータは等コストマルチパスとして複数経路を同時にルーティングテーブルへ載せ、パケットをロードバランシングします。RIPやOSPFでは“等コスト”が条件です。EIGRPは“Variance”という設定を使うと、一定の範囲内で不等コストロードバランシングも可能です。試験ではこう問われやすい:等コストが何本採用されるか、どのプロトコルが不等コストを扱えるか。
コマンド出力の読み方のミニヒント
Cisco機器で show ip route を見ると、例えば OSPF は O 172.16.4.0/24 [110/2] のように表示されます。角括弧の左がAD(ここでは110)、右がメトリック(ここではコスト2)です。RIPなら [120/1] のように見えます。画面のこの二つの数字を“ADとメトリック”として読み分けられると、問題演習も実機確認も一気に理解が深まります。
フローティングスタティックルートとは
フローティングスタティックルートは、ふだんは使わせず“水面下に潜らせておく”静的ルートのことです。通常はダイナミックルーティングが主役として経路を提供し、何らかの理由でその経路が消えたときだけ、この静的ルートがルーティングテーブルに採用されて通信を肩代わりします。
動作の考え方(ADで“潜らせる”)
静的ルートの既定ADは1なので、そのままだと動的ルート(OSPF 110、RIP 120 など)より常に優先されてしまいます。そこで静的ルートの末尾にAD値を指定し、動的ルートよりも大きい値にしておきます。平常時は動的ルートが勝ち、障害で動的ルートが消えると、待機させていた静的ルートが採用されます。
従来の代表例(ISDNバックアップの発想)
従量課金のISDNを予備回線にしていた時代、主回線でダイナミックルーティングを動かし、予備回線はふだんは流さないようフローティングスタティックにしておく設計が定番でした。主回線断のときだけISDNを起動し、課金も最小限に抑えるという考え方です。例そのものは古くても、「待機回線に不要なトラフィックを流さない」という設計思想は今でも重要です。
現在の代表例(光+LTE、拠点VPNなど)
いまはインターネット回線の二重化や、光回線の予備としてLTE回線を用意する構成がよく使われます。主系はOSPFやBGP、あるいは上位装置からのデフォルト配布で運用し、予備はフローティングスタティックで待機させます。SLA監視と組み合わせれば、単なるリンクダウンだけでなく上流到達性の低下にも追従できます。
基本の設定例(単純バックアップ)
RIPやOSPFで到達している 172.16.4.0/24 に、非常時のみ別経路で届かせたい例です。最後の数値がADです。
! 非常時だけ有効になってほしい静的ルート(AD=200で待機)
(config)# ip route 172.16.4.0 255.255.255.0 172.16.3.254 200
動的経路が生きている間は、この静的ルートはテーブルに載りません。動的経路が消えると、上記ルートがインストールされます。
IP SLA と Object Tracking を使った実装
上流の到達性をICMPで監視し、到達不能になったときだけ既定ADの静的デフォルトを消し、代替のフローティング静的に切り替える例です。
! 監視対象(例:インターネット側の安定宛先)
(config)# ip sla 1
(config-ip-sla)# icmp-echo 8.8.8.8 source-interface GigabitEthernet0/0
(config-ip-sla)# frequency 5
(config)# ip sla schedule 1 life forever start-time now
! トラッキング定義
(config)# track 1 ip sla 1 reachability
! 主系のデフォルト(監視成功時のみ有効)
(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1 track 1
! 予備回線のデフォルト(AD=200で待機)
(config)# ip route 0.0.0.0 0.0.0.0 198.51.100.1 200
この構成では、監視が失敗すると track 1 がダウンし、主系デフォルトがテーブルから外れます。するとAD 200 の予備デフォルトが浮上し、通信が継続します。復旧すれば自動的に主系へ戻ります。
復旧時の挙動と注意点
復旧後は、よりADが小さい経路が再びテーブルに採用されます。静的ルートで permanent を付けると、出力インターフェースがダウンしてもテーブルから消えず“ブラックホール”を作る危険があります。フローティング用途ではむやみに permanent を使わず、リンクダウンや到達不能を検知して外れる仕組み(トラッキングやSLA)と併用するのが安全です。
確認のしかたと現場でのコツ
show ip route で、対象プレフィックスがどの情報源で採用されているかを見ます。角括弧の左がAD、右がメトリックで、OSPFなら [110/コスト]、RIPなら [120/ホップ] のように表示されます。SLA連携時は show track で監視状態、show ip sla statistics で到達性の履歴を確認します。実装時は必ず双方向の経路も同様に備えること、監視宛先は“上流のさらに先”を選んで誤検知を減らすことを意識すると、安定したバックアップ運用につながります。
ECMP(Equal Cost Multi Path)とは
ECMPは、同じ宛先へ到達できる複数の経路があり、そのメトリックが等しいときに、複数の経路を同時に使ってトラフィックを分散する仕組みです。帯域の“すべての車線”を活用するイメージで、特定の1本だけに渋滞が集中するのを避けられます。
ECMPが働く前提と基本動作
最初に宛先プレフィックスに最も長く一致する経路を選び、次に情報源の信頼度であるADを比較します。同じプレフィックス長で、同じプロトコル由来で、しかもメトリックが完全に同じ経路が複数並んだときに、はじめてECMPが成立します。成立するとルータは複数の転送先を同時にルーティングテーブルへ載せ、パケットを分散して送るようになります。
2つの分散方式(Per Packet と Per Flow)
等コストで複数経路が並んだとき、実際の分散方法には二つの考え方があります。パケットごとに振り分ける方法と、フロー単位で固定する方法です。動画ストリーミングのように順番通りに届いてほしい通信では、同じ“レーン”を走り続けるフロー方式が向いています。
| 方式 | 説明 | メリット | デメリット |
|---|---|---|---|
| Per Packet(パケットモード) | 各パケットをハッシュなどで順番に別経路へ送る | 分散が平準化しやすい | パケット順序が乱れやすく、音声や動画で破綻しやすい |
| Per Flow(フローモード) | 同一フローのパケットは同じ経路に固定 | 順序が保たれアプリが安定 | フロー数の偏りで分散が不均等になることがある |
OSPFでのECMPと最大経路数
OSPFでは同じコストの経路が複数あると、既定で最大4本までルーティングテーブルにインストールされます。必要に応じて最大数は変更できます。広帯域の“分岐”が多いコア寄りの設計では、値を引き上げて活用する場面が出てきます。
R1(config)# router ospf 1
R1(config-router)# maximum-paths 8
この設定により、OSPFで等コストの経路を最大8本まで同時採用できます。試験では「同コストなら複数登録される」ことと「maximum-pathsで上限を変えられる」ことの二点が狙われます。
Cisco CEFとCatalyst 9000でのECMP
Cisco機器ではCEF(Cisco Express Forwarding)がハッシュに基づく分散を担当します。Catalyst 9000シリーズでは、グローバルのロードシェアリングアルゴリズムを選べます。特殊な要件がなければ“universal”が既定かつ推奨です。ハッシュの種(シード)を含めて偏りを起きにくくする狙いがあります。
| アルゴリズム | 概要 |
|---|---|
| universal | 送信元・宛先・IDの複合ハッシュで広く安定した分散を実現(既定) |
| original | 送信元・宛先に基づく従来型の分散 |
| tunnel | トンネル環境や宛先の組み合わせが少ない環境向け |
| include-ports | ポート番号まで加味して分散を微調整 |
設定は次のとおりです。
(config)# ip cef load-sharing algorithm [ include-ports | original | tunnel | universal ]
また、インターフェース単位の方式としては、Catalyst 9300/9400/9500では宛先別ロードバランシングのみがサポートされます。すなわちパケット単位の分散は選べず、フローの順序性が保たれる設計になります。
(config-if)# ip load-sharing per-destination
簡単な構成例で動きを確認する
R1から172.16.4.0/24へ、R2経由とR3経由で同じコストのOSPF経路が見えているとします。ルーティングテーブルには二つの“等コスト次ホップ”が並び、CEFがハッシュでフローを振り分けます。HTTPセッションのように同一の送信元・宛先・ポートの組が同じ経路に固定されるため、サーバ側でパケット順序が崩れず、アプリは安定します。もしR2側のリンクが切れれば、その経路はテーブルから外れ、残ったR3経由に自動集中します。復旧すれば再び二本で分散します。ECMPは高可用性とスループットの両方に効くことを具体的にイメージしてください。
運用時の注意点と設計のコツ
フロー方式でも“フローの偏り”は起こり得ます。大流量の少数フローが一方の経路に集中すると、もう一方が余ることがあります。universalアルゴリズムのままでも多くの環境で充分に均されますが、観測して偏りが顕著なら、ハッシュ対象や上限経路数の調整を検討します。また、対向側でも同様にECMPが成立しているか、戻り経路が非対称になっていないかも確認が必要です。トラブル切り分けの際は、特定フローがどの次ホップへ送られているかを押さえると早道です。