Протокол управления потоком передачи

Протокол управления потоком передачи (SCTP) - это протокол с установлением соединения, как TCP, но передающий данные сообщениями, как UDP. Операционная система AIX поддерживает RFC 4960.

В следующей таблице приведены различия между SCTP и протоколами TCP и UDP.
Табл. 1. Различия между TCP, UDP и SCTP
Атрибут TCP UDP SCTP
Надежность Надежный Ненадежный Надежный
Управление соединением С установлением соединения Без установления соединения С установлением соединения
Передача данных В виде байтов в виде сообщений в виде сообщений
Управление потоком Yes Нет Yes
Управление нагрузкой Yes Нет Yes
Устойчивость к сбоям Нет Нет Yes
Доставка данных Строго упорядоченная Неупорядоченная Частично упорядоченная
Защита Yes Yes Улучшенная
В целом SCTP предлагает более гибкие возможности для некоторых приложений, таких как Voice over IP (VoIP), которые требуют, чтобы данные передавались надежно, но вместе с тем в виде сообщений. Для этого типа приложений SCTP подходит лучше, чем TCP или UDP.
  • TCP обеспечивает надежную и строго упорядоченную доставку данных. Использование TCP приложениями, требовательными к надежности, но терпимыми к неупорядоченности или частичной упорядоченности данных, может вызывать ненужные задержки из-за объединения данных в блоки. SCTP использует принцип "несколько потоков в одном соединении", что обеспечивает строго упорядоченную доставку с логическим разделением потоков.
  • SCTP ориентирован на сообщения, тогда как TCP - на байты. Из-за ориентированной на байты структуры TCP приложениям приходится добавлять свои собственные маркировки записей для сохранения границ сообщений.
  • SCTP обеспечивает некоторую устойчивость к сбоям за счет использования функции множества сетевых адресов. Сервер считается хостом с несколькими сетевыми адресами, когда к нему прикреплено несколько сетевых интерфейсов, находящихся в одной или разных сетях. Между двумя хостами с несколькими сетевыми адресами можно установить связь SCTP. В этом случае при запуске соединения происходит обмен всеми IP-адресами обоих конечных точек соединения; это позволяет каждой конечной точке соединения в случае сбоя одного из интерфейсов использовать любой из этих адресов в течение срока действия соединения, при условии, что нужный узел доступен через другие интерфейсы.
  • SCTP также предлагает дополнительные функции защиты, отсутствующие в TCP и UDP. В SCTP выделение ресурсов во время установки соединения откладывается до тех пор, пока идентификация клиента не будет подтверждена с помощью cookie, что снижает вероятность атак типа Отказ в обслуживании.