[네트워크 목차]

흐름제어(Flow Control)

[하위] 슬라이딩 윈도우(sliding window) 알고리즘

[연관] 네이글 알고리즘(Nagle's Algorithm)

 

 

1. 수신을 고려한 송신 패킷 제어, 흐름제어의 개요

 개념

  • 수신 한도를 넘는 과잉 패킷 발송 방지를 통해 패킷의 전송량을 조절하는 전송속도 제어 기법
  • 데이터 패킷 전송시 패킷 손실 및 과도 수신 방지를 위한 데이터 패킷 조절 기술

 흐름제어 필요성

  • 프레임 손실 방지 : 수신자의 여유 버퍼 크기만큼만 전송
  • 속도 조절(Pacing) : 수신측에서 송신측에게 데이터 양과 속도 전달(송신, 수신의 속도 일치화)
  • 자원한계 : 수신측의 처리 속도와 메모리 한계 존재

2. 흐름제어 기법 유형

      - 이외 전송률 기반 흐름제어(Rate-Based) 방식 존재, 송신 전송률 지정하여 초과되지 안도록 제어, 스트리밍, 브로드캐스트, 멀티캐스트 전달에 사용

 

(1) Stop and Wait

  • 개념 : 데이터 전송 후 수신측의 ACK 확인 후 다음 데이터 전송 기법
  • 특징 : ACK, NAK, 단순하나 전송 효율 저하
  • 절차 : 1개 프레임 전송 -> 수신측 에러 판단 -> 에러시 NAK, 정상시 ACK 발송 -> 다음 프레임 발송

 

(2) Sliding Window

  • 개념 : 수신측에서 설정한 윈도우 크기만큼 송신측에서 확인 응답없이 전송할 수 있게 하여 흐름을 동적으로 조절하는 제어 알고리즘
  • 특징 : 열림(수신 ACK 도착 후 오른쪽 경계 우측 이동), 닫힘(전송 후 왼쪽 경계 우측 이동), 축소(오른쪽 경계가 좌측으로 이동)
  • 동작절차_1

  • 동작절차-2         

                            오타(?) 261 -> 251                 

단계 설명
1
  1. 송신측에서 seqNo 전달
  2. 수신측 서버 버퍼 할당, rwnd 크기 설정
2
  1. 다음 수신 Data 번호(ackNo), 가용 rwnd 전달
  2. 송신측 버퍼 크기 설정
3
  1. ackNo부터 50bytes 세그먼트 Data 전송
  2. 수신 시 rwnd Close, 가용 윈도우 축소
4
  1. 수신 피드백, 다음 수신 ackNo, rwnd 전달
  2. 수신 확인 시 송신 윈도우 Close
5
  1. 수신측 프로세스에 의해 정보 Consumed
  2. 수신측, 송신측 윈도우 Open

 

3. 어리석은 윈도우 신디롬(Silly Window Syndrome)

    - 슬라이딩 윈도우 동작시 낮은 생성(송신측)/소비(수신측)으로 인한 전송 효율 감소 현상

    - 해결 방안 

      . Nagle's Algorithm : 송신 측 방안 : 첫 데이터 발송 후 응답 수신 또는 최대 크기까지 누적 후 송신

      . Clark's Solution : 수신 측  방안 : 절반 이상 공간 확보 전까지는 rwnd :0 발송 또는 응답 지연 

 

     

  1. [답안] 흐름제어 필요성, TCP 흐름제어기법, Silly window syndrome(2교시)

'메가노트 > 토픽과제(정리)' 카테고리의 다른 글

WFQ(Weighted Fair Queuing)  (2) 2022.08.27
ARQ방식3가지  (0) 2022.08.27
MPLS-TP vs IP-MPLS  (0) 2022.08.27
FHSS/DSSS  (0) 2022.08.27
네트워크(Network) 주소(이상희 부장님)  (0) 2022.08.27

+ Recent posts