티스토리 뷰
패리티 (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이 아니면 오류가 있는 것으로 판단.
'cs > network' 카테고리의 다른 글
[네트워크/network] MAC/LAN 계층, IEEE 802 시리즈 (0) | 2021.03.28 |
---|---|
[네트워크/network] 검사합(checksum) 방법 (0) | 2021.03.28 |
[네트워크/network] 문자 프레임, 비트 프레임, 스터핑 (0) | 2021.03.28 |
[네트워크/network] 오류 제어 (0) | 2021.03.26 |
[네트워크/network] 데이터 전송 방식(멀티포인트 통신) (0) | 2021.03.26 |