Subject: [pilc] How many bytes should a CRC-32 protect?

From: Dan Grossman <[email-masked]>
Date: Tue, 07 May 2002 15:48:05 -0400

Some properties of CRCs are slowly bubbling up from the recesses of
ancient
memory.  This with some uncertainty as to the accuracy of this memory,
and which
are general properties of CRCs and which are properties of the CRC-32
polynomial.  Corrections are welcome.

A CRC of length N bits produces a unique codeword for packets of length
2^N-1
bits.  It will therefore detect any single bit error in a packet of that
length
or less.  This upper bounds the answer to Gorry's original question.

The particular polynomial (actually, all polynomials that lack an 
N(N+1) factor, 
I believe),   will  detect all odd numbers of errored bits.  It will
detect all
single bursts of less than 32 bits, and all 2 bit errors that occur
within 2048 bits.  
For all other even number of bit errors, the probability of detection is
1-(2^-32).

In practice, I recollect that the probability of undetected errors in a
burst
error environment is difficult to solve analytically, and that people
have tended
to do it by simulation.

Matt, how does this relate to your model?

Dr G Fairhurst wrote:

> I was asked by someone how big a frame size can a CRC-32 reasonably protect?
>
> One of my students came across:
>
> http://sd.wareonearth.com/~phil/jumbo.html
>
> which seems to suggest that the CRC-32 is good for 10-12KB or so of
> data, and that
> this could be one reason why we don't see many subnetworks supporting
> MTUs > 12KB.
>
> Is there more wisdom out there on the use of CRCs over large subnetwork PDUs?
> - perhaps the ATM or gigEthernet people have thought this one through?
>
> Gorry Fairhurst.

_______________________________________________
pilc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/pilc
http://www.ietf.org/html.charters/pilc-charter.html
http://pilc.grc.nasa.gov/