A traceroute, amint a neve is sugallja, nem más, mint végigkövetni egy csomag útját a source-tól a destination-ig. Lényegében listázza a rouretek IP címeit, amelyeken a csomag áthalad a destination-ig…
A traceroutingot kipróbálhatod Windowson: tracert szoftvertipp.info
A parancs futtatásakor láthatod, hogy a szoftvertipp.info IP címe 174.132.164.91 és kiírja az összes router IP címét, végül a destination host-ét, amin a csomag végigment.
Hogyan működik?
Ha már tanulmányoztad picit az IP datagramot (ha még nem, akkor nézz rá: angol), akkor láthattad, hogy van egy TTL (Time To Live) mező, amit minden router csökkent 1et, ha a csomag áthalad rajta, majd ha a TTL field értéke 0, akkor megsemmisíti a csomagot és egy csomagot küld a source hostnak, hogy a csomag amit küldött megsemmisült. Erre azért van szükség, hogy az eltévedt csomagok ne bolyongjanak a hálózaton a végtelenségig, hanem ha nem érik el a céljukat, akkor semmisüljenek meg.
Ezt használja ki a traceroute: az első csomag TTL fieldje 1, mikor az első router megkapja, csökkenti az értéket, az 0 lesz, szóval meg fogja semmisíteni a csomagot és egy csomagot küld vissza a sourcenak, miszerint a csomag megsemmisült. Ebből a csomagból meg van a router IP címe (source mező), amit csak ki kell írni.
Most egy másik csomagot küld 1el nagyobb TTL értékkel, ami most 2, szóval a 2. routerrel fogja ugyanazt eljátszani, mint az előbb az elsővel. És így tovább csinálja az összes routerrel amíg a visszaküldött csomag source címe nem azonos a destinationével, vagyis amíg nem az a host küldi megsemmisítés után a csomagot, ahova a miénket akartuk küldeni.
Egy pár példa
Vegyük a következő hálózatot. Hasból adtam az IP címeket, most úgyse azon van a lényeg.

Tegyük fel, hogy a host1-en vagyunk és ott írjuk be a tracert 80.24.0.3 parancsot. Most hasból megadom, hogy hol fog végigmenni a csomag, ha meg lennének adva a routerek routing táblái, akkor te kell majd kiszámold az útvonalat. Most mondjuk, hogy az útvonal Host1től Host3ig a következő: Host1 -> R1 -> R4 -> R5 -> R3 -> Host3. A tracert parancs a következő IP listát fogja kiírni:
1. 10.0.0.1 (R1)
2. 10.0.1.2 (R4)
3. 10.0.3.2 (R5)
4. 10.0.5.2 (R3)
5. 80.24.0.3 (Host3)
Vegyünk még egy példát, most a Host2től megy a csomag Host1 fele a következő útvonalon: Host2 -> R2 -> R5 -> R1 -> Host1.
1. 10.0.7.1 (R2)
2. 10.0.4.1 (R5)
3. 10.0.2.1 (R1)
4. 80.24.0.1 (Host1)
Nagyjából ennyi a tracerouting is és ezzel befejeztük a hálózatok tutorialt. Sok sikert!
Hálózatok tutorial:
1. rész: Hálózatok tutorial – bemelegítés
2. rész: Hálózatok tutorial – CIDR elmélet
3. rész: Hálózatok tutorial – CIDR példa
4. rész: Hálózatok tutorial: routing táblázat
5. rész: Hálózatok tutorial: traceroute
Szerző: László Gazsi
Szabadúszó frontend fejlesztő. Honlapom: Freelance Software Developer.