Embedded system

CRC 순환 중복 검사

개ㅁI 2022. 12. 13. 11:08

네트워크를 통해 통신을 하다보면 마지막에 CRC 검사를 보내주는 모습을 종종 볼 수 있다. 

CRC(cyclic redundancy check)란 순환중복검사로 네트워크 등을 통하여 데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식을 말한다. 

 

데이터를 전송하기 전에 주어진 데이터의 값에 따라 CRC 값을 계산하여 데이터에 붙여 전송하고, 데이터 전송이 끝난 후 받은 데이터의 값으로 다시 CRC 값을 계산하게 된다. 그래서 계산한 두 값을 비교하여 두 값이 다르면 데이터 전송 과정에서 잡음 등에 의해 오류가 생겼다는 걸 알 수 있다. 

 

여기서 계산은 간단하게 보면 수학적 계산이라고 생각하면 되고  XOR에 기반한다고 한다. 

 

자세한 건 위키백과를 참고하도록 하자. 

 

https://ko.wikipedia.org/wiki/%EC%88%9C%ED%99%98_%EC%A4%91%EB%B3%B5_%EA%B2%80%EC%82%AC 

728x90