Traceroute (også kjent som tracert i Windows) er et nettverksverktøy som bestemmer banen som tas av pakker over Internett eller et privat nettverk ved å bruke Internet Control Message Protocol (ICMP) Echo Request og Echo Reply-meldinger. Traceroute hjelper med å finne ut hvor potensielle nettverksproblemer, for eksempel ventetid, pakketap eller overbelastning, kan oppstå langs banen mellom to nettverksenheter.
Det generelle konseptet for hvordan traceroute bruker ICMP ECHO-forespørsler for banesporing er som følger:
1. Traceroute starter med å sende en ICMP ECHO-forespørselsmelding med en lav Time-to-Live (TTL) verdi, vanligvis fra 1. TTL-feltet i en IP-pakke spesifiserer hvor mange nettverksenheter (rutere eller svitsjer) pakken kan passere gjennom før den kastes.
2. ICMP ECHO-forespørselen sendes til destinasjons-IP-adressen som brukeren ønsker å spore ruten til.
3. Hver nettverksenhet underveis som mottar ICMP ECHO-forespørselen reduserer TTL-verdien med 1. Hvis TTL når 0 før pakken når destinasjonen, sender enheten tilbake en ICMP Time Exceeded-melding med den originale pakken inkludert.
4. Traceroute mottar ICMP Time Exceeded-meldingene og trekker ut IP-adressen og annen relevant informasjon fra nettverksenhetene som svarte. Denne informasjonen brukes til å bestemme banen som pakkene tar.
5. Traceroute fortsetter å sende ICMP ECHO-forespørsler med gradvis økende TTL-verdier til destinasjons-IP-adressen er nådd, eller til en maksimal TTL-verdi er nådd. Dette gjør at traceroute kan identifisere hele ruten som pakkene tar.
Ved å analysere svarene mottatt fra nettverksenhetene langs banen, kan traceroute vise en liste over mellomliggende hopp (nettverksenheter) som pakkene krysser, sammen med tiden det tar for hvert hopp og eventuelle pakketap. Denne informasjonen hjelper nettverksadministratorer og brukere med å feilsøke problemer med nettverkstilkobling, identifisere latenspunkter og bestemme den beste banen mellom to noder i et nettverk.
Det er verdt å merke seg at mens traceroute primært bruker ICMP ECHO-forespørsler, kan noen versjoner også bruke andre protokoller, for eksempel User Datagram Protocol (UDP) eller Transmission Control Protocol (TCP), for banesporing. I tillegg, på Windows-systemer, kan tracert-kommandoen bruke TCP i stedet for ICMP som standard.