「メールを送信したら、どうやって相手に届くの?」
「インターネット上のデータは、どうやって正しい場所に届くの?」
その答えが、ルーティングテーブルにあります。
ルーティングテーブルは、ネットワーク機器が持つ「道案内マップ」のようなもの。「このデータはどの道を通って送ればいいか」という情報が書かれた表です。
この記事では、ルーティングテーブルについて、初心者の方にも分かるように丁寧に解説します。
難しく感じるかもしれませんが、身近な例えを使いながら説明するので、きっと理解できますよ。
ルーティングテーブルとは?基本を理解しよう

まずは基本的な概念から見ていきましょう。
ルーティングとは
ルーティング(Routing)は、データを目的地まで届けるための「経路選択」のことです。
道路の例え:
自宅から会社に行く場合を考えてみましょう。
- 出発地:自宅
- 目的地:会社
- 経路の選択肢:
- 国道を使う
- 高速道路を使う
- 裏道を通る
どの道を選ぶかを決めるのが、「ルーティング」です。
ルーティングテーブルの定義
ルーティングテーブル(Routing Table)は、データをどの経路で送るかを記録した表です。
郵便局の仕分け表に例えると:
宛先エリア 次の配送先
東京都 → 東京中央郵便局
大阪府 → 大阪中央郵便局
福岡県 → 福岡中央郵便局
その他 → 地域統括局
これと同じように、ルーティングテーブルには以下が記録されています:
宛先ネットワーク 次に送るルーター(ゲートウェイ)
192.168.1.0/24 → 192.168.0.1
10.0.0.0/8 → 192.168.0.2
0.0.0.0/0 → 192.168.0.254(デフォルト)
どこにルーティングテーブルがある?
ルーティングテーブルは、以下の機器に存在します:
ルーター:
ネットワーク間でデータを転送する専用機器。最も重要なルーティングテーブルを持っています。
PC・スマートフォン:
実は、あなたのPCやスマホにもルーティングテーブルがあります。
サーバー:
Webサーバーやメールサーバーなど、すべてのネットワーク機器に存在します。
スイッチ(レイヤー3スイッチ):
高機能なスイッチは、ルーティング機能を持っています。
ルーティングテーブルの役割
役割1:経路の決定
データの宛先を見て、どのネットワークインターフェース(出口)から送り出すか決定します。
役割2:次のホップの指定
直接届けられない場合、次に経由すべきルーターを指定します。
役割3:トラフィックの最適化
複数の経路がある場合、最適な経路を選択します。
役割4:ネットワークの分離
異なるネットワーク間の通信を制御します。
ルーティングテーブルの構成要素
ルーティングテーブルには、いくつかの重要な項目があります。
基本的な項目
典型的なルーティングテーブルの例:
宛先ネットワーク サブネットマスク ゲートウェイ インターフェース メトリック
192.168.1.0 255.255.255.0 192.168.0.1 eth0 10
10.0.0.0 255.0.0.0 192.168.0.2 eth0 20
0.0.0.0 0.0.0.0 192.168.0.254 eth0 1
1. 宛先ネットワーク(Destination)
データを送りたい先のネットワークアドレスです。
例:
192.168.1.0:特定のネットワーク0.0.0.0:デフォルトルート(すべての宛先)
2. サブネットマスク / プレフィックス長(Netmask / Prefix)
宛先ネットワークの範囲を示します。
表記方法:
- サブネットマスク形式:
255.255.255.0 - CIDR形式:
/24
例:
192.168.1.0/24:192.168.1.0〜192.168.1.255の範囲
3. ゲートウェイ / ネクストホップ(Gateway / Next Hop)
データを次に送る先のIPアドレスです。
種類:
- 特定のIPアドレス:
192.168.0.1(次のルーター) - 直接接続:
0.0.0.0または*(同じネットワーク内) - 自分自身:ローカルで処理
4. インターフェース(Interface)
どのネットワークカード(出口)から送り出すかを示します。
例:
- Windows:
Ethernet、Wi-Fi - Linux:
eth0、wlan0、ens33 - Mac:
en0、en1
5. メトリック / コスト(Metric / Cost)
その経路の「優先度」や「コスト」を示す数値です。
特徴:
- 数値が小さいほど優先される
- 複数の経路がある場合、最小のメトリックを持つ経路が選ばれる
- 手動設定または自動計算
例:
宛先: 10.0.0.0/8
経路A: ゲートウェイ 192.168.0.1, メトリック 10
経路B: ゲートウェイ 192.168.0.2, メトリック 20
→ 経路A が選ばれる(メトリックが小さい)
6. プロトコル / ソース(Protocol / Source)
どのようにしてこの経路情報を得たかを示します。
種類:
- 直接接続(Connected / Direct):物理的に接続されているネットワーク
- 静的(Static):管理者が手動で設定
- 動的(Dynamic):ルーティングプロトコルが自動設定
- RIP、OSPF、BGPなど
ルーティングテーブルの見方
実際のルーティングテーブルを読み解いてみましょう。
Windowsのルーティングテーブル
コマンドプロンプトで以下を実行:
route print
出力例:
アクティブ ルート:
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 35
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
192.168.1.0 255.255.255.0 On-link 192.168.1.100 291
192.168.1.100 255.255.255.255 On-link 192.168.1.100 291
192.168.1.255 255.255.255.255 On-link 192.168.1.100 291
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
読み方:
1行目:
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 35
- 宛先:
0.0.0.0/0(すべての宛先) - ゲートウェイ:
192.168.1.1(家庭用ルーター) - 意味:「どこにも該当しない宛先は、192.168.1.1に送る」
これがデフォルトゲートウェイです。
3行目:
192.168.1.0 255.255.255.0 On-link 192.168.1.100 291
- 宛先:
192.168.1.0/24(同じネットワーク) - ゲートウェイ:
On-link(直接接続) - 意味:「192.168.1.xへは、ルーターを経由せず直接送る」
Linuxのルーティングテーブル
routeコマンド(従来の方法)
route -n
出力例:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
Flags(フラグ)の意味:
- U(Up):経路が有効
- G(Gateway):ゲートウェイ経由
- H(Host):特定のホスト向け
- D(Dynamic):動的に追加された
- M(Modified):リダイレクトで変更された
ipコマンド(推奨)
ip route show
出力例:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
読み方:
1行目:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
- default:デフォルトルート(0.0.0.0/0)
- via 192.168.1.1:ゲートウェイ
- dev eth0:インターフェース
- proto dhcp:DHCPで取得
- metric 100:優先度
macOSのルーティングテーブル
netstat -rn
出力例:
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.1.1 UGSc en0
127.0.0.1 127.0.0.1 UH lo0
192.168.1.0/24 link#4 UCS en0
192.168.1.100/32 link#4 UCS en0
基本的な読み方は、LinuxやWindowsと同様です。
デフォルトゲートウェイとデフォルトルート
ルーティングテーブルで最も重要な概念です。
デフォルトルートとは
デフォルトルート(Default Route)は、「どの経路にも該当しない宛先」を処理する、最後の砦です。
表記:
0.0.0.0/0(すべてのIPアドレス)default
例え:
郵便の仕分けで「その他すべて」に該当する行き先。
東京都 → 東京局
大阪府 → 大阪局
その他 → 中央局(デフォルト)
デフォルトゲートウェイとは
デフォルトゲートウェイ(Default Gateway)は、デフォルトルートで指定されたゲートウェイのことです。
通常は、家庭用ルーターや会社のルーターのIPアドレスです。
家庭のネットワークの例:
あなたのPC: 192.168.1.100
ルーター(デフォルトゲートウェイ): 192.168.1.1
インターネット上のWebサイト(例:142.250.207.46)にアクセスしたい場合:
- ルーティングテーブルを確認
142.250.207.46に該当する経路がない- デフォルトルートに該当
192.168.1.1(ルーター)に送る- ルーターがインターネットへ転送
デフォルトルートがないと?
デフォルトルートが設定されていないと、知らないネットワークへは一切通信できません。
症状:
- インターネットに接続できない
- 他のネットワークに届かない
- 「ネットワークに到達できません」エラー
スタティックルーティングとダイナミックルーティング

ルーティングテーブルを作成する方法は2つあります。
スタティックルーティング(静的ルーティング)
スタティックルーティングは、管理者が手動で経路を設定する方法です。
メリット
- シンプル:設定が分かりやすい
- 軽量:CPUやメモリをほとんど使わない
- 予測可能:経路が固定されている
- セキュア:不要な情報が流れない
デメリット
- 手間がかかる:すべて手動設定
- 柔軟性がない:障害時に自動で迂回できない
- スケールしない:大規模ネットワークでは非現実的
- 変更に弱い:ネットワーク構成変更のたびに全ルーターを再設定
適用例
- 小規模ネットワーク
- 拠点間接続(固定経路)
- デフォルトルートの設定
ダイナミックルーティング(動的ルーティング)
ダイナミックルーティングは、ルーティングプロトコルを使って自動的に経路を学習・更新する方法です。
メリット
- 自動化:手動設定不要
- 柔軟性:障害時に自動で迂回
- スケーラブル:大規模ネットワークに対応
- 最適化:最適な経路を自動選択
デメリット
- 複雑:設定と理解が難しい
- リソース消費:CPUとメモリを使用
- 帯域幅:ルーティング情報の交換にネットワーク帯域を使用
- セキュリティ:不正な経路情報が混入するリスク
主要なルーティングプロトコル
RIP(Routing Information Protocol):
- 最も古く、シンプル
- 小規模ネットワーク向け
- メトリックはホップ数(最大15ホップ)
OSPF(Open Shortest Path First):
- 中〜大規模ネットワーク向け
- 高速な収束
- リンクステート型
BGP(Border Gateway Protocol):
- インターネットの骨格で使用
- AS(自律システム)間のルーティング
- 非常に大規模
EIGRP(Enhanced Interior Gateway Routing Protocol):
- Cisco独自(一部オープン化)
- 高速で効率的
- ハイブリッド型
どちらを使うべき?
スタティックルーティングが適している:
- 拠点が3〜5箇所以下
- ネットワーク構成がシンプル
- 変更が少ない
- デフォルトルートのみ必要
ダイナミックルーティングが適している:
- 拠点が多数ある
- ネットワーク構成が複雑
- 冗長化が必要(障害時の自動切り替え)
- ISP(インターネットプロバイダー)
ハイブリッド構成
実際には、両方を組み合わせることが多いです。
例:
- 主要な経路はダイナミックルーティング(OSPF)
- エンドユーザーのPCはスタティック(デフォルトゲートウェイのみ)
- インターネットへの出口はスタティック
ルーティングテーブルの確認方法
各OSでの確認方法を詳しく見ていきます。
Windows
GUIで確認
- コマンドプロンプトを開く
route printを実行
PowerShellで確認
Get-NetRoute
より読みやすい形式:
Get-NetRoute | Format-Table -AutoSize
特定のインターフェースのみ:
Get-NetRoute -InterfaceAlias "Ethernet"
Linux
routeコマンド(従来)
# 基本表示
route -n
# 詳細表示
route -nee
-nオプションは、ホスト名を解決せず、IPアドレスのまま表示します(高速)。
ipコマンド(推奨)
# ルーティングテーブル表示
ip route show
# または短縮形
ip r
# 特定のインターフェースのみ
ip route show dev eth0
# 特定の宛先への経路を確認
ip route get 8.8.8.8
出力例の詳細解説:
$ ip route get 8.8.8.8
8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.100 uid 1000
cache
- via 192.168.1.1:ゲートウェイ経由
- dev eth0:eth0インターフェースから送出
- src 192.168.1.100:送信元IPアドレス
macOS
netstatコマンド
# 基本表示
netstat -rn
# IPv4のみ
netstat -rn -f inet
# IPv6のみ
netstat -rn -f inet6
routeコマンド
# ルーティングテーブル表示
route -n get default
特定の宛先への経路確認:
route -n get 8.8.8.8
ルーティングテーブルの設定・編集
経路を手動で追加・削除する方法です。
注意:管理者権限が必要です。
Windowsでの設定
一時的な追加(再起動で消える)
route add 10.0.0.0 mask 255.0.0.0 192.168.1.1
構文:
route add [宛先ネットワーク] mask [サブネットマスク] [ゲートウェイ]
恒久的な追加(再起動後も残る)
route add 10.0.0.0 mask 255.0.0.0 192.168.1.1 -p
-pオプションで永続化されます。
経路の削除
route delete 10.0.0.0
メトリックの指定
route add 10.0.0.0 mask 255.0.0.0 192.168.1.1 metric 10
デフォルトゲートウェイの変更
route add 0.0.0.0 mask 0.0.0.0 192.168.1.254
Linuxでの設定
一時的な追加(再起動で消える)
ipコマンド(推奨):
# 経路の追加
sudo ip route add 10.0.0.0/8 via 192.168.1.1
# デフォルトルートの追加
sudo ip route add default via 192.168.1.1
# メトリック指定
sudo ip route add 10.0.0.0/8 via 192.168.1.1 metric 100
routeコマンド(従来):
sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1
経路の削除
# ipコマンド
sudo ip route del 10.0.0.0/8
# routeコマンド
sudo route del -net 10.0.0.0 netmask 255.0.0.0
恒久的な設定
Ubuntu/Debian(Netplan使用):
/etc/netplan/01-netcfg.yamlを編集:
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
routes:
- to: 10.0.0.0/8
via: 192.168.1.1
metric: 100
設定を適用:
sudo netplan apply
CentOS/RHEL(従来のネットワークスクリプト):
/etc/sysconfig/network-scripts/route-eth0を作成:
10.0.0.0/8 via 192.168.1.1
macOSでの設定
一時的な追加
sudo route add 10.0.0.0/8 192.168.1.1
経路の削除
sudo route delete 10.0.0.0/8
恒久的な設定
macOSでは、ネットワーク設定画面から設定するのが一般的です。
または、起動スクリプトに追加:
/Library/LaunchDaemons/com.example.routing.plist
ルーティングの優先順序

複数の経路が該当する場合、どれが選ばれるのでしょうか?
最長プレフィックスマッチ
最長プレフィックスマッチ(Longest Prefix Match)という原則に従います。
「より具体的な(範囲が狭い)経路を優先する」ということ。
例:
宛先:192.168.1.50
ルーティングテーブル:
A: 0.0.0.0/0 via 192.168.0.1 (すべて)
B: 192.168.0.0/16 via 192.168.0.2 (192.168.x.x)
C: 192.168.1.0/24 via 192.168.0.3 (192.168.1.x)
D: 192.168.1.50/32 via 192.168.0.4 (192.168.1.50のみ)
選択される経路:
- Dが最も具体的(/32 = 1個のIP)→ 最優先
- なければC(/24 = 256個のIP)
- なければB(/16 = 65,536個のIP)
- なければA(/0 = すべて)→ デフォルトルート
メトリックによる選択
同じ宛先への経路が複数ある場合、メトリックが小さい方が優先されます。
例:
10.0.0.0/8 via 192.168.1.1 metric 10
10.0.0.0/8 via 192.168.1.2 metric 20
メトリック10の経路が選ばれます。
アドミニストレーティブディスタンス
ルーティングプロトコルごとに「信頼度」があります。
Cisco ルーターの例:
| プロトコル | AD値 | 信頼度 |
|---|---|---|
| 直接接続 | 0 | 最高 |
| スタティックルート | 1 | 非常に高い |
| EIGRP | 90 | 高い |
| OSPF | 110 | やや高い |
| RIP | 120 | 低い |
AD値が小さいほど信頼される経路です。
ルーティングのトラブルシューティング
ルーティングに問題がある場合の診断方法です。
症状1:インターネットに接続できない
確認手順
ステップ1:デフォルトゲートウェイの確認
# Windows
route print | findstr "0.0.0.0"
# Linux
ip route | grep default
# Mac
netstat -rn | grep default
デフォルトルートがない、または間違っている場合は修正します。
ステップ2:ゲートウェイへの到達性確認
ping 192.168.1.1 # ゲートウェイのIPアドレス
失敗する場合、ケーブル接続やネットワーク設定を確認。
ステップ3:DNSの確認
ping 8.8.8.8 # IPアドレスで直接
ping google.com # ドメイン名で
IPアドレスは通るがドメイン名で失敗する場合、DNS設定の問題。
症状2:特定のネットワークに到達できない
tracerouteで経路追跡
Windows:
tracert 10.0.0.1
Linux/Mac:
traceroute 10.0.0.1
読み方:
1 192.168.1.1 1ms
2 10.0.0.254 5ms
3 10.0.0.1 10ms
各行が経由したルーターを示します。途中で止まる場合、そこに問題があります。
症状3:通信が遅い、不安定
MTRで継続的な追跡
Linux/Mac:
mtr 8.8.8.8
パケットロスやレイテンシ(遅延)を継続的に監視できます。
症状4:一部のサービスだけ繋がらない
ポート単位の確認
telnet example.com 80
nc -zv example.com 443
特定のポートが開いているか確認します。
ルーティングではなく、ファイアウォールの問題かもしれません。
デバッグのコツ
1. 近いところから確認
自分 → ゲートウェイ → インターネット
の順に確認していきます。
2. レイヤーごとに切り分け
- レイヤー1(物理):ケーブルは接続されているか?
- レイヤー2(データリンク):MACアドレスは正しいか?
- レイヤー3(ネットワーク):IPアドレス、ルーティングは正しいか?
- レイヤー4以上(トランスポート〜アプリケーション):ポート、プロトコルは正しいか?
3. ログを確認
# Linux
sudo tail -f /var/log/syslog
dmesg | grep -i network
# Windows
イベントビューアー → Windowsログ → システム
実践例:家庭のネットワーク
具体的な例で理解を深めましょう。
一般的な家庭のネットワーク構成
インターネット
|
[ルーター] 192.168.1.1
|
+-+-+-+-+
| | |
PC1 PC2 スマホ
PC1のルーティングテーブル:
宛先 ゲートウェイ インターフェース
0.0.0.0/0 192.168.1.1 Wi-Fi
192.168.1.0/24 直接接続 Wi-Fi
動作:
- PC1が
google.com(142.250.207.46)にアクセスしたい - ルーティングテーブルを確認
192.168.1.0/24には該当しない- デフォルトルート(
0.0.0.0/0)に該当 - ゲートウェイ
192.168.1.1(ルーター)に送信 - ルーターがインターネットに転送
複数ネットワークの例
少し複雑な例:
インターネット
|
[ルーター1] 192.168.1.1
|
192.168.1.0/24
|
[ルーター2] 192.168.1.100 / 10.0.0.1
|
10.0.0.0/24
|
サーバー 10.0.0.10
PC(192.168.1.50)のルーティングテーブル:
宛先 ゲートウェイ インターフェース
0.0.0.0/0 192.168.1.1 eth0 (デフォルト)
10.0.0.0/24 192.168.1.100 eth0 (内部サーバー用)
192.168.1.0/24 直接接続 eth0
動作:
10.0.0.10へのアクセス →192.168.1.100(ルーター2)経由google.comへのアクセス →192.168.1.1(ルーター1)経由192.168.1.xへのアクセス → 直接通信
よくある質問(Q&A)
ルーティングテーブルについて、よくある質問にお答えします。
Q1:ルーティングテーブルは誰が作る?
A:状況によります。
- PC・スマホ:DHCP自動設定またはOS
- 家庭用ルーター:初期設定+自動学習
- 企業ルーター:管理者が手動設定またはルーティングプロトコル
Q2:ルーティングテーブルを間違えたらどうなる?
A:通信できなくなります。
最悪の場合、ネットワーク全体が使えなくなることも。
ただし、PCのルーティングテーブルなら、再起動すれば元に戻ることが多いです。
Q3:デフォルトゲートウェイは複数設定できる?
A:技術的には可能ですが、メトリックで優先順位が決まります。
通常は1つだけ設定し、冗長化が必要な場合はVRRPなどの専用プロトコルを使います。
Q4:ルーティングループとは?
A:データがぐるぐる回り続ける状態です。
例:
ルーターA: 10.0.0.0/8 → ルーターBへ
ルーターB: 10.0.0.0/8 → ルーターAへ
パケットがAとBの間を永遠に行き来します。
対策:TTL(Time To Live)があるので、一定ホップ数で破棄されます。
Q5:VPNを使うとルーティングテーブルはどうなる?
A:VPN用の経路が追加されます。
10.0.0.0/8 via VPNゲートウェイ tun0(VPNインターフェース)
VPN接続中は、特定の宛先がVPN経由になります。
Q6:IPv6のルーティングテーブルは別?
A:はい、IPv4とIPv6は別々のルーティングテーブルを持ちます。
# Linux
ip -6 route show
# Windows
route print -6
Q7:スマホにもルーティングテーブルはある?
A:はい、あります。
ただし、通常はOSが自動管理するため、ユーザーが見ることはほとんどありません。
Android(root権限)やiOS(ジェイルブレイク)なら確認できます。
まとめ:ルーティングテーブルはネットワークの地図
ルーティングテーブルについて、理解できましたか?
この記事の重要ポイント:
- ルーティングテーブルはデータの「道案内マップ」
- 宛先、ゲートウェイ、インターフェース、メトリックが主要項目
- デフォルトルートが「最後の砦」として重要
- スタティックとダイナミックの2種類の設定方法
- 最長プレフィックスマッチで経路を選択
- Windows、Linux、Macでそれぞれ確認・設定方法が異なる
- traceroute/tracertで経路を追跡できる
- トラブル時は近いところから順に確認
ルーティングテーブルは、ネットワークの基礎中の基礎です。
最初は複雑に感じるかもしれませんが、一度理解すれば、ネットワークトラブルの解決が格段に楽になります。
この記事を参考に、自分のPCのルーティングテーブルを確認してみてください。
きっと、ネットワークへの理解が深まるはずですよ!


コメント