[sctp-dev] How to reduce time between message received and SCTPSACK sent

Christopher Hegarty - Sun Microsystems Ireland Christopher.Hegarty at Sun.COM
Thu Oct 29 03:40:29 PDT 2009


Hi Sandarenu,

I think what you are seeing is the delayed acknowledgment algorithm that 
is specified by the SCTP RFC section 6.2 [1]. The guidelines say that an 
acknowledgment should be generated for at least every second packet 
received, and SHOULD be generated within 200 ms of the arrival of any 
unacknowledged DATA chunk.

I assume you are using LKSCTP on Linux. If so, you can try changing the 
  value of /proc/sys/net/sctp/sack_timeout. This value controls the 
delayed SACK timeout, and the default value is 200 milliseconds. 
However, this is a global setting and will effect all SCTP sockets.

There is a specific socket option that is available at the native level 
that can set the delayed SACK timeout per socket/association. It might 
be useful to expose this to the Java API. Is this something that you 
think would be useful?

-Chris.

[1] http://www.ietf.org/rfc/rfc2960.txt

On 29/10/2009 08:35, Chathurika Sandarenu wrote:
> Thanks for replying Dennis,
> 
> I tested with 2 suggestions you made, but still it take 200ms to send sack.
> I think there is some kind of configuration, since all the time it take
> 200ms.  Couldn't find any clue on this..... :(
> 
> On Thu, Oct 29, 2009 at 11:25 AM, Dennis Hjort <dennis.hjort at ericsson.com>wrote:
> 
>>  Hi,
>>
>> I'm not really sure if it helps you in your case, but when we've done some
>> tests with small packetsizes, we needed to set the
>>
>> SctpSocketOption <http://openjdk.java.net/projects/sctp/javadoc/b10/com/sun/nio/sctp/SctpSocketOption.html><Boolean <http://download.java.net/jdk7/docs/api/java/lang/Boolean.html?is-external=true>> *SCTP_NODELAY *
>>
>> to true, disabling Nagle Algorithm, to boost performance, as we mainly use
>> SCTP for control-signalling, thus using several small
>> packets spread over time, and the Nagle Algorithm wants to pack several
>> chunks together to improve performance, ie not useful in our case.
>>
>> // D
>>
>>  ------------------------------
>> *From:* sctp-dev-bounces at openjdk.java.net [mailto:
>> sctp-dev-bounces at openjdk.java.net] *On Behalf Of *Chathurika Sandarenu
>> *Sent:* den 29 oktober 2009 06:26
>> *To:* sctp-dev at openjdk.java.net
>> *Subject:* [sctp-dev] How to reduce time between message received and
>> SCTPSACK sent
>>
>> Hi,
>>
>> I'm using OpenJDK SCTP to develop sigtran application. I have a small issue
>> SCTP SACK message. When a data message is received at SCTP
>> it acknowledges that with a SACK, the issue I'm having is that there is a
>> always 200ms delay between request receiving and SACK sending.
>>
>> *Is there a way I can reduce this delay?*
>>
>> I've attached the traces with this mail.
>>
>> Thanks in advance.
>>
>> regards,
>> Sandarenu.
>>
>>
> 


More information about the sctp-dev mailing list