Mis à jour le 03/04/2023
13.0 Introduction
13.0.1 Pourquoi devrais-je suivre ce module?
Bienvenue à ICMP!
Imaginez que vous avez un ensemble de train modèle complexe. Vos voies et trains sont tous connectés, alimentés et prêts à l’emploi. Vous lancez l’interrupteur. Le train va à mi-chemin autour de la voie et s’arrête. Vous savez tout de suite que le problème est très probablement situé à l’endroit où le train s’est arrêté, alors vous regardez là d’abord. Il n’est pas aussi facile de visualiser cela avec un réseau. Heureusement, il existe des outils pour vous aider à localiser les zones problématiques dans votre réseau, ET ils fonctionnent avec les réseaux IPv4 et IPv6! Vous serez heureux de savoir que ce module a quelques exercices Packet Tracer pour vous aider à vous entraîner à utiliser ces outils, alors faisons des tests!
13.0.2 Qu’est-ce que je vais apprendre dans ce module?
Titre du module: ICMP
Objectif du module: Utiliser différents outils pour tester la connectivité du réseau.
Titre du rubrique | Objectif du rubrique |
---|---|
Messages ICMP | Expliquer comment le protocole ICMP sert à tester la connectivité du réseau. |
Tests à l’aide des commandes ping et traceroute | Utiliser les utilitaires Ping et Traceroute pour tester la connectivité du réseau. |
13.1 Messages ICMP
13.1.1 Messages ICMPv4 et ICMPv6
Dans cette rubrique, vous découvrirez les différents types de protocoles ICMP (Internet Control Message Protocoles) et les outils utilisés pour les envoyer.
Bien que l’IP ne soit qu’un protocole de meilleure qualité, la suite TCP/IP fournit des messages d’erreur et des messages d’information lors de la communication avec un autre périphérique IP. Ces messages sont envoyés via les services du protocole ICMP. Ces messages ont pour objectif de fournir des commentaires sur les problèmes liés au traitement de paquets IP dans certaines circonstances. Les messages ICMP ne sont pas obligatoires et sont souvent interdits sur les réseaux pour des raisons de sécurité.
Le protocole ICMP est disponible pour IPv4 et IPv6. ICMPv4 est le protocole de message des réseaux IPv4. ICMPv6 fournit également ces services pour l’IPv6, en ajoutant d’autres fonctionnalités. Dans ce cours, le terme ICMP fait référence à l’ICMPv4 et à l’ICMPv6.
Les types de messages ICMP, et les raisons pour lesquelles ils sont envoyés, sont nombreux. Les messages ICMP communs à ICMPv4 et à ICMPv6 sont notamment les suivants:
- Accessibilité de l’hôte
- Destination or Service Unreachable (destination ou service inaccessible)
- Time exceeded (Délai dépassé)
13.1.2 Accessibilité de l’hôte
Un message d’écho ICMP peut être utilisé pour tester l’accessibilité d’un hôte sur un réseau IP. L’hôte local envoie un message ICMP Echo Request (Demande d’écho) à un autre hôte. Si l’hôte est disponible, l’hôte de destination répond en envoyant une réponse d’écho. Sur la figure ci-contre, cliquez sur le bouton Lecture pour lancer une animation sur les requêtes et les réponses d’écho ICMP. Cette utilisation des messages ICMP Echo est à la base de l’utilité ping.
13.1.3 Destination ou service inaccessible
Lorsqu’un hôte ou une passerelle ne peut pas acheminer un paquet reçu, il ou elle peut utiliser un message ICMP de destination inaccessible pour avertir la source que la destination ou le service est inaccessible. Ce message comprend un code indiquant pourquoi le paquet n’a pas pu être acheminé.
Certains des codes de destination inaccessible pour l’ICMPv4 sont:
- 0 – Réseau inaccessible
- 1 – Hôte inaccessible
- 2 – Protocole inaccessible
- 3 – Port inaccessible
Certains des codes de destination inaccessible pour l’ICMPv6 sont:
- 0 – Pas de route vers la destination
- 1 – La communication avec la destination est interdite administrativement (p. ex., pare-feu)
- 2 — Au-delà de la portée de l’adresse source
- 3 – Adresse inaccessible
- 4 – Port inaccessible
Note: ICMPv6 a des codes similaires mais légèrement différents pour les messages “Destination Inaccessible”.
13.1.4 Délai dépassé
Un message de dépassement de délai ICMPv4 est utilisé par un routeur pour indiquer qu’il ne peut pas transférer un paquet, car le champ TTL de durée de vie du paquet a atteint 0. Si un routeur reçoit un paquet et décrémente le champ TTL de durée de vie du paquet IPv4 jusqu’à atteindre zéro, il abandonne le paquet et envoie un message de dépassement de délai à l’hôte source.
Si le routeur ne peut pas transmettre un paquet IPv6 parce que celui-ci a expiré, le protocole ICMPv6 envoie également un message de dépassement de délai. Au lieu du champ TTL IPv4, ICMPv6 utilise le champ Hop Limit IPv6 pour déterminer si le paquet a expiré.
Note:Les messages Temps dépassé sont utilisés par l’ traceroute outil.
13.1.5 Messages ICMPv6
Les messages d’informations et d’erreur du protocole ICMPv6 ressemblent fortement aux messages de contrôle et d’erreur mis en œuvre par le protocole ICMPv4. Cependant, l’ICMPv6 offre de nouvelles fonctions et fonctionnalités avancées qui n’existent pas dans l’ICMPv4. Les messages ICMPv6 sont encapsulés dans l’IPv6.
ICMPv6 offre quatre nouveaux protocoles dans le cadre du protocole NDP (Neighbor Discovery Protocol) ou ND.
La messagerie entre un routeur IPv6 et un périphérique IPv6, y compris l’allocation d’adresses dynamique, est la suivante:
- Message de sollicitation de routeur (RS)
- Message d’annonce de routeur (RA)
La messagerie entre les périphériques IPv6, y compris la détection d’adresses en double et la résolution d’adresses, est la suivante:
- Message de sollicitation de voisin
- Messages d’annonce de voisin
Note: ICMPv6 ND comprend également le message de redirection, qui a une fonction similaire à celle du message de redirection utilisé dans ICMPv4.
Cliquez sur chacun d’eux pour obtenir une illustration et une explication des messages ICMPv6.
13.2 Tests à l’aide des commandes ping et traceroute
13.2.1 Ping – Tester la connectivité
Dans la rubrique précédente, vous avez été présenté aux outils ping et traceroute (tracert). Dans cette rubrique, vous apprendrez les situations dans lesquelles chaque outil est utilisé et comment les utiliser. La commande ping est un utilitaire de test qui utilise des messages de requête et de réponse d’écho ICMP pour tester la connectivité entre les hôtes.
Pour tester la connectivité à un autre hôte sur un réseau, une demande d’écho est envoyée à l’adresse de l’hôte à l’aide de la commande ping . Si l’hôte à l’adresse spécifiée reçoit une requête d’écho, il répond en envoyant une réponse d’écho. Au fur et à mesure de la réception de chaque réponse, ping fournit un retour d’information sur le temps écoulé entre l’envoi de la demande et la réception de la réponse. Cela peut être utilisé pour mesurer les performances réseau.
La commande ping intègre un délai d’attente de la réponse. Si aucune réponse n’est reçue dans ce délai, la commande ping indique dans un message que la réponse n’a pas été reçue. Cela peut indiquer qu’il y a un problème, mais peut aussi indiquer que les dispositifs de sécurité bloquant les messages ping ont été activés sur le réseau. Il est courant que le premier ping soit expiré si la résolution d’adresse (ARP ou ND) doit être effectuée avant d’envoyer la demande d’écho ICMP.
Après l’envoi de toutes les requêtes, l’utilitaire ping fournit un résumé qui comprend le taux de réussite et la durée moyenne du trajet aller-retour jusqu’à la destination.
Les types de tests de connectivité effectués avec ping sont les suivants :
- Envoi d’une requête ping sur le bouclage local
- Testez la passerelle par défaut à l’aide d’une requête ping.
- Envoi d’une requête ping à un hôte distant
13.2.2 Tester le bouclage à l’aide d’une requête ping.
Ping peut être utilisé pour tester la configuration interne d’IPv4 ou IPv6 sur l’hôte local. Pour effectuer ce test, ping l’adresse de bouclage locale de 127.0.0.1 pour IPv4 (::1 pour IPv6).
Une réponse provenant de l’adresse 127.0.0.1 pour l’IPv4 ou ::1 pour l’IPv6 indique que le protocole IP est correctement installé sur l’hôte. Cette réponse provient de la couche réseau. Toutefois, elle n’indique pas que les adresses, les masques ou les passerelles sont correctement configurés. Par ailleurs, elle n’indique rien sur l’état de la couche la plus basse de la pile réseau. Elle teste uniquement la configuration IP via la couche réseau du protocole IP. Si un message d’erreur est généré, cela indique que la suite TCP/IP ne fonctionne pas sur l’hôte.
- L’envoi d’une requête ping à un hôte local confirme que le protocole TCP/IP est installé et fonctionne sur l’hôte local.
- Envoyer une requête ping à l’adresse 127.0.0.1 revient à ce que le périphérique s’envoie la requête ping à lui-même.
13.2.3 Tester la passerelle par défaut à l’aide d’une requête ping.
Vous pouvez également utiliser ping pour tester la capacité d’un hôte à communiquer sur le réseau local. Cela consiste généralement à envoyer une requête ping à l’adresse IP de la passerelle de l’hôte. Un ping réussi vers la passerelle par défaut indique que l’hôte et l’interface du routeur servant de passerelle par défaut sont tous deux opérationnels sur le réseau local.
Pour ce test, l’adresse de la passerelle est souvent utilisée, car le routeur est, en principe, toujours opérationnel. Si l’adresse de la passerelle ne répond pas, une ping requête ping peut être envoyée à l’adresse IP d’un autre hôte qui est opérationnel sur le réseau local.
Si une réponse est obtenue, soit de la passerelle, soit d’un autre hôte, cela signifie que l’hôte local peut communiquer sans problème sur le réseau local. Si la passerelle ne répond pas, mais qu’un autre hôte répond, cela peut indiquer un problème sur l’interface du routeur qui sert de passerelle.
Il se peut qu’une adresse de passerelle incorrecte ait été configurée sur l’hôte. Peut-être que l’interface du routeur est fonctionnelle, mais qu’une règle de sécurité en vigueur l’empêche de traiter des requêtes ping ou d’y répondre.
L’hôte ping sa passerelle par défaut, en envoyant une demande d’écho ICMP. La passerelle par défaut envoie une réponse d’écho confirmant la connectivité.
13.2.4 Envoi d’une requête ping à un hôte distant
La commande ping peut aussi être utilisée pour tester la capacité d’un hôte local à communiquer sur un interréseau. L’hôte local peut envoyer une requête ping à un hôte IPv4 opérationnel sur un réseau distant, comme présenté dans la figure ci-contre. Le routeur utilise sa table de routage IP pour transférer les paquets.
Si cette requête ping aboutit, le fonctionnement d’une grande partie de l’interréseau peut être vérifié. Un ping réussi sur le réseau Internet confirme la communication sur le réseau local, le fonctionnement du routeur servant de passerelle par défaut, et le fonctionnement de tous les autres routeurs qui pourraient se trouver sur le chemin entre le réseau local et le réseau de l’hôte distant.
En outre, la fonctionnalité de l’hôte distant peut être vérifiée. Si l’hôte distant ne peut pas communiquer en dehors de son réseau local, il ne répond pas.
Note: De nombreux administrateurs de réseau limitent ou interdisent l’entrée de messages ICMP dans le réseau d’entreprise ; l’absence d’une réponse ping pourrait donc être due à des restrictions de sécurité.
13.2.5 Traceroute – Tester le chemin
La commande ping permet de tester la connectivité entre deux hôtes, mais ne fournit pas d’informations sur les détails des périphériques entre les hôtes. Traceroute (tracert) est un utilitaire qui génère une liste des sauts qui ont été atteints avec succès le long du chemin. Cette liste peut fournir d’importantes informations pour la vérification et le dépannage. Si les données parviennent à destination, la commande affiche la liste des interfaces de tous les routeurs situés entre les hôtes. Si les données restent bloquées au niveau d’un tronçon, l’adresse du dernier routeur ayant répondu à la commande peut fournir une indication sur l’endroit où se situe le problème ou sur d’éventuelles restrictions de sécurité.
Durée du trajet aller-retour (RTT)
L’utilisation de traceroute fournit le temps aller-retour pour chaque saut le long du chemin et indique si un saut ne répond pas. Le temps aller-retour est le temps que prend un paquet pour atteindre l’hôte distant et pour que la réponse de l’hôte revienne. Un astérisque (*) indique un paquet perdu ou sans réponse.
Ces informations peuvent être utilisées pour localiser un routeur problématique dans le chemin d’accès ou peuvent indiquer que le routeur est configuré pour ne pas répondre. Si un tronçon est associé à des temps de réponse longs ou à une perte de données, cela indique que les ressources du routeur ou que ses connexions sont saturées.
IPv4 TTL et IPv6 limite de saut
La commande traceroute utilise une fonction du champ TTL du protocole IPv4 et le champ de limite de saut du protocole IPv6 dans les en-têtes de couche 3, ainsi que le message ICMP de dépassement de délai.
Lancez l’animation dans la figure pour voir comment traceroute tire parti du TTL.
La première séquence des messages envoyés par traceroute contient un champ TTL égal à 1. Cela entraîne l’expiration du champ TTL de durée de vie du paquet IPv4 au niveau du premier routeur. Ce routeur répond alors par un message ICMPv4 de délai dépassé. L’utilitaire traceroute dispose à présent de l’adresse du premier tronçon.
Puis, il incrémente progressivement le champ TTL (2, 3, 4, etc.) pour chaque séquence de messages. Cela fournit à la trace l’adresse de chaque saut au fur et à mesure que les paquets s’éloignent sur le chemin. Le champ TTL est incrémenté jusqu’à ce que la destination soit atteinte ou jusqu’à une valeur maximale prédéfinie.
Après que la destination finale a été atteinte, l’hôte répond par un message ICMP Port Unreachable (port inaccessible) ou ICMP Echo Reply (réponse d’écho), à la place du message ICMP Time Exceeded (délai dépassé).
13.2.6 Packet Tracer – Vérifier l’adressage IPv4 et IPv6
Les protocoles IPv4 et IPv6 peuvent coexister sur le même réseau. À l’invite de commandes d’un PC, il existe certaines différences dans la manière dont les commandes sont émises et dans la manière dont le résultat est affiché.
13.2.7 Packet Tracer – Utiliser les commandes Ping et Traceroute pour tester la connectivité du réseau.
Des problèmes de connectivité se cachent dans cet exercice. Vous devrez non seulement collecter des informations relatives au réseau et les noter, mais également identifier les problèmes et mettre en œuvre des solutions acceptables pour rétablir la connectivité.
13.3 Module pratique et questionnaire
13.3.1 Packet Tracer – Utiliser ICMP pour tester et corriger la connectivité des réseaux
Dans ce travail pratique, vous utiliserez ICMP pour tester la connectivité réseau et localiser les problèmes réseau. Vous corrigerez également des problèmes de configuration simples et restaurez la connectivité au réseau.
Utilisez ICMP pour localiser les problèmes de connectivité.
Configurez les périphériques réseau pour corriger les problèmes de connectivité.
13.3.2 Packet Tracer – Utiliser les commandes Ping et Traceroute pour tester la connectivité du réseau.
Possibilité de pratiquer des compétences
Vous avez la possibilité de pratiquer les compétences suivantes:
- Part 1: Concevoir et configurer le réseau
- Part 2: Utiliser la commande Ping pour le test de base du réseau
- Part 3: Utiliser les commandes Tracert et Traceroute pour les tests de base du réseau
- Part 4: Résoudre les problèmes de topologie
Vous pouvez pratiquer ces compétences à l’aide du Packet Tracer ou de l’équipement de laboratoire, le cas échéant.
13.3.3 Qu’est-ce que j’ai appris dans ce module?
Messages ICMP
La suite TCP/IP fournit des messages d’erreur et des messages d’information lors de la communication avec un autre périphérique IP. Ces messages sont envoyés via les services du protocole ICMP. Ces messages ont pour objectif de fournir des commentaires sur les problèmes liés au traitement de paquets IP dans certaines circonstances. Les messages ICMP communs à ICMPv4 et ICMPv6 sont les suivants: accessibilité de l’hôte, destination ou service inaccessible et délai dépassé. Un message d’écho ICMP teste l’accessibilité d’un hôte sur un réseau IP. L’hôte local envoie un message ICMP Echo Request (Demande d’écho) à un autre hôte. Si l’hôte est disponible, l’hôte de destination répond en envoyant une réponse d’écho. C’est la base de l’utilité ping . Lorsqu’un hôte ou une passerelle reçoit un paquet qu’il ne peut pas livrer, il peut utiliser un message ICMP de destination inaccessible pour en informer la source. Ce message comprend un code indiquant pourquoi le paquet n’a pas pu être acheminé. Un message ICMPv4 délai dépassé est utilisé par un routeur pour indiquer qu’un paquet ne peut pas être transmis parce que le champ durée de vie (TTL) du paquet a été décrémenté à zéro. Si un routeur reçoit un paquet et décrémente le champ TTL de durée de vie du paquet IPv4 jusqu’à atteindre zéro, il abandonne le paquet et envoie un message de dépassement de délai à l’hôte source. ICMPv6 envoie également un délai dépassé dans cette situation. ICMPv6 utilise le champ de limite de saut IPv6 pour déterminer si le paquet a expiré. Les messages délai dépassé sont utilisés par l’outil traceroute. Les messages entre un routeur IPv6 et un périphérique IPv6, y compris l’attribution dynamique d’adresses, comprennent RS et RA. Les messages entre les périphériques IPv6 incluent la redirection (similaire à IPv4), NS et NA.
Tests de ping et de traçage
La commande ping est un utilitaire de test qui utilise des messages de requête et de réponse d’écho ICMP pour tester la connectivité entre les hôtes. Pour tester la connectivité avec un autre hôte sur un réseau, une requête d’écho est envoyée à l’adresse d’hôte au moyen de la commande ping. Si l’hôte à l’adresse spécifiée reçoit une requête d’écho, il répond en envoyant une réponse d’écho. Chaque fois qu’une réponse d’écho est reçue, la commande ping vous informe du temps qui s’écoule entre l’envoi de la requête et la réception de la réponse. Une fois toutes les requêtes envoyées, l’utilitaire ping affiche un résumé qui inclut le taux de réussite et la durée de transmission moyenne à destination. Ping peut être utilisé pour tester la configuration interne d’IPv4 ou IPv6 sur l’hôte local. Pour réaliser ce test, nous exécutons la commande ping sur l’adresse de bouclage locale 127.0.0.1 pour l’IPv4 (et ::1 pour l’IPv6). Utilisez ping pour tester la capacité d’un hôte à communiquer sur le réseau local, en envoyant un ping à l’adresse IP de la passerelle par défaut de l’hôte. Un ping réussi vers la passerelle par défaut indique que l’hôte et l’interface du routeur servant de passerelle par défaut sont tous deux opérationnels sur le réseau local. La commande ping peut aussi être utilisée pour tester la capacité d’un hôte local à communiquer sur un interréseau. L’hôte local peut envoyer un ping à un hôte IPv4 opérationnel d’un réseau distant. Traceroute (tracert) génère une liste des sauts qui ont été atteintes avec succès le long du chemin. Cette liste fournit des informations pour la vérification et le dépannage. Si les données parviennent à destination, la commande affiche la liste des interfaces de tous les routeurs situés entre les hôtes. Si les données restent bloquées au niveau d’un tronçon, l’adresse du dernier routeur ayant répondu à la commande peut fournir une indication sur l’endroit où se situe le problème ou sur d’éventuelles restrictions de sécurité. Le temps aller-retour est le temps que prend un paquet pour atteindre l’hôte distant et pour que la réponse de l’hôte revienne. La commande traceroute utilise une fonction du champ TTL du protocole IPv4 et le champ de limite de nombre de tronçons du protocole IPv6 dans les en-têtes de couche 3, ainsi que le message ICMP de dépassement de délai.