Re: PADDING vs PING

Martin Thomson <martin.thomson@gmail.com> Mon, 19 March 2018 16:55 UTC

Return-Path: <martin.thomson@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id BE37612D873 for <quic@ietfa.amsl.com>; Mon, 19 Mar 2018 09:55:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1521478539; bh=SjJvm3NQUjFplJVV4GvqR7s95L6JSs9WfWq1TIRBiUo=; h=In-Reply-To:References:From:Date:Subject:To:Cc:Cc; b=Td6Xq0C17YaxxJyVyornfPWtaf7J6s402Ts3x2slEEoKsXWeYAXT65KNIYTg4HGzm B8nhfbAHX1AJVmmEx1Ork1vPuuJK5CnD5haQ7BIOQQk3JO7dfHayIsc6GI78RwaLoN dbsDkqgqOrzsXWAgfqqGrlOgQcL0bNruPV/TAfqM=
X-Mailbox-Line: From martin.thomson@gmail.com Mon Mar 19 09:55:39 2018
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 8526812D870; Mon, 19 Mar 2018 09:55:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1521478539; bh=SjJvm3NQUjFplJVV4GvqR7s95L6JSs9WfWq1TIRBiUo=; h=In-Reply-To:References:From:Date:Subject:To:Cc:Cc; b=Td6Xq0C17YaxxJyVyornfPWtaf7J6s402Ts3x2slEEoKsXWeYAXT65KNIYTg4HGzm B8nhfbAHX1AJVmmEx1Ork1vPuuJK5CnD5haQ7BIOQQk3JO7dfHayIsc6GI78RwaLoN dbsDkqgqOrzsXWAgfqqGrlOgQcL0bNruPV/TAfqM=
X-Original-To: dmarc-reverse@ietfa.amsl.com
Delivered-To: dmarc-reverse@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6288C126CB6 for <dmarc-reverse@ietfa.amsl.com>; Mon, 19 Mar 2018 09:55:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 Mw1Ylz1mvB7G for <dmarc-reverse@ietfa.amsl.com>; Mon, 19 Mar 2018 09:55:37 -0700 (PDT)
Received: from mail-ot0-x22d.google.com (mail-ot0-x22d.google.com [IPv6:2607:f8b0:4003:c0f::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8C69512D870 for <ilubashe=40akamai.com@dmarc.ietf.org>; Mon, 19 Mar 2018 09:55:37 -0700 (PDT)
Received: by mail-ot0-x22d.google.com with SMTP id m22-v6so18089161otf.10 for <ilubashe=40akamai.com@dmarc.ietf.org>; Mon, 19 Mar 2018 09:55:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=xbp/Ltma6VgfYLiXNv5qPLzyxSM803U3xIVrVNRj6bk=; b=r/IEtSkdfGVCcA2wk2ZwvsJm5ZoqMoS3qBLU4rrTXICmbaaSOEpo6mLzAAyuxszkNQ Yga6VE1+NUExTEQR69+IGRdYZMCmj9aiUfocPpklNRlO1uTXbnzbK2nFiiQlhu46Xnm9 6FUz4tLbe+jP7N/Fjhssl8CZRcq4+RIMs2W9ivZUWu5v7+J775A8w5IGcgbLRGHHGiIP xi/p2S6U1YIOeVshiU1TNy9bRCJlhUXZAdLrVidWHh2z/q3HdKfNZRmJXuyC7/st8akp P1ejiRxb7u2PrQgIpRR8it0Q2Wt5KDl/fXPLuZxmeSb+/zfQ/8YlXenAC8JTa4Wf0EK5 Xv8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=xbp/Ltma6VgfYLiXNv5qPLzyxSM803U3xIVrVNRj6bk=; b=ZI/CrhixsKfz+qZTiQ3R94XpkHJ5VBEpLK4fXPJakrQJfCHZV3VrY6nYX4Vp2va6KT hh7rN01GTvk0YJfO67SN4I3cWZ+tO4A4D1iC5CZlF601Kv2PnLpMNmdtQVgnjVFTWtLz 0OPYjKP99EyWDVqgDSskWYesQhV+qfeUi9Ie8T8jVO+hawBQmHswatyC5TIadRfbhchs ImCCLDpQbf1SrEeo+REDOMPRQPFegtxar19/SPe+sSh1Uh2z0CormNC6J3wr5Xq07gSH Jtqvp3tSBy62oyx7dZzOVmgwpLDcBrmidpPzf3+JDgdyolRYeRXZC8DrI+skzIxD2fKl yO+Q==
X-Gm-Message-State: AElRT7EMZKCJRV1u7ijkwoJi7R4B0AfunypXkazJTH4kz9qpPGZRM+dL 4DOZDfRZ6ECwp/qPgpwdiupmiTEUIYjm5AdbZio=
X-Google-Smtp-Source: AG47ELvJOXDKqujyiKV1mhJruyuHGPOFoP2JfKCn/BzUkI2amxSUljGbUKUx8pa39UkGIPdQ45I3MzV4+pbjf/EOK8k=
X-Received: by 2002:a9d:350a:: with SMTP id o10-v6mr7792259otc.283.1521478536700; Mon, 19 Mar 2018 09:55:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a9d:ac7:0:0:0:0:0 with HTTP; Mon, 19 Mar 2018 09:55:36 -0700 (PDT)
In-Reply-To: <CACpbDcd8Dny9HUtwOd9Udz0WgUP8WfSgmCj_BgfMZB8gAtBzqQ@mail.gmail.com>
References: <0a5ec245895043f196c0e93026d8e7ea@ustx2ex-dag1mb5.msg.corp.akamai.com> <CABkgnnU5FDgfhkGybBAV4Ei=cB7E6KF-WbVDgOm=w9pV51=gLA@mail.gmail.com> <cf7026c0cc0f4ec1b99c888067c774e9@ustx2ex-dag1mb5.msg.corp.akamai.com> <CACpbDcd8Dny9HUtwOd9Udz0WgUP8WfSgmCj_BgfMZB8gAtBzqQ@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Mon, 19 Mar 2018 16:55:36 +0000
Message-ID: <CABkgnnUS08N_gSru8sOyKrmZaiELoMF2z0OdPr1BxAXRV7f2dQ@mail.gmail.com>
Subject: Re: PADDING vs PING
To: Jana Iyengar <jri.ietf@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Cc: "Lubashev, Igor" <ilubashe@akamai.com>
Cc: IETF QUIC WG <quic@ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Dd3tQR6ACZ6xX6UeQIwlyuG0uR8>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Mar 2018 16:55:40 -0000

A particular challenge with this proposal is that it counts the size
of *frames* rather than the size of *packets*.

The current text assumes that the size of packets is what matters.  So
you are proposing a fairly fundamental change.

Given that I think we have to assume that the bytes in flight for a
given packet is observable based on how the endpoint manifests its
congestion control, then any sort of accounting on a frame-by-frame
basis is potentially a way to - in this case - allow an observer to
recover the size of ACK frames.  Not sure how much value that is, but
it might work at odds with padding strategies.


On Mon, Mar 19, 2018 at 3:34 PM, Jana Iyengar <jri.ietf@gmail.com> wrote:
> For the record, I'll reiterate what I said at the mic (also what Christian
> said), which Martin called option 3:
> The PADDING frame counts towards bytes-in-flight but does not generate an
> ACK.
>
> Rationale: This keeps the rule simple and consistent with regard to PADDING
> frames. We expect that padding will commonly be used for packets carrying
> data. In this case, this is basically option (2), which states that PADDING
> frames if carried in packets containing non-ACK frames count towards bytes
> in flight. In the exceptional case that PADDING is used with ACK-only
> packets, this makes it the sender's problem to "do the right thing": the
> sender periodically sends an ACK-generating frame and figures out a time to
> clear out the in-flight.
>
>
>
> On Mon, Mar 19, 2018 at 3:02 PM, Lubashev, Igor
> <ilubashe=40akamai.com@dmarc.ietf.org> wrote:
>>
>> Very well.  So it is Option 2.  One thing I did want to propose that we
>> make the "ACK expectations" of PADDING and PING clear.  Bother require ACKs
>> (except for ACK+PADDING packets), but PING requires an immediate ACK, while
>> PADDING allows for a delay.
>>
>> -----Original Message-----
>> From: Martin Thomson [mailto:martin.thomson@gmail.com]
>> Sent: Monday, March 19, 2018 2:37 PM
>> To: Lubashev, Igor <ilubashe@akamai.com>
>> Cc: IETF QUIC WG <quic@ietf.org>
>> Subject: Re: PADDING vs PING
>>
>> The current text counts ACK towards bytes in flight when there are other
>> frames present, so you just described Option 2.  Albeit more precisely.
>>
>> The key is that packets that comprise only (ACK[, PADDING]) count toward
>> bytes in flight.  That is, the packet counts or not, but the content
>> determines the answer.
>>
>> On Mon, Mar 19, 2018 at 2:23 PM, Lubashev, Igor
>> <ilubashe=40akamai.com@dmarc.ietf.org> wrote:
>> > Since 4 proposals is not enough, let me propose the 5th one, which is
>> > an extension of Subodh’s proposal.
>> >
>> >
>> >
>> > PADDING does NOT count for bytes-in-flight (and does not require ACKs)
>> > when it is a part of ACK+PADDING packets.
>> > PADDING does count for bytes-in-flight and does require ACKs otherwise
>> > (including in PADDING-only packets).
>> > The difference between PADDING and PING in non-(ACK+PADDING) packets
>> > is that PING requires an ACK to be sent ASAP, while ACKing PADDING can
>> > be delayed, if the receiver does some ACK coalescing.
>> >
>> >
>> >
>> > Igor
>>
>