Re: [quicwg/base-drafts] PING is reliably delivered (#2068)

hardie <notifications@github.com> Fri, 30 November 2018 22:57 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 8C39F130E30 for <quic-issues@ietfa.amsl.com>; Fri, 30 Nov 2018 14:57:45 -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 3C9N6BOH0UEE for <quic-issues@ietfa.amsl.com>; Fri, 30 Nov 2018 14:57:43 -0800 (PST)
Received: from out-4.smtp.github.com (out-4.smtp.github.com [192.30.252.195]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8C9E11274D0 for <quic-issues@ietf.org>; Fri, 30 Nov 2018 14:57:43 -0800 (PST)
Date: Fri, 30 Nov 2018 14:57:42 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1543618662; bh=nvW6lYmHL0WWLDORAuZE5VfSmC704EU0/XvU2A/jBIo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=aw8NlOIaXs58dHqI9uziBwaTLDA5q4SWGHtVdOHNw33zNokXZiUhcSqsmD3U1Jb1y VNO1M8SpGNSYyZLRbB4YUUU2dqU+aaCtEzrwiHLaWSov3wWLIp1CGavP9fQEzskPS7 nu9mGBs6dMijdgjp9baLUq/d9AuaWG5oDNjaDLSU=
From: hardie <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4aba1866fcfe05c60115ac6fce8044c4d19ae232ca392cf000000011819826692a169ce16fae0fe@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2068/c443365021@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2068@github.com>
References: <quicwg/base-drafts/pull/2068@github.com>
Subject: Re: [quicwg/base-drafts] PING is reliably delivered (#2068)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c01c0669e406_19323f85916d45c41049b4"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: hardie
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/FBL-zmMJ2T9-YC8WCQ8hlMo9N-o>
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: Fri, 30 Nov 2018 22:57:46 -0000

On Thu, Nov 29, 2018 at 12:30 PM MikkelFJ <notifications@github.com> wrote:

> If PING can randomly be retransmitted but does not have to, PING is
> useless to the application.
>
> If PING is never retransmitted, the application can use that signal for
> its own purposes such as QoS montoring.
>
> If PING is always retransmitted, the application can use that to make sure
> a connection stays alive by sending one once in a while.
>

For the heartbeat case, it seems like the application could send a PING
frame and continue to send new PING frames until one is acknowledged (since
they must be acknowledged).  I agree, though, that is a pretty wasteful set
of affairs if you're going to need to send a lot of heartbeats.  I don't
think that strategy for maintain a stable 5 tuple is as necessary with
QUIC, though, so the trade-off looks like this to me:

Case 1:

1)PING MUST be acknowledged but is not re-transmitted, so a lack of
acknowledgement is a clear signal of loss on the path.

2) If you want a heartbeat, you send fresh PINGs until  you get an
acknowledgement of one of them (and count the ones that did not get
acknowledged as lost).

Case 2:

1) PING MUST be acknowledged and MUST be re-transmitted, so a single PING
is sufficient to create a heartbeat for the connection/application.

2) Each re-transmission is a signal of either loss or significant delay
along the path.

If we think heartbeats over lossy connections are going to be common, I'd
go with two.  If we don't, I'd go with one.  I agree that having "might be
retransmitted" is the worst option.

Just my two cents,

Ted

>


-- 
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/2068#issuecomment-443365021