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

"C. M. Heard" <heard@pobox.com> Tue, 12 March 2019 06:00 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 5CA1112F19D for <tsvwg@ietfa.amsl.com>; Mon, 11 Mar 2019 23:00:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, 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 j-Uim51jTXO3 for <tsvwg@ietfa.amsl.com>; Mon, 11 Mar 2019 23:00:22 -0700 (PDT)
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C0C9A12798E for <tsvwg@ietf.org>; Mon, 11 Mar 2019 23:00:22 -0700 (PDT)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 198EC138133 for <tsvwg@ietf.org>; Tue, 12 Mar 2019 02:00:21 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type:content-transfer-encoding; s=sasl; bh=vXa0NmKty/tv ZRGjnsEV2RJgFDA=; b=j6wQMs3tBYRNeeIEHIqIYuAKN3zhGyxZMItEQ4kd5l8z jXpHTy8RVvCcGq4CCnWF7ch1B1cPq9AGbaHteyl5+bIQRgc0L5fB8Lkn5P9RR1bA 7V9/E7mx9xFBjGFZBNM8FN61zfmKUEWEzgiW6C6EBsoMlC0CtCKiUiv+YP2LtvE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type:content-transfer-encoding; q=dns; s=sasl; b=oACuST 7+SXlas+LfYggqsWuA5LYR5pl5IZlStOU2wewh+0pyHXLLWKEoX4OZpcr9Z8oqXn V/OaMh9k8xW80p84ONhWMG+NAf1NjwVyjfl+HpqAT1L9oEkcpMFNGBOzJvwnVbOu 7Lqum5G6/JDTosSZz23QSteRv6u72Rftp4bAs=
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 0FFCC138132 for <tsvwg@ietf.org>; Tue, 12 Mar 2019 02:00:21 -0400 (EDT)
Received: from mail-it1-f182.google.com (unknown [209.85.166.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 86BA0138131 for <tsvwg@ietf.org>; Tue, 12 Mar 2019 02:00:20 -0400 (EDT)
Received: by mail-it1-f182.google.com with SMTP id x189so2523994itd.3 for <tsvwg@ietf.org>; Mon, 11 Mar 2019 23:00:20 -0700 (PDT)
X-Gm-Message-State: APjAAAWE0CdHKORpyXNR+S4m6iU6ZHdntFb/yIyn5cobPC+nJvISc33W hNCPg8kP0EWnb8gQeNYvP84UEV2cc89zPSAKC5o=
X-Google-Smtp-Source: APXvYqzdTMxbYCZGF7krsMMhajeykO430xEC6wN0+0WMc0mCm+KOJFowlkMET5prJNkV85piHBPkCoMwxqCbR7FGi48=
X-Received: by 2002:a24:101:: with SMTP id 1mr1109143itk.138.1552370419955; Mon, 11 Mar 2019 23:00:19 -0700 (PDT)
MIME-Version: 1.0
References: <CACL_3VE1=0OORUuOKg9GjcdVuhBNTkWhymE7PAs5WYO0ZR0DWQ@mail.gmail.com> <2C035E8C-A59F-4523-9B8D-BBA573C6DEFB@strayalpha.com>
In-Reply-To: <2C035E8C-A59F-4523-9B8D-BBA573C6DEFB@strayalpha.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Mon, 11 Mar 2019 23:00:08 -0700
X-Gmail-Original-Message-ID: <CACL_3VGQo2ObRohJysQ=oWE4fZ1S6MCrytZQZYweuvKToJs_tw@mail.gmail.com>
Message-ID: <CACL_3VGQo2ObRohJysQ=oWE4fZ1S6MCrytZQZYweuvKToJs_tw@mail.gmail.com>
To: Joe Touch <touch@strayalpha.com>
Cc: tsvwg <tsvwg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Pobox-Relay-ID: 1E4832BA-448C-11E9-A818-DF19F34BB12D-06080547!pb-smtp2.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/KVH-4QaWWdyRmtv_6CCYcaQeHQk>
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 06:00:25 -0000

Yes, but FRAG+LITE fails the deployability test. That IMHO makes it a
non-starter.

On Mon, Mar 11, 2019 at 9:44 PM Joe Touch <touch@strayalpha.com> wrote:
>
> Frag+lite can still be checksummed after reassembly as is. We don’t want or need to do that check twice and can’t usefully string together partial sums.
>
> Joe
>
> On Mar 12, 2019, at 12:10 AM, C. M. Heard <heard@pobox.com> wrote:
>
> 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