Skip to content

Send SACK-IMMEDIATELY before CWND full#739

Open
pando-emil wants to merge 1 commit intosctplab:masterfrom
pando-emil:sack-immediately-on-cwnd-full
Open

Send SACK-IMMEDIATELY before CWND full#739
pando-emil wants to merge 1 commit intosctplab:masterfrom
pando-emil:sack-immediately-on-cwnd-full

Conversation

@pando-emil
Copy link
Copy Markdown

SACK-IMMEDIATELY was introduced in RFC-7053 to improve performance in various situations. While usrsctp support the SACK-IMMEDIATELY, it does not implement the case where SACK-IMMEDIATELY should be sent on last packet before hitting the congestion window limit.

Setting the SACK-IMMEDIATELY flag on the last packet before the congestion window is full is crucial for the performance on high latency links. Pion has made a similar patch, see reasoning and meassures here: pion/sctp#62. I have came to similiar conclusions in my speed tests.

This patch tries to detect last packet in congestion window without too much code refactoring. There is a risk that too many packets gets the SACK-IMMEDIATELY flag (if the packets are much smaller than 1 MTU), but the only drawback of that, as far as I can tell, is potentially some extra SACKs sent by the receiver.

SACK-IMMEDIATELY was introduced in RFC-7053 to improve performance in
various situations. While usrsctp support the SACK-IMMEDIATELY, it does
not implement the case where SACK-IMMEDIATELY should be sent on last
packet before hitting the congestion window limit.

Setting the SACK-IMMEDIATELY flag on the last packet before the
congestion window is full is crucial for the performance on high latency
links. Pion has made a similar patch, see reasoning and meassures here:
pion/sctp#62. I have came to similiar
conclusions in my speed tests.

This patch tries to detect last packet in congestion window without too
much code refactoring. There is a risk that too many packets gets the
SACK-IMMEDIATELY flag (if the packets are much smaller than 1 MTU), but
the only drawback of that, as far as I can tell, is potentially some
extra SACKs sent by the receiver.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant