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

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

Ⅰ. 개요 및 필요성

수신기가 데이터를 받았을 때 CRC 검사를 해보고 에러가 났습니다. 이때 수신기의 행동 패턴은 두 가지입니다.

  1. 소극적 무시 (암묵적 거절): 에러가 났으니 그 데이터를 휴지통에 버리고 아무 말도 안 하고 가만히 있는 방식입니다. (송신기는 답장(ACK)이 안 오면 타임아웃이 될 때까지 한참을 기다렸다가 재전송합니다. 시간이 매우 오래 걸림).
  2. 적극적 항의 (NAK 방식): 에러를 발견한 즉시(타임아웃을 기다리지 않고), 송신기를 향해 **"방금 온 3번 프레임 에러 났어! NAK 3!"**이라는 비상벨을 날립니다. 송신기는 타임아웃 시계가 다 돌아가기 전에 NAK를 맞고 즉각 3번 프레임을 재전송합니다.

이처럼 NAK는 타임아웃이라는 긴 대기 시간을 획기적으로 줄여주어 재전송의 민첩성을 극대화하는 촉매제 역할을 합니다.

[SR ARQ]
    │
    ▼
[NAK]
    │
    └──▶ [피기배킹]
  • 📢 섹션 요약 비유: NAK는 왜 필요한지 보여주는 교통 규칙 표지판과 같다. 문제가 생긴 배경을 알면 이후 선택도 쉬워진다.

Ⅱ. 아키텍처 및 핵심 원리

NAK 신호가 던져졌을 때, 송신기가 어떻게 반응하느냐는 ARQ 프로토콜의 종류에 따라 극명하게 달라집니다.

  • Go-Back-N 에서의 NAK N:
    • 수신기가 "N번 프레임이 깨졌어!"라고 NAK N을 보냅니다.
    • 송신기: "아, N번이 깨졌구나. 그럼 N번부터 시작해서 그 뒤에 보냈던 모든 프레임을 무식하게 싹 다 다시 보낼게!" (연대 책임 재전송).
  • Selective Repeat 에서의 NAK N:
    • 송신기: "아, 딴 건 다 괜찮은데 N번 하나만 깨졌구나? 오케이, 딱 그 N번 프레임 하나만 핀셋으로 집어서 다시 보내줄게!" (선택적 재전송).
[SR ARQ]
    │
    ▼
[NAK]
    │
    └──▶ [피기배킹]
  • 📢 섹션 요약 비유: NAK의 내부 원리는 기계의 톱니바퀴처럼 맞물려 돌아간다. 한 부분이 어긋나면 전체 효과가 떨어진다.

Ⅲ. 비교 및 연결

이론적으로 완벽해 보이는 NAK지만, 현대의 인터넷 근간인 **TCP(전송 제어 프로토콜)**에서는 놀랍게도 이 NAK라는 명시적인 신호를 아예 쓰지 않습니다.

  • 이유 (NAK의 분실): 만약 수신기가 NAK를 쐈는데, 그 NAK 신호 자체가 날아가다가 번개를 맞아 깨지면 어떻게 될까요? 송신기는 NAK가 안 오니까 에러가 난 줄도 모르고 계속 뒤의 데이터를 와다다다 쏘게 되어 통신망이 완전한 교착 상태에 빠집니다.
  • TCP의 우회책: TCP는 NAK라는 신호를 따로 만드는 대신, **"같은 ACK 번호가 3번 연속 중복해서 도착하면(3 Dup ACK), 그게 빵꾸가 났다는 NAK의 의미인 줄 알아라(빠른 재전송)!"**라는 영리한 편법을 사용하여 NAK의 부작용을 원천 차단했습니다.

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

관점선행 개념현재 개념확장 개념
초점SR ARQ의 기반 정리NAK의 핵심 동작피기배킹의 확장 적용
자원 관점기본 조건 확보오류율 최적화규모와 범위 확대
판단 포인트도입 가능성 확인현재 메커니즘의 적합성 판단운영·확장 전략 연결
  • 📢 섹션 요약 비유: ** NAK는 식당에서 밥을 먹다가 파리가 나왔을 때 손님이 치는 **'컴플레인 벨'**입니다. 파리가 나왔을 때 아무 말 안 하고 가만히 앉아 있으면 알바생이 눈치채고(타임아웃) 다시 만들어 올 때까지 하루 종일 걸리지만, 컴플레인 벨(NAK)을 쾅 치면 주방장이 즉시 그 요리를 다시 볶아 내오는 빠른 에러 복구 시스템입니다.

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

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

실무 체크리스트

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

안티패턴

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

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

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


Ⅴ. 기대효과 및 결론

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

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

📌 관련 개념 맵

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

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

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

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

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

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