0% found this document useful (0 votes)
5 views

CRC Computer Network

Uploaded by

shuvampal23
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

CRC Computer Network

Uploaded by

shuvampal23
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

B.P.

PODDAR INSTITUTE OF MANAGEMENT AND


TECHNOLOGY
137, V.I.P. ROAD, PODDAR VIHAR, KOLKATA –
700052 DEPARTMENT OF INFORMATION
TECHNOLOGY

Topic : CRC (Cyclic Redundancy Check)

Computer Networks (PCC-CS602)


Third Year, Semester VI
Academic Year 2023-24

SUBMITTED BY

GROUP 11

Shuvam Pal 11500221052


Purnendu Palui 11500221051
Abhra Mondal 11500222123
Disha Das 11500222120
Introduction

In computer networks, the transmission of data is a fundamental


operation, and ensuring the integrity of this transmitted data is
paramount. Various factors, such as electromagnetic interference,
signal degradation, and noise, can introduce errors into the
transmitted data. Cyclic Redundancy Check (CRC) addresses this
challenge by providing a mechanism for detecting errors in the
transmitted data, thereby enhancing the reliability of network
communication.

Objectives:
The primary objectives of CRC in computer networks are to detect
errors during data transmission, ensure the integrity of the
received message, and accomplish these tasks with minimal
additional computational overhead. By meeting these objectives,
CRC becomes an integral part of error-checking strategies,
contributing significantly to the robustness of data communication
in networks.

Principles of CRC

Cyclic Redundancy Check Algorithm:


At the core of CRC is a mathematical algorithm based on
polynomial division. The sender and receiver agree on a specific
polynomial known as the generator polynomial. The sender
appends a CRC checksum, derived from this polynomial, to the
data before transmission. The receiver performs the same
polynomial division using the received data and checksum. If the
remainder is zero, indicating error-free transmission, the data is
considered valid; otherwise, an error is detected. This algorithmic
process ensures that the transmitted data remains intact and
unaltered.

Generator Polynomial Selection:


The choice of the generator polynomial is a crucial consideration
in the implementation of CRC. Commonly used polynomials, such
as CRC-16 and CRC-32, provide varying levels of error-detection
capabilities. The length of the polynomial directly influences the
algorithm's ability to detect errors, with longer polynomials
offering higher error-detection capability. However, a longer
polynomial also entails increased computational overhead.
Therefore, the selection involves a trade-off between error-
detection capability and computational efficiency.

Implementation of CRC
Sender-Side Implementation:
1. Data Appending: The sender appends a CRC checksum to the
data, creating a frame ready for transmission. This additional
checksum serves as a mathematical representation of the data.
2. Polynomial Division: The sender performs polynomial
division using the agreed-upon generator polynomial and the data
with the appended CRC checksum. This process generates the
CRC checksum that will be transmitted along with the data.
3. Transmission: The complete frame, consisting of the original
data and the calculated CRC checksum, is then transmitted to the
receiver. This ensures that not only the data but also the means to
verify its integrity is sent.
Receiver-Side Implementation:
1. Data Reception: Upon receiving the frame, the receiver
extracts the data and the accompanying CRC checksum. This
marks the beginning of the process to validate the integrity of the
received information.
2. Polynomial Division: The receiver performs the same
polynomial division process using the received data and
checksum, attempting to replicate the original calculation
performed by the sender.
3. Error Detection: If the remainder is zero, indicating that the
polynomial division results in no remainder, the data is considered
error-free. Otherwise, an error is detected, and the receiver may
request the sender to retransmit the data. This meticulous process
ensures the accuracy of the communication.

Applications of CRC in Computer Networks

Data Link Layer:

The Data Link Layer of the OSI model is a critical point of


implementation for CRC. Here, CRC is used to check for errors
within transmitted frames. This ensures the reliability of the data
link between network nodes, contributing to the overall stability of
network communication.

Network Protocols:

Various network protocols, including Ethernet and Wi-Fi,


incorporate CRC to detect errors in transmitted frames. By doing
so, CRC becomes an essential element in maintaining the accuracy
and reliability of communication within these widely used
network protocols.
Storage Systems:

CRC finds application in storage systems where data is


persistently stored on disks. Regular CRC checks are performed to
verify the integrity of the stored data. This proactive approach
helps in detecting and correcting errors that may arise due to
factors such as disk corruption or gradual data degradation over
time.

Advantages of CRC

5.1 Efficiency:

CRC is lauded for its efficiency in error-checking. The use of a


small checksum allows for quick computation and validation of
data integrity. This efficiency is crucial, especially in real-time
communication scenarios where rapid error detection is essential.

5.2 Simplicity:

The implementation of CRC is relatively straightforward. Its


simplicity is advantageous, making it a practical choice for
integration into various network protocols and systems. The
straightforward nature of CRC facilitates its adoption across
diverse communication environments.

5.3 High Error-Detection Capability:


One of the standout advantages of CRC is its high error-detection
capability. Depending on the chosen polynomial, CRC can
effectively detect various types of errors, including single-bit
errors and burst errors. This capability ensures the reliability of
data transmission and storage in the presence of potential
disruptions.

Conclusion
In conclusion, Cyclic Redundancy Check (CRC) stands as a
foundational tool in computer networks, playing a pivotal role in
error detection and ensuring the accuracy of data transmission. Its
implementation, grounded in polynomial division principles,
provides a systematic approach to verify data integrity. As
technology evolves, CRC remains a robust and efficient means of
maintaining the accuracy of data communication, demonstrating
its enduring significance in the digital landscape. The careful
balance between error detection capability and computational
efficiency underscores the versatility and effectiveness of CRC
across various communication environments.

You might also like