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

Joe Touch <touch@isi.edu> Mon, 27 March 2017 15:38 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 1391812955F for <tsvwg@ietfa.amsl.com>; Mon, 27 Mar 2017 08:38:51 -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 F_Rn6fg4NZI2 for <tsvwg@ietfa.amsl.com>; Mon, 27 Mar 2017 08:38:48 -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 CF599129465 for <tsvwg@ietf.org>; Mon, 27 Mar 2017 08:38:48 -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 v2RFbYXN020738 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 27 Mar 2017 08:37:36 -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> <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>
Cc: Mark Smith <markzzzsmith@gmail.com>, tsvwg <tsvwg@ietf.org>
From: Joe Touch <touch@isi.edu>
Message-ID: <8e7bc6cc-d61f-89d4-c6b1-a5e6135fc0b3@isi.edu>
Date: Mon, 27 Mar 2017 08:37:33 -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_3VEqJF1+ReajsNDewWPHGBikAtgbtxfZvd5wkK7x8aVYpw@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
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/P5L7dnvh5HVpq3PndeYrIXGEJjU>
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 15:38:51 -0000

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