Performance of checksums and CRCs over real data
- 1 October 1998
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE/ACM Transactions on Networking
- Vol. 6 (5) , 529-543
- https://doi.org/10.1109/90.731187
Abstract
Checksum and cyclic redundancy check (CRC) algorithms have historically been studied under the assumption that the data fed to the algorithms was uniformly distributed. This paper examines the behavior of checksums and CRCs over real data from various UNIX file systems. We show that, when given real data in small to modest pieces (e.g., 48 bytes), all the checksum algorithms have skewed distributions. These results have implications for CRCs and checksums when applied to real data. They also can cause a spectacular failure rate for both the TCP and ones-complement Fletcher (1983) checksums when trying to detect certain types of packet splices. When measured over several large file systems, the 16 bit TCP checksum performed about as well as a 10-bit CRC. We show that for fragmentation-and-reassembly error models, the checksum contribution of each fragment are, in effect, colored by the fragment's offset in the splice. This coloring explains the performance of Fletcher's sum on nonuniform data, and shows that placing checksum fields in a packet trailer is theoretically no worse than a header checksum field. In practice, the TCP trailer sums outperform even Fletcher header sums.Keywords
This publication has 8 references indexed in Scilit:
- Performance of checksums and CRCs over real dataACM SIGCOMM Computer Communication Review, 1995
- Dynamics of TCP traffic over ATM networksIEEE Journal on Selected Areas in Communications, 1995
- SEAL detects cell misorderingIEEE Network, 1992
- TCP alternate checksum optionsPublished by RFC Editor ,1990
- Improving the efficiency of the OSI checksum calculationACM SIGCOMM Computer Communication Review, 1989
- Fletcher's error detection algorithm: how to implement it efficiently and how toavoid the most common pitfallsACM SIGCOMM Computer Communication Review, 1988
- An Arithmetic Checksum for Serial TransmissionsIEEE Transactions on Communications, 1982
- Development of a Transmission Error Model and an Error Control ModelPublished by Defense Technical Information Center (DTIC) ,1975