Re: [tsvwg] New Version Notification for draft-touch-tsvwg-udp-options-05.txt

"C. M. Heard" <heard@pobox.com> Wed, 01 March 2017 00:42 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 9168A12984F for <tsvwg@ietfa.amsl.com>; Tue, 28 Feb 2017 16:42:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.201
X-Spam-Level:
X-Spam-Status: No, score=-2.201 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, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-0.001, 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 HrOTam2er46c for <tsvwg@ietfa.amsl.com>; Tue, 28 Feb 2017 16:42:12 -0800 (PST)
Received: from sasl.smtp.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 E47C912984B for <tsvwg@ietf.org>; Tue, 28 Feb 2017 16:42:11 -0800 (PST)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id E34C06CB2D for <tsvwg@ietf.org>; Tue, 28 Feb 2017 19:42:10 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; s=sasl; bh=PnKhZfxRO7uP656RkGdscN6n4J4=; b=kPLvJi Znqa97zMY9GcX+0QVW1rbqkB5xUeEHEw3sWXvZQhUAokCUQqKfaWZ6tHd16M89wQ N1WbryxMB4Spu3wxRISw7rded2np58sw4lgnFqc72I4DW7GwcHY7K9QjOnMfruWi svk4rvKOw4TSMIdnwewDxjmVJhPKcb9RJAqIw=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=mime-version :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; q=dns; s=sasl; b=feFBox9XKX2FFY3IcVWD8hM9uU350Ome abnALGfY1PCSK/eW+tCq1/zeIckcxe9w3r7LvN/QHCRHRpySWF4TNNf9MEGvSMxp l6sC4ippfC+gxhBC5XP1xk4424/zYwH9gi1QPGFwhN9gmgUj7xPUGDUSXua7G9Ln zocZIAZy3UA=
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id D9A676CB2C for <tsvwg@ietf.org>; Tue, 28 Feb 2017 19:42:10 -0500 (EST)
Received: from mail-qk0-f169.google.com (unknown [209.85.220.169]) (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 477966CB27 for <tsvwg@ietf.org>; Tue, 28 Feb 2017 19:42:10 -0500 (EST)
Received: by mail-qk0-f169.google.com with SMTP id u188so46477199qkc.2 for <tsvwg@ietf.org>; Tue, 28 Feb 2017 16:42:10 -0800 (PST)
X-Gm-Message-State: AMke39mMeqGd7vfZct+RfcZYQTW6O3mca7FdQjA2K0o94kDGwOW02AMKlBlWqSYqJtDGvcscIXgw6kAh9u2qDw==
X-Received: by 10.200.36.93 with SMTP id d29mr7049685qtd.265.1488328929480; Tue, 28 Feb 2017 16:42:09 -0800 (PST)
MIME-Version: 1.0
Received: by 10.140.18.106 with HTTP; Tue, 28 Feb 2017 16:41:49 -0800 (PST)
In-Reply-To: <c79fe3d0-8567-ea7d-72fc-bd33732df60e@isi.edu>
References: <CACL_3VFeJs7KzG9Bchh15bfZ3CmaOPWcfisEreNoGYK5CsEJ+g@mail.gmail.com> <3a4a6b78-8146-de4c-6246-7bd09de44f1c@isi.edu> <CACL_3VFkr3mGe-yTbvHrTZcKVCpEv3FeSOyoShUxCK5+9Tdqqg@mail.gmail.com> <c79fe3d0-8567-ea7d-72fc-bd33732df60e@isi.edu>
From: "C. M. Heard" <heard@pobox.com>
Date: Tue, 28 Feb 2017 16:41:49 -0800
X-Gmail-Original-Message-ID: <CACL_3VHmoCSo23OWqQFq7upw749CqMK7iazXrBKZARzwbzY5mw@mail.gmail.com>
Message-ID: <CACL_3VHmoCSo23OWqQFq7upw749CqMK7iazXrBKZARzwbzY5mw@mail.gmail.com>
To: Joe Touch <touch@isi.edu>
Content-Type: text/plain; charset="UTF-8"
X-Pobox-Relay-ID: E7817758-FE17-11E6-BEF5-A7617B1B28F4-06080547!pb-smtp2.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/1yjWR-xUYDEcrroYIg2ZN8U_Iy0>
Cc: "C. M. Heard" <heard@pobox.com>, Mark Smith <markzzzsmith@gmail.com>, tsvwg <tsvwg@ietf.org>
Subject: Re: [tsvwg] New Version Notification for draft-touch-tsvwg-udp-options-05.txt
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 01 Mar 2017 00:42:13 -0000

On Tue, Feb 28, 2017 at 3:15 PM, Joe Touch <touch@isi.edu> wrote:
> Consider this:
>
> if we use LITE before FRAG as you propose, then the reassembled result
> has no checksum yet.
>
> so the FRAG header could incorporate LITE if it used two different
> length fields: one for the whole length, one for the checksummed length.
>
> I.e., rather than require full "option" processing after FRAG, we could
> build LITE support into FRAG itself.
>
> Would that make sense?

I definitely like the idea of building LITE support into FRAG,
particularly if one of the side effects is that we always hide
fragments from legacy implementations. But let me walk through
it to make sure that I understand how it would work.

With LITE at the beginning of the payload before FRAG, as I initially
suggested, the UDP length is 8 and the UDP checksum protects only
the UDP header. LITE specifies how much of the surplus area is user
data; the rest is transport options, including FRAG itself. FRAG
specifies the fragment offset, the M bit, the identification, and
(if the rest of my suggestion is accepted), a post-reassembly length
and checksum,

If FRAG were to incorporate LITE, it would still appear immediately
after the UDP header (which would be unchanged). If you want to
incorporate per-fragment UDP options, FRAG would now need to have
the offset to the remaining UDP options. So, its fields would now
be: kind, length (16 bytes),  fragment offset, M bit, identification,
post-reassembly length that was checksummed, checksum value,
post-reassembly length that was not checksummed, and offset to
remaining options. Is that what you had in mind? If so, it would
certainly work for me.

I believe that a technically viable alternative would be to have instead
per-fragment length that was checksummed, checksum value, and per-fragment
length that was not checksummed. In that case the offset to the remaining
options could be inferred. Another alternative would be to use post-reassembly
values and only one set of UDP options for the entire message; the options
would then be whatever surplus remained after the last fragment was
reassembled, and a separate length field again would not be needed.

Let me mention in passing that I tend to agree with the sentiment that
the standard Internet checksum is probably the right way to go. If that
is provided for the entire reassembled message, you will have feature
parity with what is provided by UDP + IP fragmentation.

Mike Heard