трејсрут

Из Википедије, слободне енциклопедије
traceroute исписује листу пређених рута у једноставном текстуалном формату, заједно са информацијама о времену

У рачунарству, traceroute је дијагностички алат компјутерских мрежа за приказ руте (путање) и мерење транзитног кашњења пакета преко IP мреже. Историја руте се чува у виду времена повратних путовања пакета примљених од узастопних пошиљалаца (хостова) (удаљени чворови); збир средњих времена у сваком скоку показује укупно време потрошено на успостављање конекције. Traceroute наставља са радом осим ако се сва три послата пакета изгубе више од двапут, у том случају конекција је изгубљена и рута не може бити процењена. Пинг, са друге стране, рачуна само финална времена повратних путовања пакета од одредишта.

traceroute команда је доступна на великом броју нових оперативних система. На Apple Mac OS систему, доступна је отварањем 'Network Utilities', затим бирањем 'Traceroute' одељка, као и куцањем "traceroute" команде у терминалу. На осталим Unix системима, као што су FreeBSD или Linux, доступна је као Шаблон:Man команда у терминалу. На Microsoft Windows систему, названа је tracert. Оперативни системи на бази Windows NT такође омогућују PathPing, са сличном функцијом. У протоколу (IPv6) алатка некада носи име traceroute6 или tracert6.

Имплементација[уреди]

Traceroute на систему Snow Leopard – Mac

Traceroute, у основи, шаље секвенцу (UDP) пакета адресираних ка одредишту (хосту); ICMP Echo Request или TCP SYN пакети се такође користе.[1] Вредност времена активације (TTL), познатог и као hop limit, се користи у одређивању посредничких рутера преко којих се стиже до одредишта. Рутери смањују вредност TTL пакета за 1 када преко њих пролазе и одбацује пакете чија је TTL вредност дошла до нуле, враћајући ICMP поруку о грешци ICMP Time Exceeded.[2] Честе почетне вредности TTL пакета су 128 (Windows OS) и 64 (Unix OS).

Traceroute ради тако што шаље пакете са постепено све већом TTL вредношћу, почињући са TTL вредношћу 1. Први рутер прима пакет, смањује TTL вредност за 1 и одбацује пакет јер он тада има TTL вредност 0. Рутер шаље ICMP Time Exceeded поруку назад извору. Следећи сет пакета добија TTL вредност 2 те први рутер прослеђује пакет, али га други одбацује шаљући назад ICMP Time Exceeded поруку. Настављајући овако, traceroute користи враћене ICMP Time Exceeded поруке да изгради листу рутера кроз које пакети путују док се не достигне одредиште и не врати ICMP Echo Reply порука.[2]

Временске вредности враћене од сваког рутера на путањи су вредности кашњења (latency) обично мерене у милисекундама за сваки пакет.

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

Пошиљалац очекује одговор у специфичном броју секунди. Ако пакет није пристигао у одређеном интервалу приказује се звездица. Интернет протокол (IP) не захтева да пакети иду истом путањом до одређеног одредишта па листа хостова може бити сачињена од хостова до којих су стизали други пакети. Ако хост не одговори у #N скоку тај скок се прескаче на излазу.

На Unix оперативним системима traceroute користи (UDP) датаграме са дестинацијом броја порта који иде од 33434 до 33534. Тraceroute обично има опцију да уместо тога користи ICMP Echo Request (type 8) пакете, као што то Windows tracert ради, или да користи TCP SYN пакете.[1][2] Ако мрежа има firewall и ради и са Windows и са Unix системима, више од једног протокола мора бити укључено кроз firewall да би traceroute радио и примао одговоре.

Неке traceroute имплементације користе TCP пакете, као на пример tcptraceroute или layer four traceroute. PathPing је могућност представљена код Windows NT система која комбинује пинг и функционалност traceroute-а. MTR јепобољшана верзија ICMP traceroute-а доступна за Unix и Windows системе. Разне traceroute имплементације се ослањају на ICMP Time Exceeded (type 11) пакете који се шаљу извору.

Тraceroute имплементације које се испоручују уз системе: Linux, FreeBSD, NetBSD, OpenBSD, DragonFly BSD и Mac OS X и имају и опцију за коришћење ICMP Echo пакета (-I) или било ког арбитрарног протокола (-P) као што су UDP, TCP или ICMP.

"Cisco“ traceroute имплементација такође користи секвенцу UDP датаграма, сваку са инкрементираном TTL вредношћу, до неважећег броја порта код удаљеног хоста. У основи користи се UDP 33434 порт. Проширене верзије ове команде (познате као extended traceroute команда) могу да промене број одредишног порта коришћен од стране UDP порука.[3]

Примена[уреди]

Већина имплементација укључује опције за одређивање броја упита који се шаљу по скоку, времена чекања на одговор, hop limit (ограничење скока) и одређивање који ће се порт користити. Позивање traceroute команде без одређених опција приказује листу доступних опција док man traceroute представља више детаља, укључујући и упозорења о грешкама које се приказују. Једноставан пример на Linux систему:

$ traceroute -w 3 -q 1 -m 16 example.com

У наведеном примеру изабране опције су да се чека 3 секунде (уместо 5), слање само једног упита по скоку (уместо 3), ограничавање максималног броја скокова на 16 пре одустајања (уместо 30), са example.com као крајњим хостом.

Ово може помоћи у одређивању некоректних дефиниција путања или firewall система који можда блокирају ICMP саобраћај, или виши UDP порт, до одредишта. Треба приметити да firewall може да дозволи проток ICMP пакета али да не дозволи проток пакета осталих протокола.

Traceroute се такође користи од стране тестера пробојности у сврху скупљања информација о инфраструктури мреже и IP досезима око датог хоста.

Такође се може користити при преузимању података. Ако постоји више доступних дестинација са којих се примају податци за исти део податка, може се пратити свака дестинација да се утврди коју је дестинацију најбрже користити.

Порекло[уреди]

Traceroute упутство тврди да је оригинални traceroute програм написан од стране Ван Јакобсона 1987. на сугестију Стива Диринга, са посебно убедљивим сугестијама или исправкама Филипа Вуда, Тима Севера и Кена Аделмана. Такође, проналазач пинг програма, Мајк Мус, тврди на свом веб сајту да је traceroute написан уз помоћ кернел ICMP подршке коју је раније кодирао да укључи чисте ICMP сокете које је користио када је први пут правио пинг програм.[4]

Референце[уреди]

  1. ^ а б „traceroute(8) - Linux man page“. linux.die.net Приступљено 26. 2. 2014.. 
  2. ^ а б в Comer, Douglas (2004). Computer Network and Internets with Internet Applications. Pearson Education, Inc.. стр. 360-362. ISBN 0131433512. 
  3. ^ „Understanding the Ping and Traceroute Commands“. Cisco IOS Software Releases 12.1 Mainline. cisco.com. 29. 11. 2006. Приступљено 8. 12. 2013.. 
  4. ^ The Story of the PING Program

Спољашње везе[уреди]