Протокол управления потоком передачи
Протокол управления потоком передачи (SCTP) - это протокол с установлением соединения, как TCP, но передающий данные сообщениями, как UDP. Операционная система AIX поддерживает RFC 4960.
В следующей
таблице приведены различия между SCTP и протоколами TCP и UDP.
Атрибут | 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, что снижает вероятность атак типа Отказ в обслуживании.