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

Joe Touch <touch@isi.edu> Mon, 27 March 2017 17:54 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 7AC811294F8 for <tsvwg@ietfa.amsl.com>; Mon, 27 Mar 2017 10:54:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, 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 eCtkhHUOyNeU for <tsvwg@ietfa.amsl.com>; Mon, 27 Mar 2017 10:54:05 -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 ECF3E1292CE for <tsvwg@ietf.org>; Mon, 27 Mar 2017 10:54:03 -0700 (PDT)
Received: from [128.9.184.151] ([128.9.184.151]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id v2RHr3NH014446 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 27 Mar 2017 10:53:04 -0700 (PDT)
To: "C. M. Heard" <heard@pobox.com>, Gorry Fairhurst <gorry@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> <CACL_3VGswouPTiASxp0AHWcxTbav_hx6e=iG2UWUhNxdMMR3zw@mail.gmail.com>
Cc: Mark Smith <markzzzsmith@gmail.com>, tsvwg <tsvwg@ietf.org>
From: Joe Touch <touch@isi.edu>
Message-ID: <342aceb8-a985-f15e-ad7f-6ef36cf85ff3@isi.edu>
Date: Mon, 27 Mar 2017 10:53:03 -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_3VGswouPTiASxp0AHWcxTbav_hx6e=iG2UWUhNxdMMR3zw@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------383C51EE044E48E9752DC5FB"
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/16UMopomcFcUerb1moInPZXn9iE>
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:54:07 -0000

Hi, Mike,

I don't know if we have a sense of what the future will evolve into, but
the likely more immediate use is packets too large for the path MTU but
not all that big overall - which suggests we ought to use CRC-16-CCITT.

I'll roll that in and issue the update shortly.

Joe


On 3/27/2017 10:41 AM, C. M. Heard wrote:
> 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
> <mailto: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
>             <mailto: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 <mailto: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/
>                         <https://users.ece.cmu.edu/%7Ekoopman/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
>             <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
>
>
>