SCTP Discussions

Text archives Help


[SCTP-Discussion] RE: [Tsvwg] contradiction in draft-ietf-tsvwg-sctpimpguide-03.txt


Chronological Thread 
  • From: <Ivan.Arias-Rodriguez AT nokia.com>
  • To: <arun AT netlab.hcltech.com>, <tsvwg AT ietf.org>
  • Cc: <discussion AT sctp.de>, <sctpimp AT netlab.hcltech.com>
  • Subject: [SCTP-Discussion] RE: [Tsvwg] contradiction in draft-ietf-tsvwg-sctpimpguide-03.txt
  • Date: Thu Mar 14 19:57:00 2002
  • List-id: SCTP Discussions <discussion.sctp.de>

Hi Arun!!

Please, see some comments inline...

Hi all,
In the draft-ietf-tsvwg-sctpimpguide-03.txt section 2.15 "Window probes
in
SCTP".... we felt some contradictions....

---------
New text: (Section 6.2)
---------


The SCTP endpoint MUST always acknowledge the reception of each
valid DATA chunk when the DATA chunk received is inside its receive
window.


When the receiver's advertised window is 0, the receiver MUST drop
all new incoming DATA chunk and immediately send back a SACK with
the current receive window showing only DATA chunks received and
accepted so far.


The above point specifies that when we receive any Data chunks and
the
Rwnd is zero then we have to drop those packets and those chunks' TSN will
not be included in the SACK sent........ Consider the following example...
* Sender sends a probing data chunk of "Tsn x" to Receiver when the
Receiver
has advertised the the ARwnd as zero....
* Receiver upon receiving this chunk will check its Rwnd, Since the Rwnd
is zero
it will drop the chunk and sends a SACK with CUM_TSN as " x-1" (not
including "TSN x"....
* Sender upon receiving this SACK cannot send another "Zero Window Probe"
because there is an OutStanding Data chunk ( this condition is from
the same
section.. "Note that zero window probe SHOULD only be sent when all
outstanding DATA chunks have been cumulatively acknowledged "...)
but its
RTX timer will expire and sends the same Data chunk "TSN x" one more
time...( note, that zero window probe is no more used...) ...

[Arias-Rodriguez Ivan (NRC/Helsinki)] :-/

What is then a "zero window probe"? I guess that the concept applies to
any DATA chunk sent when rwnd is zero... So, it seems to me that you are
doing a zero window probe here...

Maybe the mistake comes from the fact that once the T3 timer expires, the
DATA chunk is marked for retransmission and thus, not considered outstanding
any more...

Since it is not outstanding, you immediately make a zero window probe...
I hope I'm not missing anything...



* Receiver again drops the packet and sends a SACK as above......

This procedure continues till the Maximum Retransmission Counter
goes
off and the Association closes.... (According to section 2.15.2 "When a
sender is
doing zero window probing, it should not time out the association if it
continues to
receive new packets from the receiver", this again contradicts )



[Arias-Rodriguez Ivan (NRC/Helsinki)] I guess this question is answered by my
previous comment...



*********************
Next issue is from the lines
"---------
New text: (Section 6.2)
---------

The SCTP endpoint MUST always acknowledge the reception of each
valid DATA chunk when the DATA chunk received is inside its receive
window."


Considere the below scenario:
* Sender sending a data chunk of size 1000 when SND.WND = 1500
* Receiver receives the data chunk and sends a SACK wth ARwnd = 500
(It cant apply SWS avoidance here by sending a (ARwnd = 0), because
that
would violate SCTP principle that a window cannot shrink by moving
the
right edge...)


[Arias-Rodriguez Ivan (NRC/Helsinki)]


*Sender receiving the SACK, will send another Data chunk of size 1500
when
SND.WND = 500 ( this is allowed according to the RFC, "However,
regardless of the value of rwnd (including if it is 0), the data
sender can always
have one DATA chunk in flight to the receiver if allowed by cwnd
(see rule B
below). )


[Arias-Rodriguez Ivan (NRC/Helsinki)] Yes, but this means that you are not
supposed to surpass rwnd. You can always have one DATA chunk outstanding, but
I think that the only special case when you can surpass the rwnd is when the
received a_rwnd is 0 and you don't have any TSN outstanding...

*Receiver on receivin this data chunk will do the check as specified
above
( data chunk's size is less than Rwnd), since this check fails, it
will drop the
packet and sends a SACK of ARwnd = 500....

Here again we came to the same issue as the first one.... Here we
never
go into "Zero Window Probing" as we never get ARwnd = 0......


[Arias-Rodriguez Ivan (NRC/Helsinki)] Yes, you are right... The point is that
you shouldn't send a DATA chunk carrying more user data than the rwnd
allows... unless it is completely impossible not to surpass this value, i.e.
you make a 0 window probe...

Are the issues making sense... Atleast for me... its totally confusing.....
The Probing
ideas given in the draft is condradictory in the sense, the Send side Alg
follows the
TCP way, but not the Receive side.... ( I guess in TCP, when the ARwnd is
zero,
it will still accept the data chunks from the Sender.... anyway in TCP case
the
zero window probing will be done with "one byte", but in SCTP a whole CHUNK
is sent....)

[Arias-Rodriguez Ivan (NRC/Helsinki)] Yep, but just one chunk... Of course,
you could in theory make this chunk as small as you want (however, this is
not always possible, as if you are retransmitting a TSN, it must be exactly
the same one)

I hope it helped!

BR Iván Arias Rodríguez



Thanks
-arun

--
****************************************************************
V.Arun Prasad
HCL Technologies Ltd.
51, Jawaharlal Nehru Road,
Ekkattuthangal,
Guindy Industrial Estate,
Chennai - 600097.


Contact # : 9144 - 2334174
9144 - 2334181
extn : 233
****************************************************************






Archive powered by MHonArc 2.6.19+.

Top of page