[데이터통신]오류제어 기법 :패리티 검사,crc 오류검출

뚱환·2023년 4월 11일
0
post-thumbnail

데이터 통신시 전송되는 프레임에는 다음과 같은 현상이 발생할 수 있습니다.

-프레임 상실: 프레임이 수신 측에 도착하지 못하여 프레임이 상실될 수 있습니다.
-프레임 지연: 프레임이 너무 늦게 도착할 수도 있습니다.
-프레임 손상: 프레임이 손상되어 수신 측에 도착할 수 있습니다.
-프레임의 순서 바뀜과 잘못된 배달: 프레임이 송신한 순서와 다르게 프레임들이
도착할 수도 있으며, 목적지가 아닌 곳에 프레임이 잘못 도착되는 상황이 발생할 수도 있습니다.

이때 프레임에 손상된 경우에는 오류를 검출하여 송신 측에 재전송을 요청하거나
수신 측이 자체적으로 오류를 정정하여야 합니다.

이때 사용되는 오류제어에는

-오류무시
-패리티 검사
-crc코드
-convolutional code

기법들이 있습니다.

패리티 검사

오류 검출 기법 중 하나입니다.
1차원 패리티검사와 2차원 패리티 검사가 있습니다.

1차원 패리티 검사는 패리티 비트가 1일시 실제 전송되는 data의 1의 비트의 수가 짝수이면 오류 없음 홀수개가 될 시 오류발견입니다.

반대로 홀수 패리티 비트일 시 0으로 실제 데이터의 1의 개수가 홀수개가 되면 pass 아닐시 오류입니다.


2차원 패리티 검사는 비트의 블럭이 테이블(행&열)로 구성이 됩니다.

2차원 패리티 검사를 사용시 폭주오류의 검출 가능성을 대폭 증가시킵니다.
n비트의 중복비트는 n비트의 폭주오류를 쉽게 검출할 수 있고
n비트 이상의 폭주오류 또한 매우 높은 확률로 검출이됩니다.

crc 오류 검출(순환중복검사)

순환중복검사(crc:cyclic Redundancy Check) 줄여서crc는 정확하게 오류 검출을 하기 위해 다항식 코드를 사용하는 방법입니다.

crc는 집중적으로 발생하는 버스트(burst) 오류를 검출할 수 있는 능력이 있으며,
가장 보편적으로 사용되는 오류 검출 코드입니다.
crc는 프레임의 오류를 검사하는 비트 시퀀스이므로 프레임검사 시퀀스(fcs: Frame Check Sequence)라고도 합니다. crc는 hdlc 비트위주 프로토콜의 오류검출 기법으로도 사용이 됩니다.

crc코드는 소프트웨어 혹은 하드웨어로 구현할 수 있으며, crc를 생성하기 위해서는
생성 다항식이 필요합니다.
송신 측은 n+k(crc비트)를 생성 수신측은 받은 crc코드로 오류가 있는지 없는지 비교합니다.

profile
알고리즘 ps1년간 밀린 문제리뷰 올리는중 https://github.com/lixxce5017/Algoritm_Weekly_Baekjoon

0개의 댓글