슬라이딩 윈도우 #

슬라이딩 윈도우는 알고리즘에서도 유명합니다만, 네트워크의 TCP 통신에서도 사용되는 기술입니다.

사용 목적 #

  • 데이터 통신에서 흐름 제어, 혼잡 제어를 위해 사용됩니다.
  • TCP에서 주로 사용됩니다.
  • 네트워크의 효율성과 신뢰성을 높이는데 중요한 역할을 합니다.

원리 #

슬라이딩 윈도우를 이루는 두가지 주요한 개념은 윈도우와 슬라이딩입니다.

  1. 윈도우: 송신자가 한 번에 전송 가능한 데이터의 양을 나타냅니다. 송신자가 수신자의 응답인 ACK없이 보낼 수 있는 데이터 패킷의 최대 수를 가리킵니다.

  2. 슬라이딩: 데이터 전송이 성공하고 수신자로부터 ACK가 돌아오면, 송신자는 데이터를 슬라이드하여 더 많은 데이터를 전송합니다.

이는 연속적인 데이터 스트림을 효율적으로 관리할 수 있게 합니다.

사용목적 > 흐름제어 #

  • 송신자와 수신자 간의 조정: 송신자가 한 번에 너무 많은 데이터를 보내 수신자를 압도하지 않도록 조정합니다.

  • 윈도우 크기의 조절: 수신자의 버퍼 크기와 처리 능력에 따라 윈도우 크기를 조절됩니다. 수신자는 송신자에게 현재 처리 가능한 데이터 양을 알려줍니다.

사용목적 > 혼잡제어 #

  • 네트워크의 혼잡도를 감지해 전송 속도를 조절합니다.
  • 윈도우 크기를 동적으로 조절, 네트워크의 혼잡을 줄여 성능을 개선합니다.