[네트워크] 슬라이딩 윈도우 프로토콜

Yoon Uk·2023년 4월 19일
0

네트워크

목록 보기
15/34
post-thumbnail
post-custom-banner

슬라이딩 윈도우란?

슬라이딩 윈도우 프로토콜(Sliding Window Protocol)은 데이터 통신에서 사용되는 흐름 제어 기법 중 하나입니다.
슬라이딩 윈도우 프로토콜은 송신자와 수신자가 각각 윈도우라는 버퍼를 가지고 있으며, 윈도우의 크기에 따라 한 번에 보낼 수 있는 패킷의 개수가 결정됩니다.
슬라이딩 윈도우는 윈도우의 크기를 동적으로 조절하면서 효율적인 패킷 전송을 가능하게 합니다.

동작 과정

  1. 송신자는 윈도우의 크기만큼 패킷을 전송하고, 각 패킷에 순서 번호를 부여합니다.

  2. 수신자는 패킷을 받으면 순서 번호에 따라 자신의 윈도우에 저장하고, 가장 작은 순서 번호를 가진 패킷부터 상위 계층으로 전달합니다. 또한 송신자에게 ACK(acknowledgement) 메시지를 보내어 받은 패킷을 확인합니다.

  3. 송신자ACK 메시지를 받으면 자신의 윈도우를 오른쪽으로 이동시키고, 새로운 패킷을 전송합니다. ACK 메시지가 오지 않은 패킷은 타이머를 설정하여 일정 시간이 지나면 재전송합니다.

  4. 수신자는 자신의 윈도우를 왼쪽으로 이동시키면서 상위 계층으로 전달할 수 있는 패킷을 찾습니다. 만약 순서대로 받지 못한 패킷이 있으면 NAK(negative acknowledgement) 메시지를 보내어 재전송을 요청합니다.

장점과 단점

장점

  • 윈도우의 크기를 동적으로 조절하여 네트워크 상황에 맞게 효율적인 패킷 전송을 할 수 있습니다.
  • 순서 번호와 ACK/NAK 메시지를 통해 오류 제어와 흐름 제어를 동시에 수행할 수 있습니다.

단점

  • 윈도우의 크기가 너무 작으면 네트워크 대역폭을 충분히 활용하지 못하고, 너무 크면 네트워크 혼잡이 발생할 수 있습니다.
  • 송신자와 수신자의 윈도우 크기가 일치하지 않으면 비효율적인 패킷 전송이 발생할 수 있습니다.
post-custom-banner

0개의 댓글