2012-12-12 37 views
0

我试图建立一个使用sctp的SS7网络实体,我的问题是我应该如何设计路由表,用于路由到GT上的每个路由或PC上的路由。SCTP协会

因此,例如,让我们说,这个实体连接到2个污水处理厂,2个协会给每个STP

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

回答

0

在你的目标是实现对STP或网络甚至负载分担和弹性的假设之外的任何其他想法那么每个线程都需要与每个STP关联。因此我会在线程之间共享文件描述符。

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

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