TCP

TCP

Elena Tschistowa


Протокол управления передачей - это соглашение о передаче данных между компьютерами. Все операционные системы современных компьютеров владеют TCP и используют его для обмена данными с другими устройствами. Это надежный транспортный протокол соединений в компьютерных сетях. Он является частью семейства интернетпротоколов, основы интернета.

TCP был разработан Робертом Каном и Винтоном Серфом. Их исследовательская работа, начавшаяся в 1973 году, заняла многие годы. Поэтому первый стандарт TCP вышел в 1981 году под названием RFC 793. Затем последовало множество расширений, специфицирующихся и сегодня в новых RFC, ряде технических и организационных документов интернета, имеющих отношение к TCP.

В отличие от протокола с потерей данных UDP (User Datagram Protocol) TCP устанавливает виртуальный канал между конечными пунктами сетевого соединения. По этому каналу возможна передача данных в обоих направлениях. TCP в большинстве случаев устанавливается на IP (Internet Protocoll), отчего зачастую (и не всегда корректно) говорят о TCP/IP протоколе. Он находится на четвертом уровне сетевой модели OSI.

Из-за множества положительных качеств (распознавание и исправление потери соединения, возможность двунаправленного соединения, предотвращение перегрузок и т.д.) TCP весьма распространённый протокол передачи данных. Например, TCP почти всегда используется как транспортный интерфейс для WWW, электронной почты, данных в peer-to-peer и других популярных интернет-соединениях.

TCP лежит в основе принципа передачи один-к-одному в полном дуплексе, где позволена одновременная передача данных в обоих направлениях по аналогии с телефонным разговором. Такое соединение может быть разделено на два полудуплекса, где информация, поступающая (как правило, не одновременно) в обоих направлениях может быть разделена. Притом данные в обоих направлениях могут содержать управляющую информацию. Управление этого соединения, также как и передачи данных, берёт на себя программное обеспечение TCP. Программное обеспечение TCP - это набор функций, встроенный в операционную систему (в виде, поддерживаемом системой, например, в Microsoft Windows это системная библиотека "Winsock.dll" или "wsock32.dll", а в Linux даже прописан в ядро системы).

Каждое TCP-соединение однозначно идентифицируется двумя конечными точками. У каждой точки есть упорядоченная пара, состоящая из IP-адреса и порта. Такая пара составляет двунаправленный программный интерфейс и назначается (сокетом?). С помощью IP-адреса отдельные устройства распознаются соединением. С помощью порта распознаются коммуницирующие программы.