0% found this document useful (0 votes)
480 views12 pages

Checksum Networking

Uploaded by

dgpguru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
480 views12 pages

Checksum Networking

Uploaded by

dgpguru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Error Detection in Computer Networks-

Error detection is a technique that is used to check if any error occurred in the data during the
transmission.

Some popular error detection methods are-

1. Single Parity Check


2. Cyclic Redundancy Check (CRC)
3. Checksum

Checksum-
Checksum is an error detection method.

Error detection using checksum method involves the following steps-

Step-01:
At sender side,

 If m bit checksum is used, the data unit to be transmitted is divided into segments of m bits.
 All the m bit segments are added.
 The result of the sum is then complemented using 1’s complement arithmetic.
 The value so obtained is called as checksum.

Step-02:
The data along with the checksum value is transmitted to the receiver.

Step-03:
At receiver side,

 If m bit checksum is being used, the received data unit is divided into segments of m bits.
 All the m bit segments are added along with the checksum value.
 The value so obtained is complemented and the result is checked.

Then, following two cases are possible-


Case-01: Result = 0

If the result is zero,

 Receiver assumes that no error occurred in the data during the transmission.
 Receiver accepts the data.

Case-02: Result ≠ 0

If the result is non-zero,

 Receiver assumes that error occurred in the data during the transmission.
 Receiver discards the data and asks the sender for retransmission.

Checksum Example-

Consider the data unit to be transmitted is-

10011001111000100010010010000100

Consider 8 bit checksum is used.

Step-01:

At sender side,

The given data unit is divided into segments of 8 bits as-

Now, all the segments are added and the result is obtained as-

 10011001 + 11100010 + 00100100 + 10000100 = 1000100011


 Since the result consists of 10 bits, so extra 2 bits are wrapped around.
 00100011 + 10 = 00100101 (8 bits)
 Now, 1’s complement is taken which is 11011010.
 Thus, checksum value = 11011010

Step-02:

 The data along with the checksum value is transmitted to the receiver.

Step-03:

At receiver side,

 The received data unit is divided into segments of 8 bits.


 All the segments along with the checksum value are added.
 Sum of all segments + Checksum value = 00100101 + 11011010 = 11111111
 Complemented value = 00000000
 Since the result is 0, receiver assumes no error occurred in the data and therefore accepts it.

Important Notes-

Note-01:

 Consider while adding the m bit segments, the result obtained consists of more than m bits.
 Then, wrap around the extra bits and add to the result so that checksum value consists of m bits.

Note-02:

 While calculating the checksum, if checksum value is needed, then assume it to be zero.
 After calculating the checksum value, substitute the checksum value in the checksum field.
 This will be required during checksum calculation of IP Header, TCP Header and UDP Header.

Note-03:

 The checksum is used in the internet by several protocols although not at the data link layer.

PRACTICE PROBLEM BASED ON CHECKSUM ERROR DETECTION METHOD-

Problem-

Checksum value of 1001001110010011 and 1001100001001101 of 16 bit segment is-

1. 1010101000011111
2. 1011111000100101
3. 1101010000011110
4. 1101010000111111

Solution-

We apply the above discussed algorithm to calculate the checksum.

 1001001110010011 + 1001100001001101 = 10010101111100000


 Since, the result consists of 17 bits, so 1 bit is wrapped around and added to the result.
 0010101111100000 + 1 = 0010101111100001
 Now, result consists of 16 bits.
 Now, 1’s complement is taken which is 1101010000011110
 Thus, checksum value = 1101010000011110

Thus, Option (C) is correct.


Error Detection in Computer Networks | Parity Check
Error Detection in Computer Networks-

When sender transmits data to the receiver, the data might get scrambled by noise or data might get
corrupted during the transmission.

Error detection is a technique that is used to check if any error occurred in the data during the
transmission.

Error Detection Methods-

Some popular error detection methods are-

1. Single Parity Check


2. Cyclic Redundancy Check (CRC)
3. Checksum

In this article, we will discuss about Single Parity Check.

Single Parity Check-

In this technique,

 One extra bit called as parity bit is sent along with the original data bits.
 Parity bit helps to check if any error occurred in the data during the transmission.

Steps Involved-

Error detection using single parity check involves the following steps-
Step-01:

At sender side,

 Total number of 1’s in the data unit to be transmitted is counted.


 The total number of 1’s in the data unit is made even in case of even parity.
 The total number of 1’s in the data unit is made odd in case of odd parity.
 This is done by adding an extra bit called as parity bit.

Step-02:
The newly formed code word (Original data + parity bit) is transmitted to the receiver.

Step-03:
At receiver side,

 Receiver receives the transmitted code word.


 The total number of 1’s in the received code word is counted.

Then, following cases are possible-

 If total number of 1’s is even and even parity is used, then receiver assumes that no error occurred.
 If total number of 1’s is even and odd parity is used, then receiver assumes that error occurred.
 If total number of 1’s is odd and odd parity is used, then receiver assumes that no error occurred.
 If total number of 1’s is odd and even parity is used, then receiver assumes that error occurred.

Parity Check Example-


Consider the data unit to be transmitted is 1001001 and even parity is used.

Then,

At Sender Side-

 Total number of 1’s in the data unit is counted.


 Total number of 1’s in the data unit = 3.
 Clearly, even parity is used and total number of 1’s is odd.
 So, parity bit = 1 is added to the data unit to make total number of 1’s even.
 Then, the code word 10010011 is transmitted to the receiver.
At Receiver Side-

 After receiving the code word, total number of 1’s in the code word is counted.
 Consider receiver receives the correct code word = 10010011.
 Even parity is used and total number of 1’s is even.
 So, receiver assumes that no error occurred in the data during the transmission.

Advantage-

 This technique is guaranteed to detect an odd number of bit errors (one, three, five and so on).
 If odd number of bits flip during transmission, then receiver can detect by counting the number of
1’s.

Checksum

Limitation-

 This technique can not detect an even number of bit errors (two, four, six and so on).
 If even number of bits flip during transmission, then receiver can not catch the error.

EXAMPLE

 Consider the data unit to be transmitted is 10010001 and even parity is used.
 Then, code word transmitted to the receiver = 100100011
 Consider during transmission, code word modifies as 101100111. (2 bits flip)
 On receiving the modified code word, receiver finds the number of 1’s is even and even parity is
used.
 So, receiver assumes that no error occurred in the data during transmission though the data is
corrupted.

To gain better understanding about single parity check,

Cyclic Redundancy Check

Cyclic Redundancy Check | CRC | Example Error Detection in Computer


Networks-

Error detection is a technique that is used to check if any error occurred in the data during the
transmission.

Some popular error detection methods are-


1. Single Parity Check
2. Cyclic Redundancy Check (CRC)
3. Checksum

Cyclic Redundancy Check-

 Cyclic Redundancy Check (CRC) is an error detection method.


 It is based on binary division.

CRC Generator-

 CRC generator is an algebraic polynomial represented as a bit pattern.


 Bit pattern is obtained from the CRC generator using the following rule-

The power of each term gives the position of the bit and the coefficient gives the value of the bit.

Example-

Consider the CRC generator is x7 + x6 + x4 + x3 + x + 1.

The corresponding binary pattern is obtained as-

Thus, for the given CRC generator, the corresponding binary pattern is 11011011.

Properties Of CRC Generator-

The algebraic polynomial chosen as a CRC generator should have at least the following properties-

Rule-01:

 It should not be divisible by x.


 This condition guarantees that all the burst errors of length equal to the length of polynomial are
detected.

Rule-02:
 It should be divisible by x+1.
 This condition guarantees that all the burst errors affecting an odd number of bits are detected.

Important Notes-

If the CRC generator is chosen according to the above rules, then-

 CRC can detect all single-bit errors


 CRC can detect all double-bit errors provided the divisor contains at least three logic 1’s.
 CRC can detect any odd number of errors provided the divisor is a factor of x+1.
 CRC can detect all burst error of length less than the degree of the polynomial.
 CRC can detect most of the larger burst errors with a high probability.

Steps Involved-

Error detection using CRC technique involves the following steps-

Step-01: Calculation Of CRC At Sender Side-

At sender side,

 A string of n 0’s is appended to the data unit to be transmitted.


 Here, n is one less than the number of bits in CRC generator.
 Binary division is performed of the resultant string with the CRC generator.
 After division, the remainder so obtained is called as CRC.
 It may be noted that CRC also consists of n bits.

Step-02: Appending CRC To Data Unit-

At sender side,

 The CRC is obtained after the binary division.


 The string of n 0’s appended to the data unit earlier is replaced by the CRC remainder.

Step-03: Transmission To Receiver-

 The newly formed code word (Original data + CRC) is transmitted to the receiver.

Step-04: Checking at Receiver Side-

At receiver side,

 The transmitted code word is received.


 The received code word is divided with the same CRC generator.
 On division, the remainder so obtained is checked.
The following two cases are possible-

Case-01: Remainder = 0

If the remainder is zero,

 Receiver assumes that no error occurred in the data during the transmission.
 Receiver accepts the data.

Case-02: Remainder ≠ 0

If the remainder is non-zero,

 Receiver assumes that some error occurred in the data during the transmission.
 Receiver rejects the data and asks the sender for retransmission.

PRACTICE PROBLEMS BASED ON CYCLIC REDUNDANCY CHECK (CRC)-

Problem-01:

A bit stream 1101011011 is transmitted using the standard CRC method. The generator polynomial is
x4+x+1. What is the actual bit string transmitted?

Solution-

 The generator polynomial G(x) = x4 + x + 1 is encoded as 10011.


 Clearly, the generator polynomial consists of 5 bits.
 So, a string of 4 zeroes is appended to the bit stream to be transmitted.
 The resulting bit stream is 11010110110000.

Now, the binary division is performed as-


From here, CRC = 1110.

Now,

 The code word to be transmitted is obtained by replacing the last 4 zeroes of


11010110110000 with the CRC.
 Thus, the code word transmitted to the receiver = 11010110111110.

Problem-02:
A bit stream 10011101 is transmitted using the standard CRC method. The generator
polynomial is x3+1.

1. What is the actual bit string transmitted?


2. Suppose the third bit from the left is inverted during transmission. How will receiver detect this
error?
Solution-

Part-01:

 The generator polynomial G(x) = x3 + 1 is encoded as 1001.


 Clearly, the generator polynomial consists of 4 bits.
 So, a string of 3 zeroes is appended to the bit stream to be transmitted.
 The resulting bit stream is 10011101000.

Now, the binary division is performed as-

From here, CRC = 100.


Now,

 The code word to be transmitted is obtained by replacing the last 3 zeroes of


10011101000 with the CRC.
 Thus, the code word transmitted to the receiver = 10011101100.

Part-02:
According to the question,

 Third bit from the left gets inverted during transmission.


 So, the bit stream received by the receiver = 10111101100.

Now,

 Receiver receives the bit stream = 10111101100.


 Receiver performs the binary division with the same generator polynomial as-

From here,

 The remainder obtained on division is a non-zero value.


 This indicates to the receiver that an error occurred in the data during the transmission.
 Therefore, receiver rejects the data and asks the sender for retransmission.

You might also like