TCP og UDP er forbindelsesprotokoller, der bruges til at fastslå, hvordan data udveksles over en internetforbindelse. Hvis du allerede ved hvad IP står for (dvs. Internet Protocol), så er du allerede ved det, da både TCP og UDP er blevet udviklet oven på det.
Du vil dog tage fejl af at tro, at de stort set er de samme; selvom både TCP og UDP “har indflydelse på” den måde, dine data sendes/modtages på internettet, er de faktisk vildt forskellige, og af denne grund bruges de til forskellige formål.
For at sige det kort, lad os bare sige, at du utilsigtet bruger disse to protokoller hver dag, når du får adgang til internettet, hvilket gør dem altafgørende i den måde, din enhed kommunikerer med det åbne web (og enheder forbundet til det) og omvendt.
Da både TCP og UDP er bygget på internetprotokollen, vil du måske gerne forstå mere om IP, før du går direkte ind i TCP/UDP-introduktionslektioner. Du ved, du skal lære at gå, før du kan løbe.
Indholdsfortegnelse
Hvad er en IP-adresse?
IP, som er en forkortelse for Internet Protocol, er selve rygraden, som internettet, som vi kender det, blev bygget ovenpå. Dets betydning kan nemt afgøres ved, at hver enhed er tildelt en unik IP-adresse for at få adgang til internettet.
Adressen bestod tidligere kun af tal og decimaler. For at være mere specifik kan en IPv4-adresse dannes ud af fire individuelle tal, som hver kan have en værdi mellem 0 og 254. IPv4 gav os en samlet rækkevidde på 4,3 milliarder unikke IP-adresser.
Internettet begyndte uundgåeligt at nå dertil, hvor der ikke kunne genereres nye unikke IP-adresser, hvilket var da IPv6-systemet kom ind for at redde dagen. Offentlige IPv6-adresser bruger hexadecimale cifre og hver indeholder 128 bit, hvilket betyder, at de i stedet for base 10 (0 til 10) bruger base 16 (0 til 10 plus “a” til “f”).
Ved hjælp af IPv6-systemet er den samlede række af offentlige IPv6-adresser, vi kunne have, 340 undecilion (3,4 * 10^28). Hvis det er umuligt at pakke dit hoved omkring, så tjek hvordan IPv4- og IPv6-adresser ser ud nedenfor:
Eksempel på IPv4-adresse: 10.238.126.215
Eksempel på IPv6-adresse: fe80:0db8:0412:2001:3c5e:0000:10a9
Selvom det ultimative mål er, at IPv6 skal erstatte IPv4, fungerer de to protokoller i dag sammen.
IP-adresser gør det muligt for internetaktiverede enheder at lokalisere, kommunikere med hinanden og udveksle information. At dele data, streame en video eller sende e-mails ville ikke være muligt uden en IP-adresse. Alt, hvad du gør online, kan transskriberes til data.
For at sikre optimal funktionalitet opdeler IP’en disse data i mindre bidder, så den kan administrere dem bedre. Vi omtaler disse datastykker som pakker. Disse pakker indeholder dog ikke kun den information, de skal bære, men også destinations-IP-adressen på den enhed, de skal nå. Denne destination kaldes overskriften.
Når en pakke forlader din enhed, går den mod en gateway, som scanner efter din pakkes destinations-IP-adresse på dens domæne. Det er værd at nævne, at gatewayen kun kan se et givet sæt IP-adresser på internettet.
Så hvis gatewayen ikke kan finde adressen i sit domæne, sender den bare pakken til en anden gateway, og denne handling fortsætter, indtil pakken når en gateway, der kan registrere destinations-IP-adressen angivet i headeren og sender det til den enhed, der er knyttet til den pågældende adresse.
En anden ting, der er værd at bemærke, er, at det faktum, at dine data er opdelt i små pakker, betyder, at de ikke nødvendigvis behøver at ankomme i orden, eller endda bruge den samme rute, for den sags skyld. Faktisk forsøger pakker normalt at finde den hurtigste rute, de kan hver gang.
Sidst, men ikke mindst, bør du vide, at internetprotokollen ikke er formatspecifik, hvilket gør den ideel til enhver form for data, uanset om vi taler om video, billeder, lyd, e-mails, onlinemeddelelser eller endda spil.
Hvad er TCP?
TCP, som står for Transmission Control Protocol, er en af de vigtigste protokoller, der bruges af internetprotokolpakken. Det kom før UDP og blev brugt til at gøre det muligt for både programmer og enheder at udveksle information over et netværk.
Du bemærker måske, at det nogle gange er parret med IP og omtales som TCP/IP, men det betyder det samme (dvs. TCP og TCP/IP er nøjagtig det samme).
Som forklaret ovenfor opdeles data i små pakker og sendes til andre enheder i denne fragmenterede form, muligvis endda på forskellige ruter. TCP blev opfundet for behovet for at samle disse pakker tilbage til deres oprindelige form.
TCP venter på, at alle pakkerne ankommer, tæller dem, kontrollerer dem for fejl ved hjælp af en kontrolsum, anerkender pakker, der nåede frem til deres destination, og beder den oprindelige computer om at sende dem, der ikke nåede den første gang, igen. Efter at have modtaget alle pakker, samler TCP dem igen til de originale data og leverer dem til et passende program (f.eks. e-mail-klient, billedfremviser, videoafspiller).
Denne proces sker meget hurtigt i dag, og den sikrer, at dataene ankommer til modtagerens maskine præcis, som de var på afsenderenheden, uden at der er foretaget ændringer. Ydermere involverer det konstant kommunikation i begge ender, da processen faktisk kan beskrives som en kontinuerlig frem og tilbage mellem de deltagende enheder, indtil data ankommer og er 100% bekræftet.
Det siger sig selv, at denne konstante kommunikation mellem enheder lægger en frygtelig belastning på TCP, da enhver tabt eller korrupt pakke kan standse processen, indtil den manglende bit ankommer sikkert til sin destination. TCP behøver dog ikke gøre alt af sig selv, så UDP blev opfundet kort efter.
For at sige det kort, TCP:
Sørger for, at ingen pakker tabes
Anmoder om at sende pakker igen, hvis den opdager nogen manglende
Sender pakker i rækkefølge, så de nemt kan samles igen
Mest populære internetprotokol
Langsommere end UDP, fordi det skal sikre, at hver pakke ankommer
Velegnet til websteder, e-mails, FTP (File Transfer Protocol), P2P-fildeling
Hvad er UDP?
UDP, forkortelse for User Datagram Protocol, er et alternativ til TCP, så det er sikkert at antage, at de i det væsentlige udfører den samme opgave. De er dog også vildt forskellige på samme tid, da TCP er ret omhyggelig med at tjekke pakkedata, hvorimod UDP er en smule mere skødesløs.
Forestil dig to medarbejdere, der håndterer breve på en postsorteringsstation: TCP er den, der omhyggeligt undersøger hvert brev og tilbageholder al kommunikation, indtil hvert brev ankommer, mens UDP bare tjekker breve for integritet og videresender dem til deres destinationer, alt imens de dropper ethvert brev, der ankom ikke og bad ikke om at blive sendt igen.
Så det er sikkert at sige, at UDP er hurtigere, men hvorfor vil du ofre hastighed på bekostning af tab af data undervejs? Nå, dybest set er der nogle applikationer, hvor det ikke ligefrem er en tragedie at miste pakker.
For eksempel, hvis du bruger en VoIP-klient og taler med nogen, vil du måske bemærke, at der lejlighedsvis går tab af rammer eller lidt stammen i lyden, som for det meste er let at ignorere og derfor ikke er afgørende. Det samme gælder for gaming, hvor du måske bemærker, at spillet stammer, eller gummibåndet i ny og næ. Du fortsætter bare med at spille, og det er enden på det, da UDP bare dropper pakker, der er gået tabt under transit.
Med andre ord, UDP:
Er hurtigere end TCP og bruger færre ressourcer
Sender ikke nødvendigvis pakker i rækkefølge
Dropper eventuelle manglende pakker for at fremskynde forbindelsen
Afsenderen har ingen måde at finde ud af, om pakker er blevet droppet
Mest brugt til videostreaming, VoIP, spil og live-udsendelser
TCP og UDP i VPN-brug
I dag begynder flere og flere VPN’er at adoptere WireGuard eller fremstille deres proprietære protokol, der skal bruges, men mange af dem er afhængige af OpenVPN, fordi det efter alle disse år stadig er pålideligt, hurtigt og sikkert.
Hvad du dog måske ikke ved er, at OpenVPN fungerer med både TCP og UDP, og det meste af tiden lader dig vælge mellem disse to protokoller. Selvom dette kan lyde som en stor beslutning at tage (dataintegritet versus hastighed), ligger det virkelige problem et andet sted.
Mens du bruger en VPN, kan du muligvis ikke bemærke nogen stor forskel mellem TCP og UDP med hensyn til hastighed. Men hvis din forbindelse skal omgå en firewall, er det der, tingene ændrer sig, primært fordi disse protokoller fungerer på forskellige porte, og nogle firewalls kan blokere standardporte for visse typer trafik.
Derfor lader VPN-udbydere dig vælge mellem TCP og UDP. Hvis du bemærker, at din forbindelse ikke virker på den ene protokol, kan du bare skifte til den anden og krydse fingre. Nogle VPN-udbydere tilbyder dig avancerede indstillinger, hvor du også kan vælge en brugerdefineret port til din forbindelse for at undgå firewalls.
Forskellen mellem TCP og UDP
TCP
UDP
TCP er den mest udbredte protokol på internettet
Alle sendte data når frem til modtageren, ingen pakketabsgaranti
Pakker sendes i rækkefølge
Kræver flere ressourcer, hvilket også gør det langsommere.
UDP bruges til spil, videostreaming, VoIP, live-udsendelser
Afsender vil ikke vide, om en pakke mangler (ikke modtaget)
Pakker sendes ikke nødvendigvis i rækkefølge
Færre behov for ressourcer, hurtigere.
TCP vs UDP: Konklusion
For at afslutte tingene, er TCP og UDP ret ens protokoller, idet de sørger for, at dine data når frem til deres destination sikkert og uden at blive ændret et sted undervejs.
TCP udfører adskillige kontroller, mens den transmitterer data og er generelt mere drastisk omkring ikke at miste pakker, hvilket gør det fantastisk til websteder, e-mails, onlinemeddelelser, billeder og fildeling.
UDP tjekker bare, om destinationen er korrekt og tjekker pakkernes integritet, men beder ikke afsenderen om at sende tabte pakker igen, og dropper dem bare i stedet, hvilket betyder, at du får en hurtigere forbindelse, men du kan slippe pakker med vejen. UDP bruges mest til spil, VoIP, streaming af video og udsendelse af liveindhold, hvor tab af et par pakker ikke bør påvirke slutresultatet for meget.