본문 바로가기
CS/Network

[네트워크] 오류 제어(Error Control)

by 테리는당근을좋아해 2020. 6. 26.

오류제어

전송된 데이터의 오류를 검출/정정하는 기법

 

1) FEC(Forword Error Control)

- 수신측에서 오류를 스스로 검출/정정할 수 있는 방법

- 송신 시 오류 복구를 위한 잉여 비트를 추가

 

(1) 해밍코드

- 수신측에서 오류가 발생한 비트를 찾아 직접 수정

- 1비트의 오류 수정 가능

 

(2) 상승코드

- 여러 개의 비트 오류가 있어도 한계 값, 순차적 디코딩을 이용해 모두 수정 가능

 

2) BEC(Backword Error Control)

- 전송된 데이터에 오류가 발생할 경우(오류 검출), 재전송을 요청에 오류를 수정하는 방식(오류 수정)

 

(1) 오류 검출

- Parity Check

- CRC

- Checksum

 

(2) 오류 수정

- Stop and Wait ARQ

- Go Back N ARQ

- Selective Repeat ARQ

- Adaptive ARQ

 

 

ARQ(Automatic Repeat reQuest)

- 수신 측에서 수신한 정보에 오류가 있을 경우, 송신측에 재전송을 요청해 오류를 제어하는 방식

 

1) Stop and Wait ARQ

- 송신측에서 한 개의 프레임을 전송한 후 수신 측으로부터 응답을 기다리는 기법

- 구현이 간단

- 프레임을 전송할 때마다 응답을 기다리므로 전송 효율이 낮음

 

2) Go Back N ARQ

- 오류가 난 지점부터 전송한 지점까지 모두 재전송하는 기법

- 수신측에서 NAK을 보내면 송신측이 오류가 발생한 이후의 프레임을 모두 재송신

- 전송오류가 발생하지 않으면 쉬지 않고 송신 가능

- 중복전송의 단점

 

3) Selective-Repeat ARQ(SR ARQ)

- 여러 프레임을 연속적으로 전송하고, 수신측에서 NAK을 보내면 송신측에서는 오류가 난 부분의 프레임만 재전송

- 수신측에서는 오류가 발생할 경우, 해당 프레임을 재전송받을 때까지, 이후의 프레임을 버퍼에 담아놨다가 재조립하는 과정이 필요

 

4) Adaptive ARQ

- 전송 효율을 최대로 하기위해 데이터 프레임의 길이를 동적으로 변경

- 수신측은 오류 발생률을 판단해 송신측에 통보

- 송신측은 오류 발생률에 따라 프레임 길이를 동적으로 조절

- 효율이 좋음

- 많은 비용 발생

 

 

 

 

댓글