Si vous voyez cette note
c'est que votre navigateur refuse les scripts Java.

Des notes destinées à éclaircir certains points
ou à apporter d'intéressants suppléments d'information
sont programmées pour apparaître lorsqu'on passe le curseur de souris
sur des icônes telles que
          

Pour des raisons de sécurité, certains navigateurs
bloquent l'apparition de ces notes (programmées en JavaScript)
.

Des précieuses informations, aidant à comprendre,
à se repérer, à étendre ses connaisances sont alors perdues.
Ainsi que les réponses aux exercices,


AUTORISEZ DONC VOTRE NAVIGATEUR A OUVRIR CES SCRIPTS !


Ce site n'a aucun but commercial !
Il n ' installe pas de COOKIES

TCP/IP

10° ICMP
( Internet Control Message Protocol )
Sommaire

du Site



Choix par Menu ou Parcours Séquentiel
 
Avant : TCP
  
Suite : Sockets

 

Fonctions d ' ICMP

Le protocole IP offre un service de remise de datagramme sans connexion .
Il ne tente pas d'assurer une remise fiable des datagrammes.
Cette tâche incombe aux protocoles de couche supérieure tels que TCP.

Cependant, IP dispose d'un moyen d'envoyer des messages d'alerte et de diagnostic permettant à un administrateur de détecter des problèmes : le protocole ICMP ( Internet Control Message Protocol ).

Les messages ICMP sont générés par les routeurs lorsqu'ils rencontrent des difficultés d'acheminement des datagrammes :

  • Lorsqu'un routeur s'aperçoit qu'un hôte n'existe pas sur le réseau .
  • A l'expiration du champ TTL (durée de vie) d'un datagramme.
  • Lorsque se présente une interdiction de fractionner un datagramme (champ DF = 0 de l'en tête IP)
    face à un réseau dont la MTU est insuffisante.
  • Lors de la congestion d'un routeur.

Des messages ICMP peuvent être générés par les hôtes lorsqu'ils rencontrent des difficultés de remise des datagrammes
à des protocoles ou des applications.

  • Lors de l'impossibilité d'assembler un datagramme due à la perte d'un de ses fragments.
  • Lors de l'indisponibilité d'un protocole ou d'un service.
Enfin, hors contexte d'erreur, les messages ICMP peuvent servir à la maintenance et à la supervision du réseau.

Implémentation d ' ICMP



ICMP s'exécute au-dessus de IP :
il se comporte comme un client de IP.
Son implémentation se fait cependant dans IP.

  • ICMP ne permet pas de rattraper des erreurs, il se borne à les signaler.
  • ICMP ne signale d'erreurs que pour le fragment d'un datagramme dont le décalage est zéro.

Afin d'éviter d'engorger le réseau par des messages ICMP inutiles,
ICMP ne doit générer aucun message d'erreur dans les circonstances qui suivent :

  • Défaut de remise ou de routage des datagrammes ICMP.
  • Datagrammes IP de multidiffusion couche 3, réseau.
  • Trames de multidiffusion de couche 2, liaison de données.
  • Datagrammes d'adresses IP de bouclage ( 127.x.x.x ) ou dont le préfixe de réseau vaut zéro (réseau local).

Messages ICMP

Les messages ICMP sont encapsulés dans des datagrammes IP comme le montre le schéma suivant :

 
Message ICMP
Entête IP
20 octets
TYPE
1octet
CODE
1 octet
Contrôle
2 octets
Paramètre
4 octets
Champ INFORMATIONS
 
 
 
 
 
Informations
Entête IP du datagramme
en échec
Début (8 octets) de l'entête de couche supérieure du paquet ayant posé problème.

Description

  • L'entête IP du datagramme contenant le message ICMP (grisée sur la figure ci-dessus) se distingue par son champ protocole de couche supérieure égal à 1 qui est la marque du protocole ICMP.

  • Les champs TYPE, CODE et PARAMETRE décrivent la nature de l'erreur ou de l'action réalisée.

  • Le champ CONTROLE est une somme de vérification de même nature que celles des entêtes de ° et 3° couches. Elle permet d'effectuer une vérification supplémentaire. Permet de rejeter un message mais ne génère aucun message d'erreur ICMP conformément aux principes énoncés plus haut.

  • Le champ INFORMATIONS contient l'entête IP du datagramme ayant posé problème ce qui, entre autres informations, permet de connaître les adresses IP de la source et la cible du datagramme.

  • Le champ INFORMATIONS contient également les 8 premiers octets de l'entête de couche supérieure. Ces derniers contiennent les numéros de port révélant le service impliqué par le datagramme problématique et le numéro de séquence.

Les tableaux qui vont suivre donneront une idée plus précise des fonctions implémentées


TYPES de messages ICMP
Message
0
Réponse à une demande d'écho
3
Destination inaccessible
4
Encombrement du réseau : Source quench buffer routeur insuffisant
5
Réorientation
6
Alternative d'adresse d'un hôte
8
Demande d'écho
9
Avertissement d'un routeur
10
Sélection d'un routeur
11
Dépassement de temps
12
Problème de paramètre
13
Demande d'horodateur
14
Réponse à une demande d'estampillage
15
Demande d'information
16
Réponse à une demande d'information
17
Demande de masque d'adresse
18
Réponse à une demande de masque d'adresse
etc
etc


MESSAGES DE TYPES 0 et 8 (Echo - PING)

Ces messages sont utilisés entre autre par l'utilitaire PING ( Packet Internet Grouper )
permettant à un administrateur de réseau de vérifier l'existence d'un nœud sur le réseau.

Commande :

ping [-t] [-a] [-n nombre] [-l longueur] [-f] [-i ttl] [-v tds] [-r nombre] [-s nombre]
[[-j liste_ordinateurs] | [-k liste_ordinateurs]] [-w temporisation] liste_destinations

Paramètres
Actions
-t
Sollicite une réponse de l'ordinateur spécifié jusqu'à ce que l'utilisateur arrête le processus.
-a
Résout des adresses en noms d'ordinateurs.
-n nombre Envoie le nombre de paquets ECHO spécifié par nombre. Valeur par défaut : 4.
-l longueur Envoie les paquets ECHO contenant le volume de données spécifié par longueur. Valeur par défaut : 64 octets. Valeur maximale : 8192.
-f Valide le drapeau de non fragmentation dans le datagramme. Il ne sera ainsi pas fragmenté par les passerelles.
-i TTL Affecte au champ Durée de vie la valeur spécifiée par TTL.
-v tds Affecte au champ Type de service la valeur spécifiée par tds.
-r nombre Enregistre l'itinéraire du paquet sortant et du paquet en retour dans le champ Route enregistrée. Le paramètre nombre permet de spécifier de 1 à 9 ordinateurs.
-s nombre Spécifie le marquage de temps pour le nombre de tronçons spécifié.
-j liste_ordinateurs Route des paquets via la liste_ordinateurs spécifiée. Les ordinateurs consécutifs peuvent être séparés par des passerelles intermédiaires (itinéraire source libre).
Nombre maximal autorisé par IP : 9.
-k liste_ordinateurs Route des paquets via la liste_ordinateurs spécifié. Les ordinateurs consécutifs peuvent ne pas être séparés par des passerelles intermédiaires (itinéraire source strict).
Le nombre maximal autorisé par IP est 9.
-w temporisation Spécifie un intervalle de temporisation en millisecondes
Liste_destinations Spécifie les ordinateurs distants à solliciter.

ping 127.0.0.1 : auto-teste la station qui émet le ping.

Exemples tapés sur l'utilitaire de commande de Windows
(Menu "Démarrer" puis Exécuter puis "Cmd")

D'abord la commande "ping" seule qui donne une sorte de mode d'emploi succinct.

Ensuite un ping de la station 192.168.0.1 que j'ai rééllement placée sur le réseau pour la circonstance :

Enfin un ping de la station 169.23.23.25 qui n'existe pas dans le réseau :


MESSAGES DE TYPE 3 (destination inaccessible)

Ce type de message est envoyé lorsque le protocole de couche supérieure (TCP ou UDP) ne peut trouver le port spécifié pour la remise du paquet (absence du service demandé chez l'hôte par exemple)

Code
Signification
0
Réseau inaccessible.
1
Hôte inaccessible.
2
Protocole inaccessible.
3
Port Inaccessible.
4
Fragmentation nécessaire mais non autorisée.
5
Echec de routage par la source.
6
Réseau destination inconnu.
7
Hôte de destination inconnu.
8
Hôte source isolé du réseau. (obsolète)
9
La communication avec le réseau ciblé interdite administrativement.
10
La communication avec l'hôte ciblé interdite administrativement.
11
Le réseau ciblé est inaccessible pour ce type de service.
12
L'hôte ciblé est inaccessible pour ce type de service.
13
Communication interdite en raison de l'existence d'un pare-feu firewall.
14
Violation de préséance d'hôte

MESSAGES DE TYPE 5 : Réorientation (redirection)
Cette opération a lieu lorsque pour une raison quelconque (un changement ou ajout de routeur par exemple)
les tables de routage maintenues par les hôtes et les routeurs ne sont momentanément plus à jour.

Grâce aux protocoles de routage, les routeurs, maintiennent dynamiquement à jour leurs tables de routage par des dialogues entre eux, auxquels les stations ne participent pas. Des divergences peuvent exister avec les tables des hôtes. Lorsqu'un routeur reçoit un datagramme destiné à une cible dont la route optimale a changé, il transmet à la source du datagramme un message ICMP lui permettant de mettre à jour sa table de routage.

Code
Signification
0
Réorientation de datagramme pour tous les hôtes du réseau (interdit par la RFC 1812)
1
Réorientation de datagramme pour l'hôte spécifié
2
Réorientation de datagramme pour le type de service et tous les hôtes du réseau (interdit RFC 1812)
3
Réorientation de datagramme pour le type de service et l'hôte spécifié

Message ICMP de type 5 :

1 octet
1 octet
2 octets
Type = 5
Code 0 à 3
Somme de contrôle
Adresse IP du routeur
En-tête IP + 8 octets du datagramme initial


Orientation

Choix par Menu ou Parcours Séquentiel
 
Avant : TCP
  
Suite : Sockets
La suite : "Connexions-Ports-Sockets
Sommaire

du Site
Sommaire "Signaux"
Sommaire "Transmission de signaux"
Sommaire "Réseaux"