흐름제어와 오류제어

혯승·2023년 1월 31일

HTTP

목록 보기
2/4

흐름제어와 오류제어

흐름제어(Flow Control)

: 수신자로부터 확인응답을 받기 전까지 얼마나 많은 데이터를 전송할 수 있는지 알려주는 일련의 절차

2개의 버퍼(buffer) 사용

  • 패킷을 저장할 수 있는 메모리의 집합
  • 하나는 송신 데이터 링크 층에서 사용
  • 다른 하나는 수신 데이터 링크 층에서 사용

오류제어(Error Control)

: 손상된 패킷을 수신 노드로 전달하는 것을 방지하기 위함.

  • 자동 반복 요구(ARQ) : 오류가 확인된 순간 해당 프레임을 재전송하는 것.

프로토콜 종류

🔈잡음 없는 채널

: 프레임 손실(loss)도 없고, 중복되지 않으며, 손상되지도 않는 이상적인 채널
ex) 데이터가 전송되다가 사라지거나, 똑같은 데이터가 2개 이상 전송되거나, "1011"이 담긴 데이터를 보냈는데 "1001"이 도착하는 경우가 없는 상황

  • 오류제어 없음 : 손실되지도 중복되지도 손상되지도 않기 때문에 필요없음
  1. 단순 프로토콜(simple protocol) : 오류제어, 흐름제어 X
  2. 정지 후 대기 프로토콜(Stop and Wait protocol) : 오류제어 X

단순 프로토콜(simple protocol)

: 흐름 제어나 오류제어를 하지 않는 프로토콜

  • 단방향
  • 송신측이 단순히 수신측으로 계속 보냄

정지 후 대기 프로토콜(Stop and Wait protocol)

: 송신자가 한 개의 프레임을 전송한 후에 수신자로부터 확인응답(ACK)을 받을 때까지 기다린 후에 다음 프레임 전달.(하나 보내고 정지)

  • 흐름 제어 있음 : 전송한 후 확인응답을 받기 전까지 전송할 수 없음.

🔊잡음 있는 채널

: 오류 제어를 사용하는 세 개의 프로토콜

  • ARQ(Automatic Repeat Request) : 재전송
  1. 정지-후-대기 ARQ (Stop-and-Wait ARQ)
  2. N-복귀 ARQ (Go-Back-N ARQ)
  3. 선택적 반복 ARQ (Selective repeat ARQ)

정지-후-대기 ARQ (Stop-and-Wait ARQ)

  • 오류제어 : 전송된 프레임의 사본을 보관하고 있다가 타이머가 만료되면 해당 프레임을 다시 전달. (일정 시간동안 ACK를 받지 못하면 사본을 재전송)

  • 순서 번호를 프레임에 부여하여 사용. (순서번호는 모듈러-2 연산 기반)

  • 확인응답 번호는 다음에 받기를 기대하는 프레임의 번호.


N-복귀 ARQ (Go-Back-N ARQ)

: 전송 효율을 높이기 위해 확인응답을 기다리는 동안 여러 개의 프레임을 전송하는 방식

  • 순서번호 : 0 ~ 2m - 1

슬라이딩 윈도우 (sliding window)

: 송신자와 수신자에게 필요한 순서 번호의 범위를 지정하는 추상적인 개념

  • 송신 미닫이 창 (send sliding window) : 송신자에게 필요한 범위
    → 현재 전송할 수 있는 데이터 프레임의 순서 번호가 들어있음.

  • Go-Back-N ARQ 송신 미닫이 창의 크기 : 2m - 1
    Sf : 1번째 미해결 프레임
    Sn : 전송할 다음 프레임
    Ssize : 창의 크기, ACK를 받지 않고도 최대로 전송할 수 있는 프레임 수

  • 수신 미닫이 창 (receive sliding window) : 수신자가 필요한 범위
    → 데이터 프레임이 정확하게 수신되었고 정확한 확인응답을 전송했는지 확인.

  • Go-Back-N ARQ 수신 미닫이 창의 크기 : 1 (Rn)


N-복귀 ARQ의 창 크기
: 송신 창의 크기는 2m보다 작고 수신 창의 크기는 항상 1

  • 누적 응답 가능 : 하나의 프레임이 들어올 때마다 ACK를 보내는 것이 아니라 ex) 프레임 3까지 받고 ACK 0을 보내도됨.

  • 수신창의 크기는 1이기 때문에 Rn과 전송된 프레임이 맞지 않다면 수신하지 않음. (ACK를 보내지 않음)

선택적 반복 ARQ (Selective Repeat ARQ)

: 전체 N개의 프레임을 전달하는 대신 손상된 프레임만 전송하는 방식

  • 잡음이 많은 채널에서 효율적

  • 수신자 측의 처리절차가 복잡해짐 (N-복귀 ARQ는 수신 창의 크기가 1이기 때문에 수신할 데이터 순서번호와 도착한 프레임 순서 번호만 비교하여 번호가 틀리다면 거부하면 됨, 하지만 선택적 반복 ARQ는 여러 개의 프레임을 받고, 도착하지 않은 프레임의 번호만 골라 송신 측에 재전송을 요청해야함.순서대로 오지 않아도됨.)

  • 선택적 반복 ARQ의 송신과 수신 창 (수신 창 주목!!!!!!)

  • 받지 못한 프레임은 NAK(부정응답)을 보냄

선택적 반복 ARQ의 창 크기
: 송신 창과 수신 창의 크기는 최대 2m의 절반(2m-1)

0개의 댓글