чем SCTP лучше, чем TCP? (в дорожном сценарии)

SCTP отправляет один файл с использованием нескольких потоков, а TCP отправляет один файл с использованием одного потока. теперь вопрос "

чем SCTP лучше, чем TCP?

" (в сценарии дорожного движения)


person Pradip G. Vanparia    schedule 07.10.2015    source источник
comment
Этот вопрос не имеет ничего общего с программированием.   -  person edmz    schedule 07.10.2015
comment
Стоит отметить, хотя SCTP может иметь хорошие функции, но с точки зрения пропускной способности он не будет быстрее, чем TCP. По словам разработчика сетевой подсистемы Linux, этого не произойдет, потому что он сложнее, у него более медленные алгоритмы контрольной суммы, с ним намного сложнее заполнить кадры Ethernet и по другим неупомянутым причинам.   -  person Hi-Angel    schedule 10.04.2020
comment
Протоколы и алгоритмы @edmz кажутся мне столь же связанными с программированием, как и нюансами, специфичными для языка программирования. Возможно, вопрос может быть слишком широким, но, конечно, не оффтопом.   -  person Hi-Angel    schedule 10.04.2020


Ответы (2)


SCTP никоим образом не «лучше», чем TCP, но он делает что-то другое.

TCP эмулирует надежный, упорядоченный поток октетов поверх ненадежного неупорядоченного транспорта пакетов, что концептуально очень похоже на чтение из файла (без возможности поиска).

SCTP эмулирует надежную систему доставки сообщений по порядку (где «сообщение» означает определенный фрагмент данных некоторой известной длины). Как и UDP, он доставляет одно полное сообщение за раз. Как и TCP, он гарантирует поступление сообщений в том порядке, в котором они были отправлены.

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

(Есть несколько других функций, которые я не называю, потому что они имеют мало отношения к вопросу)

person Damon    schedule 07.10.2015

SCTP можно рассматривать как смесь UDP и TCP, поскольку он основан на сообщениях, как UDP, и ориентирован на соединение, как и TCP, для обеспечения последовательной доставки сообщений вместе с механизмом контроля перегрузки. То есть SCTP ориентирован на соединение, но работает на уровне сообщений.

Он включает объединение нескольких соединений в единую SCTP-ассоциацию, работающую с сообщениями или фрагментами, а не с байтами. Эта способность SCTP передавать несколько независимых потоков фрагментов параллельно называется многопотоковой передачей, которая позволяет избежать блокировки начала строки. То есть, в случае TCP, даже если 3-й и 4-й пакеты в порядке, но если 2-й пакет был потерян, TCP должен выполнить повторную передачу, из-за чего 3-й и 4-й пакеты должны ждать, пока 2-й пакет не будет успешно/правильно получен. Однако в случае SCTP эта блокировка заголовка строки уменьшается, поскольку одна ассоциация разбивается на несколько независимых потоков фрагментов (сообщений).

Также обратите внимание, что SCTP также облегчает отправку сообщений в неупорядоченном режиме, что может полностью избежать блокировки заголовка строки, при этом верхние уровни должны иметь механизм для изменения порядка сообщений, если это необходимо.

person Karthik Balaguru    schedule 30.10.2015
comment
Каков может быть сценарий, в котором можно использовать sctp? - person killerthawne; 07.03.2021