TCP och UDP är anslutningsprotokoll som används för att fastställa hur data utbyts över en internetanslutning. Om du redan vet vad IP står för (dvs. Internet Protocol), så är du redan insatt, eftersom både TCP och UDP har utvecklats ovanpå det.
Men du skulle ha fel om du tror att de är praktiskt taget likadana; även om både TCP och UDP ”har något att säga till om” i hur din data skickas/ tas emot på Internet, är de faktiskt väldigt olika och av denna anledning används de för olika ändamål.
För att uttrycka det kort, låt oss bara säga att du oavsiktligt använder dessa två protokoll varje dag när du ansluter till Internet, vilket gör dem avgörande för hur din enhet kommunicerar med den öppna webben (och enheter som är anslutna till den) och vice versa.
Eftersom både TCP och UDP bygger på Internetprotokollet, kanske du vill förstå mer om IP innan du hoppar direkt till TCP/UDP-introduktionslektioner. Du vet, du måste lära dig att gå innan du kan springa.
Innehållsförteckning
Vad är en IP-adress?
IP, som är en förkortning för Internet Protocol, är själva ryggraden på vilken Internet som vi känner det byggdes upp. Dess betydelse kan lätt räknas ut genom att varje enhet tilldelas en unik IP-adress för att den ska kunna komma åt Internet.
Adressen bestod tidigare endast av siffror och decimaler. För att vara mer specifik kan en IPv4-adress bildas av fyra individuella nummer, som vart och ett kan ha ett värde mellan 0 och 254. IPv4 gav oss ett totalt intervall på 4,3 miljarder unika IP-adresser.
Oundvikligen började Internet komma till en punkt där inga nya unika IP-adresser kunde genereras, vilket var när IPv6-systemet kom in för att rädda dagen. Offentliga IPv6-adresser använder hexadecimala siffror och var och en innehåller 128 bitar, vilket innebär att de istället för bas 10 (0 till 10) använder bas 16 (0 till 10 plus ”a” till ”f”).
Med hjälp av IPv6-systemet är det totala utbudet av offentliga IPv6-adresser vi skulle kunna ha 340 undecilioner (3,4 * 10^28). Om det är omöjligt att linda huvudet runt, kolla in hur IPv4- och IPv6-adresser ser ut nedan:
Exempel på IPv4-adress: 10.238.126.215
Exempel på IPv6-adress: fe80:0db8:0412:2001:3c5e:0000:10a9
Även om det slutgiltiga målet är att IPv6 ska ersätta IPv4, fungerar de två protokollen i dag tillsammans.
IP-adresser tillåter Internet-aktiverade enheter att lokalisera, kommunicera med varandra och utbyta information. Att dela data, strömma en video eller skicka e-post skulle inte vara möjligt utan en IP-adress. Allt du gör online kan transkriberas till data.
För att säkerställa optimal funktionalitet delar IP:n upp denna data i mindre bitar så att den kan hantera den bättre. Vi hänvisar till dessa databitar som paket. Dessa paket innehåller dock inte bara informationen de ska bära, utan även destinations-IP-adressen för enheten de behöver nå. Denna destination kallas rubriken.
När ett paket lämnar din enhet, går det mot en gateway, som söker efter ditt pakets destinations-IP-adress på dess domän. Det är värt att nämna att gatewayen bara kan se en given uppsättning IP-adresser på Internet.
Så om gatewayen inte kan hitta adressen i sin domän, skickar den bara paketet till en annan gateway, och denna operation fortsätter tills paketet når en gateway som kan upptäcka destinations-IP-adressen som anges i rubriken och skickar den till enheten som är kopplad till den adressen.
En annan sak som är värd att notera är att det faktum att din data är uppdelad i små paket gör att den inte nödvändigtvis behöver komma fram i ordning, eller ens använda samma rutt, för den delen. Faktum är att paket vanligtvis försöker hitta den snabbaste vägen de kan varje gång.
Sist men inte minst bör du veta att Internetprotokollet inte är formatspecifikt, vilket gör det idealiskt för alla former av data, oavsett om vi pratar om video, bilder, ljud, e-postmeddelanden, snabbmeddelanden eller till och med spel.
Vad är TCP?
TCP, som står för Transmission Control Protocol, är ett av huvudprotokollen som används av Internetprotokollsviten. Det kom före UDP och användes för att göra det möjligt för både program och enheter att utbyta information över ett nätverk.
Du kanske märker att det ibland är ihopkopplat med IP och kallas TCP/IP, men det betyder samma sak (dvs. TCP och TCP/IP är exakt samma sak).
Som förklarats ovan delas data upp i små paket och skickas till andra enheter i denna fragmenterade form, möjligen även på olika rutter. TCP uppfanns för behovet av att återmontera dessa paket tillbaka till sin ursprungliga form.
TCP väntar på att alla paket ska anlända, räknar dem, kontrollerar dem för fel med hjälp av en kontrollsumma, bekräftar paket som nådde sin destination och ber ursprungsdatorn att skicka om de som inte gjorde det första gången. Efter att ha tagit emot alla paket, sätter TCP ihop dem igen till originaldata och levererar dem till en lämplig applikation (t.ex. e-postklient, bildvisare, videospelare).
Denna process sker mycket snabbt nuförtiden, och den säkerställer att informationen kommer till mottagarens dator precis som den var på avsändarenheten, utan några bakåtsträvande ändringar. Dessutom innebär det konstant kommunikation i båda ändar, eftersom processen faktiskt kan beskrivas som en kontinuerlig fram- och tillbaka mellan de deltagande enheterna tills data kommer fram och är 100% bekräftad.
Det säger sig självt att denna konstanta kommunikation mellan enheter sätter en fruktansvärd påfrestning på TCP, eftersom alla förlorade eller korrupta paket kan stoppa processen tills den saknade biten kommer säkert fram till sin destination. TCP behöver dock inte göra allt själv, så UDP uppfanns strax efter.
För att uttrycka det kort, TCP:
Ser till att inga paket tappas
Ber om att paket ska skickas om om det upptäcker några saknade
Skickar paket i ordning så att de enkelt kan sättas ihop igen
Det populäraste Internetprotokollet
Långsammare än UDP eftersom det måste se till att varje paket kommer fram
Passar för webbplatser, e-postmeddelanden, FTP (File Transfer Protocol), P2P-fildelning
Vad är UDP?
UDP, förkortning för User Datagram Protocol, är ett alternativ till TCP, så det är säkert att anta att de i huvudsak bär samma uppgift. Men de är också väldigt olika på samma gång, eftersom TCP är ganska noggrann med att kontrollera paketdata, medan UDP är lite mer slarvig.
Föreställ dig två anställda som hanterar brev på en postsorteringsstation: TCP är den som noggrant undersöker varje brev och undanhåller all kommunikation tills varje brev anländer, medan UDP bara kontrollerar brevens integritet och vidarebefordrar dem till sina destinationer, samtidigt som de släpper alla brev som kom inte och bad inte om att skickas igen.
Så det är säkert att säga att UDP är snabbare, men varför skulle du vilja offra hastighet på bekostnad av att förlora data på vägen? Tja, i grund och botten finns det vissa applikationer där att förlora paket inte precis är en tragedi.
Till exempel, om du använder en VoIP-klient och pratar med någon, kanske du märker en och annan ramförlust, eller lite stamning i ljudet, vilket för det mesta är lätt att ignorera och därför inte är avgörande. Detsamma gäller för spel, där du kanske märker att spelet stammar, eller gummibandet då och då. Du återupptar bara att spela och det är slutet på det eftersom UDP bara tappar paket som försvann under transporten.
Med andra ord, UDP:
Är snabbare än TCP och använder färre resurser
Skickar inte nödvändigtvis paket i ordning
Tar bort alla saknade paket för att påskynda anslutningen
Avsändaren har inget sätt att ta reda på om paket har tappats
Används mest för videostreaming, VoIP, spel och livesändningar
TCP och UDP i VPN-användning
Nuförtiden börjar fler och fler VPN: er att anta WireGuard eller skapa sitt proprietära protokoll som ska användas, men många av dem förlitar sig på OpenVPN eftersom det efter alla dessa år fortfarande är pålitligt, snabbt och säkert.
Men vad du kanske inte vet är att OpenVPN fungerar med både TCP och UDP, och för det mesta låter det dig välja mellan dessa två protokoll. Även om detta kan låta som ett stort beslut att ta (dataintegritet kontra hastighet), ligger den verkliga frågan någon annanstans.
När du använder ett VPN kanske du inte kan märka någon stor skillnad mellan TCP och UDP när det gäller hastighet. Men om din anslutning behöver kringgå en brandvägg, är det då saker och ting förändras, främst för att dessa protokoll fungerar på olika portar, och vissa brandväggar kan blockera standardportar för vissa typer av trafik.
Därför låter VPN-leverantörer dig välja mellan TCP och UDP. Om du märker att din anslutning inte fungerar på ett protokoll kan du bara byta till det andra och hålla tummarna. Vissa VPN-leverantörer erbjuder dig avancerade inställningar där du också kan välja en anpassad port för din anslutning för att undvika brandväggar.
Skillnaden mellan TCP och UDP
TCP
UDP
TCP är det mest använda protokollet på internet
All skickad data kommer till mottagaren, ingen paketförlustgaranti
Paketen skickas i ordning
Kräver mer resurser, vilket gör det långsammare också.
UDP används för spel, videostreaming, VoIP, livesändningar
Avsändaren kommer inte att veta om ett paket saknas (ej mottaget)
Paketen skickas inte nödvändigtvis i ordning
Färre resurser behövs, snabbare.
TCP vs UDP: Slutsats
För att avsluta saker och ting är TCP och UDP ganska lika protokoll, eftersom de ser till att din data når sin destination säkert och utan att modifieras någonstans på vägen.
TCP utför flera kontroller när data överförs och är generellt mer drastiskt när det gäller att inte förlora paket, vilket gör det utmärkt för webbplatser, e-postmeddelanden, snabbmeddelanden, bilder och fildelning.
UDP kontrollerar bara om destinationen är korrekt och kontrollerar paketens integritet, men ber inte avsändaren att skicka om några förlorade paket, utan bara släpper dem istället, vilket betyder att du får en snabbare anslutning, men du kan släppa paket med vägen. UDP används mest för spel, VoIP, strömmande video och sändning av liveinnehåll, där att förlora några paket inte bör påverka slutresultatet för mycket.