Ping を実行したときに表示される“Destination Unreachable(宛先到達不能)”は、単なるPing失敗ではなく、ICMP がネットワーク・ホスト・サービス到達の問題を別機器から通知している状態です。
本記事では、このエラーが返される背景・発生条件・具体的な原因ごとの切り分け・対処までを丁寧に解説します。
📌 ネットワークを体系的に学びたい方へ
OSIからDNS・ルーティングなど、学習順に整理した総合ロードマップはこちら。
▶ネットワーク学習ロードマップ完全版|初心者からCCNA・実務レベルまでの勉強手順まとめ
📌 ネットワーク障害を体系的に整理したい方へ
症状別に切り分け手順をまとめた総合トラブルガイドはこちら。
▶ ネットワークトラブルシューティング完全ガイド|症状別チェックリストと切り分け手順まとめ
目次
ICMP と Destination Unreachable の概要
ICMP(Internet Control Message Protocol)は、ネットワーク機器間でエラーや制御情報をやりとりするためのプロトコルです。Ping 自体も ICMP Echo Request / Reply を使います。 Destination Unreachable は ICMP のエラー通知であり、通信経路上で「目的地にパケットを届けられない」と判断された場合に、送信元へ返されます。
たとえば、ルータやホストが「要求されたネットワークやホストに到達できない」と判断した場合に Type 3 の ICMP を返します。
代表的な原因と発生条件
① ルーティングが存在しない
Ping 送信元の機器や途中のルータに、送信先ネットワークへのルートがない場合に返されます。 この場合、送信元に最も近いルーティング機器がICMPを返すことが多いです。
② 宛先ホストが存在しない/応答できない
送信先のホストがダウン、または ARP 応答がない場合も、途中の機器が Destination Unreachable を返します。
③ ファイアウォールやACLによる遮断
ネットワーク機器のアクセス制御やフィルタ設定によってICMPが拒否・ブロックされている場合も、Type 3 を返すことがあります。
④ 接続は到達しているがサービスポートが存在しない
到達先のホストには着いたものの、対象プロトコル/ポートが閉じている場合にも、場合によって ICMP が返されます(別コード)。
ICMP タイプ3(Destination Unreachable)のコード詳細
| コード | 意味 | 説明 |
|---|---|---|
| 0 | Network Unreachable | 宛先ネットワークがルーティングされていない |
| 1 | Host Unreachable | 宛先ホストが ARP 解決できない / 存在しない |
| 3 | Port Unreachable | 宛先には到達したがポートが閉じている |
| 4 | Fragmentation needed | フラグメントが必要だが DF 指定で分割不可 |
| 6 | Destination network unknown | 宛先ネットワークが機器のテーブルにない |
| 13 | Admin prohibited | 管理ポリシーで遮断された |
このように Destination Unreachable は単一のものではなく、コード値で詳細な理由が分かります(ただし ICMP 自体が返すかどうかは設定依存)。
トラブル時の調査手順(Ping / traceroute)
① Ping の返答を確認
ping を実行して以下のようなメッセージが出た場合:
$ ping 192.0.2.1
From 192.168.0.254 icmp_seq=1 Destination Host Unreachable
これはつまり「192.168.0.254(ゲートウェイ)が 192.0.2.1 に到達できない」と通知している状態です。
② traceroute で経路上のどこまで届いているか確認
traceroute を使うことで、どのルータまでパケットが到達し、どこで止まっているのかが分かります。 traceroute は ICMP または UDP を使い TTL を変えて経路を調査します。
traceroute 192.0.2.1
③ ルーティングテーブル確認(Linux の場合)
ip route show
ルートが正しく設定されていない場合、Destination Unreachable が返されることがあります。
FAQ
Q1. 「Destination Unreachable」と「タイムアウト」は何が違う?
Destination Unreachable は途中機器からのICMPエラー通知です。一方、タイムアウトは単に応答が返ってこない状態です。
Q2. すべてのICMPが返ってくるわけではないの?
機器設定やフィルタリングによっては、エラー通知が返らない場合もあります(Firewallで落としているなど)。
Q3. Ping が通らない=Destination Unreachable ではない場合は?
単に応答がなくタイムアウトになる場合もあります。その場合はネットワークの疎通自体が阻害されています。


