Re: Fast Retransmission in SCTP

Michael Vittrup Larsen <michael.larsen@tieto.com> Wed, 21 December 2011 12:55 UTC

Return-Path: <Michael.Larsen@tieto.com>
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 52E2221F8ABD for <tsvwg@ietfa.amsl.com>; Wed, 21 Dec 2011 04:55:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 uo29SxgPJXoB for <tsvwg@ietfa.amsl.com>; Wed, 21 Dec 2011 04:55:43 -0800 (PST)
Received: from ebb05.tieto.com (ebb05.tieto.com [131.207.168.36]) by ietfa.amsl.com (Postfix) with ESMTP id C989221F8ABC for <tsvwg@ietf.org>; Wed, 21 Dec 2011 04:55:42 -0800 (PST)
X-AuditID: 83cfa824-b7cebae0000004d2-f0-4ef1d74c3cda
Received: from FIVLA-EXHUB02.eu.tieto.com ( [131.207.136.42]) by ebb05.tieto.com (SMTP Mailer) with SMTP id 55.72.01234.C47D1FE4; Wed, 21 Dec 2011 14:55:40 +0200 (EET)
Received: from ul000513.localnet (10.48.99.29) by inbound.tieto.com (131.207.136.49) with Microsoft SMTP Server id 8.3.159.2; Wed, 21 Dec 2011 14:55:40 +0200
From: Michael Vittrup Larsen <michael.larsen@tieto.com>
Organization: Tieto
To: tsvwg@ietf.org
Subject: Re: Fast Retransmission in SCTP
Date: Wed, 21 Dec 2011 13:55:38 +0100
User-Agent: KMail/1.13.5 (Linux/2.6.32-34-generic; KDE/4.4.5; i686; ; )
References: <CA+-pjPzogR5VLVOqX0H1jfw-CgB_CDLH1Zc=MAq0qCVoYETq-g@mail.gmail.com> <B21E99E1-05EC-42DA-A3DF-E91FB207453A@lurchi.franken.de>
In-Reply-To: <B21E99E1-05EC-42DA-A3DF-E91FB207453A@lurchi.franken.de>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Message-ID: <201112211355.39643.michael.larsen@tieto.com>
X-Brightmail-Tracker: AAAAAgW74bYZnsdP
Cc: Michael Tüxen <Michael.Tuexen@lurchi.franken.de>
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, 21 Dec 2011 12:55:44 -0000

I don't believe this is a correct interpretation of the articles from Armando 
et. al ([4] of RFC4460).  I believe the correct interpretation is

  "fast retransmissions should be sent to the destination to which
   we currently are sending data"

Note that this is not the same as "...to the same destination where initial 
transmissions were sent" in case of current primary path failovers.  In fact, 
if we send fast retransmissions "...to the same destination where initial 
transmissions were sent" we may in fact be sending these on a path different 
from where we currently are sending data - and this is exactly (to my 
understanding) what the change in SCTP fast retransmission in RFC4960 is all 
about.

To see why we need to look behind the words used by RFC4960 and into the 
articles and the reasoning in the articles:

1) Sending fast retransmissions (FR) on a path different from where we 
currently are sending new data may be subject to excessive RTO values on the 
alternative path. Successful FRs do not update the RTT of the alternative path 
due to Karns algorithm and the RTO on the alternative path is therefore 
conservative for the majority of the association and sending FRs on such a 
path is not optimal.

2) FRs do not benefit the cwnd of the path where we are sending new data but 
instead the cwnd of the alternative path, which is less attractive.

3) Possible timeouts of FRs sent on the alternative path will delay cwnd 
increments on the path where we are sending new data. Since these timeouts are 
conservative the delay may be excessive.

Neither [4] nor RFC4960 explicitly in text describes the FR policy in case 
where a change of the current primary data transfer path has occurred. But in 
essence the above reasoning/discovery of [4] clearly dictates what the correct 
interpretation should be.


Regards,
Michael

On Friday, December 09, 2011 11:34:34 Michael Tüxen wrote:
> On Dec 9, 2011, at 8:27 AM, Maxim Proshin wrote:
> > Hi experts,
> > 
> > here I would like to discuss the Fast Retransmission algorithm in RFC
> > 4960. Frankly this RFC does not describe clearly how to send (to which
> > destination) fast retransmissions but we can find some information in
> > RFC 4460 which says:
> > 
> > "
> > 2.39. Retransmission Policy
> > 
> > 2.39.1. Description of the Problem
> > 
> > The current retransmission policy (send all retransmissions an
> > alternate destination) in the specification has performance issues
> > under certain loss conditions with multihomed endpoints. Instead,
> > fast retransmissions should be sent to the same destination, and only
> > timeout retransmissions should be sent to an alternate destination [4].
> > "
> > 
> > Reading this article my first feeling was that fast retransmissions
> > should be sent to the same destination where initial transmissions were
> > sent.
> > 
> > So my first question is
> > 
> >  is my RFC interpretation correct or not?
> 
> Yes. Fast retransmissions should be send to the same destination as the
> initial transmission. Timer based retransmissions should use an alternate
> destination.
> 
> > Meanwhile, there are some more articles about retransmision policies
> > where RFC's authors also participated. For instance, "Retransmission
> > Policies With Transport Layer Multihoming" describes some improvements
> > in fast retransmission policy in respect to RFC 2960 and I think that
> > they were considered during RFC 4960 preparation. This analysis also
> > proposes to send fast retransmissions to the same destination: "
> > In this solution, all retransmissions are sent to the
> > same destination as their original transmissions.
> > ...
> > Instead of all
> > retransmissions following the Retransmit to Same Destination
> > policy of Solution 1, only Fast Retransmissions
> > should follow this policy.
> > "
> > 
> > It seems that this statement confirms my initial feeling described above.
> > But at the same time it says about primary path: "
> > Using the same destination for retransmissions has
> > the added advantage that the primary destination's cwnd
> > benets from successful retransmissions.
> > "
> > and it results is some doubts. On the one hand fast retransmissions
> > should be sent to the same destination, on the other it should be sent
> > to the primary destination. In usual case "the same" and primary
> > destinations are equal. But RFC 4960 doesn't prevent primary destination
> > changing by the user so it can be changed in run-time.
> > 
> > So my second question is
> > 
> >  if the primary destination is changed in run-time, where SCTP should
> >  sent fast retransmissions which were detected for the previous primary
> >  destination?
> 
> Changing the primary is normally not done at a high rate. So you are
> looking at the case where fast retransmission occur and the user changed
> the primary in between.
> 
> I guess there is no special case on the RFC for that. So the fast
> retransmission would go to the destination to which it was initially sent.
> The same applies if the user specified a destination and therefore the
> primary was not used.
> 
> > The mentioned above article describes one advantage in respect to sending
> > to the primay destination, this is about cwnd benets from successful
> > retransmission. But I think that in case of fast retransmission it will
> > not be observed or the advantage is very very low.
> > 
> > At the same time sending to the primary destination results in a big
> > disadvantage: SCTP should recalculate cwnd if it sends fast
> > retransmissions to the primary destination because RFC 4960 says: "
> > When a Fast Retransmit is being performed, the sender SHOULD ignore the
> > value of cwnd "
> > I think the reason is that it was considered during initial transmission.
> 
> If you do a fast retransmit, you assume that the packet has left the
> network. So you would have to subtract and add it. This means ignoring...
> 
> Best regards
> Michael
> 
> > What do you think about this?
> > 
> > I'm not sure whether it was discussed already or not. If yes, please
> > provide me with discussion's results.

-- 
*****************************************************************************************
Michael Vittrup Larsen
Software Architect
 
Tieto Denmark A/S
IP Solutions, Telecom & Media
Skanderborgvej 232, 8260 Viby J, DK-Denmark
Direct Phone / Mobile +45 3091 8469
E-mail: michael.larsen@tieto.com
*****************************************************************************************
www.tieto.com  
 
Please note: The information contained in this message may be legally 
privileged and confidential and protected from disclosure. If the reader of 
this message is not the intended recipient, you are hereby notified that any 
unauthorised use, distribution or copying of this communication is strictly 
prohibited. If you have received this communication in error, please notify us 
immediately by replying to the message and deleting it from your computer. 
Thank You.