개요

개념 데이터링크 계층에서(네트워크 상에서) 프레임 단위로 전송 중 발생하는 오류를 검출·수정하여 데이터의 무결성과 신뢰성을 확보하는 기법
개념도

 

종류

가. 전진오류수정 (FEC, Forward Error Correction)

개념

송신 시 정정용 중복비트를 함께 전송하여, 수신 측이 오류를 직접 수정하는 방식
종류 Block-Code 해밍코드
(Hamming Code)
1비트 오류 정정, 2비트 오류 검출
(기본적 오류정정 방식, ARQ등 재전송이 어려운 원거리 통신에 적합)
RS 코드
(Reed-Solomon Code)
랜덤오류, 연집오류 정정에 강함
(여러 비트가 몰아서 깨지는 경우에 강함)
Non-Block-Code 길쌈 코드
(Convolutional Code)
현재 비트와 과거 비트를 함께 이용해 정정
(지금 들어온 비트, 이전 비트까지 같이 보면서 오류를 판단)
터보 코드
(Turbo Code)
매우 높은 오류정정 성능 제공
(길쌈코드 고도화, 오류잘잡아서 이동통신에 많이 사용되었음)

 

나. 후진오류수정 (BEC, Back Error Correction)

개념


수신 측이 오류를 검출하면 ACK/NACK 및 타이머를 이용해 재전송을 요청하는 방식
종류 오류검출
(검출만!)
패리티 검사
(Parity Check)
데이터의 끝에 한 비트를 추가하여 1의 개수로 오류 유무 판단
• 짝수 패리티(Even Parity) : 1의 전체 개수가 짝수개가 되게 함
• 홀수 패리티(Odd Parity) : 1의 전체 개수가 홀수 개가 되게 함
순환중복 검사 (CRC) 이진 나눗셈 연산 및 XOR 연산을 기반으로 오류검출하는 방식
블록합 검사
(Block Sum)
이차원 패리티 검사, 가로와 세로로 두 번 검사
검사합 검사
(Check Sum)
전송 데이터들 합으로 검사값을 생성하여 전송하고, 수신 측이 동일한 연산을 수행하여 오류 유무 판별
오류정정
ARQ, Automatic Repeat reQuest)
Stop-and-Wait ARQ 송신 측이 한 프레임씩 전송한 후 ACK를 받을 때까지 대기하는 방식
Go-Back-N ARQ 송신 측이 여러 프레임을 연속 전송하고, 특정 프레임에서 오류가 발생하면 그 프레임 이후의 모든 프레임을 다시 전송하는 방식
Selective Repeat ARQ 오류가 발생한 해당 프레임만 선택적으로 재전송하는 방식
H-ARQ(Hybrid ARQ) ARQ와 FEC를 결합하여, 일부는 스스로 정정하고 부족한 경우 재전송을 통하이브리드 오류제어 기법

 

[ARQ 비교]

구분 Stop-and-Wait ARQ Go-Back-N ARQ Selective Repeat ARQ
전송 단위 1프레임씩 여러 프레임 연속 여러 프레임 연속
오류 발생 시 해당 프레임 재전송 오류 프레임 이후 전부 재전송 오류 프레임만 재전송
수신 버퍼 거의 불필요 거의 불필요 필요
구현 복잡도 가장 낮음 보통 가장 높음
전송 효율 낮음 높음 가장 높음
재전송 낭비 적음 가장 적음
적합 환경 단순·저속망 일반 고속망 고속·고효율망

 

[FEC, ARQ 비교]

구분 FEC ARQ
기본 원리 여분의 정정코드를 붙여 수신 측에서 복원 오류 검출 후 송신 측에 재전송 요구
오류 처리 수신 측이 직접 수정 송신 측이 다시 전송
재전송 필요 불필요 필요
지연시간 짧음 상대적으로 김
대역폭 사용 중복비트 증가로 대역폭 많이 사용 재전송 시 대역폭 증가
구현 복잡도 높음 비교적 낮음
신뢰성 제한된 범위 내 정정 가능 높은 신뢰성 확보 가능
적합 환경 위성통신, 실시간 통신, 방송 일반 데이터통신, 양방향 통신

 

 

+ Recent posts