Junior
Wat is het TCP-protocol?
sobes.tech AI
Antwoord van AI
TCP (Transmission Control Protocol) is een transportlaagprotocol in de TCP/IP-protocolstack dat zorgt voor een betrouwbare, verbinding-georiënteerde levering van een byte-stroom tussen applicaties.
Belangrijkste kenmerken van TCP:
- Betrouwbaarheid: Garandeert de levering van alle datasegmenten in de juiste volgorde, door verloren of beschadigde segmenten opnieuw te verzenden. Gebruikt bevestigingen (ACK) en time-outs.
- Verbindingsgericht: Voordat gegevens worden verzonden, wordt een logische verbinding tussen zender en ontvanger tot stand gebracht (drieweg-handdruk). De verbinding wordt gedurende de hele sessie onderhouden.
- Stroomcontrole: Regelt de snelheid van gegevensoverdracht zodat de zender de buffer van de ontvanger niet overbelast. Gebruikt een ontvangvenster.
- Congestiebeheersing: Voorkomt netwerkoverbelasting door de overdrachtssnelheid dynamisch aan te passen op basis van de netwerkcondities. Gebruikt algoritmen zoals Slow Start en Congestion Avoidance.
- Stroomgeoriënteerde overdracht: TCP beschouwt gegevens als een continue stroom bytes, niet als aparte pakketten. Garandeert dat gegevens in dezelfde volgorde worden afgeleverd als waarin ze zijn verzonden.
- Dubbeldirectionele communicatie: Maakt het mogelijk om gegevens in beide richtingen gelijktijdig te verzenden na het tot stand brengen van de verbinding.
Toepassingen van TCP:
- HTTP/HTTPS (webverkeer)
- FTP (bestandoverdracht)
- SMTP (e-mail)
- SSH (externe beheer)
Vergelijking met UDP:
| Kenmerk | TCP | UDP |
|---|---|---|
| Betrouwbaarheid | Hoog (leveringsgarantie) | Laag (zonder garantie) |
| Verbinding-georiënteerd | Ja (opzetten en onderhouden) | Nee (transmissie zonder opzetten) |
| Gegevensvolgorde | Ja (levering in verzendvolgorde) | Nee (kan in niet-volgorde aankomen) |
| Stroomcontrole | Ja | Nee |
| Congestiebeheersing | Ja | Nee |
| Transmissiesnelheid | Lager (door overhead) | Hoger |
| Voorbeelden | HTTP, FTP, SSH, SMTP | DNS, DHCP, VoIP, online games |