Протокол гарантированной передачи данных через ненадежные каналы TCP (Transmission Control Protocol) был определен IETF в 1981 году в документе [RFC793J. Протокол TCP применяется в случаях, когда требуется гарантированная доставка информации между двумя хостами. Он использует контрольные суммы размеров пакетов для проверки их целостности и освобождает прикладные процессы от необходимости управления таймерами и осуществления повторных передач для обеспечения надежности. Для реализации гарантированной доставки в TCP реализуется алгоритм «скользящеее окно» (sliding window). Наиболее типичными процессами прикладного уровня (application layer), использующими TCP, являются FTP (File Transfer Protocol - протокол передачи файлов), Telnet и т.д. (см. табл. l.l).

TCP является протоколом транспортного уровня ориентированным на соединение. TCP осуществляет функции мультиплексирования, демультиплексирования и определения ошибок. TCP реализуется только в оконечном оборудовании, поэтому соединение транспортного уровня «из-конца-в-конец» между двумя хостами далее будем называть соединением TCP. Определим некоторые базовые свойства соединения TCP:

• в большинстве случаев соединение TCP является полнодуплексным, только во время служебных фаз, т.е. установления и разрушения соединения, соединение TCP может носить полудуплексный характер;

• соединение TCP всегда устанавливается только между двумя хостами, т.е. «точка-точка». Использование мультикастинга (multicasting) с протоколом TCP не допускается.

Классические протоколы транспортного уровня - протокол udp | Управление трафиком и качество обслужевания в сети | Структура сегмента tcp