ICMP
IPの通信で起きたエラーの通知や、通信の確認に使うプロトコル。pingやtracerouteはICMPを利用している。
イマシルちゃんの解説
荷物が届かなかったとき、郵便局から「宛先不明で戻ってきました」ってお知らせが来ることがあるよね。
ネットワークでも、パケットが届けられなかったときに「届きませんでした」って知らせる仕組みがあるんだ。
それがICMP!
「相手は元気?」って確かめるpingも、実はICMPのメッセージを使ってるんだよ。
より深い解説
定義
ICMP(Internet Control Message Protocol)は、RFC 792で定められた、IPの制御用のプロトコルである。IPの配送で起きた問題(宛先に届かない、寿命が尽きた、など)を送信元に知らせたり、相手との疎通を確認したりするのに使う。
IPの上に載るが、トランスポート層ではない
ICMPのメッセージは、IPパケットのデータ部分に入れて運ばれる。受け取った側がデータ部分をICMPだと判別できるのは、IPヘッダーのプロトコル番号が1になっているからである。
ただし、ICMPはTCPやUDPのようにアプリケーションのデータを運ぶものではなく、IPの働きを補う「ネットワーク層の一部」として扱われる。そのため、ICMPにはポート番号がない。
主なメッセージ
| タイプ | 名前 | 使われる場面 |
|---|---|---|
| 8 | エコー要求(Echo Request) | pingが送る |
| 0 | エコー応答(Echo Reply) | pingへの返事 |
| 3 | 宛先到達不能(Destination Unreachable) | 宛先のネットワークやホスト、ポートに届けられない |
| 5 | リダイレクト(Redirect) | もっとよい経路のルータを教える |
| 11 | 時間超過(Time Exceeded) | TTLが0になってパケットが捨てられた |
宛先到達不能のうち、コード4(フラグメントが必要だが、DFビットが立っていて分割できない)は、経路上の最小のMTUを調べるパスMTU探索に使われる。
pingとtraceroute
- ping:エコー要求を送り、エコー応答が返ってくるかで疎通と往復時間を確かめる
- traceroute:TTLを1、2、3…と増やしながらパケットを送る。各ルータでTTLが0になると時間超過のメッセージが返るので、その送信元を並べると経路がわかる
セキュリティ上の注意
- ICMPフラッド:大量のエコー要求を送りつけて、相手の回線や処理能力を使い切らせる
- Smurf攻撃:送信元を標的のIPアドレスに偽ったエコー要求を、ネットワークのブロードキャストアドレス宛てに送る。多数の機器からの応答が標的に集中する
このため、外部からのICMPをファイアウォールで制限することが多い。ただし、宛先到達不能まで止めると、パスMTU探索が働かなくなり、大きなパケットだけが届かない障害につながるので注意が必要である。
IPv6では、ICMPv6が近隣探索などIPv6の基本的な仕組みも担うため、IPv4以上に、むやみに遮断してはいけない。
メッセージと場面の対応
どの問題が起きたときに、どのメッセージが返るのかは、取り違えやすい。
| 場面 | 返るメッセージ |
|---|---|
| ルータが、受け取ったパケットの送信元に、同じネットワークのもっと適したルータを知らせ、経路の変更を求める | Redirect(タイプ5) |
| 送信元が指定したソースルーティング(経由するルータの指定)が失敗した | Destination Unreachable(タイプ3、コード5) |
| フラグメントの再組立て中にタイムアウトした | Time Exceeded(タイプ11、コード1)。TTLが0になったときはコード0 |
| IPヘッダーの値に誤りがあり、処理できない | Parameter Problem(タイプ12) |
| 受信側のバッファがあふれそう(送信の抑制を求める) | Source Quench(タイプ4)。現在は廃止されている |
Redirectは、ホストのデフォルトゲートウェイとは別のルータを通るほうが近い場合に、ルータが送る。ホストはこれを受けて、その宛先への経路を書き換える。ただし、偽のRedirectで通信を横取りされるおそれがあるため、Redirectを受け付けない設定にすることも多い。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問7
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅰ 問1
- ネットワークスペシャリスト 令和4年度 春期 午前Ⅱ 問6
- ネットワークスペシャリスト 令和4年度 春期 午前Ⅱ 問19
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問19
- ネットワークスペシャリスト 平成30年度 秋期 午前Ⅱ 問8
- ネットワークスペシャリスト 平成30年度 秋期 午前Ⅱ 問16