![Go Back N ARQ](https://q-a.kr/wp-content/uploads/2025/02/8-5.png)
Go Back N ARQ, 전송 제어 프로토콜 중 하나로, 수신 측에서 오류가 발생했을 경우 오류가 발생한 패킷 이후의 모든 패킷을 재전송하는 방식입니다. 이는 슬라이딩 윈도우(sliding window) 기법을 활용하여 여러 개의 패킷을 한 번에 전송할 수 있도록 설계되었습니다.
Go-Back-N ARQ의 동작 원리
Go-Back-N ARQ는 송신자(sender)와 수신자(receiver) 간의 상호작용을 기반으로 작동합니다. 다음은 동작 방식의 주요 요소입니다.
슬라이딩 윈도우
-
송신자는 윈도우 크기(window size, N) 만큼의 패킷을 연속해서 전송할 수 있습니다.
-
수신자는 올바르게 수신한 패킷에 대해 ACK(Acknowledgment, 확인 응답)을 송신자에게 보냅니다.
오류 발생 시 동작
-
송신된 패킷 중 하나라도 손실되거나 오류가 발생하면, 수신자는 해당 패킷의 ACK을 보내지 않습니다.
-
송신자는 일정 시간이 지나도록 ACK을 받지 못하면, 마지막으로 올바르게 수신된 패킷 이후의 모든 패킷을 재전송합니다.
동작 예시
예를 들어, 윈도우 크기가 4(N=4)인 경우를 가정해보겠습니다.
-
송신자는 패킷 1, 2, 3, 4를 전송합니다.
-
수신자는 패킷을 정상적으로 받으면 ACK 1, ACK 2, ACK 3, ACK 4를 보냅니다.
-
만약 패킷 2가 손실되었다면, 수신자는 ACK 1까지만 보낼 수 있습니다.
-
송신자는 일정 시간 후 패킷 2에 대한 ACK이 도착하지 않으면, 패킷 2부터 4까지 다시 전송합니다.
장점과 단점
장점
✅ 연속 전송 가능: 슬라이딩 윈도우 기법을 사용하여 하나의 패킷이 확인될 때까지 기다릴 필요 없이 여러 패킷을 연속적으로 보낼 수 있습니다.
✅ 단순한 구현: Selective Repeat ARQ보다 구현이 간단하여 많은 네트워크 프로토콜에서 사용됩니다.
단점
❌ 불필요한 재전송 발생: 한 개의 패킷에 오류가 발생하면 이후의 모든 패킷을 재전송해야 하므로 비효율적인 경우가 많습니다.
❌ 대역폭 낭비 가능성: 오류가 자주 발생하는 환경에서는 불필요한 재전송으로 인해 네트워크 자원을 낭비할 수 있습니다.
활용 사례
Go-Back-N ARQ는 다양한 네트워크 환경에서 활용됩니다.
-
TCP(Transmission Control Protocol): 일부 버전의 TCP에서는 Go-Back-N과 유사한 메커니즘을 활용하여 데이터 전송의 신뢰성을 보장합니다.
-
위성 통신 및 무선 네트워크: 높은 오류 확률을 가지는 환경에서 신뢰성을 유지하는 데 사용됩니다.
-
데이터 링크 계층 프로토콜: HDLC(High-Level Data Link Control) 및 일부 WAN 프로토콜에서 오류 제어를 위해 Go-Back-N이 사용됩니다.
결론
Go-Back-N ARQ는 네트워크에서 신뢰할 수 있는 데이터 전송을 보장하는 중요한 프로토콜입니다. 연속적인 전송이 가능하고 구현이 간단하다는 장점이 있지만, 오류 발생 시 불필요한 재전송이 일어날 수 있다는 단점도 존재합니다. 따라서 네트워크 환경과 요구사항에 맞게 적절한 오류 제어 기법을 선택하는 것이 중요합니다.
이번 글에서는 Go-Back-N ARQ의 개념과 동작 방식, 장단점 및 활용 사례에 대해 설명했습니다. 추가적으로 Selective Repeat ARQ와의 비교도 궁금하시다면 댓글로 남겨주세요!
[…] Go-Back-N ARQ (Automatic Repeat reQuest) is a fundamental protocol in reliable data transmission, leveraging a sliding window technique to manage packet flow between sender and receiver. In this article, we will focus exclusively on the detailed operation of Go-Back-N ARQ. […]
[…] Go Back N ARQ 총정리 […]