трејсрут
U računarstvu, traceroute
je dijagnostički alat računarskih mreža za prikaz rute (putanje) i merenje tranzitnog kašnjenja paketa preko IP mreže. Istorija rute se čuva u vidu vremena povratnih putovanja paketa primljenih od uzastopnih pošiljalaca (hostova) (udaljeni čvorovi); zbir srednjih vremena u svakom skoku pokazuje ukupno vreme potrošeno na uspostavljanje konekcije. Traceroute nastavlja sa radom osim ako se sva tri poslata paketa izgube više od dvaput, u tom slučaju konekcija je izgubljena i ruta ne može biti procenjena. Ping, sa druge strane, računa samo finalna vremena povratnih putovanja paketa od odredišta.
traceroute
komanda je dostupna na velikom broju novih operativnih sistema. Na Apple Mac OS sistemu, dostupna je otvaranjem 'Network Utilities', zatim biranjem 'Traceroute' odeljka, kao i kucanjem "traceroute" komande u terminalu. Na ostalim Unix sistemima, kao što su FreeBSD ili Linux, dostupna je kao – Šablon:Man/man.cx komanda u terminalu. Na Windows sistemu, nazvana je tracert
. Operativni sistemi na bazi Windows NT takođe omogućuju PathPing, sa sličnom funkcijom. U protokolu (IPv6) alatka nekada nosi ime traceroute6
ili tracert6
.
Implementacija
urediTraceroute, u osnovi, šalje sekvencu (UDP) paketa adresiranih ka odredištu (hostu); ICMP Echo Request ili TCP SYN paketi se takođe koriste.[1] Vrednost vremena aktivacije (TTL), poznatog i kao hop limit, se koristi u određivanju posredničkih rutera preko kojih se stiže do odredišta. Ruteri smanjuju vrednost TTL paketa za 1 kada preko njih prolaze i odbacuje pakete čija je TTL vrednost došla do nule, vraćajući ICMP poruku o grešci ICMP Time Exceeded.[2] Česte početne vrednosti TTL paketa su 128 (Windows OS) i 64 (Unix OS).
Traceroute radi tako što šalje pakete sa postepeno sve većom TTL vrednošću, počinjući sa TTL vrednošću 1. Prvi ruter prima paket, smanjuje TTL vrednost za 1 i odbacuje paket jer on tada ima TTL vrednost 0. Ruter šalje ICMP Time Exceeded poruku nazad izvoru. Sledeći set paketa dobija TTL vrednost 2 te prvi ruter prosleđuje paket, ali ga drugi odbacuje šaljući nazad ICMP Time Exceeded poruku. Nastavljajući ovako, traceroute koristi vraćene ICMP Time Exceeded poruke da izgradi listu rutera kroz koje paketi putuju dok se ne dostigne odredište i ne vrati ICMP Echo Reply poruka.[2]
Vremenske vrednosti vraćene od svakog rutera na putanji su vrednosti kašnjenja (latency) obično merene u milisekundama za svaki paket.
Hop 192.168.1.2 Depth 1 Probe status: unsuccessful Parent: () Return code: Label-switched at stack-depth 1 Sender timestamp: 2008-04-17 09:35:27 EDT 400.88 msec Receiver timestamp: 2008-04-17 09:35:27 EDT 427.87 msec Response time: 26.92 msec MTU: Unknown Multipath type: IP Address Range 1: 127.0.0.64 ~ 127.0.0.127 Label Stack: Label 1 Value 299792 Protocol RSVP-TE
Pošiljalac očekuje odgovor u specifičnom broju sekundi. Ako paket nije pristigao u određenom intervalu prikazuje se zvezdica. Internet protokol (IP) ne zahteva da paketi idu istom putanjom do određenog odredišta pa lista hostova može biti sačinjena od hostova do kojih su stizali drugi paketi. Ako host ne odgovori u #N skoku taj skok se preskače na izlazu.
Na Unix operativnim sistemima traceroute koristi (UDP) datagrame sa destinacijom broja porta koji ide od 33434 do 33534. Traceroute obično ima opciju da umesto toga koristi ICMP Echo Request (type 8) pakete, kao što to Windows tracert
radi, ili da koristi TCP SYN pakete.[1][2] Ako mreža ima firewall i radi i sa Windows i sa Unix sistemima, više od jednog protokola mora biti uključeno kroz firewall da bi traceroute radio i primao odgovore.
Neke traceroute implementacije koriste TCP pakete, kao na primer tcptraceroute ili layer four traceroute. PathPing je mogućnost predstavljena kod Windows NT sistema koja kombinuje ping i funkcionalnost traceroute-a. MTR jepoboljšana verzija ICMP traceroute-a dostupna za Unix i Windows sisteme. Razne traceroute implementacije se oslanjaju na ICMP Time Exceeded (type 11) pakete koji se šalju izvoru.
Traceroute implementacije koje se isporučuju uz sisteme: Linux, FreeBSD, NetBSD, OpenBSD, DragonFly BSD i Mac OS X i imaju i opciju za korišćenje ICMP Echo paketa (-I
) ili bilo kog arbitrarnog protokola (-P
) kao što su UDP, TCP ili ICMP.
"Cisco“ traceroute implementacija takođe koristi sekvencu UDP datagrama, svaku sa inkrementiranom TTL vrednošću, do nevažećeg broja porta kod udaljenog hosta. U osnovi koristi se UDP 33434 port. Proširene verzije ove komande (poznate kao extended traceroute komanda) mogu da promene broj odredišnog porta korišćen od strane UDP poruka.[3]
Primena
urediVećina implementacija uključuje opcije za određivanje broja upita koji se šalju po skoku, vremena čekanja na odgovor, hop limit (ograničenje skoka) i određivanje koji će se port koristiti. Pozivanje traceroute
komande bez određenih opcija prikazuje listu dostupnih opcija dok man traceroute
predstavlja više detalja, uključujući i upozorenja o greškama koje se prikazuju. Jednostavan primer na Linux sistemu:
$ traceroute -w 3 -q 1 -m 16 example.com
U navedenom primeru izabrane opcije su da se čeka 3 sekunde (umesto 5), slanje samo jednog upita po skoku (umesto 3), ograničavanje maksimalnog broja skokova na 16 pre odustajanja (umesto 30), sa example.com
kao krajnjim hostom.
Ovo može pomoći u određivanju nekorektnih definicija putanja ili firewall sistema koji možda blokiraju ICMP saobraćaj, ili viši UDP port, do odredišta. Treba primetiti da firewall može da dozvoli protok ICMP paketa ali da ne dozvoli protok paketa ostalih protokola.
Traceroute se takođe koristi od strane testera probojnosti u svrhu skupljanja informacija o infrastrukturi mreže i IP dosezima oko datog hosta.
Takođe se može koristiti pri preuzimanju podataka. Ako postoji više dostupnih destinacija sa kojih se primaju podaci za isti deo podatka, može se pratiti svaka destinacija da se utvrdi koju je destinaciju najbrže koristiti.
Poreklo
urediTraceroute uputstvo tvrdi da je originalni traceroute program napisan od strane Van Jakobsona 1987. na sugestiju Stiva Diringa, sa posebno ubedljivim sugestijama ili ispravkama Filipa Vuda, Tima Severa i Kena Adelmana. Takođe, pronalazač ping programa, Majk Mus, tvrdi na svom veb sajtu da je traceroute napisan uz pomoć kernel ICMP podrške koju je ranije kodirao da uključi čiste ICMP sokete koje je koristio kada je prvi put pravio ping program.[4]
Reference
uredi- ^ a b „traceroute(8) - Linux man page”. linux.die.net. Pristupljeno 26. 2. 2014.
- ^ a b v Comer 2004, str. 360–362
- ^ „Understanding the Ping and Traceroute Commands”. Cisco IOS Software Releases 12.1 Mainline. cisco.com. 29. 11. 2006. Pristupljeno 8. 12. 2013.
- ^ [„The Story of the PING Program[[Kategorija:Botovski naslovi]]”. Arhivirano iz originala 14. 05. 2011. g. Pristupljeno 28. 04. 2014. Sukob URL—vikiveza (pomoć) The Story of the PING Program]
Literatura
uredi- Comer, Douglas (2004). Computer Network and Internets with Internet Applications. Pearson Education, Inc. str. 360—362. ISBN 978-0-13-143351-9.
Spoljašnje veze
uredi- RFC 1393: Traceroute using an IP Option Internet RFC
- How traceroute works – InetDaemon
- traceroute.org Online traceroute services.
- Tracert – Windows XP Command-line reference
- Traceroute test