HDLC(High-Level Data Link Control) 프레임

HDLC(High-Level Data Link Control) 프레임

HDLC(High-Level Data Link Control) 프레임, 데이터 링크 계층(OSI 2계층)에서 데이터를 전송하는 프로토콜로, 신뢰성 있는 데이터 전송을 위해 패킷을 프레임 단위로 구성합니다. HDLC 프레임은 데이터를 패킷화하여 송신하며, 오류 검출과 흐름 제어 등의 기능을 포함합니다.

HDLC 프레임의 구조

HDLC 프레임은 일정한 형식으로 구성되며, 다음과 같은 주요 필드를 포함합니다.

| 플래그(Flag) | 주소(Address) | 제어(Control) | 정보(Information) | FCS(Frame Check Sequence) | 플래그(Flag) |

플래그(Flag)

  • HDLC 프레임의 시작과 끝을 나타냄.

  • 8비트(1바이트) 길이이며, 항상 01111110 (0x7E) 값을 가짐.

  • 데이터 내 01111110이 포함될 경우 비트 스터핑(Bit Stuffing) 기법을 사용하여 방지함.

주소(Address)

  • 송수신 장치의 주소를 지정하는 필드.

  • 점대점(Point-to-Point) 연결에서는 생략 가능하지만, 멀티포인트(Multipoint) 환경에서는 필수.

  • 일반적으로 8비트(1바이트) 또는 16비트(2바이트) 사용.

제어(Control)

  • 프레임 유형과 흐름 제어(Flow Control), 오류 제어(Error Control) 기능을 담당.

  • 프레임 유형에 따라 I-프레임, S-프레임, U-프레임으로 나뉨.

정보(Information)

  • 실제 데이터를 포함하는 필드로, I-프레임에만 존재.

  • 일반적으로 최대 4096바이트까지 가능.

FCS(Frame Check Sequence)

  • 오류 검출을 위한 체크섬.

  • CRC-16 또는 CRC-32를 사용하며, 16비트(2바이트) 또는 32비트(4바이트) 길이.

HDLC 프레임의 유형

HDLC 프레임은 크게 I-프레임(Information Frame), S-프레임(Supervisory Frame), U-프레임(Unnumbered Frame) 세 가지로 구분됩니다.

프레임 유형 설명 주요 역할
I-프레임(Information) 데이터 전송용 실제 데이터 전송, 오류 제어, 흐름 제어
S-프레임(Supervisory) 감독 프레임 오류 제어, ACK/NACK, 흐름 제어
U-프레임(Unnumbered) 비번호 프레임 제어 프레임, 네트워크 설정 및 해제

I-프레임 (Information Frame)

  • 데이터를 포함하는 가장 일반적인 프레임.

  • 제어 필드N(S) (보낸 순서) 및 N(R) (받을 순서) 번호 포함.

  • 흐름 제어 및 오류 제어 기능 포함.

| Flag | Address | Control (N(S), N(R), P/F) | Information | FCS | Flag |

S-프레임 (Supervisory Frame)

  • 데이터를 포함하지 않고, 흐름 제어 및 오류 제어 역할 수행.

  • 주요 유형:

    • RR (Receive Ready): 수신 준비 완료(ACK 역할)

    • RNR (Receive Not Ready): 수신 불가능(버퍼 가득 참)

    • REJ (Reject): 오류 발생 시 재전송 요청(NACK 역할)

| Flag | Address | Control (S-Frame Code, N(R), P/F) | FCS | Flag |

U-프레임 (Unnumbered Frame)

  • 네트워크 설정 및 해제와 같은 제어 기능 수행.

  • 주요 유형:

    • SABM(Set Asynchronous Balanced Mode): 연결 설정

    • DISC(Disconnect): 연결 해제

    • UA(Unnumbered Acknowledgment): 연결 승인

| Flag | Address | Control (U-Frame Code) | FCS | Flag |

HDLC의 동작 방식

HDLC는 비트 지향(Bit-Oriented) 프로토콜로, 송신자가 프레임을 생성하고 수신자가 이를 해석하여 데이터를 확인하는 방식으로 동작합니다.

송신기

  1. 데이터를 HDLC 프레임으로 변환하여 송신.

  2. 비트 스터핑을 사용하여 0x7E가 데이터에 포함되지 않도록 방지.

  3. CRC를 계산하여 FCS 필드에 추가.

수신기

  1. 플래그(0x7E)를 감지하여 프레임의 시작과 끝을 확인.

  2. FCS를 검증하여 오류를 체크.

  3. 오류가 없으면 데이터를 추출하고 ACK 전송.

HDLC의 장점

신뢰성 높은 데이터 전송 → 오류 검출(FCS) 및 재전송(REJ) 기능 제공
다양한 전송 모드 지원 → 점대점(Point-to-Point), 멀티포인트(Multipoint) 통신 가능
효율적인 데이터 프레임화 → 비트 지향 방식(Bit-oriented)으로 데이터 구조 유연
다양한 네트워크에서 사용 → X.25, ISDN, PPP 등의 네트워크 프로토콜에서 활용

HDLC vs. PPP 차이점

비교 항목 HDLC PPP (Point-to-Point Protocol)
방식 비트 지향(Bit-oriented) 바이트 지향(Byte-oriented)
오류 검출 FCS(16비트 또는 32비트) FCS(16비트 또는 32비트)
주소 필드 존재(멀티포인트 가능) 존재하지 않음(점대점 전용)
인증(Authentication) 없음 PAP, CHAP 등 인증 지원
확장성 X.25, ISDN 등 사용 멀티프로토콜 지원 (IP, IPX 등)

💡 PPP는 HDLC에서 발전한 프로토콜로, 인증 기능(PAP, CHAP)이 추가되어 인터넷 연결 등에 널리 사용됨.

결론

HDLC는 신뢰성 있는 데이터 링크 계층 프로토콜로, 다양한 네트워크 환경에서 안정적으로 데이터 전송을 수행합니다. 주로 이더넷 이전의 WAN 통신, 위성 링크, X.25 네트워크 등에서 사용되었으며, 현재는 PPP와 같은 프로토콜이 더 널리 사용됩니다. 하지만, 기본적인 데이터 링크 계층 개념을 이해하는 데 중요한 프로토콜입니다.

BSC(Binary Synchronous Communication) 프레임

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments