LINUX.ORG.RU

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

 , ,


0

0

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

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

★★★

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

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

tim2k
()

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

odip ★★
()
Ответ на: комментарий от anonymous

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

Ox7A7361
()
Ответ на: комментарий от odip

Просто традиционно по ссылке не ходил :)

anonymous
()

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

anonymous
()

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

Gharik
()

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

Deleted
()
Ответ на: комментарий от Ox7A7361

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

anonymous
()
Ответ на: комментарий от the_coder

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

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

alx_me ★★☆
()
Ответ на: комментарий от the_coder

Что точно так это то, что SCTP убийца TPKT. :-)

alx_me ★★☆
()
Ответ на: комментарий от anonymous

> Вещества?..

Вещества!!! :-D

даёшь вместо SIP MEGACO!

и Вещества!!!

alx_me ★★☆
()
Ответ на: комментарий от ikm

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

100 пудово. Протоколу по-моему лет пять всего.

alx_me ★★☆
()
Ответ на: комментарий от alx_me

из ссылки:

>Протокол SCTP является сравнительно новым протоколом, учитывая то, что он был представлен в виде RFC в октябре 2000 года.

tim2k
()
Ответ на: комментарий от anonymous

Ну только если это ядро находится в рутере :)

ikm ★★
()
Ответ на: комментарий от anonymous

> Вещества? SIP/H.323 тоже на SCTP заменим? А причем SIP к SS7? По стандарту SIP на UDP...

the_coder ★★
()
Ответ на: комментарий от iBliss

> Вообще-то SIGTRAN убийца SS7.

Вообще-то SIGTRAN - тот же SS7, только с использованием SCTP и IP в качестве транспорта.

anonymous
()
Ответ на: комментарий от anonymous

В 2.4 его не бэкпортили?

Как раз чтото из ветки 2.4 на моем роутере вертицо.

goletsa
()
Ответ на: комментарий от anonymous

> Вообще-то SIGTRAN - тот же SS7, только с использованием SCTP и IP в качестве транспорта.

Я вкурсе просто товарищ сравнил мягкое с теплым.

iBliss
()
Ответ на: комментарий от odip

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

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

anonymous
()
Ответ на: комментарий от the_coder

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

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

o2inhal
()

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

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

alexsaa
()
Ответ на: комментарий от o2inhal

> CCSS7 умрет разве что с POTS и GSM сетями.

По секрету он уже на некоторых сегментах мертв.

iBliss
()
Ответ на: комментарий от anonymous

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

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

???

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

odip ★★
()
Ответ на: комментарий от anonymous


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

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

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

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

odip ★★
()
Ответ на: комментарий от odip

> IPv6 включен

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

anonymous
()
Ответ на: комментарий от odip

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

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

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

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

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

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

Chubaka
()

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

anonymous
()

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

wildscliss
()

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

anonymous
()

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

anonymous
()

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

matumba ★★★★★
()
Ответ на: комментарий от matumba

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

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

anonymous
()
Ответ на: комментарий от anonymous


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

Chubaka
()
Ответ на: комментарий от alx_me

>В VoIP это то что искали и боялись.

Не то. Скорее dccp. Учи матчасть.

anonymous
()
Ответ на: комментарий от wildscliss

>неторопливость разработчиков во внедрении всего нового...

Поумнеешь - поймешь.

anonymous
()
Ответ на: комментарий от ikm

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

`net.inet.sctp.nat_friendly'?

anonymous
()

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

Lego_12239 ★★
()

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

anonymous
()
Ответ на: комментарий от Lego_12239

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

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

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

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

anonymous
()
Ответ на: комментарий от MKuznetsov

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

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

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

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