Re: [quicwg/base-drafts] split fast retransmit modes (#1226)

Subodh Iyengar <notifications@github.com> Sun, 18 March 2018 12:43 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 280871277BB for <quic-issues@ietfa.amsl.com>; Sun, 18 Mar 2018 05:43:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.01
X-Spam-Level:
X-Spam-Status: No, score=-7.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BjOecBBXZMXr for <quic-issues@ietfa.amsl.com>; Sun, 18 Mar 2018 05:43:40 -0700 (PDT)
Received: from out-2.smtp.github.com (out-2.smtp.github.com [192.30.252.193]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6DAE6126D3F for <quic-issues@ietf.org>; Sun, 18 Mar 2018 05:43:40 -0700 (PDT)
Date: Sun, 18 Mar 2018 05:43:39 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1521377019; bh=Z3QjY91YxYfohqzpCmmosMbThMJsY2vI81Pb9koAe4o=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=oteB7eZBkOJo4qicbJ3jyEnc6rWSCxa3T1sFjCxkYL2IW3GcgMqKTFU1I5984HYxR oJHrFnD7rvTTlYcS2Qx74kGfkfz6YO7W9ohg5cUwINR/pedO1uTXJujDiuBHXojOd/ zwfn5moh1tJ/yCrvvKCSk47gpKt5F4u0l9itWKLE=
From: Subodh Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab8a283e719eacb16b05ffafee1f05277fa992ea4692cf0000000116c620fb92a169ce1240b5ea@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1226/review/104795418@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1226@github.com>
References: <quicwg/base-drafts/pull/1226@github.com>
Subject: Re: [quicwg/base-drafts] split fast retransmit modes (#1226)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5aae5efb58da5_38b82acb6cdb0ecc4886e3"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: siyengar
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/Q2ch9HrsWZ5a17k7mKoN2jjdFFg>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 18 Mar 2018 12:43:42 -0000

siyengar commented on this pull request.



> @@ -209,20 +224,19 @@ reordering of packets in the network.
 
 The RECOMMENDED initial value for kReorderingThreshold is 3.
 
-We derive this default from recommendations for TCP loss recovery {{?RFC5681}}
-{{?RFC6675}}. It is possible for networks to exhibit higher degrees of
-reordering, causing a sender to detect spurious losses. Detecting spurious
-losses leads to unnecessary retransmissions and may result in degraded
-performance due to the actions of the congestion controller upon detecting
-loss. Implementers MAY use algorithms developed for TCP, such as TCP-NCR
-{{?RFC4653}}, to improve QUIC's reordering resilience, though care should be
-taken to map TCP specifics to QUIC correctly. Similarly, using time-based loss
-detection to deal with reordering, such as in PR-TCP, should be more readily
-usable in QUIC. Making QUIC deal with such networks is important open research,
-and implementers are encouraged to explore this space.
+#### Time-based Fast Retransmit
+
+Using time-based loss detection to deal with reordering, such as in PR-TCP,

maybe add a reference to PR-TCP here?

> @@ -846,6 +843,29 @@ DetectLostPackets(largest_acked):
     else if (loss_time == 0 && delay_until_lost != infinite):
       loss_time = now() + delay_until_lost - time_since_sent

i think this might be cleaner to split this up to the end of the loop.

it looks like the intention is to the early retransmit timer to be the loss time of the first packet not lost by packet ordering. It might be cleaner like

```
 last_unacked = largest_acked.packet_number
 foreach (unacked < largest_acked.packet_number):
     ....
     last_unacked = unacked
 if (last_unacked < largest_acked.packet_number) :
    lost_time = now() + delay_until_lost - sent_packets[last_unacked].time_since_sent
```

and similarly in the other one as well

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/1226#pullrequestreview-104795418