ICMP

目次

ICMPとは

  • ICMP(Internet Control Message Protocol)
    → IPの仲間で、通信エラーの通知制御メッセージ をやり取りするためのプロトコル。
  • TCP/IPネットワークで 通信状態を確認 するときに使われる。
  • OSI参照モデルでは「ネットワーク層」に位置する。

「ping(ピング)」や「traceroute(トレースルート)」でよく登場するのがICMP。

ICMPのフォーマット

ICMPメッセージは以下の4つで構成されます。

フィールド英語表記ビット数説明
タイプType8bitメッセージの種類(エコー要求、到達不能など)
コードCode8bitメッセージの詳細内容
チェックサムChecksum16bitエラー検出用
データData可変長タイプごとに異なる追加情報

💡 イメージ
「タイプ=大きなくくり」「コード=細かい理由」「データ=おまけ情報」

ICMPの2種類のメッセージ

  1. 問い合わせ(Query)系
    • 通信状態を確認するためのメッセージ。
    • 代表例:ping(Echo Request / Echo Reply)traceroute
  2. エラー通知(Error)系
    • 通信できなかったときの理由を送信元に知らせる。
    • 代表例:「宛先に到達できない」「TTL超過」など。

主なICMPメッセージ例

タイプコード内容意味種類
00Echo Replypingの応答Query
30Net Unreachable宛先ネットワークに到達できないError
31Host Unreachable宛先ホストに到達できないError
50Redirect最適な経路を通知Error
80Echo Requestpingの要求Query
110Time ExceededTTLが0になった(パケット破棄)Error

初心者向けまとめ

  • ICMP = ネットワークの郵便局からの通知表
    • 「この住所(IP)は届きません」= Destination Unreachable
    • 「配達ルートを変えてください」= Redirect
    • 「生存時間切れ(TTL超過)」= Time Exceeded
  • ping は「手紙を送って返事が来るか」を確認する仕組み。
  • traceroute は「配達経路を調べる」仕組み。

◆まとめスライド

目次