핵심 인사이트 (3줄 요약)
- 본질: HDLC는 데이터 링크 계층에서 핵심 동작과 제약을 이해하게 해 주는 개념이다.
- 가치: HDLC를 이해하면 오류율과 재전송 비용 사이의 균형을 더 정확히 볼 수 있다.
- 판단 포인트: 설계 시에는 개념 자체보다 적용 조건, 운영 복잡도, 인접 기술과의 경계를 함께 판단해야 한다.
Ⅰ. 개요 및 필요성
과거 IBM이 쓰던 BISYNC 같은 통신 규약은 문장 앞뒤에 STX, ETX 같은 아스키코드 '문자'를 달아 데이터를 보냈습니다.
- 문제점: 영어 알파벳을 보낼 땐 상관없지만, 엑셀 파일이나 동영상 같은 순수 이진 데이터(Binary)를 보낼 때는 에러가 터졌고 속도도 느렸습니다.
이를 타파하기 위해 등장한 HDLC는 '비트 지향형(Bit-oriented)' 프로토콜입니다.
- 글자 단위로 끊어 읽지 않습니다. 그저 데이터가 사진이든 문서든 상관없이 무한한 0과 1의 흐름(Bit Stream)으로 간주하고, 앞뒤에
01111110이라는 딱 하나의 깃발(Flag) 비트 패턴만 꽂아서 데이터를 예쁘게 잘라(프레이밍) 보냅니다. (이때 비트 스터핑 기술이 최초로 도입되었습니다.)
[윈도우 크기, 송신/수신 윈도우]
│
▼
[HDLC]
│
└──▶ [HDLC 프레임 구조]
- 📢 섹션 요약 비유: HDLC는 왜 필요한지 보여주는 교통 규칙 표지판과 같다. 문제가 생긴 배경을 알면 이후 선택도 쉬워진다.
Ⅱ. 아키텍처 및 핵심 원리
당시 시대의 최첨단 기술을 모두 갈아 넣은 마스터피스였습니다.
- 에러 제어 (ARQ의 완성)
- 프레임 끝에 16비트나 32비트짜리 강력한 CRC 연산 코드(FCS)를 달았습니다.
- 수신기가 에러를 검출하면 가차 없이 버리고 재전송을 요청하는 Go-Back-N 또는 Selective Repeat ARQ를 완벽히 탑재했습니다.
- 흐름 제어 (슬라이딩 윈도우)
- 1개 보내고 대기하는 바보 같은 정지-대기(Stop-and-Wait)를 버렸습니다.
- 송신기가 최대 7개(혹은 127개)의 프레임을 상대방 허락 없이 연달아 쏠 수 있는 슬라이딩 윈도우를 내장하여 통신 속도를 비약적으로 끌어올렸습니다.
- 양방향 통신과 피기배킹 (Piggybacking)
- 전이중(Full-Duplex) 통신을 기본으로 지원하며, 내가 보낼 데이터 꼬리표에 "아까 네가 보낸 거 잘 받았어(ACK)"라는 도장을 슬쩍 업어 태워 보내는 피기배킹 꼼수를 써서 네트워크 낭비를 극단적으로 줄였습니다.
[윈도우 크기, 송신/수신 윈도우]
│
▼
[HDLC]
│
└──▶ [HDLC 프레임 구조]
- 📢 섹션 요약 비유: HDLC의 내부 원리는 기계의 톱니바퀴처럼 맞물려 돌아간다. 한 부분이 어긋나면 전체 효과가 떨어진다.
Ⅲ. 비교 및 연결
사실 지금 우리가 집에서 인터넷을 할 때 순수 HDLC를 쓰지는 않습니다. 우리는 이더넷(MAC)이나 Wi-Fi를 씁니다. 하지만 HDLC는 사라진 것이 아니라 분화(진화)되었습니다.
- 집에서 모뎀으로 전화를 걸어 인터넷을 하던 시절의 **PPP(Point-to-Point Protocol)**가 HDLC를 살짝 개조한 놈입니다.
- ISDN 전화망의 LAPD, X.25 망의 LAPB 등 이름 모를 수많은 통신 규약들이 모두 이 HDLC의 뼈대와 규칙을 그대로 물려받아 파생된 자식들입니다.
HDLC를 볼 때는 앞뒤 개념과의 경계를 함께 봐야 전체 흐름이 선명해진다. 윈도우 크기, 송신/수신 윈도우가 기반 조건을 만든다면, HDLC는 그 위에서 핵심 메커니즘을 구현하고, HDLC 프레임 구조는 이를 더 확장된 적용 단계로 연결한다. 따라서 단일 정의보다 오류율과 재전송 비용에 어떤 차이를 만드는지 비교하는 것이 중요하다.
| 관점 | 선행 개념 | 현재 개념 | 확장 개념 |
|---|---|---|---|
| 초점 | 윈도우 크기, 송신/수신 윈도우의 기반 정리 | HDLC의 핵심 동작 | HDLC 프레임 구조의 확장 적용 |
| 자원 관점 | 기본 조건 확보 | 오류율 최적화 | 규모와 범위 확대 |
| 판단 포인트 | 도입 가능성 확인 | 현재 메커니즘의 적합성 판단 | 운영·확장 전략 연결 |
- 📢 섹션 요약 비유: ** HDLC는 자동차 역사의 **'포드 모델 T(컨베이어 벨트 자동차)'**와 같습니다. 이전까지 장인들이 수작업으로 글자 하나하나 깎아서 만들던 통신(문자 방식)을 버리고, 데이터를 규격화된 비트 조각으로 나누어 공장 라인에서 쉴 새 없이 쏟아내는 **최초의 완벽한 자동화 전송 규약(비트 동기식)**을 완성했습니다. 오늘날의 페라리(5G)도 결국 이 포드 모델의 4바퀴 엔진 구조를 그대로 물려받은 것입니다.
Ⅳ. 실무 적용 및 기술사 판단
실무에서는 HDLC를 단독 개념으로 외우기보다 어떤 병목을 줄이기 위한 선택인지 먼저 따져야 한다. 특히 윈도우 크기, 송신/수신 윈도우 수준의 기본 대책으로 충분한지, 아니면 HDLC가 제공하는 메커니즘이 실제로 필요한지 구분해야 한다. 이후 확장 단계에서는 HDLC 프레임 구조와 같은 후속 기술, 자동화 체계, 표준 호환성까지 함께 검토해야 한다.
실무 체크리스트
- 현재 문제의 핵심이 오류율 부족인지, 재전송 비용 악화인지 먼저 분리한다.
- HDLC가 추가하는 복잡도와 운영 이득이 균형을 이루는지 확인한다.
- 도입 후에는 인접 기술인 HDLC 프레임 구조와의 연계 방식을 함께 검증한다.
안티패턴
-
HDLC의 장점만 보고 트래픽 패턴이나 운영 비용을 무시한 채 과도 도입하는 설계
-
윈도우 크기, 송신/수신 윈도우와의 경계를 정리하지 않아 중복 투자나 정책 충돌을 만드는 설계
-
📢 섹션 요약 비유: HDLC를 실제로 쓰는 판단은 도구 상자를 고르는 일과 비슷하다. 좋아 보이는 도구보다 지금 문제에 맞는 도구가 중요하다.
Ⅴ. 기대효과 및 결론
HDLC는 데이터 링크 계층을 이해할 때 핵심 축을 잡아 주는 개념이다. 올바르게 적용하면 오류율 개선과 구조적 단순화에 기여하지만, 조건을 잘못 잡으면 오히려 복잡도와 운영 부담이 커질 수 있다. 앞으로는 HDLC 프레임 구조, 고신뢰 저지연 링크 제어, 자동화 운영과의 결합을 통해 더 정교하게 발전할 가능성이 크다. 따라서 이 개념은 정의 자체보다 “언제 쓰고 언제 다른 방법으로 넘길 것인가”의 관점으로 기억하는 것이 좋다. 향후에는 고신뢰 저지연 링크 제어 같은 자동화 흐름과 결합되어 더 정교한 형태로 확장될 가능성이 크다.
- 📢 섹션 요약 비유: HDLC는 큰 흐름 속에서 기억해야 오래 남는다. 지금의 장점과 다음 확장 방향을 같이 보면 전체 그림이 선명해진다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
|---|---|
| 윈도우 크기, 송신/수신 윈도우 | 현재 개념이 등장하기 전에 갖춰야 할 배경이나 인접 선행 개념이다. |
| 프레이밍 (Framing) | 비트열을 의미 있는 전송 단위로 구분한다. |
| 오류 제어 (Error Control) | 검출과 복구 정책을 함께 설계해야 한다. |
| HDLC 프레임 구조 | 현재 개념이 확장되거나 적용 단계로 이어질 때 자주 함께 언급된다. |
📈 관련 키워드 및 발전 흐름도
[선행 개념: 윈도우 크기, 송신/수신 윈도우]
│
▼
[현재 개념: HDLC]
│
├──▶ [확장 A: HDLC 프레임 구조]
└──▶ [확장 B: 고신뢰 저지연 링크 제어]
HDLC는 윈도우 크기, 송신/수신 윈도우에서 출발해 현재 메커니즘을 정교화하고, 이후 HDLC 프레임 구조와 고신뢰 저지연 링크 제어 같은 확장 흐름으로 이어진다고 보면 기억이 오래간다.
👶 어린이를 위한 3줄 비유 설명
- 편지를 보낼 때 봉투를 제대로 닫고 틀린 글자가 없는지 확인해야 해요.
- 이 개념은 편지가 깨지거나 사라졌을 때 다시 보내는 규칙까지 정해줘요.
- 그래서 중간에 흔들려도 중요한 내용이 더 안전하게 도착해요.