개요
Sliding Window(슬라이딩 윈도우) 기법은 데이터 통신에서 흐름 제어와 오류 제어를 동시에 수행하는 핵심적인 메커니즘입니다. 송신자와 수신자 간 데이터 전송 과정에서 윈도우라는 논리적 범위를 설정하여 연속적인 프레임 전송과 확인 응답(ACK)을 효율적으로 처리할 수 있도록 합니다. TCP, ARQ, HDLC 등 다양한 통신 프로토콜에 필수적으로 적용되는 기술입니다.
1. 개념 및 정의
Sliding Window는 송신자와 수신자가 각각 일정 범위 내에서 프레임을 관리하며 데이터를 주고받는 방식으로, 정해진 윈도우 크기만큼 데이터를 전송한 뒤 ACK를 기다리며 윈도우를 ‘슬라이딩’시켜 다음 데이터를 전송하는 구조입니다.
이 방식은 불필요한 대기 시간을 줄이고, 수신자의 처리 능력에 맞춰 전송을 조절하는 흐름 제어와, 재전송 및 오류 검출을 포함한 오류 제어를 통합적으로 제공합니다.
2. 특징
구분 | 설명 | 비고 |
연속 전송 | 여러 프레임을 ACK 없이 전송 가능 | 채널 활용도 향상 |
유동적 윈도우 크기 | 수신 상태에 따라 윈도우 조절 | TCP에서 동적 조절 지원 |
효율적 재전송 | 누락 프레임만 선택적 재전송 가능 | Selective ARQ와 연계 가능 |
슬라이딩 윈도우는 전송 지연이 큰 환경에서도 채널을 최대한 활용하면서도 신뢰성을 확보할 수 있는 방식입니다.
3. 구성 요소
구성 요소 | 설명 | 예시 |
송신 윈도우 | 전송 가능한 프레임 범위 | 예: 프레임 0~3 (윈도우 크기=4) |
수신 윈도우 | 수신자가 수용 가능한 프레임 범위 | 수신 버퍼 기준 |
시퀀스 번호 | 각 프레임의 고유 번호 | 범위: 0 ~ (2^k - 1) |
ACK/NACK | 수신 확인 및 오류 알림 신호 | 누락 시 재전송 트리거 |
송신자는 ACK를 수신함에 따라 윈도우를 전진시키고, 수신자는 순서와 무결성을 기준으로 ACK를 송신합니다.
4. 기술 요소
기술 요소 | 설명 | 활용 |
정적 vs 동적 윈도우 | 고정 크기 또는 상황에 따라 조절 | TCP는 윈도우 크기 조절 기능 포함 |
누락 프레임 감지 | 시퀀스 번호 비교를 통해 감지 | Selective Repeat ARQ에서 중요 |
ACK 누락 대비 | 타임아웃 후 재전송 | Stop-and-Wait보다 효율적 |
Sliding Window는 다양한 ARQ 방식에서 핵심이 되는 구조로, 오류 제어와 흐름 제어의 기반을 제공합니다.
5. 장점 및 이점
장점 | 설명 | 효과 |
전송 효율 증가 | 여러 프레임을 연속 전송 가능 | 대기 시간 감소 |
안정적 흐름 제어 | 수신 버퍼 상태에 맞춰 조절 가능 | 오버플로 방지 |
유연한 오류 복구 | 부분 재전송으로 자원 절약 | Selective ARQ 연계 시 극대화 |
Sliding Window는 고속 통신 환경에서 안정성과 효율성을 동시에 제공할 수 있는 구조적 기반을 형성합니다.
6. 주요 활용 사례 및 고려사항
분야 | 활용 예시 | 고려사항 |
TCP/IP 프로토콜 | 윈도우 크기 기반 흐름 및 혼잡 제어 | 네트워크 부하 감안 필요 |
무선 통신 | 이동통신에서 윈도우 제어 적용 | 지연 및 손실율 반영한 설정 필요 |
위성 통신 | 고지연 환경에서도 효율적 전송 가능 | 타임아웃 전략 정교화 필요 |
TCP의 윈도우 크기 조절은 Sliding Window 기반으로 구현되며, 네트워크 혼잡 및 수신 성능에 따라 유동적으로 작동합니다.
7. 결론
Sliding Window는 네트워크 프로토콜 설계에 있어 효율적인 흐름 제어 및 오류 제어의 핵심 구성 요소입니다. 프레임을 유연하게 관리하고 재전송을 최소화하여 전송 효율성을 높이며, 다양한 ARQ 기법 및 TCP 등 주요 프로토콜에 핵심 기술로 적용됩니다. 네트워크 품질 향상과 자원 최적화를 위해 반드시 이해하고 활용해야 할 필수 개념입니다.
'Topic' 카테고리의 다른 글
혼잡회피(Congestion Avoidance) (0) | 2025.04.19 |
---|---|
혼잡제어(Congestion Control) (0) | 2025.04.19 |
H-ARQ(Hybrid Automatic Repeat reQuest) (0) | 2025.04.19 |
Adaptive ARQ (0) | 2025.04.19 |
Selective Repeat ARQ (0) | 2025.04.19 |