Re: Proposal to replace ACK block count with ACK length

Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com> Thu, 21 June 2018 21:14 UTC

Return-Path: <mikkelfj@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A3A01130DD5 for <quic@ietfa.amsl.com>; Thu, 21 Jun 2018 14:14:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 hBfzQJrIE02m for <quic@ietfa.amsl.com>; Thu, 21 Jun 2018 14:14:52 -0700 (PDT)
Received: from mail-it0-x229.google.com (mail-it0-x229.google.com [IPv6:2607:f8b0:4001:c0b::229]) (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 85B8012785F for <quic@ietf.org>; Thu, 21 Jun 2018 14:14:52 -0700 (PDT)
Received: by mail-it0-x229.google.com with SMTP id 16-v6so34277itl.5 for <quic@ietf.org>; Thu, 21 Jun 2018 14:14:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=FNMR5CWdcrB0rPh/EYDW9ZlzL4FMmPm9HY4W9PNqcZM=; b=G441IQtKyldII5K3SSH13XyU3WCcsqvHdhDt2q1aOYBzPb+6XVgkiZaSUqd2ITYThM JLaDg/wg6uzmBaBqs9A1DQ6fh2DXSOvw7z5JQCrRT6Xj7JY8bODCVC+zxEM6LLIWUYzV rGGVT10JyuAJqSKweRaHcZst6G3vGPO+dK8Tu3f1nx3S3JVYUH7VZQiM7Txdm3TLOjmK kJN+V2PVQZk+Tf9PgCy2ZddLj94Y14PDJeG2FAbfXFyiaxNbh64Oteg8Chb1eEcpYw5n 7DFXMDQAiOiQW/XiRNDsjxH9kMoWjZ0lZe7NJ014ZlSaSxT1D695t3JgXA4mogDAuF2I ij3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=FNMR5CWdcrB0rPh/EYDW9ZlzL4FMmPm9HY4W9PNqcZM=; b=QAPHy0/iMSND24dPOwwYAKn1fIg2eKd83eJp1M1DfiQciXPRozeOmN7JrLhpLnr4uw usQDV5c0O7eqz/yCc5autDlgAuIHu2l+gz7h82NpgIfjItF3KCuu9NG0TyQuP0DDI4c2 U88pRB7j5/bLlJ+Zck8MFvtiY6R95FfxN93tliUVe9SGtU7IcOBS/G2Z+Qk0XUMfkknB SCw/ijY07cQWGahmsn8lUo6e7Dq0fVA7bgHnppz7IIOy5d+XYiaUrqbUAgwXx8rA8re/ K+dfgp8q7rtmsVd2Mbxvb9nV5jyiuRcfrsaIVUlHbcGKVAMUr7q/CeMaTUH6tTskZzDX FqyA==
X-Gm-Message-State: APt69E3WRme8Lr8sACqCCGOfB535UOS/48zmnbg02+Ib1Gju2TKxwbLN xSctE9/xPK3CCL8G/BDLrBnu2ca48WKT1dRuljE=
X-Google-Smtp-Source: ADUXVKJacUf4dJ+zyllBBiWTV0uk7DNUvcD8lHIFoMA3J8TWwBBWLZp0JUEJAkGXUsP7NAWIE/o8Q48zr63Fh0cZ2mA=
X-Received: by 2002:a24:ce86:: with SMTP id v128-v6mr6656892itg.39.1529615691899; Thu, 21 Jun 2018 14:14:51 -0700 (PDT)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Thu, 21 Jun 2018 17:14:49 -0400
From: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
In-Reply-To: <CABcZeBOO=Z2ANQ_AvzRDEx7LbABgGAAggLHWGRBB7tNdUZ_0LA@mail.gmail.com>
References: <1F436ED13A22A246A59CA374CBC543998B832414@ORSMSX111.amr.corp.intel.com> <20180611154244.GA27622@ubuntu-dmitri> <CACpbDcdxzRxeiN93kKoj__vo2TERm4QZKqaesL=jr4wQUN1gXA@mail.gmail.com> <1F436ED13A22A246A59CA374CBC543998B833B91@ORSMSX111.amr.corp.intel.com> <CABcZeBOjjRrX+AsXdgcUKpL=ciL8U_U1+WVAhQv-ZjwGxkQxYw@mail.gmail.com> <MWHPR21MB0638068EFA850328793E55F6B67C0@MWHPR21MB0638.namprd21.prod.outlook.com> <CACpbDcdbTKKEh8dcshWM6-7vq2hBFJC1myL1+H6etpMMjth+wg@mail.gmail.com> <CABkgnnV_thWcAi=AdwV+Za5rXywiUvtOYpsNNp1y7=RvL2MvWA@mail.gmail.com> <CAOYVs2qE=Tw_7eax9HwaESaQPMh7k3BSVV112d+pPeSfZ09EjQ@mail.gmail.com> <CABcZeBOCRHAuh44CrMH02UZ3Ar_2sa5M1c3LG_A-RPzXX+H+Yw@mail.gmail.com> <CAKcm_gOeZHR-BGJiqK=zQKqbgq=briQuH+fzHrkUYbhQx3B_sw@mail.gmail.com> <CANatvzyKv8EGVR-Z5WMDKbeuKHP791OynsTqX=+HriKBxFnafA@mail.gmail.com> <CAOYVs2oE6yawW04MVH1ApewSJ+0g9g2oMxCj+CU+butfiAe8kA@mail.gmail.com> <CANatvzxniU0AUEi5tuKzmX45uTUV6-y0JbqcdKTpu1J4WQR7JA@mail.gmail.com> <CAOYVs2p9vJrCVuXqGsR29rOGj=CNt1m7TcavGV9Kwk-9hA4sPQ@mail.gmail.com> <1F436ED13A22A246A59CA374CBC543998B83AB21@ORSMSX111.amr.corp.intel.com> <1F436ED13A22A246A59CA374CBC543998B83EC27@ORSMSX111.amr.corp.intel.com> <CAN1APdfYmj4M0mVedCUhRG9qYXpDSoN8TgYY_X72HkV6+ixEbg@mail.gmail.com> <CABcZeBOO=Z2ANQ_AvzRDEx7LbABgGAAggLHWGRBB7tNdUZ_0LA@mail.gmail.com>
X-Mailer: Airmail (420)
MIME-Version: 1.0
Date: Thu, 21 Jun 2018 17:14:49 -0400
Message-ID: <CAN1APdejrbFUxg7+U-LZTK0VsnNYAgT6Exsm76SY86DkobPdgg@mail.gmail.com>
Subject: Re: Proposal to replace ACK block count with ACK length
To: Eric Rescorla <ekr@rtfm.com>
Cc: Jana Iyengar <jri.ietf@gmail.com>, IETF QUIC WG <quic@ietf.org>, "Deval, Manasi" <manasi.deval@intel.com>, Marten Seemann <martenseemann@gmail.com>, Martin Thomson <martin.thomson@gmail.com>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>, Kazuho Oku <kazuhooku@gmail.com>, Praveen Balasubramanian <pravb@microsoft.com>
Content-Type: multipart/alternative; boundary="000000000000f56c2c056f2d676d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/aveg1Qx6OmaRrTrsWxnPHIC5P_s>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.26
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: Thu, 21 Jun 2018 21:14:56 -0000

Missed that mail.

My concern was mostly that you when several people raises concerns about a
protocol design principle being changed, you need to argue why such a
change is viable rather than just - need to check EOB anyway.

You code goes some way to address that. I didn’t go through it in detail
(I’m beyond my code line limit for today) but there could can be problems
such as:

ACK frame with length prefix says it does not exceed end of buffer. Parser
reads all data and confirms this fact, so frame is accepted. What it might
miss is that the length points after the end of the parse block leaving
undetermined data hanging. Not saying this actually happens, but that is a
concern.

Personally, I actually like a length prefix, and generally don’t see a
problem with it. But I’d prefer if it was a global principle then rather
than mixing those concepts. When this is done in a generic fashion, and end
pointer can be passed everywhere, and as soon as something does fit
cleanly, abort the connection.

The MQTT packet framing uses a length prefix uniformly:

http://www.steves-internet-guide.com/mqtt-protocol-messages-overview/

Mikkel


On 19 June 2018 at 21.12.13, Eric Rescorla (ekr@rtfm.com) wrote:


Not Manasi, but I don't understand (e).

Here's the relevant section of the Minq decoder.