네지덤

  1. 네트워크
    1. 네트워크

    2. 네트워크 기출문제

TCP/IP 흐름제어

개념
- 데이터 패킷을 전송할 때 수신 한도를 넘는 과잉 패킷의 입력으로 패킷 분실이나 로크 업(lock up)이 일어나지 않도록 패킷의 흐름 양을 조절하는 것 - 망패킷 교환망에서 송수신 단말의 속도 차나 교환망의 트래픽 상황 등에 의해 생기는 정체를 피하기 위해 망에 유입되는 패킷을 제어하는 것

I.  TCP 흐름제어(Flow Control) 개요

 가. TCP 흐름제어의 정의

  •  데이터 패킷을 전송할 때 수신 한도를 넘는 과잉 패킷의 입력으로 패킷 분실이나 로크 업(lock up)이 일어나지 않도록 패킷의 흐름 양을 조절하는 것
  •  망패킷 교환망에서 송수신 단말의 속도 차나 교환망의 트래픽 상황 등에 의해 생기는 정체를 피하기 위해 망에 유입되는 패킷을 제어하는 것
  •  

II. TCP/IP 흐름제어 종류

 

  가. Stop and Waiting Flow Control

  •  수신자가 에러 체크 후 에러가 있으면 에러 난 데이터부터 하나씩 다시 받는 방식

 

 나. 슬라이딩 윈도우(Sliding window)

  •  흐름제어를 수행하기 위하여 TCP가 사용하는 프로토콜
  •  수신 측에서 제대로 수신한 바이트에 대한 확인 응답을 전송할 때마다 버퍼의 범위가 한꺼번에 미끄러지듯이 이동
  •  호스트는 각 연결마다 하나의 윈도우 이용. 여기서 윈도우란 한 호스트가 다른 호스트로부터 확인을 수신하기 전에 전송할 수 있는   버퍼의 범위를 말함

 

 

  •  슬라이딩 윈도우 매커니즘

구분

내용

윈도우의 개념

- 하나의 호스트가 데이터 전송을 위해서 전송측 혹은 수신측 양쪽에서 사용하는 버퍼

- 윈도우 내부의 데이터는 ACK를 받지 않아도 즉시 전송이 가능한 데이터

윈도우의 열림 동작

- 수신 측으로부터 ACK가 도착하여 윈도우의 오른쪽 경계가 오른쪽으로 이동함

- 더 많은 데이터의 전송 가능 : 윈도우의 크기가 커져서 그만큼 ACK와 무관하게 데이터를 전송할 수 있기 때문

윈도우의 닫힘 동작

- 데이터(바이트)가 전송되어, 윈도우의 왼쪽경계가 오른쪽으로 이동함

- 이는 일부의 데이터가 ACK를 받았음을 의미. 전송 측은 이 데이터에 대해서는 더 이상 관여할 필요가 없다는 것

윈도우의 크기

- 수신 측 윈도우(rwnd, receiver window)와 혼잡 윈도우(cwnd, congestion window)의 크기 중 작은 값으로 결정

- 수신측 윈도우 : ACK를 포함하고 있는 세그먼트를 사용하여 상대방에게 알림

- 혼잡 윈도우 : 혼잡 상태가 발생하지 않도록 네트쿼크에서 결정하는 값

 

 

  •  윈도우 크기는 수신 측 윈도우와 혼잡 윈도우 값을 비교하여 작은 값으로 결정
  •  윈도우 크기를 결정하기 위해 수신 측 윈도우(rwnd)와 혼잡 윈도우를 사용

 

댓글