CRC校验

简介

CRC全程Cyclic redundancy check,即循环冗余校验。是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。

在网络数据包的传输过程中,可能会产生一些错误,比如某个包的某一位本来是1,但是因为一些问题变成0了,那么接收数据包的接收端如何知晓数据包在传输过程中是否被更改过呢?使用CRC可以让接收端知晓数据包是否被更改过。

CRC的工作过程如下:因为CRC其实是一个散列函数,发送端在发送时将要发送的数据通过该散列函数计算,可以得到一些比较短的,固定长度的校验码也叫CRC码(比如8个字节)。发送端将校验码追加在要数据之后,一起发送给接收端。接收方接收后用相同的散列函数对数据进行计算,并将计算的结果和发送端传过来的校验码对比,如果一致则认为数据在传输过程中没有被更改,否则被更改过了。

CRC在网络传输中的使用

在计算机网络中,CRC通常被用于数据链路层的数据帧,以确保数据在物理传输过程中的完整性。几乎每个数据包都会有CRC校验码。


CRC校验
https://nrbackback.github.io/2024/04/20/CRC简介/
作者
John Doe
发布于
2024年4月20日
许可协议