ルーティング

ルーティングテーブル るーてぃんぐてーぶる

ルーティングテーブル経路表ロンゲストマッチデフォルトルートnexthop
ルーティングテーブルについて教えて

簡単に言うとこんな感じ!

ルーターが持つ「目的地→次に向かう方向」の地図だよ。「192.168.1.0/24 に行くには左のインターフェースへ」という情報が詰まってて、パケットが届いたらこの表を見て転送先を決めるんだ!


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

ルーティングテーブル(経路表)は、ルーターがパケットの転送先を決定するためのネットワーク経路情報の一覧です。各エントリは「宛先ネットワーク(プレフィックス)」「ネクストホップ(次の転送先IPアドレスまたはインターフェース)」「メトリック(経路の優先度)」などで構成されます。

パケットが到着すると、ルーターはルーティングテーブルを参照して宛先IPアドレスに最も適合するエントリを選び転送します。この「最も長い(具体的な)プレフィックスを優先する」原則をロンゲストマッチ(Longest Prefix Match)と呼びます。

ルーティングテーブルは、管理者が手動設定するスタティックルートと、ルーティングプロトコル(OSPFBGP等)が自動的に学習するダイナミックルートの両方で構成されます。


ルーティングテーブルの主要フィールド

フィールド内容
宛先ネットワークパケットの宛先IPに対応するネットワーク(CIDR表記)
ネクストホップ次に転送する先のIPアドレスまたはインターフェース
メトリック経路のコスト(小さいほど優先)
プロトコルどのルーティングプロトコルが学習したか(C:直接接続, S:静的, O:OSPF, B:BGP等)
AD(Administrative Distance)プロトコルの信頼度(小さいほど信頼)

歴史と背景

  • 1981年:IPv4のルーティング概念が RFC 791で定義
  • 1993年:CIDRによりクラスレスルーティングが普及し、ロンゲストマッチが標準化
  • 現在:インターネットの全BGPルート数は90万超(2024年時点)。DFZ(Default-Free Zone)のルーターは膨大なルーティングテーブルを保持

ロンゲストマッチの動作例

ロンゲストマッチ(最長一致)の例 宛先パケット: 192.168.1.50 エントリ①: 0.0.0.0/0 → インターフェースA(デフォルトルート)← マッチするが不具体 エントリ②: 192.168.0.0/16 → インターフェースB ← マッチするが不具体 エントリ③: 192.168.1.0/24 → インターフェースC ← 最長一致!→ 採用 プレフィックス長が最も長い(最も具体的な)エントリ③が選ばれる

デフォルトルート

0.0.0.0/0(IPv6では::/0)はデフォルトルートと呼ばれ、他のどのエントリにもマッチしないパケットの転送先です。家庭のルーターでは「ISPへの接続」がデフォルトルートに設定されています。


Linuxでのルーティングテーブル確認

# ルーティングテーブルの表示
ip route show

# または(古いコマンド)
route -n
netstat -rn

関連する規格・RFC

規格・RFC番号内容
RFC 1812IPv4ルーターの要件(ルーティングテーブルを含む)
RFC 4632CIDR(ロンゲストマッチの基盤)

関連用語