반응형
1. 패리티 비트(Parity Bit)
- 가장 단순한 방식으로, 데이터 끝에 임의의 1비트를 추가하여 전체 "1"의 개수를 홀수나 짝수로 맞춤
- 짝수 패리티(Even Parity) : 데이터 내의 1의 개수를 짝수가 되도록 비트를 추가
- 홀수 패리티(Odd Parity) : 데이터 내의 1의 개수를 짝수가 되도록 비트를 추가
- 한계 : 2개의 비트가 동시에 변하면 오류를 찾을 수 없어 단순한 통신에만 사용됨

2. 체크섬(Checksum)
- 데이터를 일정 단위(보통 16비트)로 나누어 모두 더한 값을 전송, 주로 TCP/IP 계층에서 사용하는 방식
- 데이터를 다 더한 뒤, 그 합의 1의 보수를 취해 체크섬 필드에 넣어 송신
- 수신자가 데이터를 다시 더 했을 때, 모든 비트(기존 비트 + 1의보수)가 1(0xFFFF) 이 나오면 정상으로 판단
- 구현이 쉬워 소프트웨어적으로 처리하기 좋지만, 비트의 순서가 바뀌는 등 정교한 오류는 추적 불가

3. 순환 중복 검사(CRC, Cyclic Redundancy Check)
- 데이터를 다항식으로 간주하고 나눗셈을 이용한 방식, 현대 네트워크에서 가장 많이 사용하는 방식
- 데이터를 미리 약속된 생성 다항식으로 나누고 이때 발생하는 나머지 값을 데이터 뒤에 붙여 보냄
- 수신자가 전체 데이터를 같은 다항식으로 나누고 전송받은 나머지 값을 빼기했을 때 0이면 오류가 없는 것
- 하드웨어로 구현하기 매우 바르며, 연속적인 비트 오류도 완벽하게 잡아냄

4. 해밍 코드(Hamming Code)
- 데이터 비트 사이사이에 여러 개의 체크 비트를 배치하여 오류가 발생한 위치(인덱스)를 계산하고, 교정까지 가능
- 2의 거듭제곱 번째 자리에서 체크용 비트를 끼워 놓음
- 1부터 시작하는 비트 번호를 사용하며, 2^n (1, 2, 4, 8, 16) 번째 자리를 패리티 비트(P)로 예약
- 각 패리티 비트는 자신이 담당하는 데이터 비트들의 짝수/홀수 상태를 감시. 감시 대상은 비트 번호를 이진수로 바꿨을 때의 자릿수로 결정
- 1번 자리: 2^0 =1 (P1), 이진수 끝자리가 1인 모든 자리를 감시(1, 3, 5, 7)
- 2번 자리: 2^1 =2 (P2), 이진수 둘째 자리가 1인 모든 자리를 감시 (2, 3, 6, 7)
3번 자리: 데이터 (D1) - 4번 자리: 2^2 =4 (P3), 이진수 셋째 자리가 1인 모든 자리를 감시 (4, 5, 6, 7)
- 5번 자리: 데이터 (D2)
- 6번 자리: 데이터 (D3)
- 7번 자리: 데이터 (D4)
- 짝수 패리티나 홀수 패리티로 검사했을 때, 틀린 부분의 패리티 번호를 모두 더하면 오류가 발생한 인덱스가 나옴
- P1과 P2 에서 오류가 난다면, 1 + 2 = 3번 비트에서 오류 발생
- 재전송이 어려운(ECC 메모리, 인공위성 통신) 등에서 사용

반응형
'IT Dictionary > Network' 카테고리의 다른 글
| IPSec(IP Security Protocol) (0) | 2025.12.29 |
|---|---|
| 세션 계층(Session Layer) 정리 (0) | 2024.12.02 |
| 전송 계층(Transport Layer) 정리 (2) (Feat. UDP, RTP) (0) | 2024.11.24 |
| 전송 계층(Transport Layer) 정리 (1) (Feat. TCP) (0) | 2024.11.21 |
| 네트워크 관리사 라우터 문제 대비 (0) | 2023.08.24 |