Keď posielaš obrázok alebo načítaš webovú stránku, dáta necestujú ako jeden súvislý prúd. Namiesto toho sa rozdeľujú na malé kúsky nazývané pakety, ktoré putujú sieťou nezávisle a na cieľovom mieste sa znova poskladajú.
Čo je dátový paket?
Paket (packet) je malá jednotka dát prenášaná cez sieť. Veľkosť paketu je zvyčajne 64 bajtov – 1 500 bajtov (tzv. MTU — Maximum Transmission Unit).
Každý paket obsahuje dve časti:
Hlavička (Header)
Riadiace informácie potrebné na doručenie:
- Zdrojová IP adresa (odkiaľ paket pochádza)
- Cieľová IP adresa (kam smeruje)
- Číslo paketu (poradie v rámci celej správy)
- Protokol (TCP, UDP...)
- TTL (Time To Live) — maximálny počet smerovačov, cez ktoré paket môže prejsť
Dáta (Payload)
Skutočný obsah — kúsok súboru, časť webovej stránky, časť e-mailu.
Analógia: Predstav si, že posielaš dlhý list. Rozdelíš ho na 10 obálok (paketov), každú obálku očísluje (1–10) a napíšeš na ne adresu. Každá obálka môže cestovať inou trasou, ale príjemca ich zoradí a prečíta celý list.
Prečo pakety a nie jeden prúd dát?
Rozdeľovanie na pakety má niekoľko výhod:
- Zdieľanie siete: Viacero komunikácií môže zdieľať tú istú linku — pakety rôznych používateľov sa „premieša" na kábli.
- Odolnosť voči chybám: Ak sa paket stratí, znova sa pošle iba ten jeden paket, nie celý súbor.
- Flexibilné smerovanie: Rôzne pakety tej istej správy môžu ísť rôznymi trasami podľa aktuálneho zaťaženia siete.
Smerovanie paketov
Routre (smerovače) sú zariadenia, ktoré rozhodujú, kam paket pošlú ďalej. Každý router pozná adresy susedných routrov a snaží sa paket poslať čo najbližšie k cieľu.
Tvoj počítač → Domáci router → ISP router → ... → Cieľový server
Paket môže prejsť cez 10–20 routrov, kým dosiahne cieľ. Každý router zníži hodnotu TTL o 1 — ak TTL dosiahne 0, paket sa zahodí (chráni sieť pred večným blúdením).
# Simulácia sledovania trasy paketov (traceroute)
import subprocess
import sys
# Spustenie traceroute príkazu
if sys.platform == "win32":
cmd = ["tracert", "google.com"]
else:
cmd = ["traceroute", "-m", "15", "google.com"]
print("Trasa paketov k google.com:")
vysledok = subprocess.run(cmd, capture_output=True, text=True, timeout=30)
print(vysledok.stdout[:500])
Príkaz traceroute (Linux/Mac) alebo tracert (Windows) zobrazí každý router na ceste paketu od tvojho počítača k cieľu — vrátane oneskorenia na každom kroku. Je to výborný nástroj na diagnostiku sieťových problémov.
TCP vs. UDP
Nie všetky pakety sa prenášajú rovnako:
TCP (Transmission Control Protocol)
- Garantuje doručenie — stratené pakety sa posielajú znova
- Pakety sa zoradia v správnom poradí
- Vhodné pre: webové stránky, e-maily, sťahovanie súborov
UDP (User Datagram Protocol)
- Rýchlejší — bez potvrdzovania doručenia
- Niektoré pakety sa môžu stratiť
- Vhodné pre: online hry, video streaming, VoIP hovory
Pri video hovore je lepšie preskočiť zlomok sekundy (UDP) ako čakať na opätovné odoslanie paketu (TCP), ktoré by spôsobilo zamrznutie obrazu. Preto online hry a videá používajú UDP — malé výpadky sú menej rušivé ako oneskorenie.
Paketové straty a oneskorenie
- Latencia (ping): Čas, za ktorý paket doputuje k cieľu a späť. Meria sa v milisekundách (ms). Nízka latencia je kritická pre online hry.
- Packet loss: Percentuálny podiel stratených paketov. Nad 5 % spôsobuje viditeľné problémy.
Cvičné príklady
Prečo sa súbory pri prenose cez internet delia na pakety namiesto toho, aby sa posielali ako jeden súvislý prúd dát?
Zobraziť odpoveď
Online hra používa UDP namiesto TCP. Vysvetli, prečo je to vhodnejšia voľba pre hry.