Difference between revisions of "MOOC:Verb23"

From Livre IPv6

(Created page with ""Le contrôle du fonctionnement d'IPv6 à travers ICMPv6 (partie 1)" "Gestion du niveau IP par ICMPv6" Bruno Stévant, enseignant-chercheur à l'Institut Mines-Télécom....")
 
Line 1: Line 1:
"Le contrôle du fonctionnement d'IPv6 à travers ICMPv6 (partie 1)"
+
=Le contrôle du fonctionnement d'IPv6 à travers ICMPv6 (partie 1)=
  
"Gestion du niveau IP par ICMPv6"
+
== Gestion du niveau IP par ICMPv6 ==
 
+
Bruno Stévant, enseignant-chercheur à l'Institut Mines-Télécom.
+
  
 
-Le protocole ICMPv6 permet de contrôler le bon fonctionnement du réseau.
 
-Le protocole ICMPv6 permet de contrôler le bon fonctionnement du réseau.
Line 27: Line 25:
 
Enfin, le champ "options" sert à fournir les informations utiles, selon la fonction du message. On y retrouvera des informations diverses, comme des extraits de paquets ayant généré des erreurs ou des informations de configuration.
 
Enfin, le champ "options" sert à fournir les informations utiles, selon la fonction du message. On y retrouvera des informations diverses, comme des extraits de paquets ayant généré des erreurs ou des informations de configuration.
  
"Test d'accessibilité entre équipements"
+
== Test d'accessibilité entre équipements == 
  
 
Une fonction très utile et bien connue des utilisateurs, mise en œuvre par ICMPv6, est le test d'accessibilité entre équipements connectés par Internet. Cette fonction est utilisée par la commande "ping".
 
Une fonction très utile et bien connue des utilisateurs, mise en œuvre par ICMPv6, est le test d'accessibilité entre équipements connectés par Internet. Cette fonction est utilisée par la commande "ping".
Line 43: Line 41:
 
"Ping6" affiche en plus un temps mesuré par la station A entre l'émission de la demande et la réception de la réponse, appelé "temps d'aller-retour" ou "Round Trip Time".
 
"Ping6" affiche en plus un temps mesuré par la station A entre l'émission de la demande et la réception de la réponse, appelé "temps d'aller-retour" ou "Round Trip Time".
  
"Rapport d'erreur"
+
== Rapport d'erreur == 
  
 
ICMPv6 permet de signaler à l'émetteur d'un paquet un problème dans son acheminement ou dans sa réception, à travers des rapports d'erreur.
 
ICMPv6 permet de signaler à l'émetteur d'un paquet un problème dans son acheminement ou dans sa réception, à travers des rapports d'erreur.

Revision as of 15:19, 20 September 2021

Le contrôle du fonctionnement d'IPv6 à travers ICMPv6 (partie 1)

Gestion du niveau IP par ICMPv6

-Le protocole ICMPv6 permet de contrôler le bon fonctionnement du réseau.

Au niveau de l'Internet, il permet depuis une station de vérifier l'accessibilité d'une autre station connectée, et, lors de l'acheminement d'un paquet, d'obtenir des rapports d'erreur, en cas de problème.

Au niveau local, l'ICMPv6 permet à une station qui vient de se connecter de découvrir les voisins connectés sur le même lien.

ICMPv6, Internet Control Management Protocol, est un protocole générique pour le contrôle du fonctionnement du réseau.

Il est transporté directement au-dessus d'IPv6.

La valeur du champ "Next Header" de l'en-tête IPv6 aura pour valeur 58.

Un message ICMPv6 correspond à un rapport de fonctionnement du réseau.

Chaque message ICMPv6 est identifié par un "type", auquel correspond la fonction de ce message.

Le champ "code" permet de préciser la sémantique de ce message.

Comme tout protocole transporté au-dessus d'un en-tête IPv6, l'en-tête ICMPv6 doit contenir une somme de contrôle.

Enfin, le champ "options" sert à fournir les informations utiles, selon la fonction du message. On y retrouvera des informations diverses, comme des extraits de paquets ayant généré des erreurs ou des informations de configuration.

Test d'accessibilité entre équipements

Une fonction très utile et bien connue des utilisateurs, mise en œuvre par ICMPv6, est le test d'accessibilité entre équipements connectés par Internet. Cette fonction est utilisée par la commande "ping".

Lorsque, depuis la station A, un utilisateur souhaite savoir si la station B est accessible à travers l'Internet IPv6, il utilise la commande "ping6".

Cette commande permet de générer sur le réseau un message ICMPv6 de type 128, signifiant "echo-request", message qui va être envoyé à destination de B.

À la réception de ce message, B envoie une réponse sous la forme d'un message ICMPv6 de type 129, "echo-reply", qui va être envoyé à destination de A.

Le message reçu par A est identifié comme une réponse de B, au premier message, grâce au numéro de séquence.

La commande "ping6" peut alors afficher la réponse de B.

"Ping6" affiche en plus un temps mesuré par la station A entre l'émission de la demande et la réception de la réponse, appelé "temps d'aller-retour" ou "Round Trip Time".

Rapport d'erreur

ICMPv6 permet de signaler à l'émetteur d'un paquet un problème dans son acheminement ou dans sa réception, à travers des rapports d'erreur.

Lorsqu'une machine A envoie un paquet IPv6, si une erreur est détectée par le destinataire du paquet ou par tout routeur du chemin entre A et B, alors l'élément ayant détecté l'erreur renvoie à l'émetteur un rapport sous la forme d'un message ICMPv6.

Le type du message et son code définissent précisément l'erreur détectée.

L'extrait du paquet fautif est inclus dans le message pour permettre l'analyse de l'erreur.

Les erreurs pouvant être détectées par ICMPv6 sont la destination inaccessible, renvoyée par le dernier routeur ne pouvant pas transmettre le paquet à la destination.

Une erreur liée à un paquet trop grand est transmise par un routeur intermédiaire ne pouvant pas transmettre le paquet sur un lien imposant une taille inférieure à celle du paquet.

Le délai expiré est une erreur renvoyée lorsque le paquet présente, dans son en-tête IPv6, le champ "Hop Limit" à valeur 0.

Enfin, l'erreur de paramètre est renvoyée par un routeur détectant un problème dans la valeur d'un champ de l'en-tête IP ou d'une extension de cet en-tête.

Voyons ici un exemple illustrant un rapport d'erreur lié à un délai expiré.

L'en-tête IPv6 contient un champ "Hop Limit" dont la valeur est décrémentée à chaque routeur traversé.

L'erreur intervient lorsqu'un paquet est reçu par un routeur ou par la destination, avec un champ contenant la valeur 0.

Le routeur ne doit alors pas transmettre le paquet vers sa destination.

Il renvoie vers l'émetteur un rapport d'erreur signalant un délai expiré.

Ce cas peut se présenter lorsqu'il y a une erreur de configuration dans le réseau, qui fait apparaître une boucle de routage.

Il est important, donc, que les paquets ICMPv6 puissent bien circuler sur le réseau car ils permettent à la station de s'adapter en cas de problème, et à l'administrateur de détecter et analyser les problèmes.

Il ne faut donc pas filtrer ICMPv6 de façon inconsidérée dans son réseau.

La RFC 4890 décrit les bonnes pratiques de filtrage.

Cet exemple va illustrer les problèmes de filtrage des paquets ICMPv6.

Dans cet exemple, la station A est située dans un réseau protégé par un pare-feu, sous la responsabilité de l'administrateur.

Celui-ci a considéré que les messages ICMPv6 provenant d'Internet sont potentiellement dangereux.

Le pare-feu est donc configuré pour bloquer ces messages entrants provenant de l'Internet.

A envoie un paquet vers B, mais une erreur de délai expiré est détectée par un routeur situé entre A et B.

Le routeur envoie un rapport d'erreur ICMPv6 à destination de A.

Mais la configuration du pare-feu fait que ce rapport n'est pas transmis sur le réseau local.

La station A n'est donc pas informée du problème de transmission du paquet.

Donc, l'erreur ne sera pas détectée et la station A ne pourra pas s'adapter.

Il est donc important, pour les administrateurs réseau, de bien considérer les messages ICMPv6 de rapport d'erreur, lors de la définition des politiques de sécurité.

Personal tools