show ip routeの見方は、左から「経路の学習元」「宛先ネットワーク」「AD値/メトリック」「ネクストホップ」「経過時間」「出力インターフェース」の順に読むのが基本です。
ただし、記号の暗記だけでは実務で使えません。ルーティングテーブルには採用された経路が表示されるため、「なぜこの経路が載ったのか」「なぜ別の経路が載らないのか」「宛先IPに対してどの行が選ばれるのか」まで読み取る必要があります。
この記事では、元インフラエンジニアの筆者が、Ciscoの実際のshow ip route出力を使い、Connected、Static、OSPF、BGP、RIP、EIGRPの見分け方と、ロンゲストマッチ、AD値、メトリック、障害切り分けまで解説します。
この記事はネットワークエンジニアの仕事内容の各論です。工程の全体像から確認したい場合はこちら
ルーティングテーブルとは
ルーティングテーブルは、宛先IPアドレスへパケットを送るために、次の転送先を記録した表です。ルーターやL3スイッチだけでなく、PCやサーバーも持っています。
| 項目 | 意味 | 確認する理由 |
|---|---|---|
| 宛先ネットワーク | どのIP範囲へ適用する経路か | 対象宛先に一致するか判断 |
| プレフィックス長 | 一致させるビット数 | ロンゲストマッチを判断 |
| ネクストホップ | 次に渡すルーターのIP | 転送方向が正しいか確認 |
| 出力インターフェース | パケットを送り出すポート | 物理・VLAN・隣接状態を追跡 |
| 学習元 | Connected、Static、OSPFなど | どの設定やプロトコルを調べるか特定 |
| AD値/メトリック | 同じ宛先候補の信頼度とコスト | 採用理由を説明 |
ルーティングテーブルは「目的地までの全経路図」ではありません。その機器が次にどこへ送るかを示す表です。ネクストホップ以降の経路は、次のルーターが自身のルーティングテーブルで判断します。
構成図とshow ip routeの全体像
次の構成を例に、R1のルーティングテーブルを読みます。
192.168.10.0/24
10.0.12.1
10.0.12.0/30
10.0.12.2
10.0.23.1
10.0.23.0/30
10.0.23.2
192.168.30.0/24
R1# show ip route
Gateway of last resort is 10.0.12.2 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.12.0/30 is directly connected, GigabitEthernet0/0
L 10.0.12.1/32 is directly connected, GigabitEthernet0/0
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/24 is directly connected, GigabitEthernet0/1
L 192.168.10.1/32 is directly connected, GigabitEthernet0/1
O 192.168.30.0/24 [110/30] via 10.0.12.2, 00:18:42, GigabitEthernet0/0
S* 0.0.0.0/0 [1/0] via 10.0.12.2
宛先192.168.30.50への通信は、192.168.30.0/24に一致し、ネクストホップ10.0.12.2へ送られます。宛先8.8.8.8は個別経路に一致しないため、デフォルトルート0.0.0.0/0が使われます。
show ip routeの見方|1行を左から読む
まず、動的ルートの典型的な1行を分解します。
学習元宛先/プレフィックスAD/メトリックネクストホップ経過時間出力IF
O:OSPFで学習した経路192.168.30.0/24:この経路が対象とする宛先範囲110:Administrative Distance(AD値)30:OSPFコストvia 10.0.12.2:次に渡すルーター00:18:42:経路情報が更新されてからの経過時間GigabitEthernet0/0:パケットを送出するインターフェース
Gateway of last resortの意味
Gateway of last resortは、より具体的な経路に一致しない宛先へ使うデフォルト経路です。「最後の手段となるゲートウェイ」という意味で、0.0.0.0/0の採用先が表示されます。
is variably subnettedはエラーではない
is variably subnettedは、同じメジャーネットワーク配下に異なるプレフィックス長の経路が存在することを示す見出しです。たとえばConnectedの/24とLocalの/32が同時に表示されます。障害メッセージではありません。
show ip routeの経路コード一覧
| コード | 経路の学習元 | 代表的なAD値 |
|---|---|---|
| L | Local:自身のインターフェースIP | 0 |
| C | Connected:直接接続ネットワーク | 0 |
| S | Static:手動設定した経路 | 1 |
| R | RIP | 120 |
| D | EIGRP内部経路 | 90 |
| D EX | EIGRP外部経路 | 170 |
| O | OSPFエリア内 | 110 |
| O IA | OSPFエリア間 | 110 |
| O E1/E2 | OSPF外部経路 | 110 |
| B | BGP | eBGP 20/iBGP 200 |
| * | candidate default:デフォルト候補 | 直前の学習元による |
AD値はCiscoで一般的な初期値です。設定で変更でき、機種・OS・経路の種類によって異なります。暗記した値だけで判断せず、実機出力の角括弧内を確認してください。
Connected・Local・Staticルートの見方
Connectedルート「C」
C 192.168.10.0/24 is directly connected, GigabitEthernet0/1
Cは、IPアドレスが設定され、line protocolがupのインターフェースに直接接続されたネットワークです。ネクストホップはなく、該当インターフェースから直接送ります。
インターフェースへIPを設定したのにCルートが載らない場合は、show ip interface briefでStatus/Protocol、shutdown、VLAN SVIならVLANの稼働状態を確認します。
Localルート「L」
L 192.168.10.1/32 is directly connected, GigabitEthernet0/1
Lはルーター自身のインターフェースIPを示す/32経路です。このIP宛のパケットを自身で受信するために使われます。Cルートのネットワーク全体と、Lルートの自分自身を分けて理解します。
Staticルート「S」
S 172.16.0.0/16 [1/0] via 10.0.12.2
S* 0.0.0.0/0 [1/0] via 10.0.12.2
Sは管理者が手動設定した経路です。[1/0]はAD値1、メトリック0を示します。S*のアスタリスクはデフォルト候補として採用されていることを表します。
ip route 172.16.0.0 255.255.0.0 10.0.12.2
ip route 0.0.0.0 0.0.0.0 10.0.12.2
設定がrunning-configにあっても、ネクストホップを解決できない場合などはRIBへ載らないことがあります。設定の存在とルーティングテーブルへの採用を分けて確認します。
フローティングスタティック
末尾に大きいAD値を指定すると、動的ルートが消えた場合だけ採用するバックアップ経路にできます。
ip route 192.168.30.0 255.255.255.0 10.0.12.6 200
OSPF経路のAD値110が存在する間はStaticのAD値200は採用されず、通常のshow ip routeには載りません。
OSPFルートの見方
O 192.168.30.0/24 [110/30] via 10.0.12.2, 00:18:42, GigabitEthernet0/0
O IA 192.168.40.0/24 [110/40] via 10.0.12.2, 00:10:11, GigabitEthernet0/0
O E2 192.168.50.0/24 [110/20] via 10.0.12.2, 00:08:05, GigabitEthernet0/0
O:同一エリア内のOSPF経路O IA:ABRを経由して学習したエリア間経路O E1:外部コストに内部コストも加算する外部経路O E2:基本的に外部コストを中心に比較する外部経路
[110/30]の110はAD値、30はOSPFコストです。帯域に基づくコストの合計が小さい経路がOSPF内で優先されます。経路が見えない場合は、RIBだけでなく隣接、LSDB、OSPFルート計算も確認します。
show ip ospf neighbor
show ip ospf interface brief
show ip ospf database
show ip route ospf
show ip route 192.168.30.0
BGPルートの見方
B 203.0.113.0/24 [20/0] via 10.0.12.2, 00:05:12
B 198.51.100.0/24 [200/0] via 10.0.12.6, 00:02:41
BはBGPからRIBへ採用された経路です。一般的な初期AD値はeBGPが20、iBGPが200です。角括弧内の2つ目はBGPのメトリック値として表示されますが、BGPのベストパス選択はWeight、Local Preference、AS_PATH、Origin、MEDなど複数属性を順に比較します。
show ip bgp summary
show ip bgp
show ip bgp 203.0.113.0/24
show ip route bgp
show ip route 203.0.113.0
BGPテーブルで>が付いたベストパスでも、ネクストホップへ到達できない、同じプレフィックスにより小さいAD値の経路がある、といった理由でRIBへ採用されない場合があります。
RIPルートの見方
R 192.168.60.0/24 [120/2] via 10.0.12.2, 00:00:18, GigabitEthernet0/0
RはRIPで学習した経路です。[120/2]はAD値120、メトリックであるホップ数2を示します。RIPでは小さいホップ数が優先され、16は到達不能を意味します。
表示の経過時間が更新間隔を超えて増え続ける場合は、アップデート受信や隣接方向の設定を確認します。
show ip protocols
show ip route rip
show ip route 192.168.60.0
show running-config | section router rip
EIGRPルートの見方
D 192.168.70.0/24 [90/3072] via 10.0.12.2, 00:04:20, GigabitEthernet0/0
D EX 192.168.80.0/24 [170/3328] via 10.0.12.2, 00:03:02, GigabitEthernet0/0
DはEIGRP内部経路、D EXは再配送などで取り込まれたEIGRP外部経路です。EはEGPですでに使われるため、EIGRPはDUALアルゴリズムの頭文字Dで表示されます。
[90/3072]はAD値90、EIGRPの複合メトリック3072です。一般に帯域と遅延を基に計算され、小さい値が優先されます。Topology Tableにはsuccessorだけでなくfeasible successorなどの候補が存在し、RIBには採用経路が載ります。
show ip eigrp neighbors
show ip eigrp topology
show ip route eigrp
show ip protocols
show ip route 192.168.70.0
経路選択の優先順位
経路選択で最も多い誤解は、「AD値が小さい経路が常に選ばれる」というものです。宛先IPへパケットを転送するときは、まず最も長く一致するプレフィックスが選ばれます。
ロンゲストマッチ→② 同一プレフィックスなら
AD値→③ 同一プロトコルなら
メトリック→④ 条件を満たせば
ECMP
1. ロンゲストマッチ
宛先192.168.10.130に対して次の3経路がある場合、/25が最も具体的なので選ばれます。
S 0.0.0.0/0 via 10.0.12.2
O 192.168.0.0/16 via 10.0.12.2
B 192.168.10.128/25 via 10.0.12.6
宛先 192.168.10.130 → 192.168.10.128/25 を使用
BGPのAD値がOSPFより小さいからではありません。プレフィックス長が最長だからです。異なるプレフィックス長同士でAD値を比較しません。
2. Administrative Distance
同じ宛先プレフィックスを複数の方法で学習した場合、一般にAD値の小さい情報源がRIBへ採用されます。たとえば同じ192.168.30.0/24をStatic(AD 1)とOSPF(AD 110)で学習すれば、通常はStaticが採用されます。
3. メトリック
同じルーティングプロトコルが同じプレフィックスへの候補を複数持つ場合、そのプロトコル固有の基準でベストを決めます。OSPFはコスト、RIPはホップ数、EIGRPは複合メトリックを使います。BGPは単純な1つのメトリックだけでなく、複数属性のベストパス選択です。
4. 等コスト経路
同一プレフィックスへの等コスト経路が複数ある場合、機種と設定に応じて複数のネクストホップがルーティングテーブルへ載り、ECMPで負荷分散されます。
O 192.168.30.0/24 [110/30] via 10.0.12.2, 00:02:10, GigabitEthernet0/0
[110/30] via 10.0.13.2, 00:02:10, GigabitEthernet0/2
show ip routeを条件別に確認するコマンド
| コマンド | 確認できること |
|---|---|
show ip route |
IPv4ルーティングテーブル全体 |
show ip route 192.168.30.10 |
指定IPへ一致する経路と詳細 |
show ip route 192.168.30.0 255.255.255.0 |
指定プレフィックスの経路 |
show ip route connected |
Connected経路 |
show ip route static |
Static経路 |
show ip route ospf |
OSPF経路 |
show ip route bgp |
BGPから採用された経路 |
show ip route summary |
経路数の集計 |
show ipv6 route |
IPv6ルーティングテーブル |
show ip cef 192.168.30.10 |
実転送に使うCEF情報 |
VRFを使う環境では、グローバルテーブルだけを見ないよう注意します。IOS/IOS XEでは環境に応じてshow ip route vrf VRF-NAMEで対象VRFのルートを確認します。
Linux・Windowsのroute表示の見方
Linuxはip routeを使う
$ ip route
default via 192.168.1.1 dev eth0 proto dhcp metric 100
10.20.0.0/16 via 192.168.1.254 dev eth0 proto static metric 50
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10 metric 100
default via 192.168.1.1:デフォルトゲートウェイdev eth0:出力インターフェースproto dhcp/static/kernel:経路を作った情報源scope link:同一リンク上で直接到達src 192.168.1.10:優先送信元IPmetric 100:同種候補の優先度判断に使う値
特定宛先に実際に使う経路は、ip route get 8.8.8.8で確認できます。古いroute -nより、現在はip routeを使うのが基本です。
Windowsはroute printを使う
> route print
> Get-NetRoute
> Find-NetRoute -RemoteIPAddress 8.8.8.8
WindowsではNetwork Destination、Netmask、Gateway、Interface、Metricを確認します。インターフェースメトリックも経路選択へ影響するため、route printの1列だけで判断しないようにします。
ルーティング障害の切り分け方
障害時は、対象宛先に対して実際に選ばれる1経路から確認します。全テーブルを眺めるより、宛先IPを具体化した方が早く原因へ近づけます。
経路がルーティングテーブルにない
- Connected:インターフェース/SVIがup/upか
- Static:設定があるか、ネクストホップを再帰解決できるか
- OSPF:neighborがFullか、LSDBにLSAがあるか、areaやfilterは正しいか
- BGP:peerがEstablishedか、BGP tableにあるか、bestか、next-hopが到達可能か
- RIP:network、version、passive-interface、更新受信は正しいか
- EIGRP:neighbor、AS、K値、topology table、feasibilityを確認
経路はあるが通信できない
ネクストホップのARP解決、出力インターフェース、ACL、PBR、NAT、FW、MTU、宛先サービス、戻り経路を確認します。tracerouteは経路の手掛かりになりますが、ICMP応答を制限する機器もあるため、止まったホップだけで断定しません。
想定と違う経路が選ばれる
プレフィックス長を最初に比べ、その後で同一プレフィックスの学習元、AD値、プロトコル内メトリックを見ます。PBR、VRF、ECMP、経路再配送、サマリー経路がある場合は、通常のRIBだけでなく各機能の設定も確認します。
片方向だけ通信できない
送信元から宛先への経路だけでなく、宛先側から送信元ネットワークへの戻り経路を確認します。非対称経路自体が常に誤りとは限りませんが、ステートフルFWやNATを通る環境ではセッション不成立の原因になります。
| 現象 | 最初の確認 | 次の確認 |
|---|---|---|
| Destination unreachable | 対象宛先のroute有無 | デフォルトルート、PBR、VRF |
| 次ホップへ届かない | Connected route、ARP、IF状態 | VLAN、L2、ケーブル |
| 途中でループする | 各ルーターの選択経路 | Static相互参照、再配送、サマリー |
| 切替後だけ失敗 | 経路収束と残存route | track、隣接、タイマー、FIB |
| 特定宛先だけ失敗 | より具体的なプレフィックス | ACL、Null0、サマリー |
show ip routeのよくある質問
show ip routeの「via」は何ですか?
次にパケットを渡すネクストホップIPアドレスです。viaがなくis directly connectedと表示される経路は、出力インターフェースに直接接続されています。
[110/20]は何を意味しますか?
左がAdministrative Distance、右がメトリックです。OSPFなら[110/20]はAD値110、OSPFコスト20を意味します。右側の意味はルーティングプロトコルごとに異なります。
CとLの違いは何ですか?
Cはインターフェースに直接接続されたネットワーク全体、Lはルーター自身のインターフェースIPを示す/32経路です。
S*のアスタリスクは何ですか?
candidate default、つまりデフォルト経路の候補であることを示します。S*ならStaticで設定されたデフォルト経路です。
show ip routeにBGP経路がないのにshow ip bgpにはあります
BGPテーブルに学習済みでも、best pathでない、next-hopへ到達できない、同じプレフィックスにより小さいAD値の経路があるなどの理由でRIBへ採用されない場合があります。対象プレフィックスのBGP属性とRIB failure理由を確認します。
AD値とメトリックはどちらが先ですか?
同一プレフィックスへの異なる学習元を比較するときはAD値、同一プロトコル内の候補比較はメトリックです。ただしパケット転送時は、その前にロンゲストマッチで最も具体的なプレフィックスを選びます。
デフォルトルートがあればすべて通信できますか?
いいえ。個別経路がない宛先を次へ渡せるだけです。次ホップ以降の経路、戻り経路、ARP、ACL、NAT、FW、宛先ホストが正常である必要があります。
show ip routeとshow ip cefの違いは何ですか?
show ip routeはRIBの経路情報、show ip cefは高速転送に使うFIB/adjacency側の情報を確認します。制御プレーン上の経路があるのに転送で問題が疑われる場合は、CEFも確認します。
まとめ
show ip routeは、学習元、宛先プレフィックス、AD値/メトリック、ネクストホップ、経過時間、出力インターフェースの順に分解すると読めます。C/Lは直接接続、SはStatic、OはOSPF、BはBGP、RはRIP、DはEIGRPです。
経路選択では、最初にロンゲストマッチを確認します。同一プレフィックスならAD値、同一ルーティングプロトコル内なら固有のメトリックやベストパス選択を見ます。障害時は対象IPを1つに絞り、ルーターを1ホップずつ進みながら、戻り経路まで追ってください。
