2011-04-29 20 views
1

我正在使用Linux SCTP堆棧。目前在同一臺Linux機器上,我需要部署一個使用非OS SCTP STACK的進程。 (即,它打開RAW套接字,然後自行處理傳輸級別消息)。 當SCTP Init來臨時,Linux將數據包提供給兩個進程。 這可以避免嗎? 我不希望Linux SCTP處理不被它使用的消息。 (用於其他非OS SCTP堆棧) 這可能嗎?在同一臺機器上部署了其他非OS SCTP堆棧的Linux SCTP堆棧

回答

2

更一般地說,當面對這樣的問題,有三種選擇:

1)停止從在系統啓動時加載(注Linux的SCTP模塊:它不能在運行時被卸載),只是使用非OS實施。 2)一些如何預配置每個SCTP實現,以瞭解它擁有哪些關聯並忽略其他關聯的消息。 3)移植非OS系統以使用Linux實現。

任何積極支持的使用SCTP的Linux系統如果不提供第三種選擇將會遇到問題。

注意:如果您在Linux上使用Dialogic Non-OS SCTP實現,那麼您可以輕鬆切換到使用其操作系統打包版本'SCTPN'。

問候

1

這可能不是一種選擇,而是有SCTP的非lksctp過程中使用UDP隧道工程對我們非常好。我們使用的(商業)堆棧可以配置爲基於UDP的SCTP或基於IP的SCTP(使用原始套接字,就像您一樣)。