Re: [tsvwg] Alternative version of the UDP FRAG option

"C. M. Heard" <heard@pobox.com> Tue, 12 March 2019 04:11 UTC

Return-Path: <heard@pobox.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5AF89130EB1 for <tsvwg@ietfa.amsl.com>; Mon, 11 Mar 2019 21:11:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pobox.com; domainkeys=pass (1024-bit key) header.from=heard@pobox.com header.d=pobox.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 0gFH3kQYQkbm for <tsvwg@ietfa.amsl.com>; Mon, 11 Mar 2019 21:11:05 -0700 (PDT)
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7F8E0130E7C for <tsvwg@ietf.org>; Mon, 11 Mar 2019 21:11:05 -0700 (PDT)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 7919E143DDA for <tsvwg@ietf.org>; Tue, 12 Mar 2019 00:11:04 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :from:date:message-id:subject:to:cc:content-type; s=sasl; bh=LYA pxMmBXxuxcg9LwkkEqvO2wu8=; b=V4nHtvMWA5CktEQmdf9EV33vVgxgpzuDHSi iMgJQGE/pj4nTjPMXOQ0PvnFMJuCuXkBib0ba6nv13gvETAcufmurM5EbbUxZjJN 2lgYhrLHboF9/aChG/DtqUWkqryTl1U+ic4d9uiYd0jVM7zcJVeeRqcn9WKpCYOz HqVi8ias=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=mime-version :from:date:message-id:subject:to:cc:content-type; q=dns; s=sasl; b= KhL4Y86h/8qPNAq3sAnPHo8CBSlo1pOJnxl/rCp9aczj0sQ+VpI4kXCD0uFDlcYf SxOY1x6OcHyiomdNqP1OtTk3HPXYC9TsyV7PSzmV/LoNcr54nnd06ywMjt9yVN18 VTNrnNOpI3Ql3Z3Qm7TkzUmNfuLtOJdOaxysj3j5R3Q=
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 714FF143DD9 for <tsvwg@ietf.org>; Tue, 12 Mar 2019 00:11:04 -0400 (EDT)
Received: from mail-io1-f50.google.com (unknown [209.85.166.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 0AB7E143DD6 for <tsvwg@ietf.org>; Tue, 12 Mar 2019 00:11:04 -0400 (EDT)
Received: by mail-io1-f50.google.com with SMTP id n11so916653ioh.1 for <tsvwg@ietf.org>; Mon, 11 Mar 2019 21:11:04 -0700 (PDT)
X-Gm-Message-State: APjAAAWaQ0GYrHJ4OP24NK5YRMa2dufNu+zluCVugLbBSvAriENgBgjG bDtaNE6oFC0vGOUxARvjOyjIagcytyH80MPwlhw=
X-Google-Smtp-Source: APXvYqy3Adsz/PRRm4B7+qxOBeLGVBdAxzG6K9tqKLOkqa/Eq5in8/NIE61sEexUPuwdumu+HwmdUFsmLH7lJPo33og=
X-Received: by 2002:a5d:97c8:: with SMTP id k8mr19881604ios.267.1552363863521; Mon, 11 Mar 2019 21:11:03 -0700 (PDT)
MIME-Version: 1.0
From: "C. M. Heard" <heard@pobox.com>
Date: Mon, 11 Mar 2019 21:10:51 -0700
X-Gmail-Original-Message-ID: <CACL_3VE1=0OORUuOKg9GjcdVuhBNTkWhymE7PAs5WYO0ZR0DWQ@mail.gmail.com>
Message-ID: <CACL_3VE1=0OORUuOKg9GjcdVuhBNTkWhymE7PAs5WYO0ZR0DWQ@mail.gmail.com>
To: tsvwg <tsvwg@ietf.org>
Cc: Joe Touch <touch@strayalpha.com>
Content-Type: multipart/alternative; boundary="000000000000a5c0fa0583dde0f8"
X-Pobox-Relay-ID: DA4C1A7C-447C-11E9-95C4-F733E42159A7-06080547!pb-smtp1.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/FKiprO3qY2sy6UBVecLxUlEoNKU>
Subject: Re: [tsvwg] Alternative version of the UDP FRAG option
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Mar 2019 04:11:07 -0000

On Mon, Mar 11, 2019 at 9:26 AM C. M. Heard <heard@pobox.com> wrote:
> I'd like to float a different idea, namely, putting the UDP user data
> inside the FRAG option itself.

Well, that proposal was rather obviously flawed by limiting fragment
sizes to ~240 bytes. My apologies. I withdraw the FRAG proposal in

https://mailarchive.ietf.org/arch/msg/tsvwg/JZ8ohgwMs9eRPRQ6KJDqUZTJxSk

However, I think that the following simpler version will actually work:
maintain the format of the FRAG option as currently defined, but instead
of having the option capture preceding conventional or LITE user data as
fragment data, insist that it appear ***last*** in the option list and
have it capture all remaining octets in the packet as fragment data. By
convention, if this option appears, OCS would cover all UDP options as
well as all octets in the UDP trailer that follow the FRAG option.

The following requirements would apply:

   >> When the FRAG option appears, it MUST come last in the UDP options
   list.  All remaining options in the packet are interpreted as fragment
   data.


   >> OCS, if present, covers both the FRAG option and the trailing
   fragment data.


   >> A host that wishes to signal that it is able to accept and process
   the FRAG option MAY do so by transmitting an unfragmented datagram
   with an empty terminal FRAG option whose Offset and Checksum fields
   are set to zero.


   >> Non-empty FRAG options MUST NOT be present in packets with ordinary
   UDP user data or LITE data. Any such options MUST be silently dropped.


   >> UDP options other than OCS and padding MUST NOT accompany the FRAG
   option in non-terminal fragments.  Any such options MUST be silently
   dropped.  All other options that apply to a reassembled packet must
   accompany the FRAG header in the terminal fragment.


This proposal does not suffer from the disadvantage that a legacy receiver
could misinterpret a UDP fragment as a complete datagram, as does the
currently-defined version of FRAG without LITE.  And it avoids the problem
that OCS does not cover the currently defined version of FRAG+LITE.

Note that because of their unusual property of capturing following or
preceding data, FRAG and LITE would have to be mandatory to
recognize, but I do not believe that they should be mandatory to
generate or process. An implementation that cannot process these
options should silently drop packets that contain them.

There's probably something wrong; if so, please tell me what it is.

Mike Heard