Flow Control   흐름 제어

(2020-12-13)

1. 흐름 제어 (Flow Control)

  ㅇ 송신측이 수신측의 처리속도 보다 더 빨리 데이타를 보내지 못하도록 제어해 주는 것
     - 수신측에서 송신측 발송 데이타의 양이나 속도를 제한 (송신측을 억제하는 형태)
        . 이를위해 수신측에서 데이터 넘침을 송신측에 통보하는 피드백 메커니즘 필요

  ㅇ 한편, 이를 `속도 조절(pacing)`이라고도 함 (송신,수신의 속도를 일치시키는 것)


2. 흐름제어 방식의 구분

  ㅇ 송신제어 방식        ☞  정지대기방식 (Stop and Wait)
     - 한번에 1개씩 수신확인하며 프레임전송하는 방식
        . 링크상에서 보내고자하는 데이터프레임 길이 보다 긴 경우에는 비효율적임

  ㅇ 전송률 기반 흐름제어 (Rate-based)
     - 데이터 송신률에 대한 임계값 관리에 의한 흐름제어

  ㅇ 윈도우 기반 흐름제어 (Window-based)   ☞  Sliding Window
     - 여러 개의 프레임을 동시에 보내고자하는 기법
        . 기타 윈도우 방식 : 크레디트(Credit) 윈도우 방식, 페이징(paging) 윈도우 방식


3. 통신계층별 흐름제어 방식의 특징데이터링크 계층에서, 흐름제어
     - 데이터 링크의 송수신 양단 간에 송신율 및 수신율의 균형을 맞춤

  ㅇ 망 계층에서, 흐름제어
     - 통신망 종류에 따라, 흐름제어 기능 제공을 할 수도 안할 수도 있음

     * IP계층에서 흐름제어 방식
        . IP계층에서는 명시적인 흐름제어 기능이 없음
        . 그 상위계층(즉, 전송계층)에서 흐름제어 기능을 제공함
        . 다만, IP계층에서는 송수신 버퍼 정도의 기능은 제공하게됨

  ㅇ 전송 계층에서, 흐름제어
     - 단일 데이터 링크 간이 아닌, 전송계층 종단-대-종단 간에 흐름제어 기능을 수행함
     
     * 전송계층 상에서의 흐름제어는 구현이 복잡       ☞ TCP 혼잡제어 참조
        . 전송지연이 매우 가변적이므로,
        . 링크계층 처럼 단순한 재전송(시간만료) 메커니즘을 사용하기 어려움

     * [참고] ☞ 트래픽제어 흐름제어 혼잡제어 비교 참조



Copyrightⓒ   차재복 (Cha Jae Bok)