Traceroute
Diagnostic qui liste les routeurs sur le chemin d'un hôte en envoyant des sondes au TTL IP croissant.
traceroute (tracert sous Windows) cartographie les routeurs entre vous et une destination. Il exploite le champ TTL de l'IP : la sonde 1 est envoyée avec TTL 1, le premier routeur la décrémente à 0 et répond par un ICMP Time Exceeded, exposant son adresse IP. La sonde 2 part avec TTL 2, le second routeur répond, et ainsi de suite, jusqu'à ce qu'une sonde atteigne enfin la destination, qui répond d'une autre façon mettant fin à la trace.
Les sondes elles-mêmes ne sont pas standardisées. Le traceroute Unix classique envoie des datagrammes UDP vers des ports hauts improbables et interprète ICMP Port Unreachable venant de la destination comme marqueur de fin. tracert sous Windows envoie directement des ICMP Echo Request. Les variantes modernes (tcptraceroute, traceroute -T) utilisent un SYN TCP vers un port réel comme 80 ou 443, ce qui passe bien plus souvent les pare-feux qui jettent l'UDP et l'ICMP non sollicité.
La latence affichée est le temps de réponse par saut, pas le temps que le paquet a passé sur le routeur. Une latence élevée au saut 3 avec une latence faible au saut 4 signifie en général que le plan de contrôle du saut 3 répond lentement, pas que le trafic a été réellement retardé là. De même, les astérisques (* * *) signifient qu'un routeur n'a pas répondu à la sonde — souvent à cause d'un rate-limiting ICMP — et n'indiquent pas forcément une perte de paquets pour le vrai trafic.
Les chemins Internet sont souvent asymétriques : le retour de chaque routeur peut différer de l'aller que vous sondez, donc le temps aller-retour reflète les deux sens. traceroute complète donc ping pour localiser où une session échoue, mais le lire correctement suppose de prendre les valeurs par saut comme des indices et non comme des mesures précises.
Points clés
- Incrémente le
TTLIP et lit les réponses ICMPTime Exceeded - Défaut Unix : UDP sur ports hauts ;
tracertWindows : ICMP Echo ; variantes TCP pour chemins filtrés - La latence par saut reflète la vitesse de réponse du routeur, pas le délai de transit
* * *indique en général un rate-limiting ICMP, pas une vraie perte- Chemins souvent asymétriques — la route de retour peut varier par saut
- Complète
pingpour localiser le point de rupture d'une session - Même principe en IPv6 via ICMPv6 Time Exceeded