GBN vs SR

랄라콥스·2024년 10월 11일

comnet

목록 보기
1/5

계속 공부하며 업데이트 할 것

둘의 타임아웃 차이

근데 이게 윈도우 조정 방식을 곁들인

ACK를 받지 못하면 송신 측에서 타임아웃이 발생하고, 해당 패킷을 재전송하게 됩니다. 하지만 Go-Back-N (GBN)Selective Repeat (SR)에서 재전송 방식과 윈도우 조정 방식이 다릅니다.

1. Go-Back-N (GBN)에서의 재전송과 윈도우 조정

GBN에서 송신자는 타임아웃이 발생하면 send_base부터 그 이후의 모든 패킷을 다시 재전송합니다. 예를 들어, 패킷 1, 2, 3을 보냈는데 패킷 2에 대한 ACK를 받지 못하면, 송신자는 2, 3을 모두 재전송합니다.

윈도우 조정은 별도로 일어나지 않습니다. 타임아웃이 발생할 때까지 윈도우는 그대로 유지되고, 송신자는 재전송 후에 다시 ACK를 기다리게 됩니다. 즉, 윈도우는 고정된 크기를 유지하고, 재전송 시에도 그 크기 안에서 전송됩니다. 패킷이 올바르게 ACK될 때까지 윈도우의 경계(send_base)는 이동하지 않습니다.

2. Selective Repeat (SR)에서의 재전송과 윈도우 조정

SR에서는 타임아웃이 발생한 개별 패킷만 재전송됩니다. 예를 들어, 패킷 1, 2, 3을 보냈는데 패킷 2에 대한 ACK를 받지 못하면, 패킷 2만 재전송하고, 패킷 3에 대한 ACK는 그대로 인정됩니다.

SR에서도 윈도우 크기 자체는 고정되어 있지만, ACK가 도착할 때마다 send_base가 앞으로 이동하고, 새 패킷을 보낼 수 있는 공간이 생깁니다. ACK가 순서대로 오지 않아도 각각의 패킷을 개별적으로 관리하기 때문에, 타임아웃이 발생한 패킷만 재전송되고 윈도우는 계속해서 움직입니다.

요약

  • GBN에서는 ACK를 못 받으면 타임아웃이 발생한 패킷과 그 이후의 모든 패킷을 재전송하며, 윈도우는 고정된 크기로 유지됩니다.
  • SR에서는 ACK를 못 받은 개별 패킷만 재전송하며, 윈도우도 그에 맞춰 유동적으로 움직입니다.

따라서 GBN 방식에서 윈도우는 재전송 시점에 조정되지 않고, ACK가 순차적으로 도착해야 윈도우가 앞으로 이동합니다.

타이머 작동

1. Go-Back-N (GBN)의 타이머 동작 방식

  • GBN에서는 하나의 타이머만 존재하며, 이 타이머는 send_base에 해당하는 가장 먼저 전송된 패킷에 대해 돌아갑니다.
  • 타임아웃이 발생하면, send_base부터 윈도우 안에 있는 모든 패킷을 재전송합니다.
  • 만약 그 이전에 ACK를 받으면, send_base가 앞으로 이동하고, 타이머는 다시 새로 설정됩니다.

즉, GBN은 윈도우 내의 첫 번째 패킷에 대한 타이머 하나만 사용합니다. 송신 측은 send_base부터 ACK를 받지 못한 패킷들을 재전송하게 되고, ACK가 순서대로 도착할 때만 윈도우가 움직이며 타이머도 다시 설정됩니다.

2. Selective Repeat (SR)의 타이머 동작 방식

  • SR에서는 각 패킷마다 개별적인 타이머가 설정됩니다. 즉, 윈도우 안의 모든 패킷에 대해 각각의 타이머가 존재하게 됩니다.
  • 각 패킷은 독립적으로 타임아웃이 설정되며, 타임아웃이 발생한 패킷만 재전송됩니다.
  • ACK를 받으면 해당 패킷의 타이머가 종료되고, 그 다음 패킷들은 계속 자신의 타이머에 따라 관리됩니다.

SR에서는 윈도우 크기만큼의 타이머가 동시에 돌아가게 됩니다. 각 패킷이 독립적으로 재전송되기 때문에, 개별 패킷의 타이머가 중요합니다.

요약

  • GBN: 윈도우 내에서 오직 하나의 타이머send_base에 대해 동작합니다. 타임아웃이 발생하면 send_base부터 모든 패킷을 재전송합니다.
  • SR: 각 패킷마다 개별 타이머가 동작하며, 타임아웃이 발생한 개별 패킷만 재전송됩니다. 윈도우 크기만큼의 타이머가 동시에 작동할 수 있습니다.

이 차이가 두 프로토콜의 효율성과 복잡도 차이를 만듭니다. GBN은 구현이 상대적으로 간단하지만, 재전송 비용이 크고, SR은 복잡하지만 효율적인 재전송을 할 수 있는 방식입니다.

profile
일단 책을 피자

0개의 댓글