수신 측에서는 송신 측에서 보낸 정보를 기초로 에러를 검사하여 자체 정정하거나 송신 측에 재전송을 요청한다.
FEC(전진 에러 수정) | ARQ(검출 후 재전송) | |
---|---|---|
장점 | ① 수신 측에서 에러를 정정할 수 있다. ② 재전송을 하지 않아 대역폭 관리에 효율적이다. | ① 수신 측 정보에 에러정정부호를 삽입할 필요가 없으므로 구현이 간단하다. ② 프레임에 FCS만 붙는다. |
단점 | ① 에러정정부호의 삽입으로 프레임의 크기가 커진다. ② 구현이 어렵다. | ① 수신 측이 자체 에러정정을 못한다. ② 재전송에 드는 대역폭 손실이 크다. |
송신 측에서 보내고자 하는 정보 이외에 별도의 잉여 데이터(에러 제어 코드)를 보내면 수신 측에서 잉여 데이터를 검사하는 방식으로 에러 검출을 한다.
개념
한 블록의 끝에 패리티 비트를 추가하여 오류를 검출한다.
홀수 패리티 방식과 짝수 패리티 방식으로 구분한다.
홀수 패리티 사용 예시 ( 전송하고자 하는 데이터 : 1101001 )
① 1의 개수를 홀수로 하기 위해 패리티 비트를 1로 지정
② 패리티 비트에 추가한 최종 전송 데이터 : 11101001
③ 수신 측은 패리티 비트를 포함한 데이터 내에서 1의 개수를 세어 홀수인지 판단
④ 홀수가 아니면 재전송을 요청
패리티 검사 단점
개념
1비트 패리티의 검사 방식의 단점을 보완 -> 오류의 검출 및 정정까지도 수행
이차원의 패리티 검사 방식으로서 각 비트를 가로와 세로로 두 번 관찰한다.
검사의 복잡도를 증가시키고 연집 에러(집단적 오류)를 검출할 가능성을 높여준다.
블록 합 검사 구현 예시(짝수 패리티 사용)
개념
방식
① 보내려고 하는 메세지 값에 최고차수를 곱하고 그 값을 생성 다항식으로 나눈다.
② 결과로 나온 나머지 값으로 오류를 판정한다.
부호화 과정
CRC 구현 예시 1
CRC 구현 예시 2
개념
해밍비트는 어디에 삽입될까?
① 해밍 비트는 2n에 삽입된다.
② 나머지 비트엔 원래 데이터 비트를 넣어준다.
③ 그 후 패리티 체킹을 해준다.
패리티 체킹 방법 : 비트 구성열을 이용
실제 수신된 체크 비트에 XOR 연산을 하여 오류를 해결한다.