c - SCTP协会

标签 c linux networking sctp

我正在尝试构建一个使用 sctp 的 SS7 网络实体,我的问题是我应该如何设计用于路由到 GT 上的路由或 PC 上的路由中的每个关联的路由表。

例如,假设该实体连接到 2 个 STP,每个 STP 有 2 个关联

node1 (thread 1)  ----association 1---->STP1
node1 (thread 2)  ----association 2---->STP1

node1 (thread 3)  ----association 1---->STP2
node1 (thread 4)  ----association 2---->STP2

如上所示,每个线程都有一个关联,所以我想与所有线程共享每个关联的文件描述符,然后我可以将流量发送到任何关联(当然有锁机制),因为关联是这里被视为链接集,同样基于点代码或 GT。

或者在一个进程中创建所有关联,然后根据其描述符发送到每个关联,当然没有多线程。

环境是Linux,语言是C 请注意,我可以使用除上述 2 之外的任何其他想法。

最佳答案

假设您的目标是实现均匀的负载共享以及针对 STP 或网络故障的恢复能力,那么每个线程都需要与每个 STP 关联。因此我会在线程之间共享文件描述符。

请记住,SS7 期望在 MTP SLS 上执行负载共享,以确保通过网络按顺序传送。

如果我正在开发 SS7 应用程序,我会查看第三方协议(protocol)栈,例如 Dialogic 提供的协议(protocol)栈,您可以从他们的网站下载并试用。这在 Linux(或 Solaris 和 Windows)中可用,并提供基于消息的 API,允许您的应用程序是多线程或单线程等。它们支持 SCTP、M3UA、M2PA、SUA、MTP3、SCCP、TCAP、INAP、MAP 、ISUP 等。

关于c - SCTP协会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13832273/

相关文章:

C语言创建文件并将其内容复制到其他文件

python - 调用 PyRun_String(...) 返回 NULL 后如何获取异常信息?

c - smp 系统上的 Posix 线程

linux - Varnish 允许从任何 IP 清除

networking - 如何编写批处理文件来切换我的网络适配器?

c - 我的自分检查功能没有按预期工作

c - 形状矩阵帮助(不断崩溃)

java - Tomcat:将端口从 8080 更改为 80 不起作用

linux - linux如何将数据包转发给k8s服务

apache - 将 HTTPS 443 端口重定向到其他服务器上的多个站点