Een transportprotocollaag is een laag in het netwerkarchitectuurmodel (meestal het TCP/IP-model of het OSI-model) die zich boven de netwerklaag en onder de applicatielaag bevindt. De primaire functie is het bieden van betrouwbare en efficiënte end-to-end datalevering tussen applicaties die op verschillende hosts draaien. Het neemt in wezen de datapakketten die zijn ontvangen van de applicatielaag en bereidt deze voor op verzending via het netwerk, en voegt ze vervolgens weer samen op de bestemming.
De belangrijkste verantwoordelijkheden van de transportlaag zijn onder meer:
* Segmentatie en hermontage: Het opsplitsen van grote applicatiegegevens in kleinere segmenten die geschikt zijn voor verzending via het netwerk en het opnieuw samenstellen ervan aan de ontvangende kant.
* Verbindingsbeheer: Verbindingen tussen communicerende applicaties tot stand brengen, beheren en verbreken. Dit kan verbindingsgericht zijn (zoals TCP) of verbindingsloos (zoals UDP).
* Stroomcontrole: Beheer van de snelheid van de gegevensoverdracht om te voorkomen dat de ontvanger wordt overweldigd. Dit zorgt ervoor dat de zender de gegevens niet sneller verzendt dan de ontvanger deze kan verwerken.
* Foutcontrole (voor verbindingsgerichte protocollen): Het detecteren en corrigeren van fouten die tijdens de verzending kunnen optreden. Meestal gaat het hierbij om bevestigingen (ACK's) en hertransmissies.
* Multiplexen en demultiplexen: Het verwerken van meerdere gelijktijdige communicatiestromen tussen verschillende applicaties op dezelfde host. Multiplexing combineert gegevens uit verschillende applicaties in één enkele stroom, terwijl demultiplexing de gegevens aan de ontvangende kant scheidt.
De meest voorkomende transportlaagprotocollen zijn:
* TCP (Transmission Control Protocol): Een verbindingsgericht protocol dat zorgt voor een betrouwbare, geordende en op fouten gecontroleerde levering van gegevens. Het wordt vaak gebruikt voor toepassingen die een betrouwbare gegevensoverdracht vereisen, zoals surfen op het web (HTTP) en e-mail (SMTP).
* UDP (User Datagram Protocol): Een verbindingsloos protocol dat een snellere maar minder betrouwbare gegevensoverdracht biedt. Het garandeert geen levering of bestelling en biedt geen foutcontrole. Het is geschikt voor toepassingen waarbij snelheid prioriteit krijgt boven betrouwbaarheid, zoals online gaming en streaming.
In wezen fungeert de transportlaag als een brug tussen de behoefte van de applicatielaag aan betrouwbare communicatie en de verantwoordelijkheid van de netwerklaag voor het leveren van datapakketten over het netwerk. Het abstraheert de complexiteit van netwerktransmissie van de applicatielaag. |