Part I: Introduction

NR-SACKs for SCTP
(Non-Renegable SACKs)
draft-natarajan-tsvwg-sctp-nrsack-01
Preethi Natarajan
Paul Amer
Ertugrul Yilmaz
Randall Stewart
Janardhan Iyengar
University of Delaware
Cisco Systems
Connecticut College
Reneging and SCTP
• Retransmission queue (RtxQ) – Portion of send
buffer containing copies of transmitted data
• Receiver cannot reneg on cum-acked / delivered
data
– sender discards cum-acked data from rtxq
• Receiver may reneg on gap-acked data
– due to buffer overbooking
– sender does not discard gap-acked data
2
Unordered Data Transfer
sacked,
but still in RtxQ
With SACKs
3
Proposal: NR-SACKs for SCTP
• Peers negotiate NR-SACK capability at INIT time
• Replace SACKs with NR-SACKs during transfer
• Sender is expected to perform congestion and flow
control as it would with SACKs
• NR-SACKs contain non-renegable gap-ack blocks;
sender can use NR-SACK info to free buffer
• (see draft for more on structure and use cases)
4
Unordered Data Transfer
sacked,
but still in RtxQ
nr-sacked data
removed;
more data flowing
With SACKs
With NR-SACKs
5
Simulation Setup
• Unordered bulk data transfer
• Bernoulli losses; loss rates: 1%-10%
• Currently working on simulations with losses
from realistic application workloads using
Tmix*
* M. Weigle et al., “Tmix: a tool for generating realistic TCP application workloads in ns-2,” ACM CCR, 36(3), 2006
6
Throughput at varying send buffer sizes
45ms 1-way delay
NR-SACK > SACK at
(i) shorter delays
10ms 1-way delay
NR-SACK =
SACK
NR-SACK > SACK at
(i) smaller send buffers
(ii) lower loss
7
Average RtxQ
AverageRtxQ   rtxqi  ti   T ;  ti  T 
When there is loss, NR-SACKs always use less memory for RtxQ
8
Questions…
9
Mean RTOs for 45ms and 10ms Delays
Mean Number of Timeout
Recoveries (RTOs)
Blocked SACK (16K)
Non-Blocked SACK (64K)
NR-SACK (16K)
45
40
35
30
25
20
15
10
5
0
1%
3%
5%
7%
10%
Path Loss Rate (%)
10
Retransmission Queue (Rtxq) Utilization
• Efficient utilization at time t = k/r
– k = # necessary (in flight or renegable) TPDUs
in the rtxq
– r = size of the rtxq
• Efficient utilization for the entire file transfer

ki 
RtxQ _ Util    ti    T ;  ti  T
ri 

– ki/ri = efficient rtxq utilization during ti
– T = File Transfer time


11
Retransmission queue utilization;
45ms 1-way Delay
• SACKs most efficient
during no losses
• SACKs’ inefficiency
increases as loss rate
increases
• Increasing send buffer
size cannot improve
SACKs’ utilization;
upper bound to how
well SACKs can utilize
rtxq
12