Ping je nástroj, který je všem známý a široce používaný ke kontrole dostupnosti uzlů sítě. Málokdo však přemýšlí o tom, na jaké úrovni ping funguje a jaké principy jsou jeho základem. Tento materiál je věnován zkoumání principů fungování tohoto užitečného nástroje.
Hlavním úkolem pingu je zjistit, jak rychle data dosáhnou určitého uzlu a zpět. K tomu ping používá protokol ICMP (Internet Control Message Protocol), který je jedním z klíčových protokolů na úrovni sítě. ICMP umožňuje přenos kontrolních zpráv a chyb do sítě.
Zajímavé je, že ping funguje na úrovni sítě. To znamená, že kontroluje pouze dostupnost uzlů a rychlost sdílení dat v síti, nikoli na úrovni aplikace nebo dopravy. Tato funkce nám umožňuje efektivněji používat ping k diagnostice síťových problémů a optimalizaci provozu sítí.
Úroveň síťového přístupu
Když je příkaz ping spuštěn, vytvoří ICMP paket, který obsahuje Echo dotaz a odešle jej na konkrétní IP adresu. Na úrovni síťového přístupu je paket rozdělen na rámce, které jsou vytvořeny podle protokolu přenosu dat. Rámy jsou poté přenášeny přes síťové prostředí pomocí fyzického vysílání, jako jsou měděné nebo optické kabely nebo bezdrátové vlny.
Na úrovni síťového přístupu nemá ping možnost kontrolovat směrování dat nebo zjistit, zda Echo dosáhlo svého cíle. Jeho hlavním úkolem je zajistit přenos dat ve fyzickém síťovém prostředí bez chyb a ztrát.
Po obdržení Echo požadavku uzel na úrovni síťového přístupu vytvoří ICMP paket s odpovědí Echo a odešle jej zpět do původního uzlu. Pokud ICMP paket s odpovědí Echo úspěšně dosáhne původního uzlu, Ping je považován za úspěšný a doba zpoždění mezi odesláním Echo dotazu a přijetím Echo odpovědi se vypočítá a zobrazí.
Úroveň internetového protokolu
Na úrovni internetového protokolu jsou data rozdělena do paketů, které obsahují informace o adrese odesílatele a příjemce, stejně jako samotná data, která je třeba předat. Pakety jsou přenášeny pomocí IP adres a směrovány přes různé síťové uzly (routery), dokud nedosáhnou přiřazeného adresáta.
Při odesílání balíčku ICMP Echo Request, počítač odesílatele vytvoří balíček s určitými poli, včetně pole typ balíčku (Typ 8 Pro balíček Echo Request) a pole ID (jedinečný identifikátor balíčku). Poté odešle tento balíček na cílovou adresu.
Když přijímací počítač obdrží balíček ICMP Echo Request, vytvoří balíček ICMP Echo Reply a odešle jej zpět na adresu odesílatele. Balíček ICMP Echo Reply obsahuje stejné ID jako balíček ICMP Echo Request, aby odesílatel mohl porovnat Reply s requestem. Po obdržení balíčku ICMP Echo Reply jej odesílatel analyzuje a určuje čas, který uplynul od odeslání Request po přijetí Reply - to je čas pingu.
Úroveň internetového protokolu je také zodpovědná za rozdělení dat do paketů, detekci chyb v přenosu dat, jejich fragmentaci a sestavení na opačné straně. Poskytuje spolehlivé doručování datových balíčků v síti a umožňuje různým zařízením a počítačům vzájemně komunikovat sdílením dat.
| Výhody internetového protokolu: | Nevýhody úrovně internetového protokolu: |
|---|---|
| Zajišťuje spolehlivé doručení dat | Může dojít ke ztrátě paketů v síti |
| Rozdělení dat na balíčky | Možnost fragmentace dat |
| Směrování paketů přes síť | Možnost chyb při přenosu dat |
Úroveň dopravního protokolu
Ping funguje na úrovni dopravního protokolu, který je zodpovědný za navázání a udržování spojení mezi dvěma uzly v síti. Tato úroveň poskytuje spolehlivý a nezaměnitelný přenos dat.
Ping používá protokol ICMP (Internet Control Message Protocol), který je součástí zásobníku protokolů TCP/IP. ICMP umožňuje odesílat zprávy o stavu sítě a přijímat odpovědi od vzdálených hostitelů.
Dopravní protokol má dva typy: TCP (Transmission Control Protocol) a UDP (User Datagram Protocol). Ping používá UDP k odesílání Echo požadavků na vzdáleného hostitele.
Princip fungování ICMP v pingu je, že počítač odešle Echo požadavek na vzdáleného hostitele a ten zase musí odeslat zpět Echo odpověď. Po uplynutí určité doby počítač zaznamenává zpoždění mezi odesláním dotazu a přijetím odpovědi, což určuje ping (latence) na vzdáleného hostitele.
Na úrovni transportního protokolu provádí ping úkoly kontroly připojení ke vzdálenému hostiteli, stanovení doby zpoždění a ztráty paketů při výměně dat. Je nedílnou součástí nástroje správce sítě pro diagnostiku problémů a selhání sítě.
Úroveň aplikačního protokolu
Na úrovni aplikačního protokolu používá ping protokol ICMP (Internet Control Message Protocol). ICMP umožňuje odesílat chybové zprávy a informační zprávy o stavu sítě.
K odesílání datových paketů se používá příkaz ping, který vytvoří ICMP paket s určitými daty a odešle jej na konkrétní IP adresu v síti.
Po obdržení ICMP balíčku jej adresát zpracuje a odešle odpověď s informacemi o stavu sítě zpět odesílateli. Ping tak umožňuje vyhodnotit čas potřebný k odeslání a přijetí datového balíčku mezi dvěma uzly sítě a zkontrolovat dostupnost uzlu.
Aplikační úroveň také monitoruje integritu dat, identifikuje chyby a provádí další funkce potřebné k výměně informací mezi uzly sítě.
Při používání pingu na úrovni aplikačního protokolu je třeba vzít v úvahu, že některé uzly sítě mohou blokovat provoz ICMP pro bezpečnost nebo kvůli omezením nastavení.