Re: [tsvwg] WGLC Announcement for draft-ietf-tsvwg-sctp-sack-immediately-02: 19th March 2013

Michael Welzl <michawe@ifi.uio.no> Wed, 03 April 2013 09:42 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7231D21F8700 for <tsvwg@ietfa.amsl.com>; Wed, 3 Apr 2013 02:42:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.298
X-Spam-Level:
X-Spam-Status: No, score=-102.298 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_45=0.6, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iVGxQtt3S3y0 for <tsvwg@ietfa.amsl.com>; Wed, 3 Apr 2013 02:42:14 -0700 (PDT)
Received: from mail-out4.uio.no (mail-out4.uio.no [IPv6:2001:700:100:10::15]) by ietfa.amsl.com (Postfix) with ESMTP id DB7E121F84F8 for <tsvwg@ietf.org>; Wed, 3 Apr 2013 02:42:13 -0700 (PDT)
Received: from mail-mx4.uio.no ([129.240.10.45]) by mail-out4.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1UNKCp-0006GF-1y; Wed, 03 Apr 2013 11:42:11 +0200
Received: from boomerang.ifi.uio.no ([129.240.68.135]) by mail-mx4.uio.no with esmtpsa (TLSv1:AES128-SHA:128) user michawe (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1UNKCo-0005Ti-81; Wed, 03 Apr 2013 11:42:11 +0200
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: multipart/alternative; boundary="Apple-Mail=_D2912A59-4BEC-4D79-B3BF-45BFF0EA92A7"
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <E527DD3C-F037-442A-98FF-9CE61758E669@lurchi.franken.de>
Date: Wed, 03 Apr 2013 11:42:07 +0200
Message-Id: <31D96103-8E36-44C4-A131-03C79385775C@ifi.uio.no>
References: <4F605902.40009@erg.abdn.ac.uk> <5148B330.3000304@erg.abdn.ac.uk> <CAO249ycs-1at532RQWHzJVpH49p-PyXX4Sh=e=DGTs7WqMKOzQ@mail.gmail.com> <A7378318-1AA0-4B8C-B2A6-DF45B7F5A63B@lurchi.franken.de> <267C7CD9-6E64-4133-B4B5-029DE6EA8847@ifi.uio.no> <E527DD3C-F037-442A-98FF-9CE61758E669@lurchi.franken.de>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
X-Mailer: Apple Mail (2.1283)
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 3 msgs/h 1 sum rcpts/h 5 sum msgs/h 1 total rcpts 3226 max rcpts/h 20 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.6, required=5.0, autolearn=disabled, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.553, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: A0679FD239F003FA865F15E119EB02C653B9CA6A
X-UiO-SPAM-Test: remote_host: 129.240.68.135 spam_score: -55 maxlevel 80 minaction 2 bait 0 mail/h: 1 total 1438 max/h 12 blacklist 0 greylist 0 ratelimit 0
Cc: tsvwg <tsvwg@ietf.org>
Subject: Re: [tsvwg] WGLC Announcement for draft-ietf-tsvwg-sctp-sack-immediately-02: 19th March 2013
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tsvwg>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Apr 2013 09:42:15 -0000

Hi,


On 2. apr. 2013, at 10:58, Michael Tuexen wrote:

> 
> On Apr 2, 2013, at 10:15 AM, Michael Welzl wrote:
> 
>> Hi,
>> 
>> I have read this draft and support it.
>> 
>> Regarding the issue below:
>> 
>> 
>> On 2. apr. 2013, at 09:27, Michael Tuexen wrote:
>> 
>>> On Apr 2, 2013, at 8:29 AM, Yoshifumi Nishida wrote:
>>> 
>>>> Hi,
>>>> 
>>>> I support this draft.
>>>> Some minor questions I have are related to the following rule in the draft.
>>>> "the sending of a DATA chunk fills the congestion or receiver window."
>>>> 
>>>> 1: I am personally curious about how much benefit we can get by this.
>>>>  If there's an analysis on this, I will want to see it in the reference.
>>> Hi Yoshifumi,
>>> 
>>> some simulation results are available at:
>>> Improving the Acknowledgment Handling of SCTP
>>> Rüngeler, I.; Tüxen, M.; Rathgeb, E. P.
>>> Proceedings of the 4th International Conference on Digital Society (ICDS 2010), February 2010.
>>>> 
>>>> 2: Because this rule will be checked on every packet transmission, I
>>>> would like to know if the draft suggests to set I-bit everytime we
>>>> have a chance or there might be a case where we shouldn't.
>>> The sender could do it to switch off delayed SACK. However, this
>>> might not be useful. Therefore, as stated, the sender should set it,
>>> when he is waiting for an SACK.
>> 
>> Could there be a way to phrase this in that style, to also make it more general than "a DATA chunk fills the congestion or receiver window" ?
> Besides the very generic statement
> (Whenever the sender of a DATA chunk can benefit from the
> corresponding SACK chunk being sent back without delay...)
> the ID lists some concrete situations (not a complete list).
> I'm open to add another one, if you can provide some text...

See below -


>> I'm thinking about the case that draft-ietf-tcpm-rtorestart-00 addresses, of an application-limited sender that only has one SACK to expect and, in case it doesn't arrive, only a timeout to rely upon. Unless I'm missing some SCTP-specific detail here, it should also be beneficial to SACK early in this case (see fig. 1 in our draft).
> I'm not sure how the I-bit helps. I think you are focussing on retransmissions in case of packet drops.
> Assume that the RTO is larger than the RTT + SACK.delay (if not, it is a mis-configuation, in
> which setting the I-bit allows the sender to work around the problem), then one of two things happen:
> * the packet is dropped and there is no SACK acking it. The sender will retransmit after RTO.
> * the packet arrives and the corresponding SACK will arrive after an RTT or RTT + SACK.delay.
>  In both cases, no retransmission will happen.
> 
> Am I missing something?
>> 
>> This case would be covered by "when it is waiting for a SACK" but not by "fills the congestion or receiver window" (because both of these windows may be much larger than what the sender really transmits).
> I'm open for adding another scenario, where it helps. However, I did not understand you case
> above...

My apologies, there are two issues with what I wrote:
1) writing about only one single packet was of course misleading - yes it is about this packet (the case where it's dropped), but it really has to do with the ACK of the preceding packet.
2) because of 1), in fact it was wrong to say that "this case would be covered by 'when it is waiting for a SACK' " because it's the preceding packet that would have to have the I-bit set. That makes it harder to come up with text, but I'll give it a try anyway. I suggest the following:

***
- leave the generic statement (Whenever the sender of a DATA chunk can benefit from the
corresponding SACK chunk being sent back without delay...) as it is
- in section 4.2, insert the following paragraph:

When a sender receives a SACK chunk, it re-arms the RTO timer, and the time at which this happens if affected by a delayed SACK chunk. If the last packet in a send window is lost, it will therefore be retransmitted later if the SACK chunk that was caused by the DATA chunk just before it is delayed. This can be avoided by setting the I-bit on the penultimate DATA chunk of the send window.

Item for section 5.1:
- The DATA chunk is known to be the penultimate DATA chunk of the send window.
***

The tricky bit here is the application-limited case. In case of a greedy sender, the "penultimate DATA chunk of a send window" is the DATA chunk just before the one that fills the congestion or receiver window, or the last DATA chunk altogether before the association is shut down. But in the application-limited case, one can never be sure how long an application pause is going to last... in my text above, I decided to leave this open by just saying "of the send window". This is perhaps not good - if you can fix this great, if you'd rather not even bother, just leave it out and forget it, that's fine by me too  :-)   it was just a suggestion. Anyway it's covered by the nice CFP-style phrase in your text that says: "Reasons for setting the I-bit include, but are not limited to, the following"  :-)

I hope I have made myself clear enough. If not, please do take a quick look at fig. 1 of http://tools.ietf.org/html/draft-ietf-tcpm-rtorestart-00 which probably explains it better.

Cheers,
Michael