HDLC 데이터 링크 제어 방식과 프레임 구조

HDLC의 스테이션 구성, 동작 모드, 프레임 유형과 비트 스터핑을 중심으로 데이터 링크 계층의 오류 제어 방식을 정리한다.

2026-08-14 · 최초 발행 2025-08-10

데이터 링크에서 HDLC가 맡는 역할

HDLC(High-level Data Link Control)는 ISO가 표준화한 동기식 비트 중심 데이터 링크 프로토콜이다. OSI 7계층의 데이터 링크 계층(Layer 2)에서 동작하며, 점대점(Point-to-Point) 통신과 다중점(Multipoint) 통신 모두에 사용할 수 있다.

비트 단위로 처리하므로 어떤 비트 패턴도 투명하게 전송할 수 있다. 프레임 경계를 분리하고 오류를 제어하는 장치를 갖춰 효율적인 데이터 전송을 지원한다.

제어 권한을 나누는 스테이션과 링크 구성

주국(Primary Station)은 통신 링크를 제어하고 명령(Command) 프레임을 보낼 권한을 가진다. 데이터 흐름 제어와 오류 복구도 주국이 관리한다.

보조국(Secondary Station)은 주국의 제어를 받으며 응답(Response) 프레임만 전송할 수 있다. 주국의 명령에 응답하거나 데이터를 전송하는 역할을 맡는다. 명령과 응답은 명령/응답 비트(C/R bit)로 구분한다.

복합국(Combined Station)은 주국과 보조국의 기능을 함께 수행한다. 명령과 응답 프레임을 모두 보낼 수 있으며 균형 구성에서 사용된다.

비균형 구성은 하나의 주국과 여러 보조국으로 이뤄진다. 주국이 통신 제어 전반을 맡기 때문에 다중점 구성에 적합하다.

주국(Primary)보조국(Secondary) 1보조국(Secondary) 2보조국(Secondary) 3

대칭 구성에서는 양쪽 스테이션이 같은 권한을 가지며, 각 스테이션이 주국과 보조국 역할을 동시에 수행할 수 있다.

균형 구성에서는 모든 스테이션이 복합국으로 동작한다. 각 스테이션이 독립적으로 데이터 전송을 시작할 수 있어 점대점 연결에 주로 쓰인다.

복합국(Combined) 1복합국(Combined) 2

전송 시작 권한에 따른 동작 모드

일반 응답 모드(NRM: Normal Response Mode)는 비균형 구성에서 사용한다. 보조국은 주국이 명시적으로 허가한 뒤에만 전송할 수 있고, 주국은 폴링(Polling)으로 보조국에 전송 권한을 부여한다. 제어 오버헤드는 높고 효율성은 낮다.

비동기 응답 모드(ARM: Asynchronous Response Mode)도 비균형 구성용이다. 보조국은 특정 상황에서 주국의 허가 없이 응답할 수 있으며, 긴급 상황이나 오류 보고에 활용된다. NRM보다 통신이 유연하다.

비동기 균형 모드(ABM: Asynchronous Balanced Mode)는 균형 구성에서 사용한다. 모든 스테이션이 주국처럼 독립적으로 통신을 시작할 수 있고, 양방향 동시 데이터 전송도 지원한다. 현대 통신 시스템에서 가장 널리 사용된다.

플래그로 경계를 세우는 HDLC 프레임

HDLC 프레임은 플래그, 주소, 제어, 정보, FCS(Frame Check Sequence)로 구성된다.

Flag01111110Address8 bitsControl8/16 bitsInformationVariableFCS16/32 bitsFlag01111110

플래그는 0x7E(01111110)로 프레임의 시작과 끝을 표시한다. 주소 필드는 수신 스테이션을 식별하고, 제어 필드는 프레임 유형과 시퀀스 번호를 지정한다. 정보 필드는 실제 전송 데이터를 담는 선택적 필드이며, FCS는 오류 검출을 위한 체크섬이다.

데이터 안의 플래그를 구분하는 비트 스터핑

데이터에 플래그 패턴인 01111110이 우연히 들어가는 상황을 막기 위해 송신 측은 연속된 5개의 1 비트 다음에 0을 삽입한다. 수신 측은 연속된 5개의 1 뒤에 있는 0을 제거한다.

원본 데이터: 01111110
전송 데이터: 011111010 (비트 스터핑 적용)

데이터·감독·링크 제어로 나뉘는 프레임

정보 프레임(I-Frame)

I-Frame은 실제 사용자 데이터를 전송한다. 순서 번호를 바탕으로 흐름 제어와 오류 복구를 지원하며, 제어 필드에는 N(S) 송신 시퀀스 번호, N(R) 수신 시퀀스 번호, P/F Poll/Final 비트가 들어간다.

I-Frame Control Field0N(S): 송신 시퀀스 번호P/F: Poll/FinalN(R): 수신 시퀀스 번호

감독 프레임(S-Frame)

S-Frame은 데이터 흐름 제어와 오류 복구를 처리하며 정보 필드는 포함하지 않는다. 제어 필드는 유형 코드(Type code), N(R) 수신 시퀀스 번호, P/F Poll/Final 비트로 이뤄진다.

S-Frame Control Field10Type CodeP/F: Poll/FinalN(R): 수신 시퀀스 번호

대표적인 S-Frame은 다음과 같다.

  • RR(Receive Ready): 프레임 수신 준비 완료를 알리며 ACK 역할을 한다.
  • RNR(Receive Not Ready): 일시적으로 데이터를 수신할 수 없는 상태를 알린다.
  • REJ(Reject): 프레임 오류를 발견했을 때 해당 프레임부터 재전송을 요청한다.
  • SREJ(Selective Reject): 특정 프레임만 재전송하도록 요청한다.

비번호 프레임(U-Frame)

U-Frame은 링크 설정과 해제, 모드 설정 같은 제어 기능을 담당한다. 시퀀스 번호를 사용하지 않으며, 제어 필드에는 유형 코드(Type code), P/F Poll/Final 비트가 포함된다.

U-Frame Control Field11Mode BitsP/F: Poll/FinalMode Bits

주요 U-Frame은 다음과 같다.

  • SABM(Set Asynchronous Balanced Mode): ABM 모드를 설정한다.
  • DISC(Disconnect): 연결 종료를 요청한다.
  • UA(Unnumbered Acknowledgment): 비번호 명령의 수락을 알린다.
  • FRMR(Frame Reject): 프레임 형식 오류를 보고한다.
  • DM(Disconnect Mode): 연결 해제 상태를 알린다.

HDLC를 사용하는 통신 환경

HDLC는 PPP(Point-to-Point Protocol)의 기반 기술로 활용되며 라우터 간 WAN 연결에 사용된다. 이동통신 시스템에서는 기지국과 이동 단말기 사이의 통신에 HDLC 기반 프로토콜을 사용한다.

공장 자동화 시스템에서는 장비 간 통신에 활용되며, 높은 신뢰성과 오류 제어 기능이 필요한 환경에 맞는다. 위성 통신처럼 지연 시간이 길고 오류율이 높은 환경에서도 효과적인 데이터 전송에 쓰인다.

HDLC의 선택 기준

HDLC는 오버헤드를 최소화하는 효율적인 데이터 전송, 강력한 오류 탐지 및 복구, 다양한 네트워크 토폴로지 지원을 제공한다. 비트 단위 투명성을 제공하고 국제 표준이므로 호환성도 우수하다.

반면 구현이 복잡할 수 있으며 고속 네트워크에서는 오버헤드가 될 수 있다. 현대 네트워크에서는 TCP/IP 기반 프로토콜이 일부 역할을 대체하고 있지만, HDLC의 프레임 제어와 오류 처리 방식은 통신 프로토콜 설계의 기반으로 남아 있다.

HDLC데이터 링크 계층통신 프로토콜프레임 제어비트 스터핑