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

"C. M. Heard" <heard@pobox.com> Sun, 26 March 2017 02:37 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 2A4831294BF for <tsvwg@ietfa.amsl.com>; Sat, 25 Mar 2017 19:37:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.702
X-Spam-Level:
X-Spam-Status: No, score=-2.702 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-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 smHRgZqDtVMu for <tsvwg@ietfa.amsl.com>; Sat, 25 Mar 2017 19:37:29 -0700 (PDT)
Received: from sasl.smtp.pobox.com (pb-smtp1.pobox.com [64.147.108.70]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4954D1294BB for <tsvwg@ietf.org>; Sat, 25 Mar 2017 19:37:29 -0700 (PDT)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id B9DBC86268 for <tsvwg@ietf.org>; Sat, 25 Mar 2017 22:37:25 -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=7MtweHp9/ujVr5dqpVdC0LZ8F54=; b=NTOsXp tSK1AhzPic0FTAg0vPjYIOZ+qBo8T358I1bC36DKWBISXXuCeTL2hUUwwpWss1Jz 7nZrZ84/BZxQe5E0fSgQ1mHwHs6OqYDsaebJDwYd7hAXH2zz+F4RW4l1+Af/gLjt WOoIzvpq82SgRpqnE5TfqkWECA/lu2xHXNo7o=
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=EzrU8op1Rew2Ev7Gt2q2U/hfJGkrYpxm iCYXRgJesNSSmEjV5KwYO+hzAtb+NF7gvUTA028IqlkvTwQLIvCrfKjDLaQeosTy qzmYazMJsRdegi8zE5XV6ux+1dmzw2tGpZ9tUtXt/SrHmPWuDvOPzeE6AY6dUa5r zmgFgv2qchY=
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id B226186267 for <tsvwg@ietf.org>; Sat, 25 Mar 2017 22:37:25 -0400 (EDT)
Received: from mail-qk0-f175.google.com (unknown [209.85.220.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 4B29386266 for <tsvwg@ietf.org>; Sat, 25 Mar 2017 22:37:25 -0400 (EDT)
Received: by mail-qk0-f175.google.com with SMTP id p22so16694966qka.3 for <tsvwg@ietf.org>; Sat, 25 Mar 2017 19:37:25 -0700 (PDT)
X-Gm-Message-State: AFeK/H3g/9l+s65NtB1ik5TmYiOiwFK+mRMtEB+lN8FBgN4nl7TfxGgHhywAlUQqPQXsU5fMODQT2eApBBzhJA==
X-Received: by 10.55.68.66 with SMTP id r63mr13990028qka.116.1490495844842; Sat, 25 Mar 2017 19:37:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.18.75 with HTTP; Sat, 25 Mar 2017 19:37:04 -0700 (PDT)
In-Reply-To: <cce71722-7e5b-a28a-0da6-d4aa4c92a1b0@isi.edu>
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>
From: "C. M. Heard" <heard@pobox.com>
Date: Sat, 25 Mar 2017 19:37:04 -0700
X-Gmail-Original-Message-ID: <CACL_3VEqJF1+ReajsNDewWPHGBikAtgbtxfZvd5wkK7x8aVYpw@mail.gmail.com>
Message-ID: <CACL_3VEqJF1+ReajsNDewWPHGBikAtgbtxfZvd5wkK7x8aVYpw@mail.gmail.com>
To: Joe Touch <touch@isi.edu>
Cc: Mark Smith <markzzzsmith@gmail.com>, tsvwg <tsvwg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
X-Pobox-Relay-ID: 257FB5BA-11CD-11E7-8C7B-97B1B46B9B0B-06080547!pb-smtp1.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/odWJqYPV9UvFY7kcJ72_vbKiSTs>
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: Sun, 26 Mar 2017 02:37:31 -0000

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