GBN   Sliding Window, Sliding Window Protocol, Continuous ARQ, Go Back n ARQ, Go Back N   슬라이딩 윈도우, 윈도우 흐름제어, 연속적 ARQ

(2021-11-03)

rwnd, Receiving Window, 수신 윈도우, cwnd, Congestion Window, 혼잡 윈도우, Windowing


1. 슬라이딩 윈도우 방식 = 연속적 ARQ(Continuous ARQ) = Go Back n ARQ흐름제어를 위한 검출후 재전송 방식(ARQ)의 일종 (혼잡제어도 가능)
     
     - 일정한 윈도우 크기 이내에서 한번에 여러 패킷을 송신하고,
     - 이들 패킷에 대하여 단지 한 번의 ACK 로써 수신 확인을 하며, 
     - 윈도우 크기를 변경시키며 흐름제어(혼잡제어도 가능)를 하는 기법 

     

  ㅇ 슬라이딩 윈도우 방식 주요 용도 
     - TCP, HDLC, 패킷교환(X.25) 등에 널리 이용


2. 슬라이딩 윈도우 동작상 주요 요소

  ㅇ 윈도우 구조 
     - 송신기,수신기 모두에 유사한 윈도우 구조를 유지할 필요 있음
        . 여기서, 가장 중요한 변수버퍼의 여유 용량(윈도우 크기)임

  ㅇ 윈도우 크기 (Window Size) 
     - 한번에 전송할 수 있는 최대 프레임 크기(통상, `바이트 갯수` N)를 의미

     - 수신 윈도우 크기 (rwnd, Receiving Window)  :  수신 버퍼의 여유 용량
        . 수신 윈도우 크기로써 수신측에 의해 결정되어 송신측에 통보됨
           .. 아직 확인응답되지 않았으나, 송신할 패킷 덩어리 크기

     - 혼잡 윈도우 크기 (cwnd, Congestion Window)  :  혼잡 미유발 한계 용량
        . 네트워크 혼잡을 초래하지 않도록 송신율을 제한하는 (송신) 윈도우 크기

  ㅇ 윈도우 크기 알림 (Window Advertizement, Window Update) 기능
     - 수신측에서 송신측에게 얼마나 큰 윈도우 크기를 유지해야 하는지를 알려주는 것

  ㅇ 윈도우 이동
     - 윈도우 시작 위치 (n)


3. TCP 슬라이딩 윈도우 구현 요소TCP 헤더 내 3개 필드(순서번호,승인번호,윈도우 크기)로 구현
     - 통상, 송신측 TCP는 수백 바이트씩 모아 세그먼트 단위로 나누고, 
             윈도우 크기 내에서 1 이상의 세그먼트들을 연속 송신하고는,
             한번의 확인응답을 받게 됨

     

  ㅇ 주요 변수 관리

     - 윈도우 시작 위치에 대한 변수 관리
        . 송신측 : `순서번호`로써 관리
        . 수신측 : `승인번호(확인응답번호)`로써 관리

     - 윈도우 크기 

        . 윈도우 크기는 흐름제어/혼잡제어를 수행하는 수단
           .. 윈도우 크기를 늘리거나 감소시킴으로써, 흐름제어/혼잡제어 수행

        . 윈도우 크기 상한
           .. TCP에서는 윈도우 크기를 TCP 최대 세그먼트 크기(MSS) 보다 크게 할 수 없음

        . 실제 윈도우 크기
           .. 실제 송신 윈도우 크기 = min ( cwnd, rwnd )
           .. 즉, cwnd 및 rwnd 중 작은 값을 취함

        . 흐름제어 (수신측이 주도적으로 rwnd 값 결정)
           .. 수신측은 송신측에게 자신의 가능한 수신 버퍼 상태(rwnd)를 알리는 방법
           .. 수신측은 ACK(확인응답)을 보내면서 현재의 수신 윈도우 크기를 함께 보내게됨

        . 혼잡제어 (네트워크 혼잡 상황에 따라 cwnd 값 결정) ☞ TCP 혼잡제어 참조

재전송 기반
   1. ARQ (검출후 재전송 방식)   2. ACK/NACK (확인응답)   3. 정지대기방식 (Idle ARQ)   4. 연속적 AQR (GBN)  
흐름 제어
   1. 흐름 제어   2. 정지대기방식   3. 슬라이딩 윈도우   4. Piggyback 방식  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"