Протоколы TCP и SCTP
И TCP (протокол управления передачей), и SCTP (протокол управления потоком передачи) лежат на транспортном уровне и обеспечивают транспортные функции в основном в интернет-приложениях. TCP обеспечивает надежную передачу данных со строгим порядком доставки пакетов, но некоторым приложениям требуется надежная передача, а не 100% последовательность доставки пакетов. В этих случаях TCP может вызвать ненужную задержку во втором варианте, где важна надежность, но не 100% последовательная доставка.
При транспортировке пакетов существуют два основных ограничения: надежность и задержка. Надежность - это гарантированная доставка пакета, а задержка - своевременная доставка пакета. Оба не могут быть достигнуты до пика одновременно, но могут быть оптимизированы.
SCTP разработан в основном для передачи сигналов PSTN по IP-сетям. (СИГТРАН). Но в наши дни другие приложения также считают, что SCTP хорошо соответствует их требованиям.
TCP:
Определено в RFC 793
TCP - это сквозной надежный протокол, ориентированный на соединение, для поддержки гарантированной передачи данных. От самого установления соединения TCP обеспечивает надежность. Некоторые из основных функций TCP: 3-стороннее рукопожатие (SYN, SYN-ACK, ACK), обнаружение ошибок, медленный запуск, управление потоком, управление перегрузкой.
TCP - надежный транспортный механизм, поэтому он будет использоваться там, где доставка пакетов необходима даже в условиях перегрузки. Типичным примером для приложений TCP и номеров портов являются данные FTP (20), управление FTP (21), SSH (222), Telnet (23), почта (25), DNS (53), HTTP (80), POP3 (110)., SNMP(161) и HTTPS(443). Это хорошо известные TCP-приложения.
SCTP:
Определено в RFC4960
SCTP (протокол передачи управления потоком) - это транспортный IP-протокол, такой как TCP и UDP. SCTP является одноадресным протоколом и поддерживает сквозную доставку данных ровно в две конечные точки. Но конечные точки могут иметь более одного IP-адреса.
SCTP - это полнодуплексный протокол передачи с такими функциями, как повторная передача, управление потоком и сохранение последовательности.
Помимо TCP, SCTP имеет больше функций, некоторые из которых перечислены ниже
Многопотоковая функция SCTP
SCTP позволяет разделить данные на несколько потоков, и каждый поток имеет свою собственную последовательность доставки. Рассмотрим случай сигнализации телефонии: необходимо поддерживать последовательность пакетов, влияющую на один и тот же сеанс или ресурс. (Пример: тот же вызов или та же соединительная линия). Таким образом, отслеживания последовательности на основе потока достаточно, и это приведет к более высокой производительности, чем один полный поток.
мультидомизация SCTP
Эта функция позволяет одной конечной точке SCTP иметь несколько IP-адресов. Основной причиной этого является поддержание доступности конечной точки через несколько резервных путей маршрутизации.
Выбор пути
Счетчик поддерживается для отслеживания неудачных подтверждений передачи в конкретный пункт назначения. Определено пороговое значение, и если оно превышается, адрес назначения объявляется неактивным, и SCTP начинает отправлять на альтернативный адрес.
Обзор:
(1) TCP и SCTP поддерживают надежные транспортные службы.
(2) TCP поддерживает доставку одного потока данных, тогда как SCTP поддерживает доставку нескольких потоков данных.
(3) TCP поддерживает одну конечную точку TCP для одного IP-адреса, в то время как SCTP поддерживает одну конечную точку SCTP, которая может иметь несколько IP-адресов в основном для целей избыточности.
(4) Скорее TCP, SCTP более безопасен.
(5) Процессы запуска и завершения работы SCTP отличаются от процессов TCP.