realms-ai / Networking-CRC-SourceCode

This includes the source code for implementation of CRC in networking using C programming language.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CYCLIC REDUNDENCY CHECK

Computer Networking

This includes the source code for implementation of CRC in networking using C programming language.

A Cyclic Redundancy Check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. Blocks of data entering these systems get a short check value attached, based on the remainder of a polynomial division of their contents. On retrieval, the calculation is repeated and, in the event the check values do not match, corrective action can be taken against data corruption. CRCs can be used for error correction, see bitfilters.

Applications

A CRC-enabled device calculates a short, fixed-length binary sequence, known as the check value or CRC, for each block of data to be sent or stored and appends it to the data, forming a codeword.

When a codeword is received or read, the device either compares its check value with one freshly calculated from the data block, or equivalently, performs a CRC on the whole codeword and compares the resulting check value with an expected residue constant.

If the CRC values do not match, then the block contains a data error.

The device may take corrective action, such as rereading the block or requesting that it be sent again. Otherwise, the data is assumed to be error-free (though, with some small probability, it may contain undetected errors; this is the fundamental nature of error-checking).

For more informations

Visit the following wikipedia page.

About

This includes the source code for implementation of CRC in networking using C programming language.

License:MIT License


Languages

Language:C 100.0%