A checksum is the most common way of detecting errors. As parity checks can only detect some errors, a better mechanism is required in order to detect most if not all errors. A checksum is simply extra bits added to the message which are calculated from the data. Some sort of function is applied to the data in order to get the checksum. When the data is sent, the destination computer performs the exact same check. If the checksums do not match then there must have been an error during transmission.

The most basic checksum is to add up all of the data values in the message and add an extra byte to the message, carrying ignored. This checksum is then appended to the message and both are sent. The destination computer then performs the exact same calculation. If the checksums do not match then there must have been an error.

 

The most common checksum in use today is known as the CRC or cyclic redundancy check. This is used in the TCP/IP protocol stack. Although how CRC works is outside the scope of A-Level a brief description of what it does is not. Basically a special mathematical formula is used to work out the checksum. Both sides know exactly how to perform this formula and use it to calculate the checksum.