LINUX.ORG.RU

SCTP - почему не используется?

 , ,


0

1

Добрый день! Интересно, почему SCTP не находит применения в серверах? Поддерживать его не сложно, а кайфа много. Повышение надежности сети, возможность доcтавлять сообщеня, а не поток, как TCP. С точки зрения разработки вообще ничего делать не нужно, только поменять тип протокола при создании сокета, и заменить вызов send на sctp_sendmsg, аналогично recv

Кому надо - используют.

anonymous
()

С точки зрения разработки вообще ничего делать не нужно, только поменять тип протокола при создании сокета, и заменить вызов send на sctp_sendmsg

С чего это вдруг? Если в приложении используется передача сообщений с гарантированной доставкой, то навреняка для этого используется какая-то rpc-подобная библиотека или свой транспорт поверх TCP с аналогичной функциональностью и особенным API. Реализации в юзерспейсе поверх TCP отлично умеют батчить мелкие пакетики, а как обстоят дела с батчингом в sctp_sendmsg(...)? Вроде как оно на каждый пакет делает сискол, а это очень плохо.

anonymous
()

в шиндоусе нет - значит не нужен

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

Ах да, самое главное, под TCP заточено много инструментов и сетевого барахла, с SCTP наверняка придётся сожрать много собак настраивая сетевую инфраструктуру.

anonymous
()

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

rumgot ★★★★★
()

А провайдеры его поддерживают? Я недавно гонял iperf — SCTP-пакеты не шли от слова вообще, в то время как TCP- и UDP-трафик шёл, как надо

XMs ★★★★★
()

Поддерживать его не сложно

Напомнить сколько в нём дыр обнаружено было? Поддерживать его не хочется совершенно, у меня он выкинут из всех ядер.

Повышение надежности сети, возможность доcтавлять сообщеня, а не поток, как TCP. С точки зрения разработки вообще ничего делать не нужно, только поменять тип протокола при создании сокета, и заменить вызов send на sctp_sendmsg, аналогично recv

Ага, и получим бесполезный TCP поверх SCTP с оверхедом и несовместимостью. Чтобы получить профит от SCTP нужно серьёзно переписывать логику.

slovazap ★★★★★
()
Последнее исправление: slovazap (всего исправлений: 1)
Ответ на: комментарий от slovazap

У многих провайдеров - маскарадинг, без раздачи белых IP юзерам. Скорее всего у аппаратных файрволлов всё очень плохо с поддержкой SCTP. Плюс его ещё надо не забыть включить при настройке.

Deleted
()

А оффтопка поддерживает SCTP? А комутатеры настраивать не надо? Не всё так просто, так еще про уязвимости какие-то говорят...

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от slovazap

Напомнить сколько в нём дыр обнаружено было?

Напомни, когда была обнаружена последняя на сегодня.

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

А какая связь между транспортным и прикладным протоколами? Это всё равно, что «никто не пользуется TCP, потому что есть SSH»

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

Провайдеры поддерживают IP, им (должно быть) наплевать что там бегает поверх.

Магистральным провайдерам, которые продают полосу, мб наплевать. А всякие домашние сети могут, например, помогать проходить SYN/ACK пакетам при переподписках и ещё много другого может быть.

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

А какая связь между транспортным и прикладным протоколами? Это всё равно, что «никто не пользуется TCP, потому что есть SSH»

Прямой связи, конечно, нет, но есть неявная. Гугл хочет чтобы его ширпотреб отдавался с низкими задержками ради чего собственно пилит HTTP/2 и оптимизации к TCP вроде хендшейка из одного пакета (первый пакет SYN с данными, TFO). SCTP имет ещё больше шагов в хендшейке чем голый TCP и навряд ли кто-то будет его оптимизировть для рядового потребителя.

Разрезание чего-либо на независимые абстракции в большинстве случаев является фикцией: абстракции удобны в реализации и поддержке, но рарабатывают их так, чтобы вместе всё склеивалось в рабочее целое.

anonymous
()

Несколько лет назад я пытался заставить его работать в Эрланге, где есть одна из немногих реализаций. Столкнулся со многими проблемами, последняя из которых была невозможность послать (или принять) пакет больше определенного размера (100kb вроде). Пытался крутить настройки в ядре но так и не починил. В интернете помощи по таким вещам практически не найти.

loz ★★★★★
()

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

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

Потому что HTTP2 реализует большую часть фич SCTP поверх TCP. И всё больше позиционируется гуглом как универсальный транспортный протокол, с шифрованием, пакетами и мультиплексированием. И он пролезет через любой роутер и фаерфол, если через него вообще хоть что-то пролазит. Поэтому все будут его юзать, хоть он и тяжёлый, и переусложнённый. Это как жабоскрипт и HTML.

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

а нахрена промежуточным железякам считать чексумму SCTP пакетов?

Harald ★★★★★
()

Как выше написал анонимус, вполне используется.

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