1

我正在使用 Linux SCTP 堆栈。目前在同一台 Linux 机器上,我需要部署一个使用非 OS SCTP STACK 的进程。(即它打开一个 RAW 套接字,然后自己处理传输级消息)。当 SCTP Init 出现时,Linux 将数据包提供给两个进程。这可以避免吗?我不希望 Linux SCTP 处理它不使用的消息。(由其他非 OS SCTP 堆栈使用)这可能吗?

4

2 回答 2

1

这可能不是一个选项,但是让非 lksctp 进程使用 SCTP 的 UDP 隧道对我们来说非常有效。我们使用的(商业)堆栈可配置为 SCTP over UDP 或 SCTP over IP(像您一样使用原始套接字)。

于 2012-05-25T16:00:35.030 回答
1

更一般地,当面临此类问题时,有三种选择:

1)在启动时停止加载Linux SCTP模块(注意:它不能在运行时卸载)并仅使用非操作系统实现。2) 一些如何预配置每个 SCTP 实现以了解它拥有哪些关联并忽略其他人的消息。3)移植非OS系统以使用Linux实现。

如果不提供第三种选择,任何使用 SCTP 的受积极支持的 Linux 系统都会出现问题。

注意:如果您在 Linux 上使用 Dialogic Non-OS SCTP 实现,那么您可以轻松切换到使用他们的操作系统包装版本“SCTPN”。

问候

于 2011-07-29T08:15:17.967 回答