ICMP et messages de contrôle
Définition
ICMP (Internet Control Message Protocol) est un protocole de couche 3 qui transporte des messages de contrôle et d'erreur entre les équipements IP. Il ne transporte pas de données applicatives mais signale les problèmes de livraison des paquets et permet le diagnostic réseau (ping, traceroute).
Contexte
La certification CCST couvre ICMP car c'est la base des outils de diagnostic réseau les plus utilisés. Comprendre les types de messages ICMP est essentiel pour interpréter les résultats de ping et traceroute et diagnostiquer les problèmes de connectivité.
Détails techniques
Messages ICMP les plus courants
| Type | Code | Nom | Description |
|---|---|---|---|
| 0 | 0 | Echo Reply | Réponse à un ping |
| 3 | 0 | Destination Unreachable — Network | Réseau inaccessible |
| 3 | 1 | Destination Unreachable — Host | Hôte inaccessible |
| 3 | 3 | Destination Unreachable — Port | Port inaccessible (UDP) |
| 3 | 13 | Destination Unreachable — Filtered | Communication filtrée (pare-feu) |
| 5 | 0 | Redirect | Indique un meilleur chemin au sender |
| 8 | 0 | Echo Request | Requête ping |
| 11 | 0 | Time Exceeded | TTL expiré (utilisé par traceroute) |
Ping (Echo Request / Echo Reply)
PC> ping 192.168.1.1
Envoi d'une requête 'Ping' 192.168.1.1 avec 32 octets de données :
Réponse de 192.168.1.1 : octets=32 temps=2 ms TTL=64
Réponse de 192.168.1.1 : octets=32 temps=1 ms TTL=64
| Résultat | Signification |
|---|---|
| Réponse avec TTL | Connectivité OK |
| Request timed out | Pas de réponse (hôte down, filtré, route manquante) |
| Destination host unreachable | Le routeur ne connaît pas de route vers la destination |
| TTL expired in transit | Boucle de routage probable |
Traceroute (TTL + Time Exceeded)
Traceroute exploite le mécanisme du TTL :
- Envoie un paquet avec TTL = 1 → le premier routeur décrémente à 0, répond avec Time Exceeded
- Envoie un paquet avec TTL = 2 → le deuxième routeur répond
- Répète jusqu'à atteindre la destination (qui répond avec Echo Reply ou Port Unreachable)
PC> tracert 8.8.8.8
1 2 ms 192.168.1.1
2 5 ms 10.0.0.1
3 12 ms 8.8.8.8
ICMPv6
IPv6 utilise ICMPv6 (protocole 58) qui étend ICMP avec des fonctions supplémentaires :
| Fonction | Message ICMPv6 |
|---|---|
| Neighbor Discovery (remplace ARP) | NS / NA (Neighbor Solicitation/Advertisement) |
| Router Discovery | RS / RA (Router Solicitation/Advertisement) |
| Détection d'adresse dupliquée (DAD) | NS vers sa propre adresse |
Exemple concret
Un utilisateur signale qu'il ne peut pas accéder à un serveur. Le technicien lance ping 10.5.1.100 et obtient « Destination host unreachable » provenant du routeur 10.5.1.1. Cela indique que le routeur connaît le réseau 10.5.1.0 mais ne peut pas joindre l'hôte .100 (peut-être éteint ou sur un mauvais VLAN). Un tracert confirme que le dernier saut est le routeur 10.5.1.1.