После того как протокол TCP установит сеанс, он сможет следить за обменом данными, происходящим в рамках этого сеанса. Благодаря способности TCP отслеживать фактические сеансы связи он считается протоколом с контролем состояния. Протокол с контролем состояния отслеживает состояние сеанса передачи данных. Например, когда данные передаются по протоколу TCP, отправитель ожидает, что узел назначения отправит подтверждение о получении данных. TCP отслеживает, какую информацию он отправил и какая информация была подтверждена. Если получение данных не подтверждено, отправитель считает, что они не достигли адресата, и повторяет их отправку. Сеанс связи с контролем состояния начинается с установления сеанса обмена данными и прекращается по его завершении.

Примечание. Для обработки информации о состоянии необходимы ресурсы, которые не требуются протоколу без контроля состояния, например протоколу UDP.

При использовании этих функций протокол TCP создаёт дополнительную нагрузку. Как показано на рисунке, каждый сегмент TCP содержит 20 дополнительных байт в заголовке, инкапсулируя данные уровня приложений. Это существенно превышает значение сегмента UDP, в котором содержатся 8 дополнительных байт. Дополнительная нагрузка состоит из следующих элементов.

В качестве примеров приложений, использующих протокол TCP, можно привести веб-браузеры, электронную почту и передачи файлов.