0% found this document useful (0 votes)
8 views3 pages

Learning Journal Unit 2

Learning Journal Unit 2 - uop

Uploaded by

Majd Haddad
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)
8 views3 pages

Learning Journal Unit 2

Learning Journal Unit 2 - uop

Uploaded by

Majd Haddad
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/ 3

Learning Journal Unit 2

CS 2204-01 Communications and Networking - AY2023-T5

University of the People

Majd Alhaddad

CRC or Cyclic Redundancy Check is an error control method used in Ethernet


where a checksum is computed and appended to the data frame being sent across
the channel.

why is the CRC put in the trailer rather than in the header of the frame?

Cyclic Redundancy Check (CRC): An error detection mechanism in which a


number is appended to a set of data to detect any changes introduced during storage or
transmission. The CRe is recalculated upon retrieval or reception and compared to the
value originally sent, which can detect for certain types of errors.

For example, a single bad bit in the data results in a single bit change in the computed
CRC, but multiple corrupt bits may cancel each other out. CRC is also derived using a
more complex algorithm than simple CHECKSUM, including MODULO
ARITHMETIC. Hence the name "periodic" and treat each input word as a set of
coefficients of the polynomial.

CRC Characteristics

• “CRC” is more powerful than “VRC” and “LRC” in detecting errors.

• It does not depend on binary addition such as “VRC” and “LRC”, but rather depends
on binary division.

On the sender side, the unit of data to be sent is divided by a predetermined divisor,
that is, a binary number, to get the remainder. This remainder is called “CRC”.

• “CRC” has one bit less than the divisor, meaning that if “CRC” is of “n bits”, then
the divisor is “n + 1 bits”.

• The sender appends this “CRC” to the end of the data unit so that the resulting data
unit becomes completely divisible by a predetermined divisor, i.e. the remainder
becomes zero.

• At the destination, the incoming data unit, ie data + “CRC”, is divided by the same
number, ie a pre-specified binary divisor.
• If the remainder after division is zero, then there is no error in the data unit and the
receiver accepts it.

• If the remainder after division is not zero, this indicates that the data unit was
damaged during transmission and was therefore rejected.

• This technique is more powerful than parity checking and checksum error detection.

• “CRC” is based on binary division, and a string of extra bits called “CRC” or
“CRC” is appended to the end of the data unit such as a byte.

The working principle of CRC

• For example, if the data to be sent is “1001” and the pre-divisor is “1011”, then a
string consisting of “3 zeros” is used to append the number “1011”, as the divisor
consists of “4 bits” and the data that was formed Newly now it is “1011000” and the
data unit “1011000” is divided by “1011”.

• During this division process, when the left part of the dividend or remainder is zero,
a string of “Os” of the same length as the divisor is used, thus in this case the divisor
“1011” is replaced by “0000”.

• On the receiving side, the received data is “1001110”.

• This data is again divided by the divisor 1011.

• The remainder is “000” which means that there is no error.

• “CRC” can detect all burst errors affecting an odd number of bits.

• The probability of error detection and the types of errors that can be detected depend
on the choice of denominator.

• Thus the two main requirements of the CRC are that the “CRC” must be slightly less
than the divisor, and the appending of “CRC” to the end of the data unit must result in
the exact sequence of bits that it is divisible by.

Basics of CRC testing

• CRC is a block code invented by W. Wesley Peterson in 1961, and is commonly


used to detect accidental changes in data transmitted over communication networks
and storage devices.

• CRC involves the binary division of data bits that are sent by a pre-determined
divisor agreed upon by the communication system. The divisor is generated using
polynomials so “CRC” is also called the checksum of polynomial code.
• Before sending the message through the network channels, the sender encodes the
message using “CRC”, and the receiver decodes the incoming message to discover the
error.

References:

Kurose, J., & Ross, K. W. (2007). Study companion, Computer networking, a top-
down approach featuring the Internet, third edition, James F. Kurose, Keith W. Ross.
https://lib.ugent.be/en/catalog/rug01:001649489

Dordal, P. L. (2014). An Introduction to Computer Networks.

You might also like