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

Joe Touch <touch@strayalpha.com> Tue, 12 March 2019 10:09 UTC

Return-Path: <touch@strayalpha.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 9624F130F13 for <tsvwg@ietfa.amsl.com>; Tue, 12 Mar 2019 03:09:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.22
X-Spam-Level:
X-Spam-Status: No, score=-1.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.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 7WL-QQJFKAiD for <tsvwg@ietfa.amsl.com>; Tue, 12 Mar 2019 03:09:00 -0700 (PDT)
Received: from server217-3.web-hosting.com (server217-3.web-hosting.com [198.54.115.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6DED71274D0 for <tsvwg@ietf.org>; Tue, 12 Mar 2019 03:09:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id: Content-Transfer-Encoding:Cc:Date:In-Reply-To:From:Subject:Mime-Version: Content-Type:Sender:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=pqx4cOJlWt/iktcST1HO0R4ojtq19Icv9CK4if6la3k=; b=PAlbQSiuizgFo/GxVrLO/Xf1y r4MkXvSCSEQrM3qTefuMUWf0yicE6vbfu/1afdwKp6q8jJzuIK2IxvxlgIiuOKqY5WUDuerSVJ3Ur 7/ABZ7JYbtMTuQV7G2SgnrUB3X0dQmBiZIx0Uah1h2CuqECKnAAGr8zaR7CxO6KNgxq/CULs5+6Nl 9BgsSHZ+mmzwZBDLfnKyoEuHADjr2VuVZ4hrUXkprCCnSQVkUl3oC5u88ZiV3fxAd4b1feTHUXczw Vkwz39XqJd5eNj3Mgyr9d0xU8MlqQTxWlQ/OJH1KWyfCMlYu1SODFkVS8Ry9rm4xc/l9U7VpiA0de /hJuFnggQ==;
Received: from [172.58.185.254] (port=54558 helo=[IPv6:2607:fb90:6495:f38:e440:2e8:a9c0:df98]) by server217.web-hosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from <touch@strayalpha.com>) id 1h3eL6-0001Av-TW; Tue, 12 Mar 2019 06:08:58 -0400
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (1.0)
From: Joe Touch <touch@strayalpha.com>
X-Mailer: iPhone Mail (16D57)
In-Reply-To: <CACL_3VGQo2ObRohJysQ=oWE4fZ1S6MCrytZQZYweuvKToJs_tw@mail.gmail.com>
Date: Tue, 12 Mar 2019 06:08:51 -0400
Cc: tsvwg <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <36A94382-699D-4F8E-BF49-C48D7D784ACC@strayalpha.com>
References: <CACL_3VE1=0OORUuOKg9GjcdVuhBNTkWhymE7PAs5WYO0ZR0DWQ@mail.gmail.com> <2C035E8C-A59F-4523-9B8D-BBA573C6DEFB@strayalpha.com> <CACL_3VGQo2ObRohJysQ=oWE4fZ1S6MCrytZQZYweuvKToJs_tw@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/kqANaOShnsYzRjdS1IplQ_d1Axk>
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 10:09:02 -0000

That is lite alone only AFAICT. And we already know that is the risk CURRENTLY. 

Again, we need to include fixing these errors. If we let every bug persist, nothing would be deployable anymore. 

Joe

> On Mar 12, 2019, at 2:00 AM, C. M. Heard <heard@pobox.com> wrote:
> 
> 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