💡 핵심 인사이트
HDLC는 데이터를 전송할 때 1바이트의 낭비도 허용하지 않기 위해, 시작 깃발 ➔ 주소 ➔ 통제실(제어부) ➔ 진짜 데이터 ➔ 에러 검출 꼬리표 ➔ 끝 깃발 이라는 가장 완벽하고 군더더기 없는 6칸짜리 표준 프레임 뼈대를 확립했습니다.
이 구조는 현대 이더넷 프레임(MAC) 설계의 완벽한 조상님이 되었습니다.


Ⅰ. HDLC 프레임의 6개 뼈대 구조 (필수 암기)

HDLC가 데이터를 쏠 때 포장하는 박스의 생김새입니다. 순서대로 외워야 합니다. [Flag] - [Address] - [Control] - [Information] - [FCS] - [Flag]

1. 플래그 (Flag, 8비트)

  • "여기서부터 프레임 시작이다!" / "여기서 프레임 끝이다!"
  • 양 끝에 무조건 **01111110 (1이 6개)**이라는 특수한 비트 패턴이 박힙니다. 앞서 배운 [비트 스터핑]을 통해 본문 데이터와 완벽히 구별됩니다.

2. 주소부 (Address Field, 8비트 이상)

  • "누구한테 가는 택배인가?"
  • 목적지 컴퓨터(또는 터미널)의 주소를 적습니다. 11111111을 적으면 전체 방송(Broadcast) 모드가 됩니다. 확장하면 여러 바이트를 쓸 수도 있습니다.

3. 제어부 (Control Field, 8비트 또는 16비트) ★가장 복잡함

  • "이 박스의 정체가 무엇인가? 단순 데이터인가, 아니면 에러 났다고 징징대는 ACK/NAK 신호인가?"
  • HDLC의 뇌(Brain) 역할을 합니다. 슬라이딩 윈도우의 순서 번호(Sequence Number) 0~7번이 여기 적히고, 피기배킹(업어 타기)하는 ACK 번호도 여기 욱여넣습니다. (이 제어부의 생김새에 따라 다음 장에서 배울 I, S, U 프레임으로 성격이 갈립니다).

4. 정보부 (Information Field, 가변 길이)

  • "진짜 알맹이 내용물"
  • 사용자가 진짜 보내고 싶어 하는 데이터(IP 패킷 등)가 담기는 텅 빈 상자입니다. 크기는 마음대로 늘어날 수 있습니다. (단, 네트워크 MTU 설정에 따라 한계는 있음).

5. FCS (Frame Check Sequence, 16비트 또는 32비트)

  • "오는 길에 파손되지 않았는가?"
  • 앞의 주소, 제어, 정보 칸의 비트들을 몽땅 모아서 생성 다항식으로 나눈 **나머지(CRC 값)**를 여기 적어 넣습니다. 수신기는 이 꼬리표를 보고 1비트라도 깨졌으면 박스 전체를 소각장에 던져버립니다.

Ⅱ. 뼈대의 우수성 (투명성 보장)

이 구조의 위대한 점은 '투명성(Transparency)'입니다. 정보부(알맹이)에 MP3 파일을 넣든, 리눅스 실행 파일을 넣든, 심지어 몽골어나 외계어를 0과 1로 바꿔서 넣든 HDLC 기계는 내용물에 1도 관심이 없습니다. 그저 양 끝의 Flag(01111110)만 보고 기계적으로 자르고, FCS(CRC)로 기계적으로 검사해서 위층(3계층)으로 토스할 뿐입니다. 이 투명성 덕분에 인터넷은 어떤 파일이든 가리지 않고 다 전송할 수 있게 되었습니다.

📢 섹션 요약 비유: HDLC 프레임은 완벽하게 규격화된 **'우체국 택배 박스'**입니다. 박스 앞뒷면에는 테이프(Flag)를 발라 봉인하고, 겉면에 송장 주소(Address)와 취급 주의/착불 여부 스티커(Control)를 붙입니다. 상자 안에는 고객의 소중한 물건(Information)이 담겨있고, 마지막으로 상자 모서리에 뜯김 방지 보안 씰(FCS)을 붙여 배송 중 누가 열어봤는지(에러) 완벽히 추적하는 택배 포장의 정석입니다.