Logo wiki

순환 중복 검사 (CRC)

March 4, 2025
2 min read
Table of Contents
index

네트워크를 통해 데이터를 전송할 때, 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식을 말합니다.

통신시스템에서 물리계층에 가까울수록 직렬데이터를 사용하는 경향이 있어 하드웨어 계산방식을 사용합니다. 이런 경우 순환 중복 검사는 비트단위의 입력에 대한 출력을 얻습니다. 논리 회로를 만들면 간단해질 수 있습니다.

물리 계층에서 직렬 데이터를 쓰는 이유는 주로 선 하나로 멀리 데이터를 보내야 하기 때문에 간섭이 적고 구조가 간단한 직렬 방식이 유리하기 때문입니다.

높은 계층으로 갈수록 병렬 데이터(octet 단위, 8비트)를 사용하기 때문에 소프트웨어적 접근으로 주로 바이트 단위로 계산합니다.

순환 중복 검사는 결국 비트단위 입력에 대한 각 비트별 XOR 연산이므로 한 바이트 계산도 소프트웨어적 고속계산에 한계가 있습니다. 이런 경우 주로 미리 계산을 한 테이블 형태를 사용합니다.


참고 링크