#linux #sctp
#linux #sctp
Вопрос:
Я использую стек SCTP Linux. В настоящее время на той же машине Linux мне нужно развернуть процесс, который использует СТЕК SCTP, отличный от OS. (т. Е. он открывает необработанный сокет, а затем обрабатывает сообщение транспортного уровня самостоятельно). При инициализации SCTP Linux передает пакет обоим процессам. Можно ли этого избежать? Я не хочу, чтобы Linux SCTP обрабатывал сообщения, которые им не используются. (используется другим стеком SCTP, отличным от OS) Возможно ли это?
Ответ №1:
В более общем плане, когда сталкиваешься с такого рода проблемой, есть три варианта:
1) Остановите загрузку модуля SCTP Linux во время загрузки (примечание: его нельзя выгрузить во время выполнения) и просто используйте реализацию, отличную от операционной системы. 2) Некоторые способы предварительной настройки каждой реализации SCTP, чтобы знать, какие ассоциации ей принадлежат, и игнорировать сообщения для других. 3) Перенесите систему, отличную от операционной системы, для использования реализации Linux.
Любая активно поддерживаемая система Linux, использующая SCTP, будет иметь проблемы, если она не предлагает третий вариант.
Примечание: Если вы используете диалоговую реализацию SCTP, отличную от операционной системы, в Linux, вы можете легко переключиться на использование их версии SCTPN, обернутой в ОС.
С уважением
Ответ №2:
Возможно, это не вариант, но то, что процесс, отличный от lksctp, использует UDP-туннелирование SCTP, работает для нас очень хорошо. Используемый нами (коммерческий) стек настраивается для SCTP через UDP или SCTP через IP (с необработанными сокетами, как у вас).