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 ispisuje listu pređenih ruta u jednostavnom tekstualnom formatu, zajedno sa informacijama o vremenu

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 [[[:Шаблон:Man/man.cx]] traceroute(Шаблон:Man/man.cx)] – Š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

uredi

Traceroute, 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

uredi

Već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

uredi

Traceroute 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
  1. ^ a b „traceroute(8) - Linux man page”. linux.die.net. Pristupljeno 26. 2. 2014. 
  2. ^ a b v Comer 2004, str. 360–362
  3. ^ „Understanding the Ping and Traceroute Commands”. Cisco IOS Software Releases 12.1 Mainline. cisco.com. 29. 11. 2006. Pristupljeno 8. 12. 2013. 
  4. ^ [„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