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.
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.
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!