스물두줄

정보관리기술사 · 클라우드 및 인프라

CRC 순환 중복 검사

CRC는 데이터 뒤에 나머지 검사값을 붙여 보내는 오류 검출 방식이다. 수신측은 같은 나눗셈을 해서 나머지가 0이면 오류가 없다고 본다. 패리티나 합산보다 연속된 여러 비트의 오류를 잘 찾아낸다. CRC는 데이터워드 뒤에 n개의 0을 붙이고 G(x)로 나눈다. 나머지…

주요 장면

  1. 0:02 CRC의 정의
  2. 0:20 다항식 나눗셈 원리
  3. 0:47 계산 예제
  4. 1:22 정답과 비교
  5. 1:48 정리

대본

CRC의 정의

CRC는 데이터 뒤에 나머지 검사값을 붙여 보내는 오류 검출 방식이다.

수신측은 같은 나눗셈을 해서 나머지가 0이면 오류가 없다고 본다.

패리티나 합산보다 연속된 여러 비트의 오류를 잘 찾아낸다.

다항식 나눗셈 원리

CRC는 데이터워드 뒤에 n개의 0을 붙이고 G(x)로 나눈다.

나머지 R(x)를 뒤에 붙이면 전체가 G(x)의 배수가 된다.

수신측은 배수 여부만 확인하면 된다. 나머지가 0이면 수용한다.

계산 예제

예로 데이터 1011010과 디바이더 1101을 생각해 보자.

디바이더가 4비트이므로 차수는 3이고, 데이터 뒤에 0을 3개 붙인다.

모듈로-2 뺄셈인 XOR 나눗셈을 끝까지 하면 남은 3비트가 CRC 값이다.

그래서 송신 길이는 데이터 7비트와 CRC 3비트를 합한 10비트가 된다.

정답과 비교

정답은 3비트다. 디바이더 차수 3이 CRC 길이를 정한다.

헷갈리기 쉬운 점은 일반 나눗셈과 섞는 것이다. CRC는 XOR로 나눈다.

패리티와 비교하면 연속 다중비트 오류 검출은 CRC가 강하다.

CRC는 검출만 한다. 정정은 재전송 ARQ와 결합해 이루어진다.

정리

정리하자. CRC는 나머지 검사값으로 전송 오류를 찾아내는 기법이다.

송신측은 0을 붙여 나눈 나머지를 FCS로 데이터 뒤에 붙인다.

수신측은 나머지가 0이면 정상으로 받고, 아니면 재전송을 요청한다.

같은 장의 영상