3.3.5.1 Протокол ориентированный на соединениеl

iDevice ikoon 3.3.5.1 Протокол ориентированный на соединениеl

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

  • надёжность связи
  • управление соединением
  • отсутствие ошибок
  • упорядоченность пакетов.

TCP заголовок содержит следующую информацию:

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

В случае TCP соединения у приложения должны быть определены порты отправки и назначения. TCP порты, номер которых меньше, чем 1024, являются официально назначенными портами и использованием их управляет IANA (Internet Assigned Numbers Authority): http://www.iana.org/assignments/port-numbers

Приложениям, которые передают заголовки удалённому компьютеру, назначается порт отправки, который является 1024 или выше. 
TCP соединение инициализируется трёхступенчатым хандшейкингом (Handshaking или рукопожатие). В ходе него синхронизируются серийные номера и обмениваются ёмкостью TCP буфера данных:

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