- From: Benedict Rainer <rainer.benedict AT siemens.at>
- To: "'discussion AT sctp.de'" <discussion AT sctp.de>
- Subject: [SCTP-Discussion] slow recovery after disconnection / reconnection in single path c onfiguration
- Date: Thu Jan 11 14:37:01 2001
- List-id: SCTP Discussions <discussion.sctp.de>
Hello!
I am currently porting the SCTP prototype and think i have found
that the term 'outstanding' is used in RFC 2960 ambiguously, with
the two meanings:
- data outstanding,
i.e. sent (at least once) but not acknowledged
- data in flight,
i.e. sent and it is assumed that the data or the ack is still
on the way.
These two meanings differ in the way that after timeout of
retransmission timer data is still outstanding, but is NOT
assumed to be in flight.
This is essential in Sections:
6.1.B,
6.2.1.D ii)
7.1
7.2.1
7.2.2 (here it is explicitly stated, that meaning is 'in flight')
7.2.4 last paragraph
where the meaning must be 'in flight'.
I expect that the behaviour of the prototype which bases on the RFC
is not desired.
Has anyone experience what really happens and how it should be?
Expected behaviour of C-Prototype:
The C-protoype has counters for the outstanding bytes
(in the first meaning) and compares them with CWND to detect if
sending is allowed.
This works well, as long as no timeout occurs, after which the
meaning differs.
Timeout reduces CWND to 1 MTU (Section 6.3.3.E1) and sends one packet.
The number of outstanding bytes is not reduced.
When the connection is reestablished and one packet is acked,
the number of outstanding bytes is reduced by this packet size.
It may be now still much bigger than CWND,
which means sending is still disallowed!!!
The number of outstanding bytes is reduced very slowly with every
following timeout, which sends one packet, until sending is
allowed again.
This is in contrast to section 7.2.3 which limits the data in flight
afer timeout to one packet only until acknowledgement is received.
This is only valid for configurations with a single path, since
otherwise retransmission starts on a new path, for which the
outstanding bytes are initially zero.
One difference between the prototype and the RFC is, that after
timeout the prototype sends only one packet. Section 6.3.3 'Note:'
states, that ALL chunks for the path which timed out should be
marked for retransmission and sent as soon as cwnd allows.
This means also, that the prototype needs several timeouts to
resend all outstanding data.
With best regards
Rainer Benedict
PSE SMC BI 21,
VIE SIE, Bau 16/1287
TEL +43(0)51707 28622
- [SCTP-Discussion] slow recovery after disconnection / reconnection in single path c onfiguration, Benedict Rainer, 01/11/2001
Archive powered by MHonArc 2.6.19+.