Internet Control Message Protocol (ICMP) は、TCP/IP プロトコルスイートの基本的な部分です。これは、システム間でデータを交換するためではなく、エラーを報告したり、運用情報を提供したりするために使用されます。Linux ネットワーク管理をlearn linuxしようとする人にとって、ICMP を理解することは、パケット配信の失敗などのネットワーク問題のデバッグに不可欠です。
ICMP メッセージの構造
すべての ICMP メッセージには、タイプ、コード、チェックサムを含む標準化された構造があります。
- タイプ: このフィールドは、ICMP メッセージの一般的なカテゴリを示します。たとえば、メッセージがエラーレポートか情報クエリかを指定します。
- コード: このフィールドは、メッセージタイプに関するより具体的な情報を提供します。たとえば、タイプが「宛先到達不能」の場合、コードはその到達不能の理由を指定します。
- チェックサム: これはメッセージの整合性を検証するために使用され、送信中に破損していないことを保証します。
この構造により、ICMP は強力な診断ツールとなり、このlinux tutorialは、その実際的な応用を理解するのに役立ちます。
一般的な ICMP タイプ
多くの ICMP タイプがありますが、日常的なネットワークトラブルシューティングで特に一般的なものがいくつかあります。
- タイプ 8 - エコー要求: このメッセージは、ターゲットホストへの接続を確認するために
pingコマンドによって送信されます。 - タイプ 0 - エコー応答: ターゲットホストが到達可能であれば、エコー要求に応答してエコー応答を返し、接続を確立できることを確認します。
- タイプ 3 - 宛先到達不能: パケットが最終宛先に配信できない場合、ルーターまたはホストはこのメッセージを送信します。特定の理由を提供する 16 種類の異なるコード値があり、次のようなものがあります。
- コード 0: ネットワーク到達不能
- コード 1: ホスト到達不能
- タイプ 11 - 時間超過: このメッセージは、パケットの生存時間 (TTL) 値が宛先に到達する前にゼロになったときに生成されます。これはルーティングループで頻繁に発生し、ネットワークパスをマッピングするために
tracerouteコマンドによって使用されます。
これらのメッセージは、labex linux terminalで利用可能な一般的なネットワークトラブルシューティングツールを調べるにつれて、より馴染み深いものになるでしょう。