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

Gorry Fairhurst <gorry@erg.abdn.ac.uk> Thu, 23 March 2017 08:34 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
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 AF8DB12946F for <tsvwg@ietfa.amsl.com>; Thu, 23 Mar 2017 01:34:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 i6HLh-GgLOTN for <tsvwg@ietfa.amsl.com>; Thu, 23 Mar 2017 01:34:13 -0700 (PDT)
Received: from pegasus.erg.abdn.ac.uk (pegasus.erg.abdn.ac.uk [IPv6:2001:630:241:204::f0f0]) by ietfa.amsl.com (Postfix) with ESMTP id 3993D12955B for <tsvwg@ietf.org>; Thu, 23 Mar 2017 01:34:13 -0700 (PDT)
Received: from Gs-MacBook-Pro.local (fgrpf.plus.com [212.159.18.54]) by pegasus.erg.abdn.ac.uk (Postfix) with ESMTPA id 36D1E1B0154A; Thu, 23 Mar 2017 10:31:42 +0000 (GMT)
Message-ID: <58D3887D.5060603@erg.abdn.ac.uk>
Date: Thu, 23 Mar 2017 08:34:05 +0000
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Reply-To: gorry@erg.abdn.ac.uk
Organization: University of Aberdeen
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Joe Touch <touch@isi.edu>
CC: "C. M. Heard" <heard@pobox.com>, Mark Smith <markzzzsmith@gmail.com>, tsvwg <tsvwg@ietf.org>
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> <81ad1cd3-197b-1b19-6358-43e4390fb722@isi.edu>
In-Reply-To: <81ad1cd3-197b-1b19-6358-43e4390fb722@isi.edu>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/9ur0QEZ3Ha8Aw40bG6paAfkNWVQ>
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 08:34:15 -0000

On 23/03/2017, 05:43, Joe Touch wrote:
> 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?
I suggest using CRC-16-CCITT, it's common (and fairly strong) and there 
is lookup-based code published.
>> 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
>
Gorry