순방향 에러발견으로 데이터 전송 무결성 확인하기

순방향 에러발견의 동작 원리와 패리티 검사, CRC, 체크섬의 특성, FEC와의 차이, 통신·저장 시스템 적용 지점을 정리한다.

2026-08-14 · 최초 발행 2025-08-10

데이터와 함께 보내는 검증 정보

순방향 에러발견(Forward Error Detection)은 전송 도중 오류가 생겼는지 수신 측이 판별하도록 하는 기술이다. 송신 측은 원본 데이터에 에러 검출 코드를 붙여 보내고, 수신 측은 같은 알고리즘으로 계산한 결과와 전송받은 코드를 비교한다.

이 방식은 오류를 찾아낼 수는 있지만 수정하지는 못한다. 현대 데이터 통신과 네트워크에서 신뢰성을 확보하는 기본 메커니즘으로 쓰이는 이유도 여기에 있다.

수신 측전송 채널송신 측수신 측전송 채널송신 측불일치하면 오류 감지원본 데이터에 에러 검출 알고리즘 적용에러 검출 코드 생성데이터와 에러 검출 코드 전송데이터와 에러 검출 코드 수신수신 데이터에 에러 검출 알고리즘 적용에러 검출 코드 계산전송 코드와 계산 코드 비교

검출 방식마다 다른 비용과 범위

패리티 검사

패리티 검사는 가장 단순한 에러 검출 방법이다. 송신 측은 데이터에 패리티 비트를 더해 전체 1 비트의 개수가 홀수 또는 짝수가 되게 만든다. 짝수 패리티는 전체 1 비트 수를 짝수로 맞추고, 홀수 패리티는 홀수로 맞춘다.

단일 비트 오류를 검출하는 데는 효과적이지만 2개 이상의 비트 오류는 탐지하지 못한다.

예시: 데이터 1010101 (1의 개수: 4개)
짝수 패리티 적용: 1010101 + 0 = 10101010 (1의 개수: 4개, 짝수)
홀수 패리티 적용: 1010101 + 1 = 10101011 (1의 개수: 5개, 홀수)

블록 합계 검사

데이터를 블록으로 나누고 각 블록의 합계를 계산해 함께 전송하는 방식이다. 수신 측은 이 합계를 바탕으로 데이터 무결성을 확인한다. 패리티 검사보다 오류 탐지 성능은 우수하지만 계산 복잡도는 높아진다.

CRC

순환 중복 검사(Cyclic Redundancy Check, CRC)는 널리 쓰이는 에러 검출 기법이다. 데이터 비트를 생성 다항식(Generator Polynomial)으로 나눈 나머지를 에러 검출 코드로 사용하며, 구현에는 비트 스트림의 모듈로-2 나눗셈이 이용된다.

CRC-16, CRC-32 등 여러 표준이 존재한다. 여러 비트 오류와 연속된 비트 오류, 흔한 패턴의 오류를 효과적으로 검출할 수 있다.

원본 데이터데이터에 n개의 0 추가생성 다항식으로 모듈로-2나눗셈 수행나머지를 CRC 값으로 사용원본 데이터와 CRC 전송

CRC 계산 예시

데이터: 1101011011
생성 다항식: 10011 (= x^4 + x + 1)

1. 데이터에 생성 다항식 차수만큼(4개) 0 추가: 11010110110000
2. 모듈로-2 나눗셈 수행
3. 나머지: 1110
4. 전송 데이터: 11010110111110

체크섬

체크섬은 데이터를 일정 단위로 나눠 모두 더한 값을 사용하는 방식이다. 예를 들어 16비트 단위로 나눌 수 있으며, IPv4 헤더와 TCP/UDP 헤더에서 주로 사용된다. 계산과 구현이 간단하지만 CRC와 비교하면 오류 검출 성능은 다소 낮다.

체크섬 계산 예시

데이터 블록(16비트): 1010101010101010, 1111000011110000, 1010101111110000
각 블록을 더함: 1010101010101010 + 1111000011110000 + 1010101111110000 = 10000010011101010
캐리 비트 처리(1의 보수): 0000010011101010 + 1 = 0000010011101011
최종 체크섬(1의 보수): 1111101100010100

검출 이후에 남는 문제

오류를 발견했다고 해서 데이터가 복구되는 것은 아니다. 오류가 발생하면 재전송 요청이 필요하고, 그만큼 추가 지연이 생긴다. 다중 비트 오류나 특정 패턴의 오류를 검출하지 못할 가능성도 있으며, 데이터량에 비례해 추가 데이터 오버헤드도 발생한다.

특성 순방향 에러발견(FED) 순방향 에러수정(FEC)
주요 기능 오류 검출만 가능 오류 검출 및 수정 가능
추가 데이터 상대적으로 적음 더 많은 중복 데이터 필요
복잡도 낮음 높음
적용 분야 신뢰성 있는 통신 채널 재전송이 어려운 환경
대표적 기법 패리티, CRC, 체크섬 해밍 코드, 리드-솔로몬, BCH

재전송이 가능한 신뢰성 있는 통신 채널에서는 FED가 적합할 수 있다. 반대로 재전송이 어려운 환경에서는 오류 검출과 수정을 모두 수행하는 FEC가 필요한 경우가 있다.

네트워크와 저장 장치에서의 사용

이더넷 프레임에는 CRC-32 방식이 적용되고, 프레임 끝에는 4바이트 FCS(Frame Check Sequence) 필드가 포함된다. 수신 측은 이를 이용해 프레임 데이터의 무결성을 검증한다.

TCP와 UDP 헤더에는 16비트 체크섬 필드가 있으며, IPv4 헤더 역시 체크섬으로 헤더 정보의 무결성을 검증한다. IPv6에서는 상위 레이어 프로토콜이 에러 검출을 담당하므로 헤더 체크섬이 제거됐다.

하드 디스크와 SSD 같은 저장 장치도 데이터 무결성을 위해 CRC 기법을 적용한다. 파일 시스템 레벨에서도 체크섬 기능으로 데이터를 검증할 수 있다.

선택과 연계 설계가 필요한 지점

기법 선택에는 에러 발생 확률과 시스템 요구사항이 함께 반영돼야 한다. 데이터 중요도와 오버헤드의 균형, 예상되는 에러 패턴, 오류를 발견한 뒤 재전송 메커니즘으로 어떻게 이어질지도 설계 대상이다.

5G 및 6G 통신에서는 고속·대용량 전송을 위한 효율적인 에러 검출 기법이 연구되고 있다. 양자 컴퓨팅 시대를 대비한 새 알고리즘, 저전력 IoT 환경에 맞춘 경량 프로토콜, AI 기반 통신 오류 예측 및 선제 대응 기술과의 융합도 이어지고 있다.

데이터 통신에러 검출CRC체크섬네트워크