Wat is het verschil tussen TCP en UDP?
U hebt waarschijnlijk verwijzingen naar TCP en UDP gezien bij het instellen van port-forwarding op een router of bij het configureren van firewallsoftware. Deze twee protocollen worden gebruikt voor verschillende soorten gegevens.
TCP / IP is een reeks protocollen die door apparaten worden gebruikt om te communiceren via internet en de meeste lokale netwerken. Het is genoemd naar twee van zijn originele protocollen - het Transmission Control Protocol (TCP) en het Internet Protocol (IP). TCP biedt apps een manier om een geordende en fout gecontroleerde stroom van informatiepakketten via het netwerk af te leveren (en te ontvangen). Het User Datagram Protocol (UDP) wordt door apps gebruikt om een snellere informatiestroom af te leveren door foutcontroles ongedaan te maken. Bij het configureren van sommige netwerkhardware of -software, moet u mogelijk het verschil weten.
Wat ze gemeenschappelijk hebben
Zowel TCP als UDP zijn protocollen die worden gebruikt voor het verzenden van databestanden - ook wel pakketten genoemd - via internet. Beide protocollen bouwen bovenop het IP-protocol. Met andere woorden, of u een pakket verzendt via TCP of UDP, dat pakket wordt naar een IP-adres verzonden. Deze pakketten worden op dezelfde manier behandeld, aangezien ze worden doorgestuurd van uw computer naar intermediaire routers en naar de bestemming.
TCP en UDP zijn niet de enige protocollen die bovenop IP werken. Ze zijn echter de meest gebruikte.
Hoe TCP werkt
TCP is het meest gebruikte protocol op internet.
Wanneer u een webpagina in uw browser aanvraagt, verzendt uw computer TCP-pakketten naar het adres van de webserver en vraagt deze om de webpagina naar u te verzenden. De webserver antwoordt door een stroom TCP-pakketten te verzenden, die door uw webbrowser worden samengevoegd om de webpagina te vormen. Wanneer u op een koppeling klikt, inlogt, een opmerking plaatst of iets anders doet, verzendt uw webbrowser TCP-pakketten naar de server en stuurt de server TCP-pakketten terug.
Bij TCP gaat het om betrouwbaarheid - pakketten die met TCP worden verzonden, worden bijgehouden zodat er tijdens het transport geen gegevens verloren gaan of beschadigd raken. Dit is de reden waarom bestandsdownloads niet worden beschadigd, zelfs als er netwerkproblemen optreden. Natuurlijk, als de ontvanger volledig offline is, geeft uw computer het op en ziet u een foutmelding dat het niet kan communiceren met de externe host.
TCP bereikt dit op twee manieren. Eerst worden er pakketten besteld door ze te nummeren. Ten tweede controleert het de foutmelding door de ontvanger een antwoord terug te sturen naar de afzender die zegt dat hij het bericht heeft ontvangen. Als de afzender niet het juiste antwoord krijgt, kan hij de pakketten opnieuw verzenden om ervoor te zorgen dat de ontvanger deze correct ontvangt.
Process Explorer en andere systeemhulpprogramma's kunnen het type verbindingen weergeven dat een proces maakt. Hier kunnen we de Chrome-browser zien met open TCP-verbindingen naar verschillende webservers.
Hoe UDP werkt
Het UDP-protocol werkt op dezelfde manier als TCP, maar het gooit alle fouten controlerende dingen weg. Alle heen-en-weer communicatie introduceert vertraging, waardoor dingen worden vertraagd.
Wanneer een app UDP gebruikt, worden pakketten zojuist naar de ontvanger verzonden. De afzender wacht niet om er zeker van te zijn dat de ontvanger het pakket heeft ontvangen - het gaat gewoon door met het verzenden van de volgende pakketten. Als de ontvanger hier en daar een paar UDP-pakketten mist, zijn ze gewoon verloren - de afzender zal ze niet opnieuw verzenden. Door al deze overheadkosten te verliezen, kunnen de apparaten sneller communiceren.
UDP wordt gebruikt wanneer snelheid wenselijk is en foutcorrectie niet noodzakelijk is. UDP wordt bijvoorbeeld vaak gebruikt voor live-uitzendingen en online games.
Stel dat u bijvoorbeeld een live videostream bekijkt, die vaak wordt uitgezonden met UDP in plaats van TCP. De server stuurt gewoon een constante stroom UDP-pakketten naar computers die kijken. Als u uw verbinding gedurende een paar seconden verliest, kan de video bevriezen of een sprong maken en vervolgens naar het huidige deel van de uitzending gaan. Als u een klein pakketverlies ervaart, kan de video of audio een moment worden vervormd terwijl de video blijft spelen zonder de ontbrekende gegevens.
Dit werkt op dezelfde manier in online games. Als u enkele UDP-pakketten mist, kunnen spelerpersonages lijken te teleporteren over de kaart terwijl u de nieuwere UDP-pakketten ontvangt. Het heeft geen zin om de oude pakketten aan te vragen als je ze hebt gemist, want het spel gaat verder zonder jou. Het enige dat telt, is wat er nu op de spelserver gebeurt - niet wat er een paar seconden geleden gebeurde. De TCP-foutcorrectie wegnemen helpt de verbinding met het spel te versnellen en de latentie te verminderen.
En dan?
Of een toepassing TCP of UDP gebruikt, is aan de ontwikkelaar en de keuze hangt af van wat een toepassing nodig heeft. De meeste apps hebben de foutcorrectie en robuustheid van TCP nodig, maar sommige applicaties hebben de snelheid en de verminderde overhead van UDP nodig. Als u een netwerkanalysetool zoals Wireshark inschakelt, ziet u de verschillende soorten pakketten heen en weer reizen.
Tenzij u een netwerkbeheerder of softwareontwikkelaar bent, zou dit u niet te veel moeten beïnvloeden. Als u uw router- of firewallsoftware configureert en niet zeker weet of een toepassing TCP of UDP gebruikt, kunt u over het algemeen de optie "Beide" selecteren om ervoor te zorgen dat uw router of firewall dezelfde regel toepast op zowel TCP- als UDP-verkeer.