Internet control message protocol
ICMP (acronyme de Internet Control Message Protocol - Protocole de contrôle des messages sur Internet) est un protocole de niveau 3 sur le modèle OSI, qui permet le contrôle des erreurs de transmission. C'est grâce à ce protocole qu'une machine émettrice peut savoir qu'il y a eu un incident de réseau.
Une trame ICMP est composée :
- d'un en-tête
- du type d'erreur (8 bits)
- du code de l'erreur (8 bits)
- du checksum (16 bits)
- du message
Type : 3
Code : 0 à 11
Message : destinataire inaccessible
Le code dépend de la cause du problème, respectivement :
- le réseau n'est pas accessible
- la machine n'est pas accessible
- le protocole n'est pas accessible
- le port n'est pas accessible
- fragmentation nécessaire mais impossible à cause du drapeau (flag) DF
- le routage a échoué
- réseau inconnu
- machine inconnue
- machine non connectée au réseau (inutilisé)
- communication avec le réseau interdite
- communication avec la machine interdite
- réseau inaccessible pour ce service
- machine inaccessible pour ce service
- communication interdite (filtrage)
Code : 0
Message : source suench
Signification : le volume de données envoyé est trop important, le routeur envoie ce message pour prévenir qu'il sature afin de demander de réduire la vitesse de transmission
Type : 5
Code : 0 à 3
Message : redirection pour
- un hôte
- un hôte et un service
- un réseau
- un réseau et un service
Type : 8
Code : 0
Message : demande d'ECHO
Signification : demande de renvoi d'informations, avec la commande PING par exemple
Type : 11
Code : 0 ou 1
Message : temps dépassé ou temps de ré-assemblage des fragments d'un datagramme dépassé
Signification : ce message est envoyé lorsque le temps de vie d'un datagramme ou le temps de réassemblage des parties d'un datagramme est dépassé. L'en-tête du datagramme est renvoyé pour que l'utilisateur sache quel datagramme a été détruit
Type : 12
Code : 0
Message : en-tête erronné
Signification : ce message est envoyé lorsqu'un champ d'un en-tête est erronné. La position de l'erreur est retournée
Type : 13
Code : 0
Message : timestamp request
Signification : une machine demande à une autre son heure et sa date système (universelle)
Type : 14
Code : 0
Message : timestamp reply
Signification : la machine réceptrice donne son heure et sa date système afin que la machine émettrice puisse déterminer le temps de transfert des données
Type : 15
Code : 0
Message : demande d'adresse réseau
Signification : ce message permet de demander au réseau une adresse IP
Type : 16
Code : 0
Message : réponse d'adresse réseau
Signification : ce message répond au message précédent
Type : 17
Code : 0
Message : demande de masque de sous-réseau
Signification : ce message permet de demander au réseau unmasque de sous-réseau
Type : 18
Code : 0
Message : réponse de masque de sous-réseau
Signification : ce message répond au message précédent