ルーティングテーブルの見方とは?show ip routeの読み方・最長一致を図解

  • URLをコピーしました!

前の記事では、 ルーターが宛先IPアドレスを確認し、ルーティングテーブルから転送先を決める ことを学びました。

たとえばルーターが、 192.168.20.50宛てのパケットを受信したとします。

DESTINATION IP 192.168.20.50
📡 Router
ROUTING TABLE 経路を検索

ここまでは理解できても、 実際にCiscoルーターで show ip route を実行すると、次のような表示が出てきます。

C    192.168.10.0/24 is directly connected, GigabitEthernet0/0
L    192.168.10.1/32 is directly connected, GigabitEthernet0/0
C    192.168.20.0/24 is directly connected, GigabitEthernet0/1
S    192.168.30.0/24 [1/0] via 10.0.0.2
S*   0.0.0.0/0 [1/0] via 203.0.113.1
C・L・S・S*とは何?
どこを見ればパケットの転送先が分かるのでしょうか?

今回は、このルーティングテーブルを 自分で読める状態 にしていきます。

🌐 NETWORK INTERMEDIATE

この記事はネットワーク中級講座の一部です。 学習順を確認したい場合は講座一覧から確認できます。

ネットワーク中級講座を見る →
LESSON GOAL この記事のゴール

show ip routeを見たときに、 「どの宛先ネットワークへの経路なのか」 「次にどこへ送るのか」 「どの経路が実際に選ばれるのか」 を判断できる状態を目指します。

目次

ルーティングテーブルとは?

ルーティングテーブルとは、 宛先IPネットワークと、その宛先へパケットを届けるための経路情報を記録した表 です。

DESTINATION NEXT HOP EXIT
192.168.10.0/24 Direct Gi0/0
192.168.20.0/24 Direct Gi0/1
192.168.30.0/24 10.0.0.2 Gi0/2

ルーターはパケットの 宛先IPアドレス と、この表にある宛先ネットワークを比較します。

ルーティングテーブルは「住所録」ではなく「経路表」

個々のPCすべてを登録しているわけではありません。 多くの場合、 192.168.20.0/24のようなネットワーク単位 で経路を保持します。

show ip routeを見てみよう

Cisco IOSでは、 IPv4ルーティングテーブルを確認する代表的なコマンドとして 次を利用します。

Cisco IOS
Router> enable
Router# show ip route

今回は、分かりやすく次のルーティングテーブルを例にします。

C    192.168.10.0/24 is directly connected, GigabitEthernet0/0
L    192.168.10.1/32 is directly connected, GigabitEthernet0/0

C    192.168.20.0/24 is directly connected, GigabitEthernet0/1
L    192.168.20.1/32 is directly connected, GigabitEthernet0/1

S    192.168.30.0/24 [1/0] via 10.0.0.2
S    192.168.40.0/24 [1/0] via 10.0.0.3

S*   0.0.0.0/0 [1/0] via 203.0.113.1

まず1行を分解して読んでみよう

次の行を例にします。

S 192.168.30.0/24 [1/0] via 10.0.0.2

それぞれ次の意味があります。

S

この経路がどのような方法で 登録されたのかを示します。

192.168.30.0/24

この経路が対象とする 宛先ネットワークです。

[1/0]

経路選択に利用される 値が表示されています。

10.0.0.2

次にパケットを渡す Next Hopです。

C・L・S・S*は何を意味する?

行の先頭にある文字は、 そのルートがどこから学習されたのか を示します。

C Connected

ルーターへ直接接続されている ネットワーク。

L Local

ルーター自身の インターフェースIPアドレス。

S Static

管理者が手動設定した スタティックルート。

S* Default Route

Static Routeのうち、 デフォルトルートとして利用される経路。

C 192.168.10.0/24 直接接続されたNetwork
L 192.168.10.1/32 Router自身のIP
S 192.168.30.0/24 手動登録されたRoute
S* 0.0.0.0/0 Default Route

C:Connectedルートとは?

Connectedルートとは、 ルーターへ直接接続されたネットワーク です。

192.168.10.0/24
────
Router Gi0/0
192.168.10.1

Gi0/0に192.168.10.1/24を設定し、 インターフェースが有効になっていれば、 ルーターは192.168.10.0/24が 直接接続されている ことを認識できます。

C    192.168.10.0/24 is directly connected, GigabitEthernet0/0

この経路ではNext Hopルーターを経由する必要はありません。

L:Localルートとは?

Localルートは、 ルーター自身に設定されているIPアドレス への経路です。

L    192.168.10.1/32 is directly connected, GigabitEthernet0/0

ここで、 Connectedルートは 192.168.10.0/24 なのに対し、 Localルートは 192.168.10.1/32 になっています。

C 192.168.10.0/24 Network全体
L 192.168.10.1/32 Router自身
/32=1つのIPv4アドレスだけを表す

192.168.10.1/32は 192.168.10.1という1つのIPアドレスだけに一致します。

S:Staticルートとは?

Staticルートは、 管理者が手動で登録する経路 です。

Router-A
192.168.30.0/24

Router-Aから192.168.30.0/24へ行くには、 Router-Bへ渡せばよいと管理者が設定した場合、 次のように表示されます。

S    192.168.30.0/24 [1/0] via 10.0.0.2

ここでは、

DESTINATION 192.168.30.0/24
NEXT HOP 10.0.0.2

と読めます。

Next Hopと出力インターフェースの違い

ルーティングテーブルでは、 Next Hopが表示される場合と、 出力インターフェースが表示される場合があります。

NEXT HOP 10.0.0.2

「次にどのルーターへ渡すか」

EXIT INTERFACE Gi0/1

「どのインターフェースから出すか」

Next Hop = 次のルーター Exit Interface = 自分の出口

0.0.0.0/0とは?デフォルトルートを理解する

次の経路を見てみましょう。

S*   0.0.0.0/0 [1/0] via 203.0.113.1

0.0.0.0/0デフォルトルート です。

/0はIPv4アドレスの先頭ビットを 1つも固定しないため、 すべてのIPv4宛先に一致可能 です。

SPECIFIC ROUTE 192.168.30.0/24
なければ
DEFAULT ROUTE 0.0.0.0/0

そのため、 より具体的な経路がルーティングテーブルに存在しないときの 最後の転送先 として利用できます。

デフォルトルート=「どれにも当てはまらなければこちら」

インターネット方向など、 個別のネットワークをすべて登録したくない場合に よく利用されます。

複数の経路に一致したらどれを使う?

ここがルーティングテーブルの見方で 非常に重要なポイントです。

たとえば次の3つの経路があるとします。

192.168.0.0/16 Route A
192.168.10.0/24 Route B
0.0.0.0/0 Default

ここへ 192.168.10.50 宛てのパケットが届いたとします。

このIPアドレスは、

✓ 192.168.0.0/16
✓ 192.168.10.0/24
✓ 0.0.0.0/0

すべてに一致します。

しかしルーターは、 この中から 最もプレフィックス長が長い経路 を選択します。

LONGEST PREFIX MATCH 192.168.10.0/24

/24 > /16 > /0

これを 最長一致(Longest Prefix Match) と呼びます。

より細かく指定された経路が優先される

まずは /32 > /24 > /16 > /8 > /0 のように、数字が大きい経路ほど具体的と考えると理解しやすくなります。

実際にパケットの転送先を判断してみよう

次のルーティングテーブルがあるとします。

ROUTE NEXT HOP / EXIT
C 192.168.10.0/24 Gi0/0
S 192.168.20.0/24 10.0.0.2
S 192.168.0.0/16 10.0.0.3
S* 0.0.0.0/0 203.0.113.1

宛先:192.168.10.50

192.168.10.0/24に一致するため、 Gi0/0 を利用します。

宛先:192.168.20.50

192.168.20.0/24と192.168.0.0/16の両方に一致しますが、 /24の方が長いため、 10.0.0.2 への経路を利用します。

宛先:192.168.50.10

192.168.0.0/16には一致しますが、 192.168.20.0/24には一致しません。

そのため、 10.0.0.3 への経路を利用します。

宛先:8.8.8.8

上記の具体的な経路には一致しません。

そのため、 0.0.0.0/0のデフォルトルート を利用します。

[1/0]とは何?

Static Routeを見ると、 次のような表示があります。

S    192.168.30.0/24 [1/0] via 10.0.0.2

角括弧内は一般的に、

FIRST VALUE 1 Administrative Distance
SECOND VALUE 0 Metric

として表示されます。

ただし、 この2つは 最長一致とは別の段階で利用される情報 です。

STEP 1 Longest Prefix Match 最も具体的な宛先Route
STEP 2 Route Source等を比較 同じPrefixへの複数Route
今回は「最長一致」が最重要

Administrative DistanceやMetricの詳しい比較は、 スタティックルーティング・動的ルーティングや OSPFなどを学ぶ際に理解すると整理しやすくなります。

ここで実際に試してみよう:ルート選択シミュレーター

宛先IPアドレスを選び、 ルーターがどの経路を利用するか考えてみましょう。

INTERACTIVE LAB

Route Lookup Simulator

ROUTING TABLE
ROUTING TABLE
DESTINATION NEXT HOP / EXIT
192.168.10.0/24 Gi0/0
192.168.20.0/24 10.0.0.2
192.168.0.0/16 10.0.0.3
0.0.0.0/0 203.0.113.1
SELECT ROUTE

利用する経路を選択してください

宛先IPがどのネットワークに一致するかを確認し、 一致する中で最もPrefixが長い経路を選びましょう。

理解度チェック:ルーティングテーブルの1行を読んでみよう

S 172.16.50.0/24 [1/0] via 10.10.10.2

このルートのNext Hopはどれでしょうか?

回答を選択してください

「via」の後ろに何が表示されているか確認してみましょう。

ルーティングテーブルはトラブルシューティングでどう見る?

ネットワーク障害では、 ルーティングテーブルを見るだけでも 多くの情報を得られます。

CHECK 01 宛先Routeは存在する?

宛先ネットワークへの経路自体が ルーティングテーブルにあるか確認します。

CHECK 02 Next Hopは正しい?

意図した隣接ルーターへ パケットを渡す経路になっているか確認します。

CHECK 03 より具体的なRouteはない?

想定したデフォルトルートではなく、 より長いPrefixの経路が選択されていないか確認します。

そもそもルーティングテーブルの経路はどうやって登録される?

ここまで、 C・L・Sなどの経路を見てきました。

Connectedルートは、 インターフェース設定によって自動的に作成されます。

Staticルートは、 管理者が手動で設定します。

しかし大規模ネットワークでは、 すべての宛先ネットワークを 管理者が1つずつ手入力するのは大変です。

STATIC 管理者が手動登録 ip route …
VS
DYNAMIC Router同士で経路交換 OSPFなど
経路を管理者が手動で設定する方法と、
ルーター同士が自動的に交換する方法はどう違うのでしょうか?

この違いが、 次の記事で学習する スタティックルーティングと動的ルーティング です。

確認問題:ルーティングテーブルを読めるか確認しよう

QUESTION 01

次のルートの「S」は何を意味しますか?
S 192.168.30.0/24 via 10.0.0.2

正解:B

SはStaticを意味し、 管理者が手動で設定したスタティックルートを表します。

QUESTION 02

192.168.10.50宛てに次の3経路が一致した場合、 最も優先されるのはどれですか?

正解:C

3つとも一致しますが、 /24が最もプレフィックス長が長いため、 最長一致によって192.168.10.0/24が選択されます。

QUESTION 03

0.0.0.0/0の代表的な役割はどれですか?

正解:A

0.0.0.0/0はすべてのIPv4宛先に一致可能で、 より具体的な経路が存在しない場合の デフォルト経路として利用されます。

YOUR SCORE 0 / 3

3問に挑戦してみましょう。

まとめ

01

ルーティングテーブルには 宛先Networkと転送経路 が記録されている

02

C=Connected、L=Local、S=Static、S*=Static Default Route と読める

03

Next Hopは次に渡すRouter、 Exit Interfaceは自分の出口を表す

04

0.0.0.0/0は より具体的なRouteがない場合に利用するデフォルトルート

05

複数Routeに一致したら Longest Prefix Match(最長一致) で最も具体的な経路を選択する

NEXT LESSON

次は「スタティックルーティングと動的ルーティング」を学びましょう

ルーティングテーブルの見方と、 パケットがどのRouteを利用するのかは理解できました。

次に重要なのは、 「その経路情報を誰が、どのようにルーティングテーブルへ登録するのか」 です。

管理者が1つずつ手動で登録する スタティックルーティングと、 ルーター同士が経路情報を交換する 動的ルーティングでは、 運用方法や適したネットワーク規模が大きく異なります。

スタティックルーティングと動的ルーティング
NETWORK INTERMEDIATE

ネットワーク中級講座の一覧へ戻る

学習順を確認したい場合は、 ネットワーク中級講座の一覧ページへ戻れます。

← ネットワーク中級講座へ戻る
目次