What kind of error is undetectable by the checksum?

There are two types of error detection methods in computer networking one is CRC(cyclic redundancy check) and the other is checksum both of them are error detection methods in networks. Most of errors are neglected and people asked what kind of error is undetectable by the checksum.

Errors in network makes data corrupted as a result bits are changed while sending and receiving the packets of bits, and the placement of changed bits are undetectable errors by checksum.

Technical Definition of Checksum:

Error is invisible if a bit inversion is balanced by an opposite bit inversion in the corresponding digit of another segment

At least three types of error cannot be detected by the current checksum calculation.
  1. If two bits are swapped during transmission e.g. 1001 becomes 1100  means the checksum values are same and undetectable.
  2. The value of one data item is increased (maliciously or intentionally) and the value of another one is decreased the same amount, the checksum and the sum cannot detect these changes.
  3. Third, if one or more data is changed in such a way that the change is a multiple of 216 − 1, the sum or the checksum cannot detect the changes.

Examples: Errors Undetectable by Checksum

Below we have some of the examples and the reasons, what kind of error is undetectable by checksum?. Why errors are neglected in parity check? and in which case the checksum errors are undetectable.

    Example 1 of Checksum:

    Your computer coverts everything to 1's and 0's let's take example of a name propatel.com which is equal to 01010011.

    Suppose the above sum of block of words you are sending to your friend. If, in that block of words a 0 is replaced by 1 or may be 1 is replaced by 0 in the same bit position, a checksum will not catch it.

    Sender Receiver
    01010011 00110011
    Only the order of  1's  are changed and the count of number of 1's are even but the order of bits are changed the parity check will not catch it and hence checksum is unable to catch that error.

    Example 2 of Checksum Error:

    As the name indicate it check the sum of data blocks. So if the errors occur in such a way that sum remain same then it can't predict the error.

    e.g I take the example of 4-bits blocks


    check sum will be 2's complement of (0011) -> 1101

    Sender Receiver
    0000 0000
    0001 0001
    0010 0001
    0000 0001
    1101 1101

    receiver will find the sum of first four block.
    which is 0011

    now he finds 0011 + 1101 = 0000 (Ignoring carry)
    the receiver accept the data and think it's correct but actually the receiver data is corrupted. That is the error undetectable by checksum.

    Example 2 of Checksum error:

    Assume out bit looks like this (0101011) Electronic errors. in other words , if the number of 1s in the frame is even and the flag is showing that correctly.

    Yet everything is looking great. but if receiver receives the frame and it will look like this (1010110), As you can see , The no. of 1s is still even , but the sequence if those bits is wrong. Parity check will still consider this frame as valid while in reality it is not because the order is of bits is wrong.

    Post a Comment