news
Nouvelle version de FreeBSD 14.0 x64
HW
4 juillet 2023
Mise à jour en juillet 25, 2023

Traceroute – suivi du réseau dans Linux

Linux Réseaux Ubuntu

Imaginez la situation – le logiciel requis est installé et configuré. Ce logiciel communique avec des serveurs en réseau (toute application Web envoyant des requêtes à une base de données distante, système de sauvegarde réseau, etc.). Jusqu'à un certain moment, tout fonctionne correctement sans aucun retard, mais tout à coup, il commence à fonctionner lentement ou même s'arrête de fonctionner. Comment comprendre sur quel serveur le problème est survenu ? Sur quel point du trafic des retards ou des restrictions de transmission sont-ils apparus ?

L'utilitaire Ping peut aider à déterminer si le serveur distant est accessible, mais d'autres diagnostics nécessiteront d'autres outils. L'un d'eux est Traceroute - utilitaire capable d'effectuer le traçage des connexions réseau. Traceroute montre les nœuds (routeurs) par lesquels le paquet passe et combien de temps il faut pour traiter le paquet à chaque nœud.

L'utilitaire est souvent préinstallé et peut être utilisé à tout moment. S'il n'est pas disponible pour une raison quelconque, il peut être installé à partir du référentiel de distribution standard au moyen du gestionnaire de paquets :

    • pour la distribution basée sur deb :
sudo apt install traceroute
    • pour la distribution basée sur le nombre de tours par minute :
sudo yum install traceroute



Comment fonctionne traceroute

L'utilitaire suit les nœuds sur lesquels le paquet réseau arrive lors de sa transmission à l'hôte cible. Le protocole UDP est utilisé par défaut – UDP datagram est créé et emballé dans un paquet IP. Dans l'un des en-têtes de paquets, traceroute définit la valeur de TTL (Time To Live) parameter à 1. Ce parameter est utilisé pour limiter le nombre de transitions d'un routeur à un autre, c'est-à-dire qu'il permet d'éviter la transmission infinie de paquets entre routeurs (par exemple, en cas de protocole de routage dynamique mal configuré, ou d'erreurs dans les routes statiques). Chaque routeur recevant un paquet réduit la valeur TTL de 1 avant de l'envoyer plus loin sur le réseau. Dans une situation où la prochaine diminution de TTL devient égale à 0, le paquet est considéré comme non livré et rejeté, tandis que le routeur répond à l'expéditeur avec un message d'erreur.

Ainsi, avec TTL = 1, traceroute recevant une réponse du premier routeur détermine son adresse IP et le temps passé à traiter le paquet. Après cela, TTL est incrémenté de un pour déterminer le routeur suivant, et ainsi de suite jusqu'à ce que le paquet atteigne l'hôte cible. L'utilitaire utilise l'adresse IP (ou le nom) spécifié et le port 34434 par défaut. L'hôte cible reçoit le paquet et envoie une erreur sur l'indisponibilité du port 34434 (car dans la plupart des cas, il n'est utilisé par aucun service et est fermé). En conséquence, toute la chaîne de paquets est suivie et se termine par une réponse de l'hôte cible.

Un routeur est un périphérique qui transmet un paquet d'un sous-réseau à un autre - pas nécessairement un périphérique réseau spécialisé mais n'importe quel serveur réseau. Ceci est particulièrement important pour l'architecture de micro-services des applications utilisant les technologies de conteneurisation. En analysant le temps consacré à la transition d'un routeur à un autre, vous pouvez essayer de déterminer sur lesquels des retards apparaissent - peut-être en raison d'un manque de ressources sur l'un des serveurs, ou en raison d'un dysfonctionnement du système de disque, etc. Le paquet n'atteindra pas un hôte cible si l'un des serveurs est indisponible, et l'utilitaire déterminera à quel moment du transfert cela se produit. En outre, le paquet n'atteindra pas si le filtrage du trafic est en vigueur (ce qui signifie interférer avec la transmission du paquet).

Lancement de Traceroute

Le nom de l'hôte cible ou l'adresse IP est obligatoire pour l'utilitaire :

traceroute linux.org

Sortie :

tracing connection to linux.org

Quelles données recueillies par l'utilitaire et sont présentées dans le tableau :

  • il a fallu 5 transitions (sauts), cette valeur est dans la première colonne ;
  • L'adresse IP et le nom (si disponible) du routeur suivant sont déterminés à chaque saut ;
  • temps (RTT - Round Trip Time) consacré à l'envoi et à la réception d'une requête du routeur.

Traceroute envoie trois paquets UDP par défaut, donc trois valeurs RTT sont affichées dans la sortie. Pour la première ligne, il est de 3.034 ms, 5.349 ms, 5.325 ms. Une autre valeur par défaut est le nombre de sauts qu'un paquet peut traverser, c'est-à-dire TTL = 30. Une valeur arbitraire, par exemple 35, peut être spécifiée dans la ligne de commande avec l'option « -m 35 ». Sur certains sauts, plusieurs routeurs peuvent être définis - cela est dû à la présence de plusieurs routes à ce stade. En envoyant trois paquets UDP à la fois, la réponse peut provenir de trois routeurs différents, et RTT est également spécifié pour chacun. Un exemple d'une telle réponse sur le quatrième saut : les IP 172.71.180.2 et 172.71.100.2 sont déterminées par lesquelles les paquets peuvent être livrés à l'hôte cible.

Il faut faire attention aux sauts avec un RTT élevé - cela signifie que le routeur prend beaucoup de temps pour traiter le paquet, et la raison d'un tel retard doit être trouvée.

Il convient de noter que la réponse peut parvenir à l'expéditeur par un autre itinéraire en raison de la présence d'un alternative route ou l'utilisation de technologies d'équilibrage de charge. S'il y a un RTT élevé sur un saut, vous devez exécuter à nouveau l'utilitaire et vérifier le résultat.
De plus, des filtres de paquets peuvent être en vigueur sur l'un des routeurs, ou il peut s'agir d'un firewall appareil. Dans ce cas, il pourrait y avoir des restrictions pour le port ou le protocole UDP, et trois astérisques seront affichés dans la sortie traceroute (c'est-à-dire que le délai de réponse a été dépassé) :

traceroute mongodb.org

tracing mongodb.com

Ressource mongodb.com disponible mais les paquets UDP sont filtrés.

Traceroute peut utiliser le protocole ICMP au lieu d'UDP - une demande "Echo Request" est envoyée, des messages ICMP sont également reçus en réponse, aucun port n'est utilisé. Pour le reste, il n'y a pas de différence. L'option " -I " dans la ligne de commande pour le traçage ICMP :

traceroute mongodb.org -I

tracing mongodb.com with icmp

On peut voir que la réponse a été reçue de l'hôte cible bien qu'aucune réponse entre 5 et 21 sauts.
Le protocole TCP peut également être utilisé (option " -T") – dans ce cas, les requêtes SYN sont envoyées au port 80.

Options utiles de traceroute :

  • "-4" et "-6", spécifiant IPv4 et protocoles IPv6 respectivement ;
  • "-I", spécifiant l'interface réseau, par exemple, "-i ens0s5" ;
  • "-n", désactivant la résolution de nom ;
  • "-p", spécifiant le port personnalisé (pour UDP et TCP) ;
  • "-m", nombre maximum de transitions (sauts).

Traçage réseau dans Windows

Tracert est l'utilitaire disponible dans Windows OS pour tracer les connexions réseau similaires à Traceroute dans Linux.
Cet utilitaire utilise uniquement le protocole ICPM, a moins d'options et fonctionne de la même manière que traceroute.

Conclusion

Traceroute est un outil pratique pour diagnostiquer les connexions réseau, aidant à déterminer à quel nœud il y a des retards ou des restrictions pour la transmission du trafic. Dans le même temps, il n'est pas toujours facile d'interpréter les résultats de ses travaux en raison des règles de filtrage, des systèmes de redirection et de l'équilibrage du trafic. Pour diagnostiquer une application distribuée, une compréhension claire de l'architecture utilisée est nécessaire. La combinaison des options disponibles est également utile pour diagnostiquer les ressources externes.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 1
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300

Vous pourriez aussi aimer...

Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies et Politique de confidentialité.