Model TCP / IP
Každé TCP spojenie má na každom konci pridelený jeden port. Porty sú určené 16-bitovým číslom. Každé momentálne spojenie na celom internete je teda vždy jednoznačne opísané jednou dvojicou 32-bitových čísel a jednou dvojicou 16-bitových čísel:

Pripojenie všetkých troch staníc na port 110 môže byť mätúce. Napriek tomu stále ide o tri rôzne spojenia, pretože každé z nich vychádza z iného páru host-port a server prevedie každé spojenie na osobitné porty s vyšším číslom.

Protokol TCP používa v hlavičke paketu dva špeciálne bity, SYN (Synchronize sequence numbers) a ACK (Acknowledgment), ktoré slúžia na vytváranie nového spojenia. Po otváraní TCP spojenia odosiela žiadateľ paket, v ktorom je nastavený bit SYN, ale nie je nastavený bit ACK. Druhý hosť potvrdí nadviazanie spojenia paketom, ktorý má nastavené oba bity – SYN i ACK. Nakoniec žiadateľ odošle tretí paket, v ktorom je nastavený bit ACK, ale nie je nastavený bit SYN. Tomuto procesu sa hovorí trojcestný handshake. Keď budeme vyhľadávať pakety so suchým bitom ACK, môžeme ľahko rozoznať požiadavky na nové spojenie od paketov, ktoré sa posielajú v rámci už existujúceho spojenia. Toto rozlíšenie môže byť dôležité pri vytváraní filtračných firewallov.

Základnou jednotkou prenosu v protokole TCP je TCP segment, ktorý sa vkladá do IP datagramu a ten do linkového rámca. Ak sa použije príliš veľký TCP segment, ktorý je väčší než maximálna veľkosť prenášaného linkového rámca (MTU), potom IP protokol musí vykonať fragmentáciu IP datagramu.