V Linuxe je TTL (Time to Live) hodnota, ktorá definuje čas, počas ktorého môže paket v sieti prežiť. Toto pole je obsiahnuté v hlavičke paketu IP a definuje maximálny počet krokov (počet uzlov, cez ktoré môže paket prejsť), ktoré môže paket urobiť, kým bude zahodený.
Pri každom prechode paketu cez smerovač v sieti sa hodnota TTL zníži o 1. Ak hodnota TTL dosiahne nulu, paket sa odstráni zo siete a odošle sa späť odosielateľovi so správou "životnosť vypršala". To pomáha zabrániť nekonečnému kolovaniu paketov v sieti, ktoré nemôžu dosiahnuť svoj cieľ.
V systéme Linux môžete nastaviť hodnotu TTL pre odchádzajúce pakety pomocou nástroja ping s voľbou -t
. Napríklad príkaz "ping -t 10.0.0.1" odošle pakety ICMP hostiteľovi 10.0.0.1 s nastavením TTL na predvolenú hodnotu, zvyčajne 64. Ak chcete zmeniť hodnotu TTL, môžete použiť možnosť -i
, napríklad príkaz "ping -t 10.0.0.0.1 -i 128" nastaví TTL na 128.
Po prvé, TTL sa používa na to, aby sa zabránilo nekonečnému kolovaniu paketov po sieti, ktoré nemôžu dosiahnuť svoj cieľ. Ak paket prejde cez smerovač v sieti a TTL dosiahne nulu, paket sa odstráni zo siete a odošle sa späť odosielateľovi so správou "time to live expired". To pomáha predchádzať strate paketov a znižovať zaťaženie siete.
Po druhé, TTL sa používa aj na určenie optimálnej cesty na prenos paketu v sieti. Ak majú uzly v sieti rôzne hodnoty TTL, smerovače vyberú kratšiu cestu pre pakety s nižšou hodnotou TTL, čo môže urýchliť doručenie paketu.
Napokon, v systéme Linux sa TTL môže používať na testovanie sieťovej konektivity a diagnostiku problémov so sieťou. Napríklad príkaz ping s voľbou -t
umožňuje posielať pakety s danou hodnotou TTL na vzdialeného hostiteľa a merať čas potrebný na získanie odpovede. Ak nedostanete žiadnu odpoveď, môže to znamenať problémy so sieťou alebo to, že vzdialený hostiteľ nie je dosiahnuteľný.