Skip to content

TCP kontra UDP

9 de augusti de 2021
tcp header 56a1adc85f9b58b7d0c1a24f

Transmission Control Protocol och User Datagram Protocol är två transportlagerprotokoll som används i stor utsträckning med Internet Protocol. Ett protokoll är en uppsättning procedurer och regler som två datorer följer för att förstå varandra och utbyta data. Även om TCP är det mest använda protokollet av de två, är UDP mer användbart i vissa situationer.

Övergripande resultat

TCP

  • Garanterar att data kommer som skickade.
  • Felkontrollerar dataströmmar.
  • Ett 20-byte-sidhuvud tillåter 40 byte med funktionsdata som tillval.
  • Långsammare än UDP.
  • Bäst för appar som kräver tillförlitlighet.

UDP

  • Ingen garanti för att data kommer.
  • Ingen felkontroll tillhandahålls.
  • En 8-byte-rubrik tillåter endast obligatoriska funktionsdata.
  • Snabbare än TCP.
  • Bäst för appar som kräver hastighet.

Båda protokollen skickar data över internet i paket. Av de två är TCP anslutningsorienterad. Efter att en anslutning har gjorts går data åt två håll. UDP är ett enklare protokoll som är anslutningsfritt. TCP är mer robust än UDP. Det ger felkorrigeringsfunktioner och hög tillförlitlighet. UDP är snabbare än TCP, främst för att det inte ger felkorrigering. Dessutom hanterar TCP flödeskontroll, medan UDP inte har något alternativ för flödeskontroll.

Bäst för tillförlitlighet: TCP

TCP

  • Garanterad leverans av data.
  • Spårar datapaket.
  • Kontrollerar paket för fel.
  • Flödeskontroll.
  • Rubriker på 20 byte med möjlighet till mer.

UDP

  • Ingen garanti för leverans.
  • Paket kan gå förlorade.
  • Ingen flödeskontroll.
  • Rubriker är begränsade till 8 byte.

TCP garanterar dataöverföring till mottagaren. Om någon data går förlorad vidtar TCP åtgärder för att återställa förlorade data och skicka den igen. För att göra detta spårar TCP paket med data, och det kontrollerar paketen för fel. UDP garanterar inte leverans av data. Dessutom kan UDP -paket gå förlorade under transport eller bli korrupta. Både TCP och UDP använder rubriker som en del av förpackningen av meddelandedata för överföring över nätverksanslutningar. Eftersom TCP är den mer robusta av de två protokollen är dess rubrik större vid 20 byte med möjlighet till ytterligare data, medan UDP -rubriker är begränsade till 8 byte i storlek.

Bäst för hastighet: UDP

TCP

  • Långsam eftersom den utför många funktioner.

UDP

  • Snabbt eftersom det ger begränsade funktioner.

Även om TCP är tillförlitlig är det långsammare än UDP, främst för att det har fler funktioner. Slutanvändare som kräver snabbast möjliga hastighet, till exempel spelare och personer som arbetar med video, drar nytta av UDP.

Bäst för användning: Beror på användningen

TCP

  • Bäst för webb, filöverföring, e -post och säkert skal.

UDP

  • Bäst för VPN, strömmande video, VoIP, livesändningar och onlinespel.

Eftersom TCP är tillförlitlig är det bäst i situationer som kräver hög tillförlitlighet men som inte kräver snabbhet, till exempel webb, e -post och FTP. UDP: s hastighet gör den mest lämplig för onlinespel, livesändningar, VPN -tunnlar och strömmande videor.

TCP Header Format

Varje TCP -rubrik har 10 obligatoriska fält på totalt 20 byte (160 bitar) i storlek. Det kan valfritt inkludera ytterligare ett datafält på upp till 40 byte.

8 bitar lika med 1 byte. TCP -rubriker visas i följande sekvens, som börjar med käll- och destinationskommunikationens slutpunkter:

  • Käll -TCP -portnummer (2 byte eller 16 bitar): Käll -TCP -portnumret representerar den sändande enheten.
  • Destination TCP -portnummer (2 byte eller 16 bitar): Destinations -TCP -portnumret är kommunikationens slutpunkt för den mottagande enheten.
  • Sekvensnummer (4 byte eller 32 bitar): Meddelandesändare använder sekvensnummer för att markera ordningen av en grupp meddelanden.
  • Kvittensnummer (4 byte eller 32 bitar): Både avsändare och mottagare använder bekräftelsen nummerfält för att kommunicera sekvensnumren för meddelanden som antingen nyligen tas emot eller förväntas skickas.
  • TCP -data förskjutning (4 bitar): Dataförskjutningsfältet lagrar den totala storleken på ett TCP -huvud i multiplar om fyra byte. En rubrik som inte använder det valfria TCP-fältet har en dataförskjutning på 5 (representerar 20 byte), medan en rubrik som använder det valfria fältet med maximal storlek har en dataförskjutning på 15 (representerar 60 byte).
  • Reserverad data (3 bitar): Reserverad data i TCP -rubriker har alltid ett värde på noll. Detta fält anpassar den totala rubrikstorleken som en multipel av fyra byte, vilket är viktigt för effektiviteten av datorbaserad databehandling.
  • Kontrollflaggor (upp till 9 bitar): TCP använder en uppsättning med sex standard och tre utökade kontrollflaggor – var och en enskild bit som representerar På eller Av – för att hantera dataflöde i specifika situationer.
  • Fönster storlek (2 byte eller 16 bitar): TCP -avsändare använder ett nummer, kallat fönsterstorlek, för att reglera hur mycket data de skickar till en mottagare innan de kräver en bekräftelse i gengäld. Om fönstret är för litet är nätverksdataöverföringen onödigt långsam. Om fönstret är för stort kan nätverkslänken bli mättad eller så kan mottagaren kanske inte bearbeta inkommande data tillräckligt snabbt, vilket leder till långsam prestanda. Fönsteralgoritmer inbyggda i protokollet beräknar dynamiskt storleksvärden och använder detta fält med TCP -rubriker för att koordinera förändringar mellan avsändare och mottagare.
  • TCP -kontrollsumma (2 byte eller 16 bitar): Kontrollsummavärdet i ett TCP -huvud genereras av protokollsändaren som en matematisk teknik för att hjälpa mottagaren att upptäcka meddelanden som är skadade eller manipulerade.
  • Brådskande pekare (2 byte eller 16 bitar): Det brådskande pekarfältet är ofta inställt på noll och ignoreras, men i samband med en av kontrollflaggorna kan det användas som en data -förskjutning för att markera en delmängd av ett meddelande som kräver prioritetsbehandling.
  • TCP -valfri data (0 till 40 byte): Användning av valfria TCP -data inkluderar stöd för speciella bekräftelser och fönsterskalningsalgoritmer.

UDP -huvudformat

Eftersom UDP har begränsad kapacitet jämfört med TCP är dess rubriker mindre. Ett UDP -huvud innehåller 8 byte, uppdelat i följande fyra obligatoriska fält:

  • Källa UDP -portnummer (2 byte): Käll -UDP -portnumret representerar den sändande enheten.
  • Destination UDP -portnummer (2 byte): Destinations -UDP -portnumret är kommunikationens slutpunkt för den mottagande enheten.
  • Datalängd (2 byte): Längdfältet i UDP representerar den totala storleken på varje datagram, inklusive både rubrik och data. Detta fält varierar i värde från minst 8 byte – den obligatoriska huvudstorleken – till storlekar över 65 000 byte.
  • UDP -kontrollsumma (2 byte): I likhet med TCP tillåter en UDP-kontrollsumma mottagare att krysschecka inkommande data för skadade bitar av meddelandet.

Slutlig dom

Det finns en anledning till att TCP är det vanligaste protokollet. Det är robust och pålitligt, och det garanterar att data tas emot exakt som de skickades. Dess felkontrollerade informationsström kan sakta ner den något, men i de flesta fall är förseningen inte en affärsbrytare. Den tid då UDP lyser starkare än TCP är när hastighet är avgörande viktigt, till exempel vid strömning av videor, VPN eller onlinespel.