Přejít na hlavní obsah

TTL-co to je při pingu a jak to funguje

Při provádění síťového testování pomocí příkazu ping v operačním systému Linux nebo Windows můžete získat data o TTL (Time To Live nebo life time).

TTl je parametr, který označuje omezení doby životnosti síťového paketu při jeho přeposílání přes síť. Pointa je, že každý router, když se setká s paketem, sníží hodnotu TTL a přeskočí ji dále. TTL se tak vyhne jednotlivým balíčkům, které mohou v síti neomezeně bloudit.

Pokud TTL dosáhne nuly, pak je paket odstraněn ze sítě a odeslán zpět odesílateli s chybovou zprávou (ICMP time Exceeded). Použití TTL umožňuje detekovat směrovací smyčky a zabránit nekontrolovanému nárůstu provozu v síti.

Při provádění pingu vám mohou být poskytnuty údaje o balíčku TTL, který byl odeslán a době jeho dodání. Když znáte hodnotu TTL, můžete přibližně určit počet routerů, kterými balíček prošel, a odhadnout rychlost přenosu dat.

Definice TTL při pingu

Když je datový paket odeslán přes síť, hodnota TTL je nastavena odesílatelem. Každý mezilehlý uzel, kterým paket prochází, snižuje hodnotu TTL na jednotku. Pokud hodnota TTL dosáhne nuly, pak je paket vyřazen a odesílatel obdrží chybovou zprávu ve formě upozornění ICMP (Internet Control Message Protocol).

Použití TTL při pingu umožňuje určit trasu, která následuje po balíčku od odesílatele k příjemci. Každý hop je mezilehlý uzel nebo počítač v síti, kterým paket prochází na cestě ke svému účelu. Při vypisování výsledků pingu se obvykle zobrazuje počet hopů, doba procházení paketu mezi hopsačkami a celková doba odezvy (ping time).

HopIP adresaDoba odezvy (ms)
1192.168.1.15
210.0.0.13
3172.16.0.12
48.8.8.810

Ve výše uvedeném příkladu Pinga výsledky ukazují, že balíček prošel čtyřmi Hopy, než dosáhl cíle. Hodnotu TTL lze použít k určení potřeby optimalizace sítě nebo identifikace problémových uzlů.

Role TTL v procesu pingu

Když je odeslán požadavek ping, je umístěn v paketu IP a má vlastnost TTL, která je nastavena nativně. TTL je číselná hodnota zadaná v balíčku a ukazuje, jak dlouho může balíček žít a kolik routerů může projít.

TTLPopis
1Balíček bude vyřazen prvním routerem
2Balíček může projít pouze dvěma routery
. Pokračuje přírůstek TTL pro každý router, kterým paket prochází

Když paket prochází routerem, jeho TTL se sníží o jednotku. Pokud TTL dosáhne nuly, router zahodí paket a odešle zpět chybovou zprávu "Time Exceeded" (čas vypršel). To umožňuje odesílateli pingu získat informace o trasových uzlech, kterými balíček prošel, a určit čas strávený doručováním.

TTL tedy hraje důležitou roli v procesu pingu, což umožňuje sledovat směrování paketů a identifikovat problémy v síti spojené s vyčerpáním zdrojů nebo nesprávným nastavením routerů.

Jak funguje TTL při pingu

Když spustíte příkaz ping v operačním systému Windows nebo nástroji ping v systémech podobných Unixu TCP/IP, pakety s určitou hodnotou TTL jsou odeslány ke vzdálenému hostiteli. Počáteční hodnota TTL je obvykle 64. Při procházení každým mezilehlým routerem se hodnota TTL sníží o 1. Pokud hodnota TTL dosáhne nuly, router zahodí paket a odešle zpět ICMP zprávu Time Exceeded (doba života vypršela).

Použití hodnoty TTL umožňuje sledovat počet skoků paketu mezi síťovými uzly a detekovat místa možných poruch nebo přetížení v síti. To také umožňuje určit trasu sledování dat.

Stanovení optimální hodnoty TTL může vyžadovat řadu iterací pro konkrétní síť nebo vzdáleného hostitele. Při prodloužení životnosti balíčku je možné snížit výkon sítě kvůli zvýšenému počtu skoků, které musí balíček provést. Příliš nízká hodnota TTL však může vést k vyřazení paketů a problémům s doručováním dat.

Aplikace TTL v síťové komunikaci

Každý síťový paket odeslaný přes síť obsahuje pole s hodnotou TTL, které udává, kolik "skoků" nebo "kroků" může paket v síti provést. Při procházení každého routeru se hodnota TTL sníží o jednotku. Pokud hodnota TTL dosáhne nuly, paket bude vyřazen.

Hlavní aplikací TTL je zabránit nepřetržité cirkulaci paketů v síti. Pokud se paket dostane do smyčky, bude nekonečně přenášen z jednoho routeru do druhého. Také parametr TTL umožňuje sledovat dobu životnosti dat, jinak mohou zůstat" zaseknuté " v síti a ucpat šířku pásma.

Pokud nastavíte nízkou hodnotu TTL, pak budou pakety rychle vyřazeny, což může být užitečné v případech, kdy je nutná rychlá reakce na ztrátu dat nebo je třeba zabránit dlouhému čekání na odpověď. Naproti tomu nastavení vysoké hodnoty TTL umožňuje paketům procházet dlouhé trasy sítě a dosáhnout vzdáleného počítače nebo serveru.

Obvykle jsou TTL nastaveny na úrovni operačního systému a výchozí hodnota se může lišit v různých síťových zařízeních a operačních systémech. Uživatel může ručně změnit hodnotu TTL pro konkrétní balíček nebo relaci pomocí softwaru síťového nástroje. Ve výchozím nastavení, když pingujete vzdálený počítač, operační systém automaticky nastaví hodnotu TTL pro ICMP pakety používané při odesílání balíčků ICMP Echo Request a přijímání ICMP Echo Reply.