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

"C. M. Heard" <heard@pobox.com> Mon, 27 March 2017 17:41 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 B1197128BBB for <tsvwg@ietfa.amsl.com>; Mon, 27 Mar 2017 10:41:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.2
X-Spam-Level:
X-Spam-Status: No, score=-2.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, 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 Gf5ZlRCckAVk for <tsvwg@ietfa.amsl.com>; Mon, 27 Mar 2017 10:41:57 -0700 (PDT)
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 98EE3124BFA for <tsvwg@ietf.org>; Mon, 27 Mar 2017 10:41:57 -0700 (PDT)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id A7D1C7F907 for <tsvwg@ietf.org>; Mon, 27 Mar 2017 13:41:56 -0400 (EDT)
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=UPLnzC7GsotvKRqnyk/zPtMNY8Y=; b=viwPbM /Dt2qHT5wN0GJRoIKD05oOppaXhjEiy+lZ/JklMyfHdyQ0zYdLmvN+iN8eemfLLj hpE5VLcy+AIw4oYXa6ezIY2pK0cLqVGvGncC+C3EXtpCPd4WV6jI/GjajnI2dBJ6 IvQH17/byvWHR7imUUp4FTG+x0O7o8DmIrA9k=
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=yHZ66m6z1o11IktR/Dej6eHUnW6N2y7t VoMnZVqzD5AT0c94tAl23Y02e/Rxtl5AqfFQac3bYeg92+q9mkfvvbjGuSnIJzyn Z5KBWlutquRUSipWLRWSlKZji9Kd3OGs7Boq6PqfFXJ1VVFFzOfpIIGqsgWjePwc ENzEP1b0qeU=
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id A13677F905 for <tsvwg@ietf.org>; Mon, 27 Mar 2017 13:41:55 -0400 (EDT)
Received: from mail-qt0-f169.google.com (unknown [209.85.216.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 294E87F901 for <tsvwg@ietf.org>; Mon, 27 Mar 2017 13:41:55 -0400 (EDT)
Received: by mail-qt0-f169.google.com with SMTP id r45so43985718qte.3 for <tsvwg@ietf.org>; Mon, 27 Mar 2017 10:41:55 -0700 (PDT)
X-Gm-Message-State: AFeK/H0sy/82pkB24ROJgY151vvgx8wIN6FbF/PAh1fUmy2Cs7sImpwvFH7bMg/6DcaUpDjFVm6mh7acoPcorA==
X-Received: by 10.200.54.161 with SMTP id a30mr20857060qtc.167.1490636514559; Mon, 27 Mar 2017 10:41:54 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.18.75 with HTTP; Mon, 27 Mar 2017 10:41:34 -0700 (PDT)
In-Reply-To: <58D9378A.7010504@erg.abdn.ac.uk>
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> <CACL_3VFwW-RONXeNn_e1r=bQv1jV2eE6_m2s0wegsXzHcUv8LQ@mail.gmail.com> <cce71722-7e5b-a28a-0da6-d4aa4c92a1b0@isi.edu> <CACL_3VEqJF1+ReajsNDewWPHGBikAtgbtxfZvd5wkK7x8aVYpw@mail.gmail.com> <8e7bc6cc-d61f-89d4-c6b1-a5e6135fc0b3@isi.edu> <58D9378A.7010504@erg.abdn.ac.uk>
From: "C. M. Heard" <heard@pobox.com>
Date: Mon, 27 Mar 2017 10:41:34 -0700
X-Gmail-Original-Message-ID: <CACL_3VGswouPTiASxp0AHWcxTbav_hx6e=iG2UWUhNxdMMR3zw@mail.gmail.com>
Message-ID: <CACL_3VGswouPTiASxp0AHWcxTbav_hx6e=iG2UWUhNxdMMR3zw@mail.gmail.com>
To: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Cc: Joe Touch <touch@isi.edu>, "C. M. Heard" <heard@pobox.com>, Mark Smith <markzzzsmith@gmail.com>, tsvwg <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="001a114925daf08f18054bb9dbce"
X-Pobox-Relay-ID: AB459C9E-1314-11E7-839D-FC50AE2156B6-06080547!pb-smtp2.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/NIg-L75W7T2Hz1hKD4s88cFvBAc>
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: Mon, 27 Mar 2017 17:41:59 -0000

I have no objections to that. As for the selection of the specific
polynomial:

   - If you think protection of long payloads ~8K bytes is of overriding
   importance, choose CRC-16-CDMA2000
   - If you think protection of shorter payloads (less than 4K bytes) is
   more important, choose CRC-16-CCITT or CRC-16-IBM

My sense is that CRC-16-CCITT is more widely used than CRC-16-IBM and may
be preferable for that reason.

Mike Heard

On Mon, Mar 27, 2017 at 9:02 AM, Gorry Fairhurst <gorry@erg.abdn.ac.uk>
wrote:

> I'd think CRC-16 is likely to be a good proposal. 32b alignment is always
> good.
>
> Gorry
>
>
> On 27/03/2017, 10:37, Joe Touch wrote:
>
>> So do we want to recommend a 16-bit value or jump to the 32-bit one?
>>
>> IMO, for UDP, anything reasonably stronger than the Internet checksum
>> should be fine. I was hoping for a 16-bit selection to leave the result
>> 32-bit aligned...
>>
>> Joe
>>
>>
>> On 3/25/2017 7:37 PM, C. M. Heard wrote:
>>
>>> On Sat, Mar 25, 2017 at 3:06 PM, Joe Touch<touch@isi.edu>  wrote:
>>>
>>>> On 3/25/2017 6:26 AM, C. M. Heard wrote:
>>>>
>>>>> On Wed, Mar 22, 2017 at 10:43 PM, Joe Touch<touch@isi.edu>  wrote:
>>>>>
>>>>>> 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?
>>>>>>
>>>>> Both the CRC-16-CCITT and CRC-16-IBM polynomials factor into the
>>>>> product
>>>>> of x+1 times a primitive polynomial of degree 15 (*op in Koopman's
>>>>> notation)
>>>>> and are in a sense optimal for random error patterns. They detect all
>>>>> triple
>>>>> errors (and all error patterns of odd weight) for data lengths of 4093
>>>>> bytes
>>>>> or less. The CRC-16-CDMA2000 has a single factor, which is a primitive
>>>>> degree 16 polynomial (*p in Koopman's notation), and it will detect all
>>>>> double errors for data lengths of 8189 bytes or less. By data length I
>>>>> mean of course the length of the data protected by the CRC (not
>>>>> including the CRC itself).
>>>>>
>>>>> There are generic fast table lookup algorithms for all CRC-16
>>>>> polynomials,
>>>>> including automated methods for generating the lookup tables, so that
>>>>> is
>>>>> not really a factor in choosing a polynomial.
>>>>>
>>>> I that case should we go with CRC-16-CDMA2000?
>>>>
>>>> Or is there a better/stronger one from the table that's more useful?
>>>>
>>> Actually, CRC-16-CCITT or CRC-16-IBM (which are theoretically equivalent)
>>> are ***stronger** than CRC-16-CDMA2000  for datagram payloads up to 32751
>>> bits (i.e., CRC + data length = 32767 bits), when errors are random. For
>>> datagrams of that exact length It can be proven (again for random errors)
>>> that the undetected error rate is no worse than 1/65536, and for lesser
>>> lengths simulations bear this out (see, for example,
>>> http://doc.utwente.nl/64267/1/schiphorst.pdf). The only reason I can see
>>> to choose CRC-16-CDMA2000 would be to provide protection for datagrams
>>> longer than 4K bytes, in which case a better choice would be a 32-bit
>>> CRC.
>>> The standard Autodin/Ethernet/ADCCP/HDLC CRC-32 polynomial is
>>>
>>> x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+1
>>>
>>> Although it is a primitive polynomial (without a factor of x+1) it will
>>> protect against all triple error patters for datagram lengths of 11450
>>> bytes, according to simulations that I ran about 14 years ago, and
>>> its undetected error rate (for random errors) can be expected to be
>>> under 2^-32. So that's what I would be inclined to recommend.
>>>
>>> Regards,
>>>
>>> Mike Heard
>>>
>>
>