この記事は、 「ネットワーク中級編|構築・検証・障害切り分けを身につける」 の第11回です。
第2章では、ルーティングテーブルを基礎に、スタティックルート、デフォルトルート、OSPF、IPv6を順番に学びます。
ルーティングテーブルの読み方|経路・ネクストホップ・AD・メトリックを図解
ルーターは、受信したIPパケットの宛先IPアドレスとルーティングテーブルを照合し、
次に渡す相手と出力インターフェースを決定します。
この記事では、Cisco IOSのshow ip routeを例に、経路情報を一行ずつ読み解く方法を解説します。
show ip routeを実行すると、英字、ネットワークアドレス、角括弧内の数字、
viaの後ろにあるIPアドレスなど、多くの情報が表示されます。
最初は複雑に見えますが、確認する項目は決まっています。 「どの宛先へ」「何の経路で」「どこへ渡し」「どのポートから出すか」の順に読むと整理できます。
この記事を読み終えるとできること
- ルーティングテーブルの役割を説明できる
show ip routeの基本項目を読み取れる- 接続・スタティック・動的経路を区別できる
- ネクストホップと出力インターフェースを判断できる
- ADとメトリックの違いを説明できる
- 経路がない場合の動作を判断できる
- ルーティング障害の確認順序を整理できる
- 調査結果を根拠とともに報告できる
ルーティングテーブルとは何か
ルーティングテーブルとは、宛先ネットワークごとに、 パケットを次にどこへ転送するかを記録した経路表です。
ルーターやレイヤー3スイッチは、受信したIPパケットの宛先IPアドレスを確認します。 その後、ルーティングテーブルから宛先に一致する経路を探し、次の転送先を決定します。
ルーティングテーブルには、主に次の情報が登録されています。
宛先
どのネットワークへ向かう経路なのかを示します。
経路の種類
直接接続、スタティック、OSPFなど、どの方法で学習した経路かを示します。
次の転送先
次に渡すルーターのIPアドレス、または直接接続であることを示します。
出力先
どのインターフェースからパケットを送信するかを示します。
ルーティングテーブルは「通信できること」を保証する表ではありません。
経路が登録されていても、インターフェース停止、ARP解決失敗、ACL、ファイアウォール、戻り経路不足などにより通信できない場合があります。
ルーターがパケットを転送する流れ
PC-Aが、別ネットワークにあるサーバーへパケットを送信する場面を考えます。
192.168.10.10から192.168.30.20へ通信する例
パケットを受信する
宛先IPを見る
経路表と照合する
次の機器へ送る
ルーターが経路を選ぶときに確認するのは、IPパケットの宛先IPアドレスです。
送信元IPアドレスは、通常の宛先ベースルーティングで経路を選ぶ主な条件ではありません。 ポリシーベースルーティングなどを使用する場合は例外があります。
show ip routeの全体像
Cisco IOSでは、IPv4のルーティングテーブルを確認する代表的なコマンドがshow ip routeです。
R1# show ip route
Codes: L - local, C - connected, S - static, R - RIP,
D - EIGRP, O - OSPF, B - BGP
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/1
L 10.0.12.1/32 is directly connected, GigabitEthernet0/1
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/24 is directly connected, GigabitEthernet0/0
L 192.168.10.1/32 is directly connected, GigabitEthernet0/0
O 192.168.20.0/24 [110/20] via 10.0.12.2, 00:12:05, GigabitEthernet0/1
O 192.168.30.0/24 [110/30] via 10.0.12.2, 00:12:05, GigabitEthernet0/1
S* 0.0.0.0/0 [1/0] via 10.0.12.2
この出力から、R1には次の情報があると分かります。
192.168.10.0/24と10.0.12.0/30はR1へ直接接続されている192.168.20.0/24と192.168.30.0/24はOSPFで学習している- OSPF経路の次の転送先は
10.0.12.2である - 詳細な経路がない宛先はデフォルトルートを使い、
10.0.12.2へ転送する
表示形式や経路コードは、機種、OS、機能、ソフトウェアバージョンによって異なる場合があります。 ただし、宛先・学習元・ネクストホップ・出力先を確認する考え方は共通です。
経路情報を一行ずつ分解する
次のOSPF経路を例に、一行の情報を分解します。
O 192.168.30.0/24 [110/30] via 10.0.12.2, 00:12:05, GigabitEthernet0/1
OSPFで学習
読み取り例:
宛先192.168.30.0/24への経路はOSPFで学習しています。
ADは110、OSPFメトリックは30です。パケットはネクストホップ10.0.12.2へ、
GigabitEthernet0/1から転送されます。
経路コードの読み方
各経路の先頭に表示される英字は、その経路をどのように学習したかを示します。
| コード | 意味 | 登録される場面 | 読み取りのポイント |
|---|---|---|---|
| L | Local | ルーター自身のインターフェースIPアドレス | 通常は自身宛ての/32経路として表示される |
| C | Connected | 有効なインターフェースに直接接続されたネットワーク | ネクストホップを経由せず、そのインターフェースから到達する |
| S | Static | 管理者が手動で設定した経路 | S*は候補デフォルトルートを示す場合がある |
| O | OSPF | OSPFで学習した経路 | 角括弧は一般に[110/メトリック] |
| D | EIGRP | EIGRPで学習した経路 | 内部経路のADは一般に90 |
| R | RIP | RIPで学習した経路 | メトリックはホップ数 |
| B | BGP | BGPで学習した経路 | 大規模ネットワークや外部接続で利用される |
Connected経路が表示される条件
インターフェースへIPアドレスを設定しただけでは、必ずしもConnected経路が表示されるとは限りません。 一般に、対象インターフェースとラインプロトコルが利用可能な状態になっている必要があります。
R1# show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 192.168.10.1 YES manual up up
GigabitEthernet0/1 10.0.12.1 YES manual up up
Connected経路が消えている場合は、ルーティング設定より先にインターフェース状態を確認します。
宛先ネットワークとプレフィックス長
ルーティングテーブルの宛先は、通常、ネットワークアドレスとプレフィックス長で表示されます。
192.168.10.0/24
192.168.10.0から192.168.10.255までを表すネットワークです。
10.0.12.1/32
1つのIPv4アドレスだけに一致するホスト経路です。
0.0.0.0/0
すべてのIPv4宛先に一致できるデフォルトルートです。
宛先IPアドレスをネットワークへ置き換えて考える
宛先IPアドレスが192.168.30.20の場合、
192.168.30.0/24の経路に含まれるため、この経路が候補になります。
同じ宛先IPアドレスに複数の経路が一致することがあります。 その場合は、より長いプレフィックス、つまりより具体的な経路が優先されます。 詳細は次の記事「最長一致の考え方」で解説します。
ネクストホップと出力インターフェース
ネクストホップとは
ネクストホップは、目的地へ到達するためにパケットを次に渡すルーターのIPアドレスです。 最終目的地のIPアドレスではありません。
O 192.168.30.0/24 [110/30] via 10.0.12.2, 00:12:05, GigabitEthernet0/1
この場合、最終目的地は192.168.30.0/24ですが、R1が直接渡す相手は10.0.12.2です。
出力インターフェースとは
出力インターフェースは、パケットを送信する物理または論理インターフェースです。
例ではGigabitEthernet0/1から送信します。
直接接続経路の場合
C 192.168.10.0/24 is directly connected, GigabitEthernet0/0
直接接続経路では、隣のルーターを経由せず、対象ネットワークへ接続されたインターフェースから転送します。 実際のEthernet転送では、ARPなどで宛先またはネクストホップのMACアドレスを解決します。
ネクストホップがルーティングテーブルに表示されていても、そのネクストホップまで到達できなければ転送できません。 隣接ネットワークのConnected経路、ARPテーブル、インターフェース状態も確認してください。
ADとメトリックの違い
動的ルーティングやスタティックルートの経路では、角括弧内に2つの数字が表示されることがあります。
O 192.168.30.0/24 [110/30] via 10.0.12.2
AD
Administrative Distanceの略です。 同じ宛先プレフィックスを異なる学習元から受け取ったときに、どの情報源を信頼するかを比較します。
メトリック
同じルーティングプロトコル内で、どの経路を優先するかを比較するための値です。 計算方法はプロトコルごとに異なります。
[110/30]
この例ではADが110、OSPFメトリックが30です。 単純に2つの数字を足したり、左右を同じ尺度で比較したりしません。
| 項目 | AD | メトリック |
|---|---|---|
| 主な用途 | 異なる学習元の信頼度を比較 | 同じプロトコル内の経路を比較 |
| 値の意味 | 小さい方が優先される | 通常は小さい方が優先されるが、計算方法はプロトコル依存 |
| 例 | スタティック1、OSPF 110など | OSPFコスト、RIPホップ数など |
| 比較するタイミング | 同じプレフィックス長・同じ宛先の候補を比較するとき | 同じルーティングプロトコルの候補を比較するとき |
ADが小さい経路より、長いプレフィックスの経路が先に優先されます。
たとえば/24のOSPF経路と/0のスタティックデフォルトルートが一致する場合、
ADではなく、より具体的な/24が選ばれます。
経路選択の基本順序
経路選択は、経路をルーティングテーブルへ登録する段階と、 実際のパケットを転送する段階に分けて考えると正確に理解できます。
- 各ルーティングプロトコルが候補経路を計算する OSPFなどは、同じ宛先プレフィックスへの候補が複数ある場合、プロトコル固有のメトリックで最良経路を計算します。
-
同じ宛先・同じプレフィックス長を異なる学習元から得た場合はADで比較する
たとえば、同じ
192.168.30.0/24をスタティックとOSPFから得た場合に、ADが比較材料になります。 - 選ばれた経路がルーティングテーブルへ登録される 等コスト経路など、条件によっては複数の経路が登録されることもあります。
-
パケット受信時は、登録済み経路の中から最長一致で選ぶ
/24と/16が宛先に一致する場合は、より具体的な/24を使用します。 - 選ばれたネクストホップと出力インターフェースへ転送する 必要に応じてARPや隣接情報を使い、レイヤー2フレームとして送信します。
異なるプレフィックス長の経路同士を、ADだけで直接比較するわけではありません。 ADとメトリックは主に経路を登録する段階、最長一致はパケットを転送する段階で使われると整理してください。
等コスト経路、再帰ルックアップ、ポリシーベースルーティング、VRFなどを使用する場合は、さらに考慮事項があります。
デフォルトルートと経路なし
デフォルトルート
デフォルトルートは、より具体的な経路が見つからない場合に使用する経路です。
IPv4では0.0.0.0/0で表します。
S* 0.0.0.0/0 [1/0] via 10.0.12.2
*は、デフォルトルート候補として扱われていることを示します。
また、出力上部のGateway of last resortで、実際に採用されているデフォルト経路を確認できます。
一致する経路がない場合
宛先に一致する具体的な経路もデフォルトルートもない場合、ルーターは通常、そのパケットを転送できません。 状況に応じてパケットを破棄し、送信元へICMP到達不能を返すことがあります。
経路なしと、通信先が停止している状態は別です。
まずルーティングテーブルに宛先経路が存在するかを確認し、存在する場合は次にネクストホップ、戻り経路、ACLなどを調査します。
障害切り分けでの読み方
「宛先へ通信できない」ときは、ルーティングテーブル全体を眺めるのではなく、対象宛先に絞って確認します。
show ip routeshow ip route 192.168.30.20show ip interface briefshow ip arpping 10.0.12.2traceroute 192.168.30.20基本的な確認順序
- 対象の宛先IPアドレスを明確にする ホスト名ではなく、名前解決後のIPアドレスを確認します。
- その宛先に使われる経路を確認する 宛先ネットワーク、経路コード、ネクストホップ、出力インターフェースを読みます。
- 出力インターフェースの状態を確認する down状態やエラー、誤ったVRF所属などがないか確認します。
- ネクストホップまでの到達性を確認する Connected経路、ARP、隣接関係、pingを確認します。
- 対向機器でも戻り経路を確認する 片方向だけ経路がある状態では、往復通信が成立しません。
- ACL・ファイアウォール・NATなどを確認する 経路が正常でも通信を拒否・変換する機能が原因になることがあります。
調査結果の報告例
確認結果:
R1のルーティングテーブルには、宛先192.168.30.0/24へのOSPF経路が登録されています。
ネクストホップは10.0.12.2、出力インターフェースはGigabitEthernet0/1です。
同インターフェースはup/upで、ネクストホップへのpingも成功しています。
R1までの経路選択と隣接ルーターへの到達性は正常と判断し、次にR2以降の経路と戻り経路を確認します。
ルーティングテーブルに関するよくある勘違い
まずプレフィックス長で比較します。より具体的な経路が優先され、ADは同じ宛先プレフィックスの候補を比較するときに使用します。
ネクストホップは次にパケットを渡すルーターです。最終宛先とは異なることが一般的です。
インターフェース、ARP、戻り経路、ACL、ファイアウォール、NAT、接続先の状態なども通信に影響します。
対象インターフェースが利用可能な状態であることが必要です。down/downやadministratively downでは経路が登録されない場合があります。
多くの通信は往復で成立します。対向側の戻り経路も確認する必要があります。
一行を決まった順番で分解すると、複雑なルーティングテーブルでも整理して判断できます。
理解度チェック
次の問題に答え、ルーティングテーブルの読み方を確認してください。
問題1.ルーティングテーブルの主な役割はどれですか。
- MACアドレスとスイッチポートを対応付ける
- 宛先ネットワークごとに次の転送先を記録する
- DNS名とIPアドレスを対応付ける
- TCPポート番号を管理する
解答を見る
ルーティングテーブルは、宛先ネットワークごとにネクストホップや出力インターフェースなどを記録する経路表です。
問題2.次の経路で、ネクストホップはどれですか。
O 192.168.30.0/24 [110/30] via 10.0.12.2, 00:12:05, GigabitEthernet0/1
- 192.168.30.0
- 110
- 30
- 10.0.12.2
解答を見る
viaの後ろにある10.0.12.2がネクストホップです。
問題3.[110/30]の説明として正しいものはどれですか。
- 送信元ポート番号と宛先ポート番号
- VLAN番号とインターフェース番号
- ADとメトリック
- IPアドレスとサブネットマスク
解答を見る
左側の110がAD、右側の30がメトリックです。
問題4.コードCが示す経路はどれですか。
- 直接接続されたネットワーク
- OSPFで学習したネットワーク
- スタティックルート
- BGPで学習したネットワーク
解答を見る
CはConnectedを表し、利用可能なインターフェースへ直接接続されたネットワークです。
問題5.宛先に一致する具体的な経路もデフォルトルートもない場合、ルーターは通常どうしますか。
解答を見る
状況に応じて、送信元へICMP到達不能を返すことがあります。
実践演習:ルーティングテーブルから通信経路を判断する
次のルーティングテーブルを読み、各宛先へどの経路が使われるかを答えてください。
R1# show ip route
Gateway of last resort is 10.0.12.2 to network 0.0.0.0
C 10.0.12.0/30 is directly connected, GigabitEthernet0/1
L 10.0.12.1/32 is directly connected, GigabitEthernet0/1
C 192.168.10.0/24 is directly connected, GigabitEthernet0/0
L 192.168.10.1/32 is directly connected, GigabitEthernet0/0
O 192.168.20.0/24 [110/20] via 10.0.12.2, 00:20:11, GigabitEthernet0/1
O 192.168.30.0/24 [110/30] via 10.0.12.2, 00:20:11, GigabitEthernet0/1
S* 0.0.0.0/0 [1/0] via 10.0.12.2
課題1.宛先192.168.30.50への経路を読む
次の4点を答えてください。
- 使用する経路コード
- 一致する宛先ネットワーク
- ネクストホップ
- 出力インターフェース
宛先ネットワーク:__________
ネクストホップ:__________
出力インターフェース:__________
課題1の解答を見る
- 経路コード:O
- 宛先ネットワーク:
192.168.30.0/24 - ネクストホップ:
10.0.12.2 - 出力インターフェース:
GigabitEthernet0/1
192.168.30.50は192.168.30.0/24に含まれるため、このOSPF経路を使用します。
課題2.宛先192.168.10.80への経路を読む
このパケットはネクストホップ10.0.12.2へ送られますか。
理由も答えてください。
課題2の解答を見る
送られません。
宛先192.168.10.80は、直接接続された192.168.10.0/24に含まれます。
そのため、GigabitEthernet0/0から直接転送します。
課題3.宛先203.0.113.10への経路を読む
一致する個別経路はありません。どの経路が使われるでしょうか。
課題3の解答を見る
デフォルトルート0.0.0.0/0を使用します。
ネクストホップは10.0.12.2です。より具体的な一致経路がないため、最後の候補としてデフォルトルートが選ばれます。
課題4.障害原因を考える
R1には192.168.30.0/24への経路がありますが、ネクストホップ10.0.12.2へのpingが失敗します。
次に確認する項目を3つ以上挙げてください。
2.__________________
3.__________________
課題4の解答例を見る
GigabitEthernet0/1がup/upか10.0.12.0/30のConnected経路が存在するか- R1とR2のIPアドレス・サブネットマスクが正しいか
- ARPテーブルに
10.0.12.2が登録されるか - ケーブル、VLAN、ポート状態に問題がないか
- ACLやCoPPなどでICMPが拒否されていないか
自分の言葉で説明する課題
最後に、次の質問へ自分の言葉で答えてください。
後輩から「show ip routeの一行は、どの順番で見ればよいですか」と質問されました。
60秒程度で説明してください。
説明例を見る
最初に先頭のコードを見て、直接接続、スタティック、OSPFなど、どの方法で学習した経路かを確認します。
次に宛先ネットワークとプレフィックス長を確認し、その経路が対象の宛先IPに一致するかを判断します。
その後、角括弧内のADとメトリック、viaの後ろにあるネクストホップ、最後の出力インターフェースを読みます。
障害時は、ネクストホップへの到達性と対向側の戻り経路も確認します。
「経路コード → 宛先 → AD/メトリック → ネクストホップ → 出力インターフェース」 の順番で説明できれば、この記事の目標は達成です。
まとめ
- ルーティングテーブルは、宛先ネットワークごとの転送先を記録した経路表
- ルーターは宛先IPアドレスを使って一致する経路を検索する
Cは直接接続、Sはスタティック、OはOSPF経路を示す- ネクストホップは、最終宛先ではなく次にパケットを渡すルーター
- 角括弧内は一般に
[AD/メトリック]の順で表示される - 経路登録ではAD・メトリック、パケット転送では最長一致を使う段階の違いを理解する
- 具体的な経路がない場合はデフォルトルートを使用する
- 経路もデフォルトルートもない場合、パケットは通常転送されない
- 障害時は出力インターフェース、ネクストホップ、ARP、戻り経路も確認する
ルーティングテーブルは、通信経路を推測するための最初の根拠です。 一行を決まった順番で分解し、次に確認すべき機器とインターフェースを判断できるようにしましょう。

コメント