InitCwndAfterRetran.seq - The initial cwnd after a retransmission timeout MUST be no more than 1*MTU
To check that after a retransmission timeout, the initial cwnd is no more than 1*MTU.
./InitCwndAfterRetran.seq [-tooloption ...] -pkt ./InitCwndAfterRetran.def -tooloption : v6eval tool option See Also: ../common/STD_PKT_COMMON.def ../common/SCTP_COMMON.def
Association is established between endpoint A and B. Arrange data in endpoint B such that DATA chunk is sent to endpoint A.
Endpoint A Endpoint B ULP (Established) (Established) <----- Send <---------------- DATA Don't Send SACK <---------------- DATA (retransmission)
SACK ----------------->
TEST DESCRIPTION:
1. Check A: the initial cwnd before DATA transmission is set to 4380. 2. From endpoint B, send valid DATA message to endpoint A, when there is association between them. 3. From endpoint A, don't send SACK, and DATA should be transmitted again. 4. Check B: Congestion control window is 1*MTU.
None
RFC 4960
7.2.1. Slow-Start
Beginning data transmission into a network with unknown conditions or after a sufficiently long idle period requires SCTP to probe the network to determine the available capacity. The slow-start algorithm is used for this purpose at the beginning of a transfer, or after repairing loss detected by the retransmission timer.
o The initial cwnd before DATA transmission or after a sufficiently long idle period MUST be set to min(4*MTU, max (2*MTU, 4380 bytes)).
o The initial cwnd after a retransmission timeout MUST be no more than 1*MTU.
o The initial value of ssthresh MAY be arbitrarily high (for example, implementations MAY use the size of the receiver advertised window).
o Whenever cwnd is greater than zero, the endpoint is allowed to have cwnd bytes of data outstanding on that transport address.
o When cwnd is less than or equal to ssthresh, an SCTP endpoint MUST use the slow-start algorithm to increase cwnd only if the current congestion window is being fully utilized, an incoming SACK advances the Cumulative TSN Ack Point, and the data sender is not in Fast Recovery. Only when these three conditions are met can the cwnd be increased; otherwise, the cwnd MUST not be increased. If these conditions are met, then cwnd MUST be increased by, at most, the lesser of 1) the total size of the previously outstanding DATA chunk(s) acknowledged, and 2) the destination's path MTU. This upper bound protects against the ACK-Splitting attack outlined in [SAVAGE99].