Jaký je rozdíl mezi TCP a UDP?

Pravděpodobně jste již viděli odkazy na TCP a UDP při nastavování předávání portů na routeru nebo při konfiguraci softwaru brány firewall. Tyto dva protokoly se používají pro různé typy dat.

TCP / IP je sada protokolů používaných zařízeními ke komunikaci přes internet a většinu místních sítí. Je pojmenován podle dvou původních protokolů - Transmission Control Protocol (TCP) a Internet Protocol (IP). TCP poskytuje aplikacím způsob, jak doručovat (a přijímat) uspořádaný a chybami kontrolovaný proud informačních paketů po síti. Protokol UDP (User Datagram Protocol) používají aplikace k doručování rychlejšího toku informací bez kontroly chyb. Při konfiguraci nějakého síťového hardwaru nebo softwaru možná budete potřebovat znát rozdíl.

Co mají společného

SOUVISEJÍCÍ: Jak najít své soukromé a veřejné IP adresy

TCP i UDP jsou protokoly používané k odesílání bitů dat - známých jako pakety - přes internet. Oba protokoly staví na vrcholu protokolu IP. Jinými slovy, ať už posíláte paket přes TCP nebo UDP, paket se odesílá na adresu IP. S těmito pakety je zacházeno podobně, protože jsou předávány z počítače do zprostředkujících směrovačů a dále do cíle.

TCP a UDP nejsou jediné protokoly, které fungují na vrcholu IP. Jsou však nejpoužívanější.

Jak funguje TCP

TCP je nejběžněji používaný protokol na internetu.

Když ve svém prohlížeči požadujete webovou stránku, váš počítač odešle pakety TCP na adresu webového serveru a požádá ho, aby vám webovou stránku poslal zpět. Webový server odpoví odesláním proudu paketů TCP, které váš webový prohlížeč spojí dohromady a vytvoří webovou stránku. Když kliknete na odkaz, přihlásíte se, odešlete komentář nebo uděláte cokoli jiného, ​​váš webový prohlížeč odešle pakety TCP na server a server odešle pakety TCP zpět.

TCP je především o spolehlivosti - pakety odeslané pomocí TCP jsou sledovány, takže při přenosu nedochází ke ztrátě ani poškození dat. To je důvod, proč se stahování souborů nepoškodí, i když existují síťové škytavky. Samozřejmě, pokud je příjemce zcela offline, váš počítač to vzdá a zobrazí se chybová zpráva, že nemůže komunikovat se vzdáleným hostitelem.

TCP toho dosahuje dvěma způsoby. Nejprve objedná pakety jejich očíslováním. Zadruhé kontroluje chyby tak, že příjemci pošle odpověď zpět odesílateli s tím, že zprávu přijal. Pokud odesílatel neobdrží správnou odpověď, může pakety znovu odeslat, aby zajistil, že je příjemce obdrží správně.

SOUVISEJÍCÍ: Porozumění Průzkumníku procesů

Process Explorer a další systémové nástroje mohou ukázat typ připojení, které proces vytváří - zde vidíme prohlížeč Chrome s otevřenými připojeními TCP k různým webovým serverům.

Jak funguje UDP

SOUVISEJÍCÍ: Jak může latence zpomalit i rychlé připojení k internetu

Protokol UDP funguje podobně jako TCP, ale vyhodí všechny věci, které kontrolují chyby. Veškerá komunikace tam a zpět zavádí latenci a zpomaluje věci.

Když aplikace používá UDP, pakety se odešlou příjemci. Odesílatel nečeká, až se ujistí, že příjemce obdržel paket - pouze pokračuje v odesílání dalších paketů. Pokud příjemce zmešká několik paketů UDP sem a tam, jsou právě ztraceny - odesílatel je znovu nepošle. Ztráta všech těchto režijních nákladů znamená, že zařízení mohou komunikovat rychleji.

UDP se používá, když je požadována rychlost a není nutná korekce chyb. Například UDP se často používá pro živé vysílání a online hry.

Řekněme například, že sledujete živý video stream, který se často vysílá pomocí protokolu UDP místo protokolu TCP. Server pouze posílá konstantní proud UDP paketů do sledovaných počítačů. Pokud připojení na několik sekund ztratíte, může video na chvíli zamrznout nebo na okamžik poskakovat a poté přeskočit na aktuální část vysílání. Pokud zaznamenáte menší ztrátu paketů, může být obraz nebo zvuk na chvíli zkreslen, protože video se bude i nadále přehrávat bez chybějících dat.

Podobně to funguje i v online hrách. Pokud vám chybí některé UDP pakety, mohou se objevit hráčské postavy, které se teleportují po mapě, jakmile obdržíte novější UDP pakety. Pokud jste minulé balíčky, nemá smysl je žádat, protože hra pokračuje bez vás. Důležité je jen to, co se právě děje na herním serveru - ne to, co se stalo před několika sekundami. Korekce chyb pomocí protokolu TCP pomáhá zrychlit připojení hry a snížit latenci.

No a co?

SOUVISEJÍCÍ: Jak používat Wireshark k zachycení, filtrování a kontrole paketů

Zda aplikace používá TCP nebo UDP, je na jejím vývojáři a výběr závisí na tom, co aplikace potřebuje. Většina aplikací potřebuje opravu chyb a robustnost protokolu TCP, ale některé aplikace vyžadují rychlost a sníženou režii UDP. Pokud spustíte nástroj pro síťovou analýzu, jako je Wireshark, uvidíte různé typy paketů, které se pohybují tam a zpět.

Pokud nejste správcem sítě nebo vývojářem softwaru, nemělo by vás to příliš ovlivnit. Pokud konfigurujete software směrovače nebo brány firewall a nejste si jisti, zda aplikace používá protokol TCP nebo UDP, můžete obecně vybrat možnost „Oba“, aby směrovač nebo brána firewall použila stejné pravidlo na provoz TCP i UDP.