개요
LRC(Longitudinal Redundancy Check)는 데이터 전송 중 발생할 수 있는 오류를 검출하기 위해 사용되는 수평 패리티 기반의 오류 제어 방식입니다. VRC(Vertical Redundancy Check)와 반대되는 개념으로, **열 방향(컬럼 기준)**의 패리티 비트를 생성하여 오류를 검출합니다. VRC와 함께 사용되면 이중 오류 검출 체계를 구성할 수 있어 신뢰성을 강화할 수 있습니다.
1. 개념 및 정의
LRC는 여러 개의 데이터 행(row)을 열 방향으로 비교하여 각 열의 1의 개수에 따라 패리티 비트를 생성하고, 이를 별도의 **패리티 행(Row)**에 추가합니다. 이렇게 만들어진 블록은 수신 측에서 동일한 방식으로 계산된 LRC와 비교되어 오류 여부를 판단하게 됩니다.
2. 특징
구분 | 설명 | 비고 |
열 방향 오류 검출 | 각 열마다 1의 개수를 기준으로 패리티 계산 | 수직 방향으로 오류 감지 |
블록 기반 처리 | 데이터 블록 단위로 처리 가능 | 대용량 데이터에도 적합 |
VRC와 결합 가능 | 수직+수평 오류 검출 | 이중 검출 체계 구축 가능 |
LRC는 단일 비트 오류뿐 아니라 특정 형태의 다중 오류까지도 검출할 수 있어, 데이터 무결성을 한층 강화할 수 있습니다.
3. 구성 요소
구성 요소 | 설명 | 예시 |
데이터 블록 | 여러 행으로 구성된 데이터 | 예: 4x8 비트 행렬 |
LRC 비트 | 각 열의 패리티를 계산해 생성한 비트 | 예: LRC 행 추가 |
전송 프레임 | 데이터 행 + LRC 행 | 수신 측에서 재계산 후 비교 |
예: 각 열의 1의 개수를 기준으로 홀수/짝수 판단 후, 전체 행렬의 마지막에 해당하는 열 패리티 비트를 LRC로 삽입합니다.
4. 기술 요소
기술 요소 | 설명 | 활용 |
XOR 연산 | 열 단위의 비트 비교 및 패리티 계산에 활용 | 빠른 연산 가능 |
2차원 오류 검출 | VRC + LRC 구조로 행/열 오류 모두 탐지 | 블록 오류, 버스트 오류 검출에 유리 |
전송 프레임 포맷 | LRC 추가로 총 1행 증가 | 데이터 정렬 필요 |
LRC는 단독 사용보다는 VRC와 병행하여 2차원 오류 검출 체계를 구성할 때 더 강력한 오류 감지 능력을 발휘합니다.
5. 장점 및 이점
장점 | 설명 | 효과 |
블록 오류 검출 | 열 단위의 다중 오류까지 검출 가능 | 데이터 무결성 향상 |
구조적 단순성 | 패리티 계산 방식이 직관적 | 임베디드 환경에 적합 |
처리 효율성 | 행별 VRC와 병합 시 강력한 감지 기능 | 통신 오류 최소화 |
LRC는 시스템 복잡도 증가 없이 추가적인 오류 검출 능력을 부여하며, 특히 버스트 오류와 같은 연속된 오류에 대해 강력한 보완책이 될 수 있습니다.
6. 주요 활용 사례 및 고려사항
분야 | 활용 예시 | 고려사항 |
블록 기반 통신 시스템 | 메시지 단위 전송 시 LRC 삽입 | 동기화 정확도 필요 |
고신뢰 센서 네트워크 | VRC+LRC로 이중 검출 체계 구성 | 실시간 처리 여부 확인 |
산업용 프로토콜 | MODBUS 등에서 LRC 사용 | 타임아웃 및 재전송 설계 병행 |
LRC는 MODBUS ASCII 프로토콜에서 널리 사용되며, 오류 발생 시 재전송을 통해 데이터 정확도를 보장합니다.
7. 결론
LRC는 단순하면서도 유효한 블록 기반 오류 검출 방식으로, 특히 VRC와의 결합을 통해 신뢰성 높은 통신 체계를 구현할 수 있습니다. 고속 통신이나 실시간 센서 네트워크에서도 널리 사용될 수 있으며, 전체 시스템의 데이터 무결성을 유지하는 데 중요한 역할을 합니다.
'Topic' 카테고리의 다른 글
Stop-and-Wait ARQ (0) | 2025.04.19 |
---|---|
흐름제어(Flow Control) (0) | 2025.04.18 |
VRC(Vertical Redundancy Check) (0) | 2025.04.18 |
체크섬(Check Sum) (0) | 2025.04.18 |
CRC(Cyclic Redundancy Check) (0) | 2025.04.18 |