Das Transmission Control Protocol (TCP) bezeichnet ein Abkommen darüber, auf welche Art und Weise Daten zwischen Computern ausgetauscht werden sollen. Alle am Datenaustausch beteiligten Computer kennen dieses Abkommen und befolgen es. Es ist somit ein zuverlässiges, verbindungsorientiertes Transportprotokoll in Computernetzwerken sichergestellt.
TCP stellt einen virtuellen Kanal zwischen zwei Endpunkten einer Netzwerkverbindung her. Auf diesem Kanal können in beide Richtungen Daten übertragen werden. TCP setzt in den meisten Fällen auf das IP-Protokoll auf.
TCP ist im Prinzip eine Punkt-zu-Punkt-Verbindung in Vollduplex. Diese Verbindung kann in 2 Halbduplex-Verbindungen eingeteilt werden. Das Management dieser Verbindung sowie die Datenübertragung wird von der TCP-Software übernommen, diese ist eine Funktionssammlung, zum Beispiel bei Windows in der Winsock.dll beziehungsweise wsock32.dll oder bei Linux im Kernel. Für Webbrowser oder Webserver ist die TCP-Software lesbar.
Jeder Endpunkt der Verbindung besteht aus einer IP-Adresse und dem Port dar. Ports sind 16-Bit-Zahlen und reichen von 0 bis 65535. Die Ports bis 1023 sind reserviert (z. B. ist Port 80 für das HTTP-Protokoll reserviert). Allerdings ist das Benutzen der vordefinierten Ports nicht bindend vorgeschrieben. Jeder Netzwerk-Administrator kann einen FTP-Server (normalerweise Port 21) auch auf einem anderen Port laufen lassen.