1.

ルーティングの基礎とは|ルーティングテーブル・ネクストホップ・メトリック・ロンゲストマッチを図解

編集
この記事の要点
  • ルーティングとは、IP パケットを宛先ネットワークへ届けるために最適な経路(出口)を選ぶ L3 の処理。
  • ルータは「ルーティングテーブル」を参照し、宛先 IP がどのネットワークに属するかを判定して転送する。
  • テーブルの各行は「宛先ネットワーク / ネクストホップ / 出力インタフェース / メトリック」で構成される。
  • 宛先が複数のエントリに一致する場合は、プレフィックス長が最も長い経路を選ぶ「ロンゲストマッチ」が原則。
  • メトリックは経路の良し悪しを表す数値で、同じプレフィックス長なら値が小さい経路が優先される。
  • ルータはブロードキャストドメインを分け、異なるネットワーク間を相互接続する装置である。

概要

ルーティングとは、IP パケットを宛先のネットワークまで届けるために、「どの方向(どの出口)へ転送すればよいか」を選ぶ処理のことです。OSI 参照モデルではネットワーク層(レイヤ 3)の機能にあたり、この役割を担う装置がルータです。手元の端末から遠く離れたサーバへ通信が届くのは、途中にある複数のルータが「次はこちらへ送ればよい」とパケットをバケツリレーのように中継しているからです。

各ルータは自分が知っている経路情報をルーティングテーブル(経路表)として保持しています。パケットを受け取るたびに宛先 IP アドレスをこの表と照合し、最適な転送先を決めます。インターネット全体は、無数のルータがそれぞれのテーブルに従って局所的な判断を繰り返すことで成り立っている、巨大な分散システムだと言えます。

仕組み

ルーティングテーブルの 1 行(エントリ)は、おおむね次の要素で構成されます。

  • 宛先ネットワーク — どのネットワーク宛てのパケットに適用するか。192.168.10.0/24 のようにプレフィックス長付きで表します。
  • ネクストホップ — そのネットワークへ向かうために次に渡す相手ルータの IP アドレス。直接つながっている場合は「直接接続(directly connected)」となります。
  • 出力インタフェース — パケットを送り出す自分側のポート。
  • メトリック — 経路のコスト(良し悪し)を示す数値。同じ宛先への経路が複数あるとき、より小さい値が選ばれます。

ルータがパケットを受け取ると、宛先 IP がどのエントリの宛先ネットワークに含まれるかを調べます。複数のエントリに一致した場合は、ロンゲストマッチ(最長プレフィックス一致)の原則に従い、最も具体的な(プレフィックス長が長い)経路を選びます。たとえば 10.1.2.5 宛てのパケットに対して 10.0.0.0/810.1.2.0/24 の両方が一致するなら、より長い /24 の経路が採用されます。

宛先 10.1.2.5 へのパケット

ルーティングテーブル
宛先ネットワーク     ネクストホップ    メトリック   一致?
0.0.0.0/0           203.0.113.1       1           〇 (/0)
10.0.0.0/8          172.16.0.1        5           〇 (/8)
10.1.2.0/24         172.16.0.9        2           〇 (/24) ← 最長一致で採用

設定・実用例

Linux でルーティングテーブルを確認するには ip route コマンドを使います。各端末も「自分が直接通信できる範囲」と「それ以外はどこへ渡すか」という小さなルーティングテーブルを持っています。

# Linux: ルーティングテーブルの表示
$ ip route
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.20

# 特定の宛先がどの経路で送られるかを確認
$ ip route get 8.8.8.8
8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.20

# Cisco IOS: ルーティングテーブルの表示
Router# show ip route
C    192.168.1.0/24 is directly connected, GigabitEthernet0/0
S*   0.0.0.0/0 [1/0] via 192.168.1.1

上の例で default(= 0.0.0.0/0)は「テーブルに該当がない宛先はすべてここへ送る」というデフォルト経路です。192.168.1.0/24 は直接接続されたネットワークで、同一セグメント内の端末へはルータを介さず直接届きます。

主な用途

  • ネットワーク間の相互接続 — 社内 LAN とインターネット、拠点間 VPN など、異なるネットワークをつなぐすべての通信でルーティングが使われます。
  • 経路の最適化 — 複数の経路があるとき、メトリックに基づいて最短・最良の経路を選びます。
  • 冗長化とフェイルオーバー — 主経路が落ちたら代替経路へ自動的に切り替え、通信を継続します。
  • トラフィック制御 — 宛先ごとに通る道を分け、帯域や用途に応じた経路設計を行います。

関連技術との比較

項目ルーティング(L3)スイッチング(L2)ブリッジング(L2)
動作レイヤネットワーク層データリンク層データリンク層
判断に使う情報宛先 IP アドレス宛先 MAC アドレス宛先 MAC アドレス
参照する表ルーティングテーブルMAC アドレステーブル転送テーブル
ネットワークをまたぐできる同一ネットワーク内のみ同一ネットワーク内のみ
ブロードキャスト分割(通さない)同一 VLAN 内に転送転送する

注意点・落とし穴

  • 経路の不整合(ブラックホール) — 行きと帰りの経路設定が食い違うと、パケットが届いても応答が返らず通信が片方向で失敗します。
  • ルーティングループ — 設定ミスや動的プロトコルの収束途中で、パケットが同じルータ間を行き来し続けることがあります。TTL の減算でいずれ破棄されますが、通信は失敗します。
  • デフォルト経路の欠落 — 直接接続以外の宛先へ送れず、インターネットに到達できなくなります。
  • メトリックの単位はプロトコルごとに異なる — ホップ数・帯域・遅延など基準が違うため、異なるプロトコル間で単純に値を比較してはいけません。

関連リンク

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. ルーティングの基礎
  2. デフォルトゲートウェイ
  3. 静的ルーティング
  4. 動的ルーティング(RIP/OSPF/BGP)
  5. VLAN
  6. スパニングツリープロトコル(STP)

最近更新/作成されたページ