Lekce 1.1

Jak funguje internet: TCP/IP, adresy a protokoly

Co se s daty děje na cestě sítí, jak se čtou IP adresy, co drží pohromadě lokální síť a čím se od sebe liší protokoly, které používáme každý den.

Cesta dat sítí

Internet není jeden velký kabel, ale síť propojených sítí. Když si otevřeme stránku, data k nám neputují vcelku, ale rozřezaná na malé kousky – tzv. pakety. Každý paket může jít vlastní cestou a na druhé straně se z nich zpráva složí zpátky.

Proč zrovna pakety

Rozřezat soubor na kousky vypadá jako práce navíc. Kdyby ale linka posílala data vcelku, obsadil by jeden stahovaný film celou trasu na několik minut a všichni ostatní by čekali, až doslouží. Pakety se na lince střídají, takže po jednom kabelu běží stovky přenosů najednou a každý z nich se hýbe.

Druhý důvod je odolnost. Když se cestou něco poškodí, ztratí se jeden paket – a posílá se znovu jenom on, ne celý soubor. A protože každý paket nese vlastní adresu, může ho router poslat jinudy, když se cesta přeruší nebo zahltí. Přesně kvůli tomu internet takhle vznikl: síť měla přežít výpadek libovolného uzlu.

Třetí důvod je prozaický. Každé zařízení na trase si paket musí na okamžik uložit do paměti, než ho pošle dál. U kousku o velikosti jednotek kilobajtů to zvládne i levný router, u desetigigabajtového souboru vcelku by to nezvládl nikdo.

Velikost paketu má proto strop. Na běžném ethernetu se do jednoho vejde zhruba 1500 bajtů, takže z fotky o velikosti 3 MB je asi dva tisíce paketů.

Vrstvy a zapouzdření

Aby to fungovalo, musí se každý paket cestou představit hned několikrát: jednou aplikaci, jednou vzdálenému počítači, jednou síťové kartě. Tomu se říká zapouzdření a model TCP/IP ho popisuje ve čtyřech vrstvách.

Vrstva Co řeší Příklad
Aplikační smysl dat HTTP, SMTP, DNS
Transportní rozdělení na pakety, spolehlivost TCP, UDP
Síťová adresování a cesta mezi sítěmi IP
Síťové rozhraní přenos po konkrétním kabelu nebo Wi-Fi Ethernet, Wi-Fi

Čtyři do sebe vložené obdélníky: uvnitř data HTTP, kolem nich segment TCP, kolem něj paket IP a navrchu rámec Ethernet. U každé vrstvy je vlevo černý proužek, který představuje přidanou hlavičku.

Každá vrstva přidá k datům svoji hlavičku a předá je níž. Na druhé straně to probíhá obráceně: síťová karta sundá svoji hlavičku a předá paket výš, dokud z něj nezůstanou holá data pro aplikaci.

Analogii najdeme na poště. Dopis zavřeme do obálky s adresou, obálku předáme přepravci, který ji podle vlastní evidence naloží do auta. Příjemce auto vyloží, obálku otevře a čte dopis. Každý článek řeší jen svoji obálku a do těch ostatních nevidí.

Proč zrovna vrstvy

Rozdělení na vrstvy má jednu velkou výhodu: dají se měnit nezávisle na sobě. Když přejdeme z kabelu na Wi-Fi, mění se jen nejspodnější vrstva. HTTP, IP ani TCP o tom nevědí a fungují dál stejně.

Poznámka

Model, který se ve škole učí častěji, má sedm vrstev a jmenuje se ISO/OSI. Je podrobnější, ale v praxi se pracuje se čtyřvrstvým TCP/IP – kryje se s tím, jak jsou sítě opravdu postavené. Všech sedm vrstev i s popisem najdete v článku Referenční model ISO/OSI na Wikipedii.