Learning Journal Unit 2
Learning Journal Unit 2
Majd Alhaddad
why is the CRC put in the trailer rather than in the header of the frame?
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
• 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.
• 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”.
• “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.
• 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