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 방식  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"