Jak już wspomniano wcześniej, TCP uważany jest za niezawodny protokół dostarczania danych, co oznacza, że zawiera mechanizmy niezawodnego dostarczania danych pomiędzy aplikacjami, realizowane poprzez wysyłanie potwierdzeń odbioru danych. Transport z użyciem TCP można porównać do przesyłania pakietów, które śledzone są od źródła do celu. Jeśli zamówienie kurierem podzielone zostanie na kilka mniejszych paczek, klient może sprawdzić online kolejność dostawy poszczególnych paczek.

Niezawodność protokołu TCP realizowana jest przez:

TCP dzieli wiadomość na małe części zwane segmentami. Segmenty są kolejno numerowane i przesyłane do procesu IP, gdzie są enkapsulowane w pakiety. TCP śledzi liczbę segmentów, które zostały wysłane do określonego hosta z określonej aplikacji. Jeśli nadawca nie otrzyma potwierdzenia w określonym czasie, to zakłada, że segmenty zostały utracone i retransmituje je. Wysyłana ponownie jest tylko ta część wiadomości, która została utracona, a nie cała wiadomość. Na hoście odbierającym, TCP jest odpowiedzialny za ponowne złożenie segmentów wiadomości i przekazanie ich do aplikacji. File Transfer Protocol (FTP) i Hypertext Transfer Protocol (HTTP) są przykładem aplikacji korzystających z TCP w celu zapewnienia niezawodności dostarczania danych.

Naciśnij przycisk "Odtwórz" na rysunku, aby zobaczyć animację przedstawiającą transmisję segmentów TCP od nadawcy do odbiorcy.

Procesy te wnoszą dodatkowy narzut na zasoby sieciowe ze względu na konieczność wysyłania potwierdzeń, śledzenia transmisji oraz dokonywania retransmisji. W celu zapewnienia poprawnego sposobu działania tych procesów wymagane jest zwiększenie ilości danych kontrolnych wymienianych pomiędzy hostami. Te dane kontrolne zawarte są w nagłówku segmentu TCP.