ℹ️ 자료 정리
ℹ️ 굣님 요약 정리
🔁 Automatic Repeat Request (ARQ) 정리
✅ ARQ의 기본 개념
항목 | 내용 |
ARQ의 목적 | 오류가 있는 프레임을 송신 측에서 재전송하여 신뢰성 확보 |
신뢰성 전송 (reliable transmission) | 손실 없음 + 순서 보장 + 중복 없음 |
ARQ의 유형 | Backward Error Correction (BEC) 방식 – 재전송 기반 |
프레임 손실 감지 방법 | TX: Timeout RX: Out-of-order 수신 (Sliding Window에서만 가능) |
✅ ARQ 유형별 비교
항목 | Stop-and-Wait ARQ | Sliding Window : Go-Back-N ARQ | Sliding Window : Selective Reject ARQ |
ACK 종류 | ACK0, ACK1 (Positive only) | RR (Receive Ready), REJ (Reject) | RR, SREJ (Selective Reject) |
Negative ACK | ❌ 없음 | ✅ REJ 사용 | ✅ SREJ 사용 |
시퀀스 번호 | 1bit (0/1 alternation) | k-bit, 번호 반복 (mod 2ᵏ) | k-bit, 번호 반복 (mod 2ᵏ) |
Send Window Size | 1 | 2ᵏ – 1 | 2ᵏ⁻¹ |
Receive Window Size | 1 | 1 | 2ᵏ⁻¹ |
타이머 | 프레임 단위 1개 (global) | oldest unACKed 프레임 1개만 | 각 프레임 개별 타이머 |
재전송 대상 | 하나 | REJ 이후 모든 프레임 | 오류 난 프레임만 |
수신 버퍼 요구량 | 매우 작음 | 작음 | 큼 (out-of-order 저장 필요) |
적합 환경 | 단순 링크, 단거리 | 중간 정도 품질의 링크 | 지연 크거나 오류율 높은 링크 (예: 위성 통신) |
✅ 주요 질문 & 개념 설명
● Q: 왜 Stop-and-Wait에서는 ACK0/ACK1이 필요한가?
ACK이 손실된 경우, 송신자가 같은 프레임을 재전송했을 때
수신자가 중복인지 아닌지 구분하려면 시퀀스 번호(0/1)가 필요함.
● Q: GBN에서 REJ5는 무슨 의미인가?
“프레임 5부터 다시 전송하라”는 뜻
→ 즉, F5, F6, F7… 모두 재전송 (Go back to F5 and resend)
● Q: Selective Reject는 왜 윈도우 크기를 2ᵏ⁻¹ 이하로 제한해야 하나?
송신자가 재전송할 수도 있는 프레임 번호와
수신자가 새로 기대하는 프레임 번호가 겹치지 않아야 함
● Q: Selective Reject이 GBN보다 적합한 환경은?
RTT가 길거나 대역폭이 좁고 오류율이 높은 환경
→ 예: 위성 통신
→ 이유: GBN은 오류 하나로 여러 프레임 재전송, SR은 정확히 필요한 것만 재전송