TCP

TCP (Transmission Control Protocol) ist eine Transportebene für Netzwerk-Datenpakete. TCP ist im Gegensatz zu UDP „gesteuert“, da über die sogenannten „Control-Flags“ die Datenkommunikation gesteuert werden kann: ACK (Acknowledge), PSH (Push), RST (Reset), SYN (Synchronisation), FIN (Finish). Der Datenverkehr erfolgt bidirektional, indem beide Seiten einen sogenannten Socket öffnen. Meistens hat ein Server einen Socket dauernd geöffnet und wartet auf Anfragen. Der Client dagegen öffnet bei Bedarf ein Socket und verbindet sich zu dem Server. Bei einem Verbindungsaufbau vom Client ist das SYN-Flag gesetzt. Der Server antwortet darauf mit SYN-ACK oder RST (falls der Server die Verbindung nicht herstellen kann). Das gesetzte RST-Flag während einer Datenkommunikation bricht die komplette Verbindung ab. Falls eine Verbindung erfolgreich beendet wird, sendet der Client das FIN-Flag, worauf der Server mit FIN-ACK antwortet. TCP wird von den Anwendungs-Protokollen HTTP, FTP, SMTP und weiteren verwendet.