Re: [fdt] [Webtransport] Standards for protocol headers?

Marc Petit-Huguenin <petithug@acm.org> Tue, 16 June 2020 11:46 UTC

Return-Path: <petithug@acm.org>
X-Original-To: fdt@ietfa.amsl.com
Delivered-To: fdt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 80C803A0DCE for <fdt@ietfa.amsl.com>; Tue, 16 Jun 2020 04:46:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.234
X-Spam-Level:
X-Spam-Status: No, score=-1.234 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] 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 zzl4qiQW2gxd for <fdt@ietfa.amsl.com>; Tue, 16 Jun 2020 04:46:32 -0700 (PDT)
Received: from implementers.org (implementers.org [IPv6:2001:4b98:dc0:45:216:3eff:fe7f:7abd]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 749A03A0DBF for <fdt@ietf.org>; Tue, 16 Jun 2020 04:46:32 -0700 (PDT)
Received: from [IPv6:2601:648:8400:8e7d:f9b3:dc06:8394:9b40] (unknown [IPv6:2601:648:8400:8e7d:f9b3:dc06:8394:9b40]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "Marc Petit-Huguenin", Issuer "implementers.org" (verified OK)) by implementers.org (Postfix) with ESMTPS id 9A08AAE4A2; Tue, 16 Jun 2020 13:46:29 +0200 (CEST)
To: Scott Morgan <scott@adligo.com>, fdt@ietf.org
References: <CANEdHmhypZE01SHw--UgrpG1yuOU67cKXHv0Jbecyb7sJzYPZA@mail.gmail.com> <2804eb55-e79a-3383-9ebf-cd4f495b273a@petit-huguenin.org> <CANEdHmhPWwO-pO7D_biTQ1_b5oh3xCsdXEi7Urf8sXJQcvVVGw@mail.gmail.com> <ecabce9e-d09f-6ce1-cd17-dea1e793a4cf@acm.org> <CANEdHmiZVdx93Sj1xf6wKPhoBxWGTB9q_WbesJx5FJ26Q0Jzjg@mail.gmail.com> <9796F6C9-ABB9-4AD4-ADA0-A6E275DAE3EE@glasgow.ac.uk> <CAOdDvNoUphx62=a_SOsEfMpxn+Lf7u0yhd0-+s2XBBLwRyVnyA@mail.gmail.com> <CANEdHmgXFUB4B3Taf1hig8kuhxG1vS=SvweDho9mxvQVyvEZyQ@mail.gmail.com>
From: Marc Petit-Huguenin <petithug@acm.org>
Autocrypt: addr=petithug@acm.org; prefer-encrypt=mutual; keydata= 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
Message-ID: <0b926794-5056-1dfc-645f-f5acde2498a0@acm.org>
Date: Tue, 16 Jun 2020 04:46:19 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0
MIME-Version: 1.0
In-Reply-To: <CANEdHmgXFUB4B3Taf1hig8kuhxG1vS=SvweDho9mxvQVyvEZyQ@mail.gmail.com>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="55SIw4Sf4Gk2OTDQFfz0Tu2BVmH4i7Fyk"
Archived-At: <https://mailarchive.ietf.org/arch/msg/fdt/SkFNimlTzTEoBJwV0IjgIQLJoJU>
X-Mailman-Approved-At: Tue, 16 Jun 2020 04:47:55 -0700
Subject: Re: [fdt] [Webtransport] Standards for protocol headers?
X-BeenThere: fdt@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Mailing list for the discussion of the use of formal description techniques in IETF documents <fdt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/fdt>, <mailto:fdt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/fdt/>
List-Post: <mailto:fdt@ietf.org>
List-Help: <mailto:fdt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/fdt>, <mailto:fdt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 Jun 2020 11:46:35 -0000

On 6/15/20 6:09 PM, Scott Morgan wrote:
> Hi All,
> 
>   Thanks for your suggestions!  I am really trying to scope my effort as;
> ***
> How to interpret bytes!
> ***
> ASCII & in particular # 10 seems significant! A single byte that splits
> lines (and could spit other data up);
> https://www.petefreitag.com/item/863.cfm#:~:text=The%20ASCII%20character%20code%2010,a%20line%20in%20a%20file.
> 
> I'm looking to replace JSON & XML as the dominant transfer format for REST
> (and other styles/protocols) that would also be a good standard for
> protocol level information (bits and bytes).

The next logical step in the evolution (or is it devolution?) of XML then JSON is SExp.

> 
> The ASCII newline byte and A8 (intersection of ASCII & UTF-8) seems to be
> logical spit (binary vs character markup data).
> 
> Keep the RFCs coming my way!
> 
> On Mon, Jun 15, 2020 at 1:53 PM Patrick McManus <mcmanus@ducksong.com>
> wrote:
> 
>> you might be interested in structured field values for http
>> https://datatracker.ietf.org/doc/draft-ietf-httpbis-header-structure/
>>
>> -P
>>
>>
>> On Sat, Jun 13, 2020 at 8:08 AM Stephen McQuistin <
>> Stephen.McQuistin@glasgow.ac.uk> wrote:
>>
>>> Hi Scott,
>>>
>>> We have a draft (draft-mcquistin-augmented-ascii-diagrams) that is
>>> looking to add tooling (e.g., to generate parser code) around “traditional”
>>> packet header diagrams, by using a consistent format for both the diagram
>>> and the text that accompanies it.
>>>
>>> In terms of other PDU description languages, the recent QUIC drafts have
>>> replaced packet diagrams with a bespoke description language:
>>> https://tools.ietf.org/html/draft-ietf-quic-transport-29#section-1.3.
>>>
>>> These are both much simpler than the languages that Marc mentioned, and
>>> only deal with PDU description rather than data layout description more
>>> generally, but might be worth a look.
>>>
>>> Thanks,
>>>
>>> Stephen
>>>
>>> On 13 Jun 2020, at 01:53, Scott Morgan <scott@adligo.com> wrote:
>>>
>>> Hi Marc,
>>>
>>>    Thanks, I'm not trying to be intentionally confusing :)  In an attempt
>>> to clarify, I'm trying to create a new structured PDU format that could be
>>> used to define PDU description languages (not a primary concern) as well as
>>> larger data structures like files or bytes in datagrams.
>>> https://en.wikipedia.org/wiki/Protocol_data_unit
>>>
>>> Lets continue @ fdt@ietf.org !
>>>
>>> Cheers,
>>> Scott
>>>
>>> ---------- Forwarded message ---------
>>> From: Marc Petit-Huguenin <petithug@acm.org>
>>> Date: Fri, Jun 12, 2020 at 10:03 AM
>>> Subject: Re: [Webtransport] Standards for protocol headers?
>>> To: Scott Morgan <scott@adligo.com>, <webtransport@ietf.org>
>>>
>>>
>>> Hi Scott,
>>>
>>> I still find your terminology confusing.  I am not sure if you are
>>> proposing to design a new PDU description language (ala ASN.1, ABNF, RBNF,
>>> CDDL, XML RELAX, etc..) or a new structured PDU format (ala DER, BER, XML,
>>> JSON, CBOR, etc...).  If it is the former, I would suggest to resend your
>>> email to fdt@ietf.org, where we discuss this kind of things.
>>>
>>> Thanks.
>>>
>>> On 6/12/20 7:25 AM, Scott Morgan wrote:
>>>> Hi Marc,
>>>>
>>>>    Thanks for responding!  I meant 'protocol header' in the broadest
>>>> sense.  I have implemented some protocols in the past (Web Socket v13,
>>> SMTP
>>>> etc) and work a lot with JSON and XML as I mentioned previously.  Here
>>> are
>>>> some general frustrations (i.e. problem statement) that I'm looking to
>>>> overcome;
>>>>
>>>> 1) JSON and XML generally lack support for binary data (there are some
>>>> workarounds but nothing is super great).
>>>> 2) JSON and XML both now have the concept of a Schema
>>>>          Note I think the concept of a Schema is a good thing but also
>>> feel
>>>> that Schemas often don't cover all
>>>>      Metadata that needs to be covered.  Perhaps the concept of a Schema
>>>> needs to be enhanced by UsageMetadata information.
>>>>          Also note I am frustrated with JSON's inability to provide
>>> human
>>>> readable schemas (multi line text in the .json file (not /n)).
>>>>          I also have frustrations with XML schemas and XML (like
>>> everyone
>>>> else who now favors JSON over XML)
>>>> 3) Protocol's often have Headers and other information which act in a
>>>> similar fashion to Schemas (i.e. they describe / specify data
>>> structures)
>>>>
>>>>   I'm wondering if it's time for a new markup language that can support
>>>> binary data and assist in specifying protocol byte segments in addition
>>> to
>>>> more general purpose transport and storage data (like JSON & XML do).
>>>>   I'm thinking about calling it 'Classification Markup Notation'.
>>>>
>>>>   I messaged this to the group just to throw the idea out there, to get
>>>> feedback and also to find collaborators.
>>>>
>>>>
>>>> On Thu, Jun 11, 2020 at 7:53 AM Marc Petit-Huguenin <
>>> marc@petit-huguenin.org>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> On 6/10/20 5:14 PM, Scott Morgan wrote:
>>>>>> Hi All,
>>>>>>
>>>>>>    I have been working with JSON, XML and some protocol headers
>>> recently
>>>>>> and I am wondering...
>>>>>> Why are there no real standard text formats for protocol headers, or
>>> am I
>>>>>> missing something?
>>>>>>
>>>>>> It seems to me that a slightly more streamlined/optimal binary/markup
>>>>>> standard could help protocols attain POCs and adoption much quicker
>>> and
>>>>>> help reduce some of the work defining protocols.
>>>>>>
>>>>>> Any thoughts on this topic?
>>>>>>
>>>>>>
>>>>>
>>>>> Can you please elaborate on what you mean by "protocol header"?  My
>>>>> understanding of that term is the fixed part at the beginning of a
>>> PDU, PDU
>>>>> that also contains a variable length part after it (as in UDP Header,
>>> TCP
>>>>> Header, RTP Header, HTTP, SIP, SMTP etc...), but that definition does
>>> not
>>>>> seem to apply to JSON or XML (as a whole).
>>>>>
>>>


-- 
Marc Petit-Huguenin
Email: marc@petit-huguenin.org
Blog: https://marc.petit-huguenin.org
Profile: https://www.linkedin.com/in/petithug