[QUIC] 2 issues for the hopper: terminology of packet vs sequence # and byte order
Patrick McManus <pmcmanus@mozilla.com> Fri, 04 November 2016 21:01 UTC
Return-Path: <pmcmanus@mozilla.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 9AA7F129687 for <quic@ietfa.amsl.com>; Fri, 4 Nov 2016 14:01:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.235
X-Spam-Level:
X-Spam-Status: No, score=-1.235 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
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 H9ii4Wwljvpm for <quic@ietfa.amsl.com>; Fri, 4 Nov 2016 14:01:19 -0700 (PDT)
Received: from linode64.ducksong.com (www.ducksong.com [192.155.95.102]) by ietfa.amsl.com (Postfix) with ESMTP id BF2F512968C for <quic@ietf.org>; Fri, 4 Nov 2016 14:01:18 -0700 (PDT)
Received: from mail-it0-f45.google.com (mail-it0-f45.google.com [209.85.214.45]) by linode64.ducksong.com (Postfix) with ESMTPSA id 0B2BD3A015 for <quic@ietf.org>; Fri, 4 Nov 2016 17:01:18 -0400 (EDT)
Received: by mail-it0-f45.google.com with SMTP id e187so6334085itc.0 for <quic@ietf.org>; Fri, 04 Nov 2016 14:01:18 -0700 (PDT)
X-Gm-Message-State: ABUngveqv7uQWapVsCbC2ga2PM3PMQpRC9MTzJclmC967i1q7Mfl+QeyIMD/C2j9TUq/2iiq/xCbIMAmwyakFw==
X-Received: by 10.107.57.135 with SMTP id g129mr7166952ioa.178.1478293277608; Fri, 04 Nov 2016 14:01:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.84.71 with HTTP; Fri, 4 Nov 2016 14:01:17 -0700 (PDT)
From: Patrick McManus <pmcmanus@mozilla.com>
Date: Fri, 04 Nov 2016 17:01:17 -0400
X-Gmail-Original-Message-ID: <CAOdDvNo_WjE-39uWm49aFH-_TCeaKdik2hsGbSduhowtKqNHqQ@mail.gmail.com>
Message-ID: <CAOdDvNo_WjE-39uWm49aFH-_TCeaKdik2hsGbSduhowtKqNHqQ@mail.gmail.com>
To: quic@ietf.org
Content-Type: multipart/alternative; boundary="001a114ac3e2af982705407ff92a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/u8nxWNWTNEjDikUTw6PAk1tDJ6c>
Subject: [QUIC] 2 issues for the hopper: terminology of packet vs sequence # and byte order
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.17
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: Fri, 04 Nov 2016 21:01:21 -0000
Hi All - two more things to raise.. one I hope editorial and one design - when we start doing github, I'll open issues to track there. First, editorially draft-hamilton-quic-transport-protocol-01 generally refers to packet numbers instead of sequence numbers. There seem to be two exceptions to that - in 6.2 and the identifier SEQUENCE_NUMBER_LIMIT_REACHED. OTOH https://tools.ietf.org/html/draft-thomson-quic-tls-01 almost always refers to sequence numbers (with one exception). I think SN is not defined, but PN is and it should standardize on the PN language. Second, draft-hamilton-quic-transport-protocol-01 boldly uses little endian encoding. Ya gotta admire that chutzpah in an IETF draft :) From a processor alignment pov, it makes perfect sense and I would support it on a clean slate or on a well layered protocol. quic however, by design, is neither of those things. So we get into a bit of a mess - the packet number is little endian when it appears in transport fields, but in the TLS document the AEAD nonce is formed by padding the big endian representation of the same number. That smells like a bug waiting to happen. Likewise a Stream ID in a transport STREAM frame would be big endian, but when that same ID is encoded via 7540 rules from the h2-mapping document (e.g. in a PUSH_PROMISE) then it needs to be big endian. Again - seems like a footgun. So while I salute the valiant effort to go little endian, I think we ought to bow to the constraints this effort faces and go the traditional all network byte order path. -Patrick
- [QUIC] 2 issues for the hopper: terminology of pa… Patrick McManus
- Re: [QUIC] 2 issues for the hopper: terminology o… Eggert, Lars
- Re: [QUIC] 2 issues for the hopper: terminology o… Michael Tuexen
- Re: [QUIC] 2 issues for the hopper: terminology o… Brian Trammell
- Re: [QUIC] 2 issues for the hopper: terminology o… Martin Thomson
- Re: [QUIC] 2 issues for the hopper: terminology o… Christian Huitema
- Re: [QUIC] 2 issues for the hopper: terminology o… Martin Thomson
- Re: [QUIC] 2 issues for the hopper: terminology o… Christian Huitema
- Re: [QUIC] 2 issues for the hopper: terminology o… Martin Thomson
- Re: [QUIC] 2 issues for the hopper: terminology o… Jana Iyengar
- Re: [QUIC] 2 issues for the hopper: terminology o… Martin Thomson
- Re: [QUIC] 2 issues for the hopper: terminology o… Patrick McManus
- Re: [QUIC] 2 issues for the hopper: terminology o… Jana Iyengar
- Re: [QUIC] 2 issues for the hopper: terminology o… Brian Trammell
- Re: [QUIC] 2 issues for the hopper: terminology o… Eric Rescorla
- Re: [QUIC] 2 issues for the hopper: terminology o… Jana Iyengar