TCP a UDP protokoly: Spolehlivost vs. Rychlost pro Maturitu
Délka: 4 minut
Spolehlivý vs. nespolehlivý
Co je TCP?
Rychlejší bratr UDP
Kdy použít který?
Shrnutí k maturitě
Karolína: …počkej, takže to, že je UDP „nespolehlivý“, vlastně vůbec neznamená, že je špatný? To mi úplně mění pohled na věc!
Matěj: Přesně tak! Je to jedna z nejčastějších chyb. Nespolehlivý v tomto kontextu znamená jen to, že si nedělá hlavu s kontrolou. Prostě pošle data a jde dál.
Karolína: Aha! Okay, tohle si myslím musí poslechnout každý. Posloucháte Studyfi Podcast. Takže, Matěji, vysvětli nám to od začátku. Máme IP adresy, které doručí data na správný počítač. Co dělají TCP a UDP?
Matěj: Skvělá otázka. Představ si, že IP adresa je adresa domu. Ale v tom domě je spousta různých „pokojů“ – prohlížeč, herní klient, e-mail... Transportní vrstva a její porty jsou jako čísla dveří do těch pokojů. Zajistí, že data dojdou ke správné aplikaci.
Karolína: Dobře, to dává smysl. A ten spolehlivý je tedy TCP?
Matěj: Přesně. TCP, neboli Transmission Control Protocol. Je to takový puntičkář. Než pošle jediný bajt dat, naváže spojení. Je to slavný „three-way handshake“.
Karolína: Třícestné podání ruky? To zní formálně.
Matěj: Je to tak. Klient pošle zprávu SYN – jako by zaklepal a řekl „Haló, jsi tam?“. Server odpoví SYN-ACK, což znamená „Ano, jsem tu a slyším tě“. A klient to potvrdí zprávou ACK: „Super, tak já začnu mluvit“. A až pak tečou data.
Karolína: A k čemu je to dobré?
Matěj: Zaručí to, že jsou obě strany připravené a že se data neztratí. Větší soubory navíc rozseká na menší segmenty, očísluje je a příjemce potvrzuje jejich doručení. Když něco chybí, pošle to znovu. Proto se používá na webové stránky, e-maily nebo přenos souborů. Tam nechceš, aby ti chybělo půlka obrázku.
Karolína: Chápu. A co ten druhý, ten „nespolehlivý“ rychlík? UDP?
Matěj: Ano, User Datagram Protocol. To je pravý opak. Žádné podávání rukou, žádné potvrzování, žádná kontrola pořadí. Prostě vezme data, zabalí je do datagramu a pošle je na cestu.
Karolína: To zní trochu jako posílat dopis bez zpáteční adresy. Proč by to někdo dělal?
Matěj: Přesně! Dělá to proto, že je to neuvěřitelně rychlé. Pro některé aplikace je malé zpoždění horší než malá ztráta dat.
Karolína: Jako třeba?
Matěj: Třeba online hry, streamování videa nebo VoIP hovory. Představ si, že při hovoru vypadne jedno slovíčko. To je lepší, než kdyby se celý hovor na pět sekund zasekl, protože čeká na znovu-poslání ztraceného paketu.
Karolína: Takže shrnuto: TCP pro věci, co musí být stoprocentně kompletní, a UDP pro věci, co musí být hlavně rychlé.
Matěj: Perfektní shrnutí. Když otevíráš stránku přes HTTPS, tvůj prohlížeč použije TCP na portu 443, protože chce spolehlivě stáhnout každý kousek kódu a obrázků. Ale když voláš přes internet, je to často UDP, protože plynulost je důležitější.
Karolína: Takže port nepatří zařízení, ale konkrétní službě na něm?
Matěj: Přesně tak! To je další důležitá věc k zapamatování. Počítač má jednu IP adresu, ale může na něm běžet spousta služeb, každá na svém portu.
Karolína: Super. Kdybychom to měli shrnout pro maturanty, co je absolutně klíčové?
Matěj: Určitě vysvětlit ten základní rozdíl mezi spolehlivostí a rychlostí. U TCP zmínit ten třícestný handshake a potvrzování. U UDP zdůraznit, že „nespolehlivý“ neznamená špatný, ale jen jiný přístup. A hlavně to všechno ukázat na praktických příkladech – web versus online hra. To komise ocení.
Karolína: Skvělé tipy. Matěji, moc děkuju.
Matěj: Rádo se stalo.