2011-08-16 39 views
1

我正在使用SCTP客戶端通過100毫秒的延遲鏈接向另一個SCTP服務器發送1000字節的數據。延遲使用交通管制(TC)和提供netem在Linux中SCTP:發送超過100毫秒延遲的數據的問題

tc qdisc add dev eth0 root netem delay 100ms 

我已經使用的代碼是從SCTP Multihoming配置。我將往返時間(最大)設置爲60秒,心跳爲10秒。現在我面臨的問題是我可以正確發送大約3到4個1000字節的數據包。之後,「由對等方重置連接」發生,因此我無法發送更多的數據包。您可以讓我知道我需要做什麼來通過高延遲鏈接發送SCTP數據。謝謝你的幫助。

回答

1

最後我可以解決這個問題。該問題是由SCTP客戶端和服務器之間的NAT盒引起的。 NAT改變了IP地址,並且在SCTP心跳消息交換期間,由於IP地址不同,客戶機無法找到正確的IP地址,並且因爲這個SCTP關聯失敗。所以SCTP服務器發送一個ABORT給客戶端。我刪除了NAT,一切都很順利。

+0

這不就是一個破損的NAT配置嗎? –

+1

NAT上的SCTP目前有點失敗。請參閱http://tools.ietf.org/html/draft-ietf-behave-sctpnat-05獲取提供修復的IETF工作文檔。 – Bwooce