Time to live

Из Википедије, слободне енциклопедије

Vreme života (TTL - eng. Time To Live) ili ograničenje skoka (eng. Hop Limit) je mehanizam koji ograničava životni vek podatka u računaru ili računarskoj mreži. TTL može da se implementira kao brojač ili kao oznaka za vreme koji je prikačen za podatak ili ugrađen u isti. Kada se predefinisan događaj desi tj. brojač ili vremensko ograničenje isteknu, podatak će se odbaciti. U računarskim mrežama, TTL sprečava da paket podatka beskonačno kruži kroz mrežu. U računskim aplikacijama, TTL se koristi da unapredi performanse keša ili da poboljša privatnost.

IP paketi[уреди]

Pod internet protokolom, TTL je osmobitno polje (bajt). U IPv4 zaglavlju, TTL je deveti oktet od 20 ukupno. U IPv6 zaglavlju, je 8. oktet od 40. Maksimalna TTL vrednost je 255, sto je maksimalna vrednost jednog okteta (bajta). Preporučena inicijalna vrednost je 64.

Vrednost TTL može da se zamisli kao gornja granica vremena koje IP paket može da provede u internet sistemu. TTL polje se podešava od strane pošiljaoca paketa, i smanjuje se od strane svakog rutera na putu do odredišta. Ako TTL polje dostigne nulu pre nego što paket stigne do odredišta, paket će biti odbačen i ICMP (eng. Internet Control Message Protocol) paket greške (11 - vreme isteklo) će biti poslat nazad pošiljaocu. Svrha TTL polja jeste da izbegne situacije u kojima će paket koji je nemoguće dostaviti beskonačno kružiti internet sistemom, koji ce tako u jednom trenutku postati preplavljen ovakvim 'besmrtnim' porukama.

U teoriji, pod IPv4, TTL se meri u sekundama, iako svaki host koji predaje dalje paket mora da smanji TTL za bar jednu jedinicu. U praksi, TTL polje se smanjuje za jedan svakim skok-om. Da bi odgovaralo ovoj praksi, ime je promenjeno u ogranicenje skoka eng. Hop Limit u IPv6.

DNS zapisi[уреди]

TTL-ovi se takodje pojavljuju u DNS, gde bivaju podešeni od strane autoritativnog nameserver-a (eng. Autoritative Nameserver) kao poseban podatak resursa. Kada hvatajuci nameserver upita autoritativni nameserver za podatak resursa, uhvatiće podatak vezan za vreme (u sekundama) određen TTL-om. Ako primalac upita hvatajući nameserver za isti podatak pre nego sto TTL istekne, hvatajući server će jednostavno odgovoriti sa već uhvaćenim podatkom resursa umesto da ga ponovo pribavi od autoritativnog nameserver-a ponovo. Nameserver-i mogu takodje imati TTL podešen za NXDOMAIN (potvrda da domen ne postoji), ali oni uglavnom kratko traju (tri sata najviše).

Kraći TTL-ovi mogu da izazovu jača (češća) učitavanja na autoritativnom nameserver-u, ali mogu biti korisni kada se menja adresa kritičnih servisa poput Web servosa ili MX record-a, i stoga su često smanjeni od strane DNS-a sa administratorskim prioritetom do 'servis premešten', kako bi se minimalizovale štete.

Korišćene jedinice su sekunde. Stara česta TTL vrednost za DNS je bila 86400 sekundi, sto je ustvari 24 sata. TTL vrednost 86400 bi značila da, ukoliko je DNS podatak promenjen na autoritativnom nameserver-u, ostali DNS serveri u svetu bi mogli prikazivati stare vrednosti iz svog keša narednih 24 sata nakon izmene.

Novije DNS metode koje su deo sistema za (oporavak od katastrofe) (eng. Disaster Recovery, DR) mogu raspolagati nekim podacima (namerno) vrlo kratkim vremenskim periodom podešenim TTL-om. Na primer 300 sekundi životnog veka bi pomoglo ključnim podacima da isteknu u roku od 5 minuta kako bi se osiguralo da su ovi podaci brzo ažurirani sirom sveta. Ovo daje administratorima mogućnost da prepravljaju i ažuriraju podatke koje su od vremenskog značaja. TTL vrednosti su izrazene kao "po sekundi" i podešavanje ovih vrednosti na određenim podacima je ponekad automatski podržano od strane svih standardnih DNS sistema širom sveta. Ipak, problem je u tome da mnogi hvatajući DNS nameserver-i podešavaju sopstvene TTL-ove bezobzira na autoritatvne podatke, zbog čega se ne moze garantovati da će na svim DNS serverima biti nova, promenjena vrednost nakon što TTL istekne.

HTTP[уреди]

Vreme života (životni vek, TTL) se može takođe izraziti kao datum i vreme kada će podatak isteći. Expires: zaglavlje HTTP odgovora i expires polje u HTTP cookie-jima izražavaju TTL na ovaj način.