LINUX.ORG.RU

Надежная передача данных по протоколу SCTP

 , ,


0

0

Протокол передачи с управлением потоком (Stream Control Transmission Protocol, SCTP) — это надежный транспортный протокол, который обеспечивает стабильную, упорядоченную (с сохранением порядка следования пакетов) передачу данных между двумя конечными точками (подобно TCP). Кроме того, протокол обеспечивает сохранение границ отдельных сообщений (подобно UDP). Однако, в отличие от протоколов TCP и UDP, протокол SCTP имеет дополнительные преимущества, такие как поддержка множественной адресации (multihoming) и многопоточности (multi-streaming) — каждая из этих возможностей увеличивает доступность узла передачи данных. В этой статье мы познакомимся с основными характеристиками протокола SCTP ядра Linux® 2.6 и рассмотрим исходный текст программ сервера и клиента, демонстрирующий возможности протокола по многопоточной передаче данных.

>>> Подробности

★★★

Проверено: Shaman007 ()

Re: Надежная передача данных по протоколу SCTP

Мало нам IPv6, так еще и с TCP/UDP "прыгать" на SCTP... Думается, нескоро он вытеснит старые протоколы

tim2k ()

Re: Надежная передача данных по протоколу SCTP

tcp/ipкапец?

anonymous ()

Re: Надежная передача данных по протоколу SCTP

Дятел - ты почитай про SCTP хотя бы немного !
Этот протокол реально преодолевает проблемы имеющиеся в UDP/TCP. Например борется с TCP SYN attack.
И позволяет приложениями не создавать свои велосипеды (свои спец протоколы), а сосредоточится на более важных вещах.

odip ★★ ()

Re: Надежная передача данных по протоколу SCTP

ндаа во фряхе уже есть... и примеры эти на ней уже пробывали))) что-то для линуха запаздало... :-( :))) --- а протакол этот хороший и думаю найдет свое применение...

Ox7A7361 ()

Re: Надежная передача данных по протоколу SCTP

"рано или поздно потребует займет всех ресурсыов сервера невозможны обработ"

anonymous ()

Re: Надежная передача данных по протоколу SCTP

А с эффективностью на мелких пакетах у него как?

Gharik ()

Re: Надежная передача данных по протоколу SCTP

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

dimss ★★★★★ ()

Re: Надежная передача данных по протоколу SCTP

> что-то для линуха запаздало
Не газируйте лужи
в линуксе sctp осваивается еще с 2.6.11, а оригинал этой статьи на англ. датируется еще 28 Feb 2006

anonymous ()

Re: Надежная передача данных по протоколу SCTP

> В телефонии, SCTP рассматривается как "убица" SS7

И дико прошу прощения, но если вы про ОКС7, то какое отношение имеет транспорт доставки сообщений к протоколу сигнализации? Тогда может UDP убийца RTP?

alx_me ★★☆ ()

Re: Надежная передача данных по протоколу SCTP

Дайте угадаю, что через NAT большинства бытовых рутеров это не пройдет.

ikm ★★ ()

Re: Надежная передача данных по протоколу SCTP

> Этот протокол реально преодолевает проблемы имеющиеся в UDP/TCP. Например борется с TCP SYN attack

В протоколе UDP нет SYN, а у TCP есть расширение syncookies(net.ipv4.tcp_syncookies).

anonymous ()

Re: Надежная передача данных по протоколу SCTP

>В телефонии, SCTP рассматривается как "убица" SS7

Зря ты это здесь сказал. CCSS7 умрет разве что с POTS и GSM сетями. А вот использовать SCTP как траспорт для CCSS7 в сетях передачи данных идея вполне закономерная. У SCTP достаточно приемуществ.

o2inhal ()

Re: Надежная передача данных по протоколу SCTP

А где же в этом протоколе congestion control и прочие сложности, ради которых был придуман TCP?

И netcat с ним работать не будет... скучно.

alexsaa ()

Re: Надежная передача данных по протоколу SCTP

>> что-то для линуха запаздало
>Не газируйте лужи
>в линуксе sctp осваивается еще с 2.6.11, а оригинал этой статьи на >англ. датируется еще 28 Feb 2006

А в Linux разьве уже не надо плясать с бубном, чтобы
1) завести ipv6
2) поднять sctp
3) а многие не знают что оно там есть
_4_) найти версию ядра, которая поддерживает железо и не глючит

???

В FreeBSD 7.0 смело приняли по умолчанию:
IPv6 включен
SCTP включен

odip ★★ ()

Re: Надежная передача данных по протоколу SCTP


>> Этот протокол реально преодолевает проблемы имеющиеся в UDP/TCP. Например борется с TCP SYN attack

>В протоколе UDP нет SYN, а у TCP есть расширение syncookies(net.ipv4.tcp_syncookies).

Хорошо, пусть это расширение есть, а его что все клиенты и серверы бросились поддерживать ?
Или вы запретите подключаться к своему серверу клиентам без этого расширения ?

SCTP же имеет 4-ходовую процедуру connect-а по TCP по умолчанию

odip ★★ ()

Re: Надежная передача данных по протоколу SCTP

> IPv6 включен

руки бы поотрывал за это "включен".
99% не используют IPv6.
включать по умолчанию то что мало кому надо = плохая оптимизация под целевую аудиторию.

anonymous ()

Re: Надежная передача данных по протоколу SCTP

> А в Linux разьве уже не надо плясать с бубном, чтобы
> ???

не надо
по умолчанию это есть даже в большинстве коробочных ядрах, если не во всех

>в линуксе sctp осваивается еще с 2.6.11

afair, sctp в линуксе упоминается еще в 2.4.23 и вошло в 2.6.0

> В FreeBSD 7.0 смело приняли по умолчанию:

а смелым быть не надо, чтобы запускать 7.0 в продакшн?

Chubaka ()

Re: Надежная передача данных по протоколу SCTP

А есть какая OSS прога с его использованием? На посмотреть.

anonymous ()

Re: Надежная передача данных по протоколу SCTP

Перечитал статью. Расписано все просто и понятно. Внедрение протокола одобряю :)
Смущают только уже наработанное количество приложений под TCP/UDP и некоторая буколическая неторопливость разработчиков во внедрении всего нового...

wildscliss ()

Re: Надежная передача данных по протоколу SCTP

SCTP не нужен. Slow Connection Tormoz Protocol

anonymous ()

Re: Надежная передача данных по протоколу SCTP

Протокол есть, но есто хоть что-то, что его использует? В реальной жизни, я не говорю про ынтырпрайз и прочие узкоспециализированные приложения. Вот в статье про обработку хттп красиво написано, но есть хоть один веб сервер с поддержкой такого? А браузер? А для фтп хоть что-то есть?

anonymous ()

Re: Надежная передача данных по протоколу SCTP

Ребят, я правильно понимаю, что на клиенте тоже должен быть sctp? Если так, то протокол пропал - в винде его нет, неизвестно когда будет, а значит ни прогеры, ни юзеры не увидят этих вкусностей. Жаль...

matumba ★★★★★ ()

Re: Надежная передача данных по протоколу SCTP

> Ребят, я правильно понимаю, что на клиенте тоже должен быть sctp? Если так, то протокол пропал - в винде его нет, неизвестно когда будет, а значит ни прогеры, ни юзеры не увидят этих вкусностей. Жаль...

Ну конечно протокол должны обе стороны поддерживать. А то что в винде нет - так во первых есть, хоть и не искаропки, а во вторых если будет реально использоваться - то появится и фкаропке. Только пока этот протокол больше на бумаге.

anonymous ()

Re: Надежная передача данных по протоколу SCTP


До "ширпотреба" далеко. Тема актуальна в кластерных решениях, MPI там всякие, DLM и проч., и пока в основном на исследовательском уровне, но там, где идет борьба за fault-tolerance это очень кстати.
А вообще чего тон какой-то недовольный-то? Альтернативный протокол, развитие технологий, прогресс и все такое. Поколению пепси надо все прямо сейчас и в красивой обертке?

Chubaka ()

Re: Надежная передача данных по протоколу SCTP

Народ, почитайте сначала про sctp. Хорошая замена tcp, между прочим. Sequence number по байтам запарил реально уже ;-). А реализации будут, не надо переживать по этому поводу :-). Сначала как всегда это обуздают сервера и т.п., а потом и до юзеров докатится. Не надо забывать времена, когда настоящие тачки общались между собой через tcp/ip, а кто только через spx/ipx. Но ничего, и они потом научились магии tcp/ip :-).

Lego_12239 ★★ ()

Re: Надежная передача данных по протоколу SCTP

<off>Кстате, кто общался с сигтраном вплотную, какой стек посоветуете? Интересует реализация CAP/MAP, желательно на С. Поискал по гуглу, среди опенсорцных нашел только openSS7. Как там обстоят дела с CAP/MAP, нифига не понял, да и он под 2.4 ядро only.</off>

anonymous ()

Re: Надежная передача данных по протоколу SCTP

> Хорошая замена tcp, между прочим.

А поддерживает ли sctp все нужные фичи tcp? В частности потоковую передачу, когда ни клиентскому, ни серверному приложению не надо беспокоиться о точности, порядке и порциях отправляемых/принимаемых данных. Из статьи не понятно, а RFC читать лень.

А также, что на ipv6 с этим протоколом станет? А будет ли работать мультихоминг, если сети у разных провайдеров? А что с балансировкой нагрузки по каналам?

Статья прямо о серебряной пуле, как-то опущены потенциальные сложности.

anonymous ()

Re: Надежная передача данных по протоколу SCTP

> а google на что ? есть apache и mozilla с поддержкой sctp.

Не поверишь - гуглил. Для апача что-то старое и заброшенное видел, но это скорее proof of concept, нежели что-то юзабельное. С мозиллой боюсь что также. Но рад буду ошибиться.

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

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.