[tsvwg] Post-Reassembly Checksum for UDP FRAG Option

"C. M. Heard" <heard@pobox.com> Mon, 14 June 2021 01:23 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 5FEEA3A191A for <tsvwg@ietfa.amsl.com>; Sun, 13 Jun 2021 18:23:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=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
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 t-rwm8dZH0JU for <tsvwg@ietfa.amsl.com>; Sun, 13 Jun 2021 18:23:10 -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 BFFD03A1919 for <tsvwg@ietf.org>; Sun, 13 Jun 2021 18:23:10 -0700 (PDT)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 8ABA0BD0E1 for <tsvwg@ietf.org>; Sun, 13 Jun 2021 21:23:07 -0400 (EDT) (envelope-from heard@pobox.com)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h= mime-version:from:date:message-id:subject:to:cc:content-type; s= sasl; bh=buLh00dizrcyNUG7KouZ6mCemAsAVxBXyt/KUcO58SE=; b=GDzA20E Miw2rOz8slCj93ugIyB6nM5uLcEd2GUNiZm8ZCY+xGNEZ120DkM33AqVsJL6tU5a EE7TtXtreYW56E6LDfMGhOVLmzwjT6NATw9mvZwBWTL3zzYXe4YY3AFm3w4CujPX u+D71kX4gpWYKBtqFdFoM8UWCfWa+dGI2+Iw=
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 7DDBFBD0E0 for <tsvwg@ietf.org>; Sun, 13 Jun 2021 21:23:07 -0400 (EDT) (envelope-from heard@pobox.com)
Received: from mail-io1-f54.google.com (unknown [209.85.166.54]) (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 EADDDBD0DF for <tsvwg@ietf.org>; Sun, 13 Jun 2021 21:23:06 -0400 (EDT) (envelope-from heard@pobox.com)
Received: by mail-io1-f54.google.com with SMTP id k16so37868177ios.10 for <tsvwg@ietf.org>; Sun, 13 Jun 2021 18:23:06 -0700 (PDT)
X-Gm-Message-State: AOAM531xnm+bRxA+NxbezqajGP7hHdjPJrDwmeLv0U+8Yzg2OxVwe6Eu fqqb9tvzdo6SC5osRKiXBI3FiZCR2CIC/6lgooQ=
X-Google-Smtp-Source: ABdhPJyEJWKOOftb6dEzWGHQPzLXRwqvzkU6t+viKkFFz9O4rLTWgOBa01y6tE6IYkXgKFUSTdJtICyxvKnJKTdWMqU=
X-Received: by 2002:a6b:3119:: with SMTP id j25mr12052310ioa.64.1623633786228; Sun, 13 Jun 2021 18:23:06 -0700 (PDT)
MIME-Version: 1.0
From: "C. M. Heard" <heard@pobox.com>
Date: Sun, 13 Jun 2021 18:22:55 -0700
X-Gmail-Original-Message-ID: <CACL_3VFZviPQzE3i18E7jJnCZobsS7p5HpNek3K537PV6r0myw@mail.gmail.com>
Message-ID: <CACL_3VFZviPQzE3i18E7jJnCZobsS7p5HpNek3K537PV6r0myw@mail.gmail.com>
To: Joseph Touch <touch@strayalpha.com>
Cc: TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000012d34a05c4afb3e6"
X-Pobox-Relay-ID: 12AFAEC6-CCAF-11EB-AB12-FD8818BA3BAF-06080547!pb-smtp2.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/O3WFzxiVUs1_pBGJ4KjLuZHUjOg>
Subject: [tsvwg] Post-Reassembly Checksum for 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: Mon, 14 Jun 2021 01:23:21 -0000

On Thu, Jun 10, 2021 at 9:43 PM Joseph Touch <touch@strayalpha.com> wrote:

> - do we want to ditch the required post-reassembly checksum?
>         if so, we ditch that field in the terminal frag
>

The crux of my argument against providing a separate reassembly checksum --
specifically in the form of the 16-bit Internet checksum over the
reassembled data -- is as follows.

1. OCS (now mandatory when UDP CS<>0) provides essentially the same
protection that the TCP checksum provides for an equivalent length of data.

2. The only errors that a separate 16-bit Internet reassembly checksum over
the reassembled payload could catch that OCS would not are errors that
affect some option bytes and some payload bytes in a manner that offset one
another (and so are undetectable). If you want a reassembly checksum that
catches substantially more errors, it needs to be something different from
the 16-bit Internet checksum. But we already have that. It is called ACS.

These points were made more eloquently by Tom Herbert in the following post
from July 18, 2019:
https://mailarchive.ietf.org/arch/msg/tsvwg/5SxJl8AbULB9etzOoqNv5uW__cA/.

I made a similar argument in the same thread in
https://mailarchive.ietf.org/arch/msg/tsvwg/UeYiFIkKdXCRZ3jamNHdYN7EJYk/.

I do not think that the reassembly checksum in the form of the 16-bit
Internet checksum over the reassembled data adds enough value to be
worthwhile. ACS is available and does a better job if you want something
that is meaningfully stronger than the TCP checksum for an equivalent
amount of data (or, nearly equivalently, the UDP checksum over a datagram
reassembled from IP fragments).

I grant that this argument does not cover the case when UDP CS=0 but I
consider that a waste case for a variety of reasons, which I can make
explicit if anyone is interested.

Mike Heard