Association SCTP

J’essaie de construire une entité réseau SS7 qui utilise sctp. Ma question est de savoir comment concevoir la table de routage utilisée pour acheminer chaque association à la fois sur une route GT ou sur un PC.

Donc, par exemple, disons que cette entité est connectée à 2 STP, 2 associations à chaque 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 

Comme indiqué ci-dessus, chaque thread a une association. Je pensais donc partager le descripteur de fichier de chaque association avec tous les threads. Je peux ensuite envoyer le trafic à n’importe quelle association (bien sûr avec un mécanisme de locking), l’association étant traitée ici comme link-set, à nouveau basé sur le code de point ou le GT.

Ou créez toutes les associations dans un processus et envoyez-les simplement à chaque association en fonction de son descripteur, sans multi-threading bien sûr.

L’environnement est Linux et la langue est C. Veuillez noter que je ne peux utiliser aucune autre idée que celle ci-dessus 2.

En supposant que votre objective soit de parvenir à un partage homogène de la charge et à la résilience face aux défaillances du STP ou du réseau, chaque thread doit être associé à chaque STP. Par conséquent, je voudrais partager les descripteurs de fichiers entre les threads.

N’oubliez pas que SS7 s’attend à ce que le partage de charge soit effectué sur le SLS MTP afin de garantir une livraison en séquence sur le réseau.

Si je développais une application SS7, je regarderais des stacks de protocoles tiers, telles que celles disponibles dans Dialogic, que vous pouvez télécharger et tester à partir de leur site Web. Ceci est disponible sous Linux (ou Solaris et Windows) et fournit une API basée sur les messages qui permet à votre application d’être multi-threadée ou mono-threadée, etc. , ISUP et plus.