4734: Transmission Control Protocol

Het "Transmission Control Protocol" is de beschrijving van de algemene overdrachtsfunctie van het Internet. Het is een invulling van laag 4 van het OSI-model. Normaliter wordt het gebruikt met IP voor laag 3 en wordt dan gezamenlijk als TCP/IP aangeduid. Het protocol wordt gebruikt bij niet tijdkritische communicatie, waarbij foutloze overdracht belangrijk is, zoals file-transfer.
TCP biedt garantie dat de gegevens daadwerkelijk aankomen maar, omdat er door de diverse controles, hertransmissies nodig kunnen zijn, is de gemiddelde doorvoersnelheid lager dan het alternatief UDP.

Openen van een verbinding

Het TCP protocol is "connection oriented": het legt eerst een verbinding met een TCP-laag in de bestemde node. Dit gebeurt via een "connectie verzoek" over het netwerk op en neer via alle lagere lagen en eventueel ook nog via meerdere routers. Pas nadat er binnen een zekere tijd een connectie-akkoord wordt ontvangen, kan de data worden verzonden.

Verzenden van de data

TCP hakt de data in pakketten. De pakketlengte wordt begrensd door de maximale buffergrootte van de onderliggende lagen. Elk pakket wordt voorzien van een volgordenummer. Van elk pakket wordt binnen een zekere tijd een ontvangstbevestiging verwacht, want anders zal het pakket opnieuw moeten worden verzonden. Het is overigens mogelijk dat de ontvangstbevestigingen niet in de verwachte volgorde binnen komen!

Ontvangen van data

Een binnenkomend connectie verzoek wordt geaccordeerd zodra er voldoende bufferruimte kan worden geopend. De pakketten die voor deze connectie worden ontvangen, worden aaneen geplakt in de aangegeven volgorde en voor elk pakket wordt een ontvangstbevestiging teruggestuurd. Tot slot wordt de gehele databuffer overgedragen aan de applicatie en kan, indien gewenst, de connectie door de afzender worden gesloten.