Parity Bits Check
Parity Bits are single bits appended wither before or after the data so that the total number of ones is either odd or even. They can be created for any length message, however their use is generally restricted to individual characters or bytes of data.
Simply checksums add all the bytes and send the resulting sum along with the message. The receiver also calculates the sum of the bytes and compares their result with the received checksum.
Problems with Checksums
If the data being sent contains all zeros then the checksum will also be zero. Errors can occur if wither software of hardware that cause empty packets to be sent and our initial checksum would not detect such problems.
Checksum solution to empty packets
Reverse the calculation - all zeros become ones and all ones become zero.
Data containing all zeros
Cyclic Redundancy Check. Calculated using division. The entire message is considered to be a complete number and this number is then divided by another predetermined number. The remained of this division becomes the CRC value.
CRCs versus Checksums
CRCs are stronger as they are able to detect many of the more common types of transmission errors.