Next: Les protocoles TCP et
Up: Le protocole IP.
Previous: Le routage IP.
Le protocole ICMP (Internet Control Message Protocol ) organise un
échange d'information permettant aux routeurs d'envoyer des messages
d'erreurs à d'autres ordinateurs ou routeurs.
Bien qu'ICMP <<tourne>> au-dessus de IP il est requis dans tous les routeurs
c'est pourquoi on le place dans la couche IP.
Le but d'ICMP n'est pas de fiabiliser le protocole IP, mais de fournir
à une autre couche IP, ou à une couche supérieure de protocole (TCP ou
UDP), le compte-rendu d'une erreur détectée dans un routeur.
Un message ICMP étant acheminé à l'intérieur d'un datagramme IP
illustré dans la figure 2.21, il est susceptible, lui aussi,
de souffrir d'erreurs de transmission.
Figure 2.21:
Encapsulation d'un message ICMP.
 |
Mais la règle est qu'aucun message ICMP ne doit être délivré pour signaler
une erreur relative à un message ICMP.
On évite ainsi une avalanche de messages d'erreurs quand le fonctionnement
d'un réseau se détériore.
Le champ type peut prendre 15 valeurs différentes spécifiant de
quelle nature est le message envoyé.
Pour certains types, le champ code sert à préciser encore plus
le contexte d'émission du message.
Le checksum est une somme de contrôle de tout le message ICMP
calculée comme dans le cas de l'en-tête d'un datagramme IP (voir la
section 2.5.1).
Le détail des différentes catégories de messages est donné dans la
liste ci-dessous où chaque alinéa commence par le couple (type,code)
de la catégorie décrite.
- [(0,0) ou (8,0)] Demande (type 8) ou réponse (type 0) d'écho dans
le cadre de la commande ping (voir
section 2.8.2).
- [(3,0-13)] Compte-rendu de destination inaccessible délivré quand
un routeur ne peut délivrer un datagramme.
Le routeur génère et envoie ce message ICMP à l'expéditeur de ce datagramme.
Il obtient l'adresse de cet expéditeur en l'extrayant de l'en-tête du
datagramme, il insère dans les données du message ICMP toute l'en-tête ainsi
que les 8 premiers octets du datagramme en cause.
Une liste non exhaustive des différents codes d'erreurs possibles est :
- [0] Le réseau est inaccessible.
- [1] La machine est inaccessible.
- [2] Le protocole est inaccessible.
- [3] Le port est inaccessible.
- [4] Fragmentation nécessaire mais bit de non fragmentation positionné à 1.
- [5] Échec de routage de source.
- [6] Réseau de destination inconnu.
- [7] Machine destinataire inconnue.
- [8] Machine source isolée (obsolète)
- [9] Communication avec le réseau de destination administrativement
interdite.
- [10] Communication avec la machine de destination administrativement
interdite.
- [11] Réseau inaccessible pour ce type de service.
- [12] Machine inaccessible pour ce type de service.
- [13] Communication administrativement interdite par filtrage.
- [(4,0)] Demande de limitation de production pour éviter la congestion
du routeur qui envoie ce message.
- [(5,0-3)] Demande de modification de route expédiée lorsqu'un
routeur détecte qu'un ordinateur utilise une route non optimale, ce
qui peut arriver lorsqu'un ordinateur est ajouté au réseau avec une
table de routage minimale.
Le message ICMP généré contient l'adresse IP du routeur à rajouter
dans la table de routage de l'ordinateur.
Les différents codes possibles ci-après expliquent le type de
redirection à opérer par l'ordinateur.
- [0] Redirection pour un réseau.
- [1] Redirection pour une machine.
- [2] Redirection pour un type de service et réseau.
- [3] Redirection pour un type de service et machine.
- [(9,0)] Avertissement de routeur expédié par un routeur.
- [(10,0)] Sollicitation de routeur diffusé par une machine pour
initialiser sa table de routage.
- [(11,0)] TTL détecté à 0 pendant le transit du datagramme IP, lorsqu'il
y a une route circulaire ou lors de l'utilisation de la commande
traceroute (voir section 2.8.2).
- [(11,1)] TTL détecté à 0 pendant le réassemblage d'un datagramme.
- [(12,0)] Mauvaise en-tête IP.
- [(12,1)] Option requise manquante.
- [(13-14,0)] Requête (13) ou réponse (14) timestamp , d'estampillage
horaire.
- [(15,0) et (16,0)] devenues obsolètes.
- [(17-18,0)] Requête (17) ou réponse (18) de masque de sous-réseau.
Next: Les protocoles TCP et
Up: Le protocole IP.
Previous: Le routage IP.
Pascal Nicolas Université d'Angers
mardi, 2 novembre 1999, 09:20:50 MET