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

Joe Touch <touch@isi.edu> Thu, 23 March 2017 05:43 UTC

Return-Path: <touch@isi.edu>
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 BE5EB1293DF for <tsvwg@ietfa.amsl.com>; Wed, 22 Mar 2017 22:43:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 OBzWlxSddkbV for <tsvwg@ietfa.amsl.com>; Wed, 22 Mar 2017 22:43:56 -0700 (PDT)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 336EC120227 for <tsvwg@ietf.org>; Wed, 22 Mar 2017 22:43:56 -0700 (PDT)
Received: from [192.168.1.189] (cpe-172-250-240-132.socal.res.rr.com [172.250.240.132]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id v2N5hKdI021429 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Wed, 22 Mar 2017 22:43:22 -0700 (PDT)
To: "C. M. Heard" <heard@pobox.com>
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> <CACL_3VHmoCSo23OWqQFq7upw749CqMK7iazXrBKZARzwbzY5mw@mail.gmail.com> <f97f08d4-0070-437a-e22a-8782497c76eb@isi.edu> <CACL_3VGt2LQ9+01Tv4BjMUOvSj6-HzHeOAQks_r5sOOUsjTDMA@mail.gmail.com>
Cc: Mark Smith <markzzzsmith@gmail.com>, tsvwg <tsvwg@ietf.org>
From: Joe Touch <touch@isi.edu>
Message-ID: <81ad1cd3-197b-1b19-6358-43e4390fb722@isi.edu>
Date: Wed, 22 Mar 2017 22:43:20 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <CACL_3VGt2LQ9+01Tv4BjMUOvSj6-HzHeOAQks_r5sOOUsjTDMA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/2lgajQFPpQmtVkewzrV3JvKgF_I>
Subject: Re: [tsvwg] New Version Notification for draft-touch-tsvwg-udp-options-05.txt
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 23 Mar 2017 05:43:58 -0000

Hi, Mike,


On 3/22/2017 6:52 PM, C. M. Heard wrote:
> On Fri, Mar 17, 2017 at 6:03 PM, Joe Touch <touch@isi.edu> wrote:
>> The queue has closed, but I have a new version of UDP options 06 that
>> will post as soon as it opens (why do we still do this?)
>>
>> Here's a pointer in the meantime:
>>
>> http://www.isi.edu/touch/pubs/draft-touch-tsvwg-udp-options-06.txt
>>
>> It includes Mike's nice observation about combining FRAG and LITE,
>> clarifies some nits about what happens in each order, etc.
>>
>> I tried to keep things simple, so LITE comes first when it's used, FRAG
>> stops processing until reassembly, and things pick up after reassembly
>> with options included after the last fragment. I think that's clean...
> Agreed, I like the way you have done this, with the final fragment being
> indicated by including a checksum. That said, the following text:
>
>>> A host SHOULD indicate FRAG support by transmitting an
>    unfragmented datagram using the Fragmentation option (e.g., with
>    Offset and M both zero), except when encoded as LITE.
>
> needs to be adjusted owing to elimination of the M bit in favor of a
> whole-datagram checksum.
Thanks for the catch. I'll fix that in -06.

> Regarding the whole-datagram checksum: it would IMHO be appropriate to
> be very specific as to what it is. I would propose the standard Internet
> checksum without a pseudo-header, with the value 0x0000 indicating the
> absence of a checksum.

It does say "IP checksum over the reassembled payload", which could be
"optional Internet checksum over the reassembled UDP payload (i.e.,
excluding the IP pseudoheader, UDP header, and UDP options), where a
value of 0x0000 indicates no checksum."

And a warning that "This reassembly checksum SHOULD be used unless a
stronger application layer integrity protection is used." (or something
close to that).
>
> Other comments:
>
> In section 5.4, was a decision made as to what the CRC16 is? Details
> will be needed in order to ensure interoperability.

That's on my to-do list (I was a bit distracted by these other issues).
There are three obvious possibilities:

CRC-16-CCITT            used by Bluetooth, X.25, HDLC (4 terms - 0x1021)
CRC-16-IBM               used by USB (4 terms -- 0x8005)
CRC-16-CDMA2000    used by CDMA  mobile nets (8 terms - 0xC867)

There are other analyses that point to other polynomials:
https://users.ece.cmu.edu/~koopman/crc/

Any suggestions?
> In Section 9, third paragraph, you may want to make the following change:
>
> OLD:
>    This feature is also inconsistent with the UDP application interface
>    [RFC768] [RFC1122].
> NEW:
>    This feature is also inconsistent with the UDP application interface
>    [RFC1122].
>
> in view of the following text in RFC 768:
>
> IP Interface
> -------------
>
> The UDP module  must be able to determine  the  source  and  destination
> internet addresses and the protocol field from the internet header.  One
> possible  UDP/IP  interface  would return  the whole  internet  datagram
> including all of the internet header in response to a receive operation.
> Such an interface  would  also allow  the UDP to pass  a  full  internet
> datagram  complete  with header  to the IP to send.  The IP would verify
> certain fields for consistency and compute the internet header checksum.

I read that section as defining the interface below UDP, not above UDP.
I.e., it's the IP API that UDP expects, not the interface UDP expects
users to utilize.

Can you double-check?

Thanks again,

Joe