[e2e] Re: [Tsvwg] Really End-to-end or CRC vs everything else?

Michael B Greenwald mbgreen at dsl.cis.upenn.edu
Thu Jun 7 11:04:49 PDT 2001

   Thu, 07 Jun 2001 09:02:54 -0700
   "Matt Wakeley" <matt_wakeley at agilent.com>

   Jonathan Stone wrote:
   > But *why* is crc32 thought to be better than a 32-bit mod-2^32
   > checksum or a fletcher checksum with two 16-bit halves?
   > A citation would be wonderful.
   try draft-sheinwald-iSCSI-CRC-00.txt  It has lots of citations in it.
While it may (probably) be true that CRC32 performs better than Fletcher
and/or 32bit ones complement sum on real data, the draft-sheinwald-...txt
says "For real data ... checksums behave substantially worse than CRCs" and
cites our paper in TON '98 [Stone98].  The results there, however, compared
a *32bit* CRC against a *16bit* ones-complement sum and *16bit* Fletcher
(both one and twos complement).

Also, the measurements in our paper were based on a very specific error
model: packet-splices.  Care must be exercised when generalizing those

I am not quibbling with the results quoted in the draft for the burst-error
model over uniformly distributed data: the advantage of CRC32 there over
Fletcher (in terms of error-rate and size of protected block) is
compelling.  And, given the factor of 10^4 advantage, CRC32 is probably
*still* the way to go.  However, as pointed out by our TON paper, this
should not make us complacent.  In the real world it is possible for
pathological distributions of data to be common, and combined with a
particular error model the resulting protection offered by *any* checksum,
CRC, or what-have-you may be *much* weaker than the theoretical model.

More information about the end2end-interest mailing list