Algemene concepten
De opdracht Traceroute, ook bekend als tracert in Windows, is een netwerkdiagnostisch hulpprogramma dat wordt gebruikt om het pad te traceren dat een datapakket aflegt van een bron naar zijn eindbestemming op internet. Deze tool is erg handig voor het identificeren van mogelijke netwerkproblemen, zoals hoge latentie of verloren pakketten.
Tijdens het traceren van de route verzendt het Traceroute-commando een reeks datapakketten over het netwerk, en elk pakket bevat een TTL-nummer (Time To Live), beginnend met de waarde 1. Elke keer dat een pakket aankomt bij een knooppunt op de route, netwerk, verlaagt het knooppunt de TTL-waarde met 1 voordat het pakket wordt doorgestuurd. Wanneer de TTL-waarde 0 bereikt, wordt het pakket weggegooid en stuurt het knooppunt een bericht 'tijd overschreden' naar de bron, wat aangeeft dat het pakket zijn bestemming niet kon bereiken en dat de toegestane tijd is overschreden.
De Traceroute-opdracht herhaalt dit proces voor elk knooppunt op de route totdat het pakket zijn eindbestemming bereikt. Aan het einde van het proces geeft de Traceroute-opdracht een lijst weer met de knooppunten op de route, samen met het IP-adres van elk knooppunt en de responstijd die het pakket nodig had om dat knooppunt te bereiken.
Gedetailleerde pakketvolgorde
De gedetailleerde werking van het Traceroute-commando kan als volgt worden uitgedrukt:
- Het Traceroute-commando verzendt een datapakket met een initiële TTL-waarde van 1 naar de eindbestemming.
- Het eerste knooppunt op het pakketpad zal het pakket ontvangen, de TTL-waarde met 1 verlagen en een “TTL verlopen”-antwoord naar de bron sturen.
- De oorsprong ontvangt het antwoord 'tijd overschreden' en registreert het IP-adres van het eerste knooppunt.
- Het Traceroute-commando stuurt nog een datapakket met een TTL-waarde van 2 naar de eindbestemming.
- Het tweede knooppunt op het pakketpad ontvangt het pakket, verlaagt de TTL-waarde met 1 en verzendt een 'tijd overschreden'-antwoord naar de bron.
- De oorsprong ontvangt het antwoord "tijd overschreden" en registreert het IP-adres van het tweede knooppunt.
- Dit proces wordt herhaald voor elk knooppunt in het pad van het pakket, waarbij de TTL-waarde bij elke iteratie toeneemt totdat het pakket de eindbestemming bereikt.
- Zodra het pakket de eindbestemming bereikt, geeft de Traceroute-opdracht het volledige pad van het pakket weer, inclusief het IP-adres en de responstijd van elk knooppunt op de route.
Wat is de opdracht in MikroTik RouterOS
Voor een voorbeeld van het gebruik van de Traceroute-opdracht op een Mikrotik RouterOS kunnen de volgende stappen worden gevolgd:
Ga naar de Mikrotik-routerinterface en open de opdrachtconsole.
Voer het Traceroute-commando in, gevolgd door het IP-adres of de domeinnaam van de bestemming waarnaar u de route wilt traceren. Om bijvoorbeeld het pad naar de Google-website te traceren, kunt u de volgende opdracht gebruiken:
[admin@MikroTik] > tool traceroute google.com
Wacht tot het routetraceringsproces is voltooid. Afhankelijk van het aantal knooppunten op het pad en de latentie van het netwerk kan dit proces enkele seconden of enkele minuten duren.
Bekijk de resultaten van de Traceroute-opdracht. De opdrachtuitvoer geeft een lijst weer met alle knooppunten op het pad naar de bestemming, samen met het IP-adres van elk knooppunt en de responstijd die nodig was om dat knooppunt te bereiken. Bijvoorbeeld:
ADDRESS STATUS
1 192.168.1.1 1ms 1ms 1ms
2 10.0.0.1 5ms 5ms 5ms
3 200.10.0.1 10ms 10ms 10ms
4 200.10.1.1 15ms 15ms 15ms
5 200.10.2.1 20ms 20ms 20ms
6 200.10.3.1 25ms 25ms 25ms
7 8.8.8.8 30ms 30ms 30ms
[admin@MikroTik] >
In dit voorbeeld ziet u dat het datapakket zes verschillende knooppunten passeerde voordat het de eindbestemming bereikte (8.8.8.8).
Verschil tussen Linux Traceroute en Windows Tracert
Er zijn enkele belangrijke verschillen tussen de twee opdrachten:
Opdrachtsyntaxis: De syntaxis van de Linux Traceroute-opdracht en de Windows Traceroute-opdracht is enigszins verschillend. Op Linux wordt het commando geschreven als “traceroute”, terwijl het op Windows wordt geschreven als “tracert”.
Commando-opties: De Linux Traceroute-opdracht en de Windows Tracert-opdracht hebben verschillende opdrachtopties. Op Linux ondersteunt de opdracht Traceroute bijvoorbeeld opties zoals -I om het gebruik van ICMP in plaats van UDP op te geven, terwijl op Windows de opdracht Traceroute opties zoals -h ondersteunt om het maximale aantal hops op te geven.
Uitvoerformaat: Het uitvoerformaat van de Linux Traceroute-opdracht en de Windows Traceroute-opdracht is ook verschillend. Op Linux geeft de opdracht Traceroute het IP-adres en de responstijd van elk knooppunt op de route weer, terwijl op Windows de opdracht Traceroute de naam van elk knooppunt en de responstijd weergeeft.
geavanceerde functionaliteit: De Linux Traceroute-opdracht is in staat geavanceerdere route-tracebacks uit te voeren, zoals reverse-route-tracebacks en multipath-tracebacks. Bovendien is de Linux Traceroute-opdracht beter aanpasbaar dan de Windows Traceroute-opdracht, waardoor de gebruiker de poort en pakketgrootte kan specificeren.
Samenvattend: hoewel beide opdrachten qua basisfunctionaliteit vergelijkbaar zijn, zijn er enkele significante verschillen in opdrachtsyntaxis, opdrachtopties, uitvoerformaat en geavanceerde functionaliteit.
Voorbeeld van de opdracht in Linux
traceroute google.com
1 192.168.1.1 (192.168.1.1) 1.107 ms 1.237 ms 1.353 ms
2 10.255.255.1 (10.255.255.1) 14.527 ms 14.622 ms 14.719 ms
3 172.16.1.1 (172.16.1.1) 25.817 ms 25.912 ms 26.005 ms
4 172.16.2.1 (172.16.2.1) 38.320 ms 38.414 ms 38.505 ms
5 203.208.222.125 (203.208.222.125) 38.601 ms 37.301 ms 37.392 ms
6 72.14.195.12 (72.14.195.12) 60.225 ms 60.318 ms 60.415 ms
7 108.170.247.65 (108.170.247.65) 61.424 ms 61.511 ms 61.605 ms
8 108.170.235.225 (108.170.235.225) 62.719 ms 62.814 ms 62.908 ms
9 108.170.232.193 (108.170.232.193) 63.016 ms 63.103 ms 63.197 ms
10 74.125.244.16 (74.125.244.16) 63.300 ms 63.386 ms 63.480 ms
11 172.253.50.138 (172.253.50.138) 64.685 ms 64.781 ms 64.877 ms
12 172.253.66.7 (172.253.66.7) 65.122 ms 65.217 ms 65.314 ms
13 172.253.50.246 (172.253.50.246) 66.493 ms 66.587 ms 66.680 ms
14 74.125.252.128 (74.125.252.128) 66.879 ms 66.965 ms 67.058 ms
15 216.58.214.142 (216.58.214.142) 67.252 ms 67.365 ms 67.454 ms
Voorbeeld van de opdracht in Windows
tracert google.com
Tracing route to google.com [172.217.12.142]
over a maximum of 30 hops:
1 1 ms 1 ms 1 ms 192.168.1.1
2 17 ms 17 ms 18 ms 10.255.255.1
3 27 ms 27 ms 27 ms 172.16.1.1
4 40 ms 40 ms 40 ms 172.16.2.1
5 38 ms 37 ms 37 ms 203.208.222.125
6 59 ms 59 ms 59 ms 108.170.247.65
7 61 ms 61 ms 61 ms 108.170.235.225
8 63 ms 63 ms 63 ms 108.170.232.193
9 64 ms 64 ms 64 ms 74.125.244.16
10 67 ms 67 ms 67 ms 172.253.50.138
11 67 ms 67 ms 67 ms 172.253.66.7
12 69 ms 69 ms 69 ms 172.253.50.246
13 66 ms 66 ms 66 ms 74.125.252.128
14 66 ms 66 ms 66 ms 216.58.214.142
Trace complete.
Wat is beter?
Over het algemeen zijn beide opdrachten (traceroute
y tracert
) zijn handig voor het opsporen van netwerkproblemen en het diagnosticeren van verbindingsproblemen. De keuze welke u wilt gebruiken, hangt af van besturingssystemen en persoonlijke voorkeuren.
Wat de specifieke kenmerken betreft, traceroute
op Linux biedt meer opties en geavanceerde functies dan tracert
op Windows, zoals ondersteuning voor UDP- en TCP-protocollen, en de mogelijkheid om de time-out en het aantal hops aan te passen. Echter, tracert
op Windows is het gemakkelijker te gebruiken en kan het in sommige gevallen duidelijkere, beter leesbare informatie opleveren.
Samenvattend hebben beide tools hun sterke en zwakke punten, en de keuze voor het een of het ander zal afhangen van het specifieke gebruik en de persoonlijke voorkeuren.