Title :
Performance of checksums and CRCs over real data
Author :
Stone, Jonathan ; Greenwald, Michael ; Partridge, Craig ; Hughes, James
Author_Institution :
Stanford Univ., CA, USA
fDate :
10/1/1998 12:00:00 AM
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 :
Unix; asynchronous transfer mode; error detection codes; file organisation; packet switching; transport protocols; 16 bit; ATM cells; Fletcher header sums; TCP trailer sums; UNIX file systems; checksum algorithms; cyclic redundancy check algorithm; failure rate; fragmentation-and-reassembly error models; header checksum field; large file systems; ones-complement Fletcher checksums; packet splices detection; packet trailer; performance; real data; uniformly distributed data; Arithmetic; Cyclic redundancy check; File systems; Helium; Internet; Internetworking; Performance evaluation; Polynomials; TCPIP; Testing;
Journal_Title :
Networking, IEEE/ACM Transactions on