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.

TCP a UDP

Vrstva IP umí jediné: doručit paket na adresu, nebo to vzdát. Jestli pakety dorazí všechny a ve správném pořadí, řeší až vrstva nad ní – transportní. Ta má dvě hlavní varianty a liší se přesně v tom, jak moc se o doručení starají.

TCP

TCP (Transmission Control Protocol) se chová jako doporučená zásilka. Než pošle první bajt dat, domluví se s druhou stranou na spojení: pošle žádost, dostane souhlas a souhlas potvrdí. Teprve pak se posílají data.

Každý kus dat dostane pořadové číslo a příjemce ho potvrzuje. Když potvrzení nedorazí, odesílatel data po chvíli pošle znovu. Podle pořadových čísel se navíc data na druhé straně poskládají správně i tehdy, když pakety dorazily zpřeházené.

TCP hlídá i tempo. Když se pakety začnou ztrácet, sám zpomalí, protože ztráty obvykle znamenají zahlcenou linku. Díky tomu si souběžné přenosy na jedné lince navzájem nepodrážejí nohy.

Za tu jistotu se platí zdržením. Navázání spojení stojí jednu cestu tam a zpět ještě předtím, než se pošle první bajt, a na ztracený paket se čeká, dokud se nezopakuje. Používá ho web, e-mail i přenos souborů – všude, kde by chybějící kousek zprávu poškodil.

UDP

UDP (User Datagram Protocol) pakety jen odešle a dál se nestará. Nic nenavazuje, nic nepotvrzuje, nic neposílá znovu a nehlídá pořadí. Když se paket ztratí, je pryč a nikdo se to nedozví.

Zní to jako horší volba, ale u některých přenosů je to přesně to, co chceme. Ve videohovoru je obraz zpřed dvou vteřin k ničemu – lepší je pustit o jeden snímek míň a jet dál. U DNS dotazu se zase vejde otázka i odpověď do jednoho paketu, takže by se navazování spojení nevyplatilo. Proto po UDP běží živý přenos hlasu a videa, online hry a právě DNS.

Vlevo TCP: mezi odesílatelem a příjemcem šipky tam a zpět, každá data doprovází potvrzení. Vpravo UDP: šipky jen jedním směrem, jedna z nich je čárkovaná a označená „ztraceno“.

Jedno mají obě varianty společné. Kromě dat nesou i čísla portů, tedy údaj o tom, které aplikaci paket patří. Podle nich se pozná, že paket na port 443 má dostat webový server a paket na port 25 poštovní.

Bonus

Hranice mezi oběma světy není tak ostrá, jak to vypadá. Moderní weby se čím dál častěji načítají protokolem HTTP/3, který běží po UDP a spolehlivost si zařizuje sám. Zkuste si dohledat, čemu se říká QUIC a proč se to vůbec dělá.