티스토리 뷰

728x90

패리티 (Parity)

- 1 바이트 = 7 비트 ASCII 코드 + 1 비트 패리티
- 짝수 패리티: 1의 개수가 짝수가 되도록 패리티를 지정
- 홀수 패리티: 1의 개수가 홀수가 되도록 패리티를 지정
- 송신 호스트와 수신 호스트는 동일한 패리티 방식을 사용해야 함

 

 

 

블록 검사(Block Sum Check) 
- 짝수개의 비트가 깨지는 오류를 검출
- 수평, 수직 방향 모두에 패리티 비트를 지정

 

 

 

다항 코드(Polynomial Code) 방식
(CRC(Cyclic Redundancy Code)코드 또는 FCS(Frame Check sequence)라고도 함)
- 생성 다항식
ex: 다항코드 100101 = 생성 다항식 x^5 + x^2 + 1

 

- FCS
전송 데이터와 생성 다항식을 이용하여 계산
- 송신 호스트: “전송 데이터 + FCS”을 수신 호스트에게 전송
- 수신 호스트: “전송 데이터 + FCS”을 생성 다항식으로 나누어 결과를 확인
- 나머지가 0 이면 전송 오류가 없는 경우
- 나머지가 0 이 아니면 전송 오류가 있는 경우

 

나머지 값 계산 과정에서는 덧셈의 자리 올림이나 뺄셈의 자리 빌림이 생략된 모듈로-2 방식을 사용

즉, 배타적 논리합(Exclusive OR) 연산과 동일(두 수가 같으면 0, 두 수가 다르면 1)

 

FCS 코드 작성의 예
- 생성 다항식 G(x) = x5 + x2 + 1
- 전송 데이터: 101101001

 

생성 다항식이 5차이므로 나머지 값은 5비트가 나올 것임.

따라서 전송 데이터 뒤에 5개의 0을 추가 한 후(10110100100000), 생성 다항식(100101)과 나눔.

이 때 나온 나머지 값(00010) = FCS 값

송신 호스트는 전송 데이터(101101001)에 나머지 값(00010)을 추가한 10110100100010을 수신 호스트에게 보냄

수신 호스트는 받은 데이터(10110100100010)를 다시 생성 다항식(100101)으로 나눠 나머지 값을 확인.

이 때 나머지 값이 0이면 오류가 없는 것이고, 나머지 값이 0이 아니면 오류가 있는 것으로 판단.

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함