핵심 인사이트 (3줄 요약)

  1. 본질: SR ARQ는 데이터 링크 계층에서 핵심 동작과 제약을 이해하게 해 주는 개념이다.
  2. 가치: SR ARQ를 이해하면 오류율과 재전송 비용 사이의 균형을 더 정확히 볼 수 있다.
  3. 판단 포인트: 설계 시에는 개념 자체보다 적용 조건, 운영 복잡도, 인접 기술과의 경계를 함께 판단해야 한다.

Ⅰ. 개요 및 필요성

Go-Back-N의 수신기는 바보같이 방이 1개(수신 윈도우 1)밖에 없어서, 2번이 안 오면 3번이 와도 버려야 했습니다. SR(Selective Repeat)은 송신기 윈도우가 N, 수신기 윈도우도 N입니다. 즉 수신기도 커다란 저장 창고(버퍼)를 플렉스(Flex)했습니다.

[상황의 재구성]

  1. 송신기가 0, 1, 2, 3, 4, 5 프레임을 와다다다 쏩니다.
  2. 역시나 2번 프레임이 벼락을 맞아 깨졌습니다.
  3. 뒤이어 멀쩡한 3, 4, 5번 프레임이 수신기에 줄줄이 도착합니다.
  4. 수신기의 유연함: 수신기는 2번이 안 왔지만 3, 4, 5번을 버리지 않습니다! **"음, 2번이 이빨이 빠졌군. 일단 3, 4, 5번은 내 윈도우 버퍼(창고)에 안전하게 킵(저장)해둘게."**라고 판단하고, 송신기에게 콕 집어 NAK 2 (2번만 다시 보내!)를 쏩니다.
  5. 송신기의 핀셋 발사: 송신기는 NAK 2를 받으면, Go-Back-N처럼 2~5를 다 보내는 무식한 짓을 하지 않고, 오직 2번 프레임 딱 한 개만 다시 쏩니다.
  6. 2번이 무사히 도착하면, 수신기는 아까 창고에 모셔둔 3, 4, 5번과 조립해서 0, 1, 2, 3, 4, 5를 예쁘게 위층(네트워크 계층)으로 올려보냅니다.
[GBN ARQ]
    │
    ▼
[SR ARQ]
    │
    └──▶ [NAK]
  • 📢 섹션 요약 비유: SR ARQ는 왜 필요한지 보여주는 교통 규칙 표지판과 같다. 문제가 생긴 배경을 알면 이후 선택도 쉬워진다.

Ⅱ. 아키텍처 및 핵심 원리

가장 완벽해 보이는데 왜 모든 장비가 SR을 안 쓸까요? 하드웨어 엔지니어들이 피를 토하기 때문입니다.

  1. 버퍼 용량 폭발: 수신기에 엄청나게 비싸고 거대한 RAM(메모리 버퍼)이 박혀있어야 합니다. (과거엔 메모리 칩값이 금값이었습니다.)
  2. 순서 재조립(Re-sequencing) 로직 지옥: 수신기에는 프레임이 0, 1, 3, 4, 5, 2 순으로 엉망진창 도착하게 됩니다. 수신기의 CPU는 이 이빨 빠진 배열을 임시로 쥐고 있다가 2번이 오면 원래 순서대로 완벽히 정렬(Sorting)해서 위로 올려줘야 하는 무거운 컴퓨팅 오버헤드가 발생합니다.
  3. 타이머 지옥: 송신기도 프레임 1개당 타이머를 1개씩 수백 개를 켜두고 관리해야 합니다.
[GBN ARQ]
    │
    ▼
[SR ARQ]
    │
    └──▶ [NAK]
  • 📢 섹션 요약 비유: SR ARQ의 내부 원리는 기계의 톱니바퀴처럼 맞물려 돌아간다. 한 부분이 어긋나면 전체 효과가 떨어진다.

Ⅲ. 비교 및 연결

모든 윈도우 프로토콜에는 프레임의 고유 번호(예: 0~7)가 매겨집니다. 만약 쓸 수 있는 번호가 총 $2^n$개라면, SR 방식에서 윈도우의 최대 크기는 반드시 $2^{n-1}$ (즉, 전체 번호의 딱 절반) 이하로 제한되어야 합니다. 만약 윈도우 크기가 절반을 넘어가 버리면, 수신기가 방금 도착한 0번 프레임이 '새로 보낸 0번'인지 '아까 뺑뺑이 돌다 늦게 온 옛날 0번'인지 구별할 수 없는 참사(순서 번호 겹침 버그)가 발생하기 때문입니다.

SR ARQ를 볼 때는 앞뒤 개념과의 경계를 함께 봐야 전체 흐름이 선명해진다. GBN ARQ가 기반 조건을 만든다면, SR ARQ는 그 위에서 핵심 메커니즘을 구현하고, NAK는 이를 더 확장된 적용 단계로 연결한다. 따라서 단일 정의보다 오류율과 재전송 비용에 어떤 차이를 만드는지 비교하는 것이 중요하다.

관점선행 개념현재 개념확장 개념
초점GBN ARQ의 기반 정리SR ARQ의 핵심 동작NAK의 확장 적용
자원 관점기본 조건 확보오류율 최적화규모와 범위 확대
판단 포인트도입 가능성 확인현재 메커니즘의 적합성 판단운영·확장 전략 연결
  • 📢 섹션 요약 비유: ** 선택적 재전송(SR)은 선생님이 학생 5명 숙제 검사를 하다가, 2번 학생이 숙제를 안 해왔을 때 2번 한 명만 교무실 밖으로 내보내어 숙제를 다시 해오라고 시키는 **'합리적 개인 책임'**입니다. 멀쩡히 숙제를 다 해온 3, 4, 5번 학생들은 억울하게 공책이 찢어지지 않고 교무실 소파(버퍼)에서 편안하게 대기하다가, 2번 친구가 숙제를 마저 해오면 그때서야 5명이 다 같이 집에 돌아가는(위 계층으로 올라가는) 이상적인 시스템입니다.

Ⅳ. 실무 적용 및 기술사 판단

실무에서는 SR ARQ를 단독 개념으로 외우기보다 어떤 병목을 줄이기 위한 선택인지 먼저 따져야 한다. 특히 GBN ARQ 수준의 기본 대책으로 충분한지, 아니면 SR ARQ가 제공하는 메커니즘이 실제로 필요한지 구분해야 한다. 이후 확장 단계에서는 NAK와 같은 후속 기술, 자동화 체계, 표준 호환성까지 함께 검토해야 한다.

실무 체크리스트

  1. 현재 문제의 핵심이 오류율 부족인지, 재전송 비용 악화인지 먼저 분리한다.
  2. SR ARQ가 추가하는 복잡도와 운영 이득이 균형을 이루는지 확인한다.
  3. 도입 후에는 인접 기술인 NAK와의 연계 방식을 함께 검증한다.

안티패턴

  • SR ARQ의 장점만 보고 트래픽 패턴이나 운영 비용을 무시한 채 과도 도입하는 설계

  • GBN ARQ와의 경계를 정리하지 않아 중복 투자나 정책 충돌을 만드는 설계

  • 📢 섹션 요약 비유: SR ARQ를 실제로 쓰는 판단은 도구 상자를 고르는 일과 비슷하다. 좋아 보이는 도구보다 지금 문제에 맞는 도구가 중요하다.


Ⅴ. 기대효과 및 결론

SR ARQ는 데이터 링크 계층을 이해할 때 핵심 축을 잡아 주는 개념이다. 올바르게 적용하면 오류율 개선과 구조적 단순화에 기여하지만, 조건을 잘못 잡으면 오히려 복잡도와 운영 부담이 커질 수 있다. 앞으로는 NAK, 고신뢰 저지연 링크 제어, 자동화 운영과의 결합을 통해 더 정교하게 발전할 가능성이 크다. 따라서 이 개념은 정의 자체보다 “언제 쓰고 언제 다른 방법으로 넘길 것인가”의 관점으로 기억하는 것이 좋다. 향후에는 고신뢰 저지연 링크 제어 같은 자동화 흐름과 결합되어 더 정교한 형태로 확장될 가능성이 크다.

  • 📢 섹션 요약 비유: SR ARQ는 큰 흐름 속에서 기억해야 오래 남는다. 지금의 장점과 다음 확장 방향을 같이 보면 전체 그림이 선명해진다.

📌 관련 개념 맵

개념연결 포인트
GBN ARQ현재 개념이 등장하기 전에 갖춰야 할 배경이나 인접 선행 개념이다.
프레이밍 (Framing)비트열을 의미 있는 전송 단위로 구분한다.
오류 제어 (Error Control)검출과 복구 정책을 함께 설계해야 한다.
NAK현재 개념이 확장되거나 적용 단계로 이어질 때 자주 함께 언급된다.

📈 관련 키워드 및 발전 흐름도

[선행 개념: GBN ARQ]
    │
    ▼
[현재 개념: SR ARQ]
    │
    ├──▶ [확장 A: NAK]
    └──▶ [확장 B: 고신뢰 저지연 링크 제어]

SR ARQ는 GBN ARQ에서 출발해 현재 메커니즘을 정교화하고, 이후 NAK와 고신뢰 저지연 링크 제어 같은 확장 흐름으로 이어진다고 보면 기억이 오래간다.

👶 어린이를 위한 3줄 비유 설명

  1. 편지를 보낼 때 봉투를 제대로 닫고 틀린 글자가 없는지 확인해야 해요.
  2. 이 개념은 편지가 깨지거나 사라졌을 때 다시 보내는 규칙까지 정해줘요.
  3. 그래서 중간에 흔들려도 중요한 내용이 더 안전하게 도착해요.