[quicwg/base-drafts] Guidelines for Retransmitting Lost Data (#2103)

martinduke <notifications@github.com> Thu, 06 December 2018 19:56 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 C95B213114D for <quic-issues@ietfa.amsl.com>; Thu, 6 Dec 2018 11:56:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Level:
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] 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 DRsoFNSdj9xb for <quic-issues@ietfa.amsl.com>; Thu, 6 Dec 2018 11:56:05 -0800 (PST)
Received: from out-1.smtp.github.com (out-1.smtp.github.com [192.30.252.192]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0BDFE13114C for <quic-issues@ietf.org>; Thu, 6 Dec 2018 11:56:05 -0800 (PST)
Date: Thu, 06 Dec 2018 11:56:03 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1544126164; bh=qUKafEdGSfjuYece0rZecW5qWc8xQKZ8beLbC86DIpg=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=DnglSarh1akr5QnnqlnkB2AFBGbSd/Q2eoUG0oFwlwA9PBb/nxnJ9Ke1mSpFn5WjK yF8Le9Sxb518GjkBRvmwbyNBxmCYfIHjgQonLch3crrcgmw0MlpcauKxdXU5erE4IX 2awq47ds+WvuJbeemh3cQbyXtD/bkl/laatf45aI=
From: martinduke <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab832241301b2e782c3f0a49459579aabd199a227b92cf00000001182140d392a169ce17261a55@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2103@github.com>
Subject: [quicwg/base-drafts] Guidelines for Retransmitting Lost Data (#2103)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c097ed3f3212_33b33ffcae8d45c411388f"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinduke
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/EDUNCCpfOVyG_H706VFuOjV52TI>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 06 Dec 2018 19:56:07 -0000

The recovery draft is oddly silent on when to send data that has actually been marked as lost. I'm not sure if this is constructive ambiguity or just an oversight.

Consider the following case with 1 stream, which is an entirely typical burst error scenario.
1. Segments A through J are sent in packets 1-10. There is no other data.
2. TLP timeout, send A in pkt 11.
3. TLP timeout, send pkt 12. **Do I send segment A or B** -- A is inflight twice so B is more likely to be new to the receiver, though if A is truly lost we won't make progress.
4. RTO timeout, send pkts 13 and 14. Similar to (3), **do we send C & D, or A & B**?
5. Receive ack of 14. Packets 1-12 are declared lost. Whatever was in pkt 13 is therefore the only outstanding data, and only the contents of pkt 14 are deleted from the queue. **Should I include the payload of pkt 13 in the outgoing queue,** or wait for pkt 13 to be declared lost?

Put another way, in the recovery draft we often prioritize segments that have no copies in-flight. Does that extend to prioritizing segments that are in-flight once over those that are out there twice? Does declaring a packet lost mean we should simply retx its segments if unacked, or do we consider that there are still outstanding copies?


-- 
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/issues/2103