Co je Traceroute a k čemu ho používáte?
Při brouzdání internetem se snadno zapomíná na složitou infrastrukturu, která zajišťuje jeho plynulý chod. Každý datový paket, ať už jde o textovou zprávu nebo fotografii, musí projít řadou uzlů a serverů, aby se dostal ke svému cíli.
Bohužel, nejvíce si uvědomíme tuto komplexitu ve chvíli, kdy se nemůžeme připojit k webu. Problém může ležet na vaší straně, na straně cílového serveru, nebo někde mezi nimi. K určení, kde přesně se chyba nachází, se nejlépe hodí nástroj Traceroute.
Co je Traceroute?
Traceroute je metoda, která umožňuje sledovat cestu, kterou urazí vaše datové pakety při putování internetem. Prakticky každý moderní operační systém je vybaven nástrojem, který umožňuje sledování trasy.
Když spustíte Traceroute, musíte mu sdělit, jakou webovou stránku nebo server chcete sledovat. Obvykle se jedná o URL adresu stránky, na kterou se snažíte dostat, ale lze zadat i IP adresu.
Po spuštění Traceroute vyšle pakety směrem k určenému cíli. Poté zaznamenává, kudy pakety putují, a tyto informace odešle zpět do vašeho počítače, kde se zobrazí přehled trasy.
Tato funkce je velmi užitečná při hledání problémů v síti. Pokud dojde k výpadku serveru nebo výměnného bodu, Traceroute na problém narazí a upozorní na něj. Tyto informace pak můžete využít k diagnostice, co se přesně děje.
Jak Traceroute funguje?
Traceroute je šikovný nástroj pro diagnostiku síťových chyb. Jeho existence je založena na chytrém využití proměnné v datovém paketu, zvané „Time-to-Live“ (TTL).
Co je to „Time-to-Live“ paketu?
V ideálním případě by datový paket měl bez problémů putovat z jednoho místa na druhé. Měl by zvolit nejrychlejší trasu a nezdržovat se.
Bohužel, sítě mohou být komplikované. Chyba v konfiguraci serveru může způsobit, že pakety budou putovat mezi servery v nekonečné smyčce. Takový stav může zahlcovat síť neustále se vracejícími pakety.
Chytré hlavy, které vymyslely datové pakety, přišly s řešením, jak tento problém vyřešit: „time-to-live“ (TTL). Každému paketu se před odesláním přiřadí hodnota TTL, která je větší než 0. Pokud hodnota TTL dosáhne 0, paket je označen za „mrtvý“ a zničen.
Během své cesty paket projde několika servery. Pokaždé, když dorazí na server, se hodnota jeho TTL sníží o 1. Obvykle je hodnota TTL nastavena tak, aby paket měl dostatek času na dosažení cíle. Pokud se ale paket dostane do smyčky, TTL se bude snižovat, dokud paket nezanikne.
Když paket vyprší, server, na kterém skončil, odešle zprávu „ICMP Time Exceeded“. Je to vlastně upozornění na to, že paket dosáhl svého konce a informuje uživatele, kde se tak stalo, což pomáhá s řešením problému.
Jak TTL umožnila fungování Traceroute
Zpráva ICMP Time Exceeded je klíčová pro fungování Traceroute. Traceroute nejdříve vyšle paket s hodnotou TTL nastavenou na 1. To znamená, že paket opustí váš počítač, dorazí na první server, odečte 1 od TTL, zjistí, že hodnota je 0, a vyprší.
Server, který v daný okamžik paket zpracovává, pak odešle zprávu ICMP Time Exceeded zpět do vašeho počítače, spolu s informací o své poloze. Váš počítač zaznamená polohu serveru jako první krok na cestě k cíli.
Následně odešle paket s hodnotou TTL nastavenou na 2, 3, atd., dokud paket nedorazí do cíle. Platnost každého paketu vyprší o krok dříve, a každý server na cestě informuje o vypršelém paketu, čímž poskytne vašemu počítači informace potřebné ke zjištění, kam pakety putují.
K čemu se Traceroute používá?
Traceroute vám umožňuje sledovat, jak se pakety pohybují po síti. Ať už jste síťový inženýr, který kontroluje správnou funkčnost sítě, nebo jste jen zvědaví, kudy putují vaše pakety při návštěvě Googlu, Traceroute je tím správným nástrojem.
Je ale také užitečný při odhalování chyb. Pokud se Traceroute pokusí kontaktovat nereagující server, všimne si, že paket, který odeslal, neobdržel odpověď po určitou dobu. Po uplynutí této doby Traceroute ohlásí „vypršel časový limit požadavku“. To signalizuje, že odpověď nebyla doručena v očekávaném čase.
Samozřejmě, vypršení časového limitu neznamená vždy, že je server nefunkční. Někdy server blokuje požadavky Traceroute. Pokud jste si jisti, že by žádný server v trase neměl blokovat Traceroute, je to dobrý způsob, jak diagnostikovat nereagující web nebo server, ke kterému se snažíte připojit.
Jaký je rozdíl mezi Traceroute a Pingem?
Technicky zdatní uživatelé si možná všimnou, že Traceroute se velmi podobá jinému šikovnému nástroji pro diagnostiku sítě, Ping. Přestože se oba nástroje v něčem překrývají, používají se pro různé účely.
Traceroute, jak jsme si popsali, vám pomůže zjistit, kudy paket putuje, jakmile opustí váš počítač. Ping vám mezitím sdělí, zda se váš počítač může připojit k určitému serveru a jak dlouho to trvá.
Pokud tedy chcete vidět celou trasu, kterou paket putuje, je Traceroute tou správnou volbou. Naopak, pokud chcete pouze zjistit, zda server odpovídá, použijte Ping. Je pravda, že stejného výsledku dosáhnete i pomocí Traceroute, ale budete muset počkat, než dorazí až k cílovému serveru, než dostanete odpověď, kterou hledáte.
Jak provést Traceroute
Všechny hlavní operační systémy umožňují spuštění Traceroute. Je to tak snadné jako otevření příkazového terminálu a zadání příkazu Traceroute.
V macOS stačí otevřít Terminál a zadat „traceroute“ a za to URL nebo IP adresu cíle. V Linuxu je to stejné, ale možná budete muset Traceroute nejdřív nainstalovat.
Spuštění příkazu traceroute v systému Linux.
V operačním systému Windows je postup podobný, s tím rozdílem, že se nástroj nazývá „tracert“. Tracert a další příkazy jsme probrali v našem článku o příkazech pro správu bezdrátových sítí v systému Windows, takže si ho můžete přečíst, pokud chcete poznat další užitečné nástroje.
Obrazový kredit: Michel Bakni/Wikimedia Commons
Sledování vašich paketů pomocí Traceroute
Pokud vás zajímá, kudy putují vaše pakety poté, co opustí váš počítač, Traceroute je ten správný nástroj. Ať už chcete diagnostikovat problém se sítí, nebo jste jen zvědaví, kudy data cestují, je snadné spustit traceroute a sledovat, kam se pakety vydávají.