La gestion des erreurs |
Le protocole ICMP (Internet Control Message Protocol) est un protocole qui permet de gérer les informations relatives aux erreurs aux machines connectées. Etant donné le peu de contrôles que le protocole IP réalise il permet non pas de corriger ces erreurs mais de faire part de ces erreurs aux protocoles des couches voisines. Ainsi, le protocole ICMP est utilisé par tous les routeurs, qui l'utilisent pour reporter une erreur (appelé Delivery Problem).
Les messages ICMP sont encapsulés |
Les messages d'erreur ICMP sont transportées sur le réseau sous forme de datagramme, comme n'importe quelle donnée. Ainsi, les messages d'erreur peuvent eux-mêmes être sujet d'erreurs.
Toutefois en cas d'erreur sur un datagramme transportant un message ICMP, aucun message d'erreur n'est délivré pour éviter un effet "boule de neige" en cas d'incident sur le réseau.
Voici à quoi ressemble un message ICMP encapsulé dans un datagramme IP:
En-tête |
|
Signification des messages ICMP |
Type | Code | Message | Signification du message |
0 | 0 | Demande d'ECHO | Ce message est utilisé lorsqu'on utilise la commande PING. Cette commande, permettant de tester le réseau, envoie un datagramme à un destinataire et lui demande de le restituer |
3 | 0 | destinataire inaccessible | Le réseau n'est pas accessible |
3 | 1 | destinataire inaccessible | La machine n'est pas accessible |
3 | 2 | destinataire inaccessible | Le protocole n'est pas accessible |
3 | 3 | destinataire inaccessible | Le port n'est pas accessible |
3 | 4 | destinataire inaccessible | Fragmentation nécessaire mais impossible à cause du drapeau (flag) DF |
3 | 5 | destinataire inaccessible | Le routage a échoué |
3 | 6 | destinataire inaccessible | Réseau inconnu |
3 | 7 | destinataire inaccessible | Machine inconnue |
3 | 8 | destinataire inaccessible | Machine non connectée au réseau (inutilisé) |
3 | 9 | destinataire inaccessible | Communication avec le réseau interdite |
3 | 10 | destinataire inaccessible | Communication avec la machine interdite |
3 | 11 | destinataire inaccessible | Réseau inaccessible pour ce service |
3 | 12 | destinataire inaccessible | Machine inaccessible pour ce service |
3 | 11 | destinataire inaccessible | Communication interdite (filtrage) |
4 | 0 | Source Quench | 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 |
5 | 0 | Redirection pour un hôte | Le routeur remarque que la route d'un ordinateur n'est pas optimale et envoie l'adresse du routeur à rajouter dans la table de routage de l'ordinateur |
5 | 1 | Redirection pour un hôte et un service donné | Le routeur remarque que la route d'un ordinateur n'est pas optimale pour un service donné et envoie l'adresse du routeur à rajouter dans la table de routage de l'ordinateur |
5 | 2 | Redirection pour un réseau | Le routeur remarque que la route d'un réseau entier n'est pas optimale et envoie l'adresse du routeur à rajouter dans la table de routage des ordinateur du réseau |
5 | 3 | Redirection pour un réseau et un service donné | Le routeur remarque que la route d'un réseau entier n'est pas optimale pour un service donné et envoie l'adresse du routeur à rajouter dans la table de routage des ordinateur du réseau |
11 | 0 | Temps dépassé | Ce message est envoyé lorsque le temps de vie 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 |
11 | 1 | Temps de réassemblage de fragment dépassé | Ce message est envoyé lorsque le temps de réassemblage des fragments d'un datagramme est dépassé. |
12 | 0 | en-tête erronné | Ce message est envoyé lorsqu'un champ d'un en-tête est erronné. La position de l'erreur est retournée |
13 | 0 | Timestamp request | Une machine demande à une autre son heure et sa date système (universelle) |
14 | 0 | Timestamp reply | 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 |
15 | 0 | Demande d'adresse réseau | Ce message permet de demander au réseau une adresse IP |
16 | 0 | réponse d'adresse réseau | Ce message répond au message précédent |
17 | 0 | Demande de masque de sous-réseau | Ce message permet de demander au réseau unmasque de sous-réseau |
18 | 0 | réponse de masque de sous-réseau | Ce message répond au message précédent |
17 | 0 | Timestamp reply | 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 |