Az TCP protokoll (RFC 793) megbízható (nyugtázott), összeköttetés alapú szállítási réteg protokoll. Az adatkommunikáció megkezdése előtt kapcsolat (TCP összeköttetés) épül ki a felek között. A kommunikáció során pedig folyamatos áramlásszabályozást lát el.
A TCP fejrész legfontosabb mezői:
16 bit feladó portszám
16 bit célportszám (A két portszám együttesen azonosítja a kommunikációs viszonyt)
32 bit szegmens sorszám (bájt sorszám modulo 232 )
32 bit nyugta sorszám (a következőként várt bájt sorszáma)
4 bit (Data offset) TCP fejrész hossza (szavakban)
Legfontosabb jelzőbitek:
SYN: Kapcsolat kiépítés (szinkronizáció)
FIN: Kapcsolat bontás (finish)
ACK: Érvényes a nyugta sorszám mező értéke
16 bit Ablakméret - (A következőként várt szegmens maximális mérete)
A szegmens hossza nincs benne a fejrészben, ez a TCP/IP interfészen adódik át az IP felé. A TCP minden bájtot sorszámoz, s a nyugtában jelzi vissza a társa felé a soron következőként várt bájt sorszámát.
A TCP áramlásszabályozást is végez: az ablakméret mezőben jelzi vissza a társának, hogy az maximum milyen hosszú szegmenst küldhet legközelebb.