Протокол TCP (Transmission Control Protocol) является транспортным протоколом стека протоколов TCP/IP, обеспечивающим гарантированную доставку данных с установлением виртуального соединения.
Протокол предоставляет программам, использующим его, возможность передачи непрерывного потока данных. Данные, подлежащие отправке в сеть, разбиваются на порции, каждая из которых снабжается служебной информацией, то есть формируются пакеты данных. В терминологии TCP пакет называется сегментом.
В соответствии с функциональным назначением протокола структура TCP-сегмента предполагает наличие следующих информационных полей:
• номер порта-отправителя и номер порта-получателя – номера портов, идентифицирующие программы, между которыми осуществляется взаимодействие;
• поля, предназначенные для обеспечения гарантированной доставки: размер окна, номер последовательности и номер;
• управляющие флаги – специальные битовые поля, управляющие протоколом.