Network
[Network] Go-Back-N Automatic Repeat reQuest (ARQ)
Bangii
2023. 8. 10. 16:09
Go-Back-N ARQ의 기본 개념:
Go-Back-N ARQ는 sliding window 기반의 에러 제어 방식입니다. 전송 측에서는 N개의 프레임을 연속적으로 보낼 수 있지만, 수신 측에서는 오직 순서대로만 프레임을 수신받을 수 있습니다. 만약 중간에 하나라도 프레임이 손실되면, 그 이후의 프레임들은 모두 무시되고, 전송 측에서는 손실된 프레임부터 다시 전송하게 됩니다.
동작 방식:
- 전송 측:
- N개의 프레임을 연속적으로 전송할 수 있으며, 각 프레임에는 고유한 순번이 부여됩니다.
- 전송한 프레임에 대한 확인 응답(ACK)을 기다립니다.
- 수신 측:
- 순서대로 프레임을 수신받을 수 있습니다.
- 올바르게 수신받은 프레임에 대해 ACK을 전송합니다.
- 잘못된 순번의 프레임을 수신받게 되면, 해당 프레임과 그 이후의 프레임들을 무시하고, 마지막으로 올바르게 수신된 프레임의 ACK만을 재전송합니다.
- 재전송:
- 전송 측에서는 ACK를 일정 시간 내에 받지 못하면, 해당 프레임과 그 이후의 모든 프레임을 재전송합니다.
장단점:
- 장점:
- 구현이 비교적 간단하다.
- 오류가 발생한 경우, 오류 지점부터 다시 전송하기 때문에 효율적이다.
- 단점:
- 오류가 발생하지 않았더라도, 순서에 맞지 않는 프레임은 모두 무시하기 때문에, 이러한 불필요한 재전송이 발생할 수 있다.
결론:
Go-Back-N ARQ는 sliding window 기반의 에러 제어 방식 중 하나로, 특정한 환경에서는 매우 효율적으로 동작할 수 있습니다. 그러나 그 특성상 순서에 민감하여 불필요한 재전송이 발생할 수 있다는 점을 고려하여 사용해야 합니다.