Skip to content

TCP vs. UDP

14 de Srpen de 2021
tcp header 56a1adc85f9b58b7d0c1a24f

Transmission Control Protocol a User Datagram Protocol jsou dva protokoly transportní vrstvy, které jsou široce používány s internetovým protokolem. Protokol je sada postupů a pravidel, kterými se dva počítače řídí, aby si rozuměly a vyměňovaly si data. Ačkoli TCP je nejčastěji používaným protokolem z těchto dvou, UDP je v některých situacích užitečnější.

Celková zjištění

TCP

  • Zaručuje, že data dorazí odeslaná.
  • Proudy dat kontroluje chyby.
  • Záhlaví 20 bajtů umožňuje volitelných 40 bajtů funkčních dat.
  • Pomalejší než UDP.
  • Nejlepší pro aplikace, které vyžadují spolehlivost.

UDP

  • Žádná záruka, že data dorazí.
  • Není k dispozici žádná kontrola chyb.
  • 8bajtové záhlaví umožňuje pouze povinná funkční data.
  • Rychlejší než TCP.
  • Nejlepší pro aplikace, které vyžadují rychlost.

Oba protokoly odesílají data přes internet v paketech. Z těchto dvou je TCP orientovaný na připojení. Po navázání připojení se data pohybují obousměrně. UDP je jednodušší protokol bez připojení. TCP je robustnější než UDP. Poskytuje funkce pro opravu chyb a vysokou spolehlivost. UDP je rychlejší než TCP, především proto, že neposkytuje opravu chyb. TCP navíc zpracovává řízení toku, zatímco UDP nemá možnost řízení toku.

Nejlepší pro spolehlivost: TCP

TCP

  • Garantované doručení dat.
  • Sleduje datové pakety.
  • Kontroluje chyby v paketech.
  • Řízení toku.
  • Záhlaví 20 bajtů s možností více.

UDP

  • Žádná záruka dodání.
  • Pakety lze ztratit.
  • Žádná kontrola toku.
  • Záhlaví je omezeno na 8 bajtů.

TCP zaručuje doručení dat do přijímače. Pokud dojde ke ztrátě jakýchkoli dat, TCP provede kroky k obnovení ztracených dat a znovu je odešle. Chcete -li to provést, TCP sleduje pakety dat a kontroluje chyby v paketech. UDP nezaručuje doručení dat. Pakety UDP lze navíc ztratit při přenosu nebo se poškodit. TCP i UDP používají záhlaví jako součást balení dat zprávy pro přenos přes síťová připojení. Protože TCP je ze dvou protokolů robustnější, jeho záhlaví je větší na 20 bajtů s možností dalších dat, zatímco hlavičky UDP jsou omezeny na velikost 8 bajtů.

Nejlepší pro rychlost: UDP

TCP

  • Pomalu, protože plní mnoho funkcí.

UDP

  • Rychlý, protože poskytuje omezené funkce.

Přestože je TCP spolehlivý, je pomalejší než UDP, hlavně proto, že plní více funkcí. Koncoví uživatelé, kteří vyžadují nejvyšší možnou rychlost, jako jsou hráči a lidé, kteří pracují s videem, těží z UDP.

Nejlepší pro použití: Závisí na použití

TCP

  • Nejlepší pro web, přenos souborů, e -mail a zabezpečený shell.

UDP

  • Nejlepší pro VPN, streamování videa, VoIP, živé vysílání a online hraní.

Protože TCP je spolehlivý, je nejlepší v situacích, které vyžadují vysokou spolehlivost, ale nevyžadují rychlost, jako je web, e -mail a FTP. Díky rychlosti UDP je nejvhodnější pro online hraní, živé vysílání, tunelování VPN a streamování videí.

Formát záhlaví TCP

Každé záhlaví TCP má 10 povinných polí o celkové velikosti 20 bajtů (160 bitů). Volitelně může obsahovat další datové pole o velikosti až 40 bajtů.

8 bitů se rovná 1 bajtu. Záhlaví TCP se zobrazí v následující sekvenci, počínaje koncovými body zdrojové a cílové komunikace:

  • Číslo portu TCP zdroje (2 bajty nebo 16 bitů): Zdrojové číslo portu TCP představuje odesílající zařízení.
  • Cílové číslo portu TCP (2 bajty nebo 16 bitů): Cílové číslo portu TCP je koncovým bodem komunikace pro přijímající zařízení.
  • Pořadové číslo (4 bajty nebo 32 bitů): Odesílatelé zpráv používají pořadová čísla k označení uspořádání skupiny zpráv.
  • Potvrzovací číslo (4 bajty nebo 32 bitů): Odesílatel i příjemce používají potvrzení pole čísel pro sdělování pořadových čísel zpráv, které byly nedávno přijaty nebo se očekává, že budou odeslány.
  • Offset dat TCP (4 bity): Pole offsetu dat ukládá celkovou velikost záhlaví TCP v násobcích čtyř bajtů. Záhlaví nepoužívající volitelné pole TCP má datový posun 5 (představující 20 bajtů), zatímco záhlaví využívající maximální pole volitelného pole má datový posun 15 (představující 60 bajtů).
  • Vyhrazená data (3 bity): Rezervovaná data v záhlaví TCP mají vždy hodnotu nula. Toto pole zarovná celkovou velikost záhlaví jako násobek čtyř bajtů, což je důležité pro efektivitu zpracování počítačových dat.
  • Kontrolní vlajky (až 9 bitů): TCP používá sadu šesti standardních a tří rozšířených kontrolních příznaků – každý jednotlivý bit představující Zapnuto nebo Vypnuto – pro správu toku dat v konkrétních situacích.
  • Velikost okna (2 bajty nebo 16 bitů): Odesílatelé TCP používají číslo, nazývané velikost okna, regulovat, kolik dat posílají příjemci, než na oplátku vyžadují potvrzení. Pokud je velikost okna příliš malá, přenos dat v síti je zbytečně pomalý. Pokud je velikost okna příliš velká, může dojít k nasycení síťového připojení nebo přijímač nemusí být schopen dostatečně rychle zpracovat příchozí data, což má za následek pomalý výkon. Okenní algoritmy zabudované do protokolu dynamicky vypočítávají hodnoty velikosti a používají toto pole záhlaví TCP ke koordinaci změn mezi odesílateli a přijímači.
  • Kontrolní součet TCP (2 bajty nebo 16 bitů): Hodnotu kontrolního součtu v záhlaví TCP generuje odesílatel protokolu jako matematickou techniku, která má příjemci pomoci detekovat zprávy, které jsou poškozené nebo neoprávněné.
  • Naléhavý ukazatel (2 bajty nebo 16 bitů): Pole naléhavého ukazatele je často nastaveno na nulu a ignorováno, ale ve spojení s jedním z kontrolních příznaků jej lze použít jako datový offset k označení podmnožiny zprávy jako vyžadující prioritní zpracování.
  • Volitelná data TCP (0 až 40 bajtů): Použití volitelných dat TCP zahrnuje podporu pro speciální algoritmy potvrzení a měřítka oken.

Formát hlavičky UDP

Protože schopnost UDP je ve srovnání s TCP omezená, jsou její záhlaví menší. Záhlaví UDP obsahuje 8 bajtů rozdělených do následujících čtyř povinných polí:

  • Číslo portu UDP zdroje (2 bajty): Zdrojové číslo portu UDP představuje odesílající zařízení.
  • Cílové číslo portu UDP (2 bajty): Cílové číslo portu UDP je koncovým bodem komunikace pro přijímající zařízení.
  • Délka dat (2 bajty): Pole délky v UDP představuje celkovou velikost každého datagramu, včetně záhlaví a dat. Hodnota tohoto pole se pohybuje od minimálně 8 bajtů – požadovaná velikost záhlaví – po velikosti nad 65 000 bajtů.
  • Kontrolní součet UDP (2 bajty): Podobně jako TCP umožňuje kontrolní součet UDP přijímačům křížovou kontrolu příchozích dat, zda neobsahují poškozené bity zprávy.

Konečný verdikt

Existuje důvod, proč je TCP nejčastěji používaným protokolem. Je robustní a spolehlivý a zaručuje, že data jsou přijímána přesně tak, jak byla odeslána. Informační tok kontrolovaný chybami to může mírně zpomalit, ale ve většině případů zpoždění není řešením. Čas, kdy UDP svítí jasněji než TCP, je doba, kdy je rychlost kriticky důležitá, například při streamování videí, sítí VPN nebo online hraní.