"Traces of Internet packets from the past two years show that between
1 packet in 1,100 and 1 packet in 32,000 fails the TCP checksum, even
on links where link-level CRCs should catch all but 1 in 4 billion
errors. For certain situations, the rate of checksum failures can be
even higher: in one hour-long test we observed a checksum failure of
1 packet in 400. We investigate why so many errors are observed, when
link-level CRCs should catch nearly all of them. We have collected
nearly 500,000 packets which failed the TCP or UDP or IP checksum.
This dataset shows the Internet has a wide variety of error sources
which can not be detected by link-level checks. We describe analysis
tools that have identified nearly 100 different error patterns.
Categorizing packet errors, we can infer likely causes which explain
roughly half the observed errors. The causes span the entire spectrum
of a network stack, from memory errors to bugs in TCP. After an
analysis we conclude that the checksum will to detect errors for
roughly 1 in 16 million to 10 billion packets."
Excerpt from 'When The CRC and TCP Checksum Disagree' - Stone, Partridge (2000)
http://citeseer.ist.psu.edu/update/433257
Hope it helps.
Lannaeus |