본문 바로가기
about COMPUTER/네트워크

# 14. 데이터 링크 제어 프로토콜(2) / 오류 제어

by saniii 2020. 11. 6.

[ 데이터 링크 제어 프로토콜(2) - 오류 제어 ]

 

 

 

# 오류 제어 Error Control

 

오류를 감지하고 수정하는 메커니즘

 

두 가지 유형의 오류

      Lost frame : 다른 쪽에 frame이 도착하지 않음

     Damaged frame : 인식가능하지만 frame의 몇 bit가 전송 중 변경됨

 

자동 반복 요청

     Error detection

        : 오류 검출 하고 폐기

     Positive acknowledgment

        : 오류'없이' 수신된 frame에 대한 응답을 송신 측에 전송

     Retransmission after timeout

        : 설정된 시간 안에 확인 응답이 오지 않으면 해당 frame 재전송 

     Negative acknowledgement and retransmission

        : 오류가 검출된 프레임을 송신 측에 이르고(알리고) 그 frame을 재전송하도록 함

 

 

 

 

# 자동 반복 요청(ARQ)

 

오류 제어 메커니즘의 집합적 이름

 

신뢰할 수 없는 데이터 링크를 신뢰할 수 있는 링크로 바꾸는 ARQ의 효과

 

ARQ 버전은 다음과 같다.

        Stop-and-wait ARQ

        Go-back-N ARQ

        Selective-reject (repeat) ARQ

 

GBN, SR: 연속 ARQ

 

 

 

 

Stop-and-wait ARQ (중지 및 대기 ARQ)

 

정지 및 대기 흐름 제어 기준

 

• 하나의 프레임을 전송하고 ACK를 기다림 

   - 확인 응답 도착 전까지 다른 frame 재전송 불가능 

 

수신된 프레임이 손상된 경우 폐기

 

시간 제한 내에 ACK가 없을 경우 프레임 재전송

   - 따라서 송신 측은 ACK 받기 전까지 frame 사본을 확보하고 있어야함

 

ACK가 손상된 경우 송신기가 인식하지 못함

   - 송신기 재전송 예정

 

수신기 프레임 중복(2부) 획득 방지 방법

   >> 솔루션 : 프레임에 01(ACK1 ACK0)으로 번갈아 레이블 지정

 

• 단순하지만 비효율적인 메커니즘

 

>>> 제대로 frame 수신 시 ACK를 전송하지만 아니라면 응답을 하지 않음

       따라서, time out으로 넘어가 frame 재전송하게 됨

 

Stop-and-Wait Diagram  

 

 

# Go-Back-N ARQ

 

• 오류 이하의 모든 frame을 다시 재전송한다.

 

가장 일반적으로 사용되는 오류 제어

 

sliding window flow control

 

창을 사용하여 미결 프레임 수 제어

 

오류가 없을 경우, ACK는 평소와 같이 다음 프레임 번호가 예상됨

 

오류 발생 시 ReJ(Reject)로 회신 (음의 확인 응답)

 

오류 프레임이 올바르게 수신될 때까지 수신기가 해당 프레임과

  향후 들어오는 모든 프레임을 폐기함 -> time out 발생 -> 송신측 재전송

 

송신기는 오류로 난 해당 프레임과 모든 후속 프레임을 재전송해야 함

 

Go-Back-N 다이어그램  

 

 

 

# Selective-reject ARQ (선택적 거부 ARQ)

• 에러난 frame만 재전송

 

• 거리가 너무 멀 때 주로 사용

 

거부(SREJ) 또는 제한 시간 프레임만 재전송됨

 

후속 프레임이 수신기에 의해 수용되고 버퍼링됨

장점

     ∘ 재전송량 최소화

 

단점

     ∘ 수신기는 큰 버퍼 공간을 유지하여야 함

     ∘ 송신기 및 수신기의 더욱 복잡한 논리

 

전파 지연이 긴 위성 링크에 유용

 

Selective-reject 다이어그램

 

 

 

 

 

 

 

 

 

 

 

 

댓글