

One appends a few (typically 16 or 32) bits to the end of the bit string for a message and sends out the extended string. One powerful error-detection method is Cyclic Redundancy Checking (CRC), a generalization of parity checking. The one we will discuss here is the famous CRC coding form. Of course, no method can detect all errors, but a number of methods in use today are amazingly effective.

There are many methods which have been developed to detect errors, applied at different levels of the seven layer model. If the destination or source address of a packet has one bit wrong, communication is impossible. If for example we are downloading a binary program file, the program may be un-executable if even one bit is incorrect. If we are dealing with voice or video data, the occurrence of errors in a small percentage of bits is quite tolerable, but in many other cases it is crucial that all bits be received intact. A transmitted bit can be received in error, due to “noise” on the transmission channel. Thus it is important to be sure that the CRCs in use are as effective as possible. As data transfer rates and the amount of data stored increase, the need for simple, cheap, and robust error detection codes increases as well. Cyclic Redundancy Codes (CRCs) are used in a wide variety of computer networks and data storage devices to provide inexpensive and effective error detection capabilities.
