Обеспечивает сквозную передачу данных между процессами, запущенными на узлах, взаимодействующих по сети. TCP является надёжным протоколом с установлением соединения и находится между протоколом IP и пользовательским приложением. Протокол IP обеспечивает передачу dategram по сети, но не гарантирует целостность и порядок доставки. Эти задачи решает протокол TCP. Основные функции протокола TCP:
1. Базовая передача данных. TCP выполняет передачу данных между своими клиентами в обоих направлениях.
2. Обеспечение достоверности. TCP обеспечивает защиту данных от повреждения, потери и дублирования. Для выполнения этих задач все пакеты нумеруются. Заголовок каждого сегмента содержит число пакетов в сегменте и порядковый номер первого пакета в сегменте. Для каждого сегмента ищется контрольная сумма. При удалённой передачи приёмник посылает передатчику подтверждение о приёме. Если в течение некоторого интервала подтверждение не пришло, то пакет считается непринятым или с дефектами и посылается заново. Обычно подтверждение посылается не для одного пакета, а для некоторого количества последовательных пакетов.
3. Разделение каналов. Протокол TCP обеспечивает несколько соединений одновременно. Каждый прикладной процесс порта идентифицируется номером порта. Заголовок TCP сегмента содержит номера портов процесса отправителя и процесса получателя. При приёме данных сообщение отправляется соответствующему процессу. Наиболее распространённые в сети сервисы имеют свои стандартные номера портов: 80 – HTTP, 25 – SMTP. Совокупность IP адреса и номера порта уникальным образом идентифицирует процесс в сети и называется сокетом.
4. Функция управления соединением. Соединение – совокупность данных о состоянии потоков информации, включающая в себя IP адреса, номера портов, номера принятых, отправленных и подтверждённых пакетов. Каждое соединение в Интернет уникальным образом идентифицируется парой сокетов. Различают 2 типа открытия соединения: пассивное и активное.
5. Управление потоками. Для оптимизации процесса передачи больших объёмов информации TCP позволяет отправлять сегменты, не дожидаясь сигнала прима от предыдущего сообщения. Такой метод называется методом скользящего окна. Размер окна может устанавливаться и динамически меняться пользователем. Он выбирается таким образом, чтобы подтверждение приходило вовремя.