본문 바로가기

cs

network - 데이터링크 계층에서의 프레이밍 & HDLC 프로토콜

프레이밍


정의

  프레이밍(framing)은 데이터 전송에서 비트의 연속 흐름 속에서 하나 또는 복수의 캐릭터를 나타내는 비트군을 골라내는 것이다. 따라서 비트의 흐름 속에서 선별에 사용되는 비정보성의 비트를 프레이밍 비트 또는 SYNC(synchronization) 비트라고 한다.

  프레이밍을 하기 위해 사용되는 신호를 프레이밍 신호라 한다. 또한 데이터 통신에서 전송되는 정보의 일정한 단위나 크기 또는 경계를 가리키는 용어로도 쓰인다

 

  비동기 직렬 데이터 통신에서 프레임은 한 단위로 전송되는 정보의 단위를 의미하며 이 때 각 프레임은 시작 비트로 시작하고 정지 비트로 끝난다.

  동기식 데이터 통신에서 프레임은 한 단위로 전송되는 정보의 패키지를 의미하고 각 프레임은 가변 길이의 정보 및 동기 문자(synchronizing character) 주소나 오류 정정 값 등의 제어 정보를 포함한다.

  예를 들어 고위 데이터링크 제어 절차(HDLC)나 동기식 데이터 연결 제어(SDLC) 프로토콜을 사용해서 전송되는 프레임은 하나의 고유 플래그로 시작하고 종료한다

 

 

HDLC (High level Data Link Control) 프로토콜


정의

  HDLC는 문자 코드와 상관없이 비트 위주의 데이터링크 프로토콜로서 네트워크 구조, 기기, 종류와 무관하게 독립적으로 운영되며 오류제어 방식으로는 연속적 ARQ 방식으로 Go Back N 과 선택적 반복 ARQ 방식을 지원한다. 링크의 형태는 점대점 (point to point) 링크 뿐 아니라 멀티 포인트 링크, 루프방식 링크 등을 위해 ISO에서 개발한 국제 표준 프로토콜이다.

 

  단방향, 반이중, 전이중 통신 등을 모두 지원하며 데이터 전달 모드로는 정규 응답 모드(NRM ; Normal Response Mode), 비동기 응답 모드 (ABM ; Asynchronous Response Mode), 비동기 균형 모드 (ARM ; Asynchronous Balanced Mode) 등이 있다. HDLC를 기반으로 하는 데이터링크 프로토콜로는 X.25 패킷 교환망의 표준으로 ITY-T 에서 제정한 LAP-B(Link Access Procedure-Balanced)가 있으며 협대역 종합정보 통신망의 D채널을 위한 링크 프로토콜로 사용되는 LAPD(Link Access Procedure D channel)등이 있다.

 

 HDLC의 기본 운영에서 스테이션의 종류

  주 스테이션 (primary station) : 링크 작동을 조절할 책임을 가지며, 주 스테이션이 출력하는 프레임을 커멘드라 한다

  부 스테이션 (secondary station) : 주 스테이션의 제어 하에 작동하고 주 스테이션과 개별적인 논리적 링크를 유지한다. 부 스테이션이 출력하는 프레임을 응답(respond) 이라 한다

  혼성 스테이션 (combined station) : 주 스테이션과 부 스테이션의 특징을 결합한 스테이션으로, 명령과 응답을 출력할 수 있다.

 

데이터 전달 모드(Data Transmission Mode)

 표준 응답 모드 (NRM ; Normal Response Mode)

  멀티 드롭(multidrop) 회선에 사용하고 불균형 구성으로 이루어진다. 주 스테이션은 부 스테이션의 허가 없이도 데이터 전송을 개시할 수 있으나 부 스테이션은 주 스테이션에 폴 (다중점 회선에서 지국(station) 들이 회선을 사용할 때 경쟁 없이 전송하도록 중앙에서 통제하는 방법)이 와야만 데이터를 전송할 수 있다

 

 비동기 균형모드 (ABM; Asynchronous Balanced Mode)

  균형 구성으로 혼성 스테이션 중 어느 한쪽이 다른 쪽의 허락을 받지 않아도 전송을 개시할 수 있다. 폴링 오버헤드가 없다 전이중 간 링크를 사용한다

 

 비동기 응답모드 (ARM; Asynchronous Response Mode)

  불균형 구성으로 부 스테이션은 주 스테이션의 명확한 허락 없이 전송, 즉 명력을 기다리지 않고 응답을 보낸다. 여전히 주 스테이션이 회선 전송 시 에러 복구나 논리적 분리 등을 책임진다. 허브 폴링(Hub Polling)이나 부 스테이션 전송을 개시할 필요가 있는 특수한 상황에 사용된다

 

HDLC 프레임 구조

  HDLC 프레임 구조의 일반적인 사항은 동기식 전송이며 프레임 단위로 전송된다. 그리고 단일 프레임 형식(데이터/제어)이다.

 

 

Flag  8비트, 01111110패턴으로 한 프레임의 시작과 끝을 나타내는 식별자 
Address  한 개 이상의 8비트(확장 가능) 송신이나 수신 시 부 스테이션을 식별한다
Control  8비트 또는 16비트 3가지 형식의 프레임 정의(정보, 감독, 비번호)를 한다
Data  가변적이며 보통 8비트의 배수, 정보 프레임, 비번호 프레임에만 있다
FCS(Frame Check Sequence)  16또는 32비트-CRC(순환 중복 검사)를 사용해 에러 검색을 한다

 

  또한 HDLC의 제어 필드 형식은 정보 프레임(information frame), 감독 프레임(supervisory frame), 번호를 갖지 않은 비번호 프레임(unnumbered frame)을 갖는다. 플레그 필드는 프레임의 양 끝에 고유 비트 패턴인 "01111110"로서 제한하며, 한 프레임의 시작과 끝을 표시하므로, 프레임의 동기화에 사용된다. 그런데 HDLC는 임의의 비트 패턴을 허용하므로 데이터 필드 내에 "01111110"의 비트 패턴이 나올 수 있다. 이러한 문제를 해결하기 위해 비트 스터핑(bit stuffing)을 사용한다.

 

 비트 스터핑

  데이터 필드에 1이 연속하여 5개가 나타나면 (6개가 나타나면 플래그와 같아진다) 그 뒤에 0을 첨가하여 플래그 패턴과 구별할 수 있게 해주는 방법이다.

 

비트 스터핑의 예시

원래의 패턴: 11111   111110    110 11111   10 11111   10
비트 스터핌: 111110 1111100 110 111110 10 111110 10

 

  비트 스터핑의 사용으로 임의의 비트 패턴이 프레임의 데이터 필드에 삽입된다. 이러한 성질을 데이터의 투명도(data transparency)라 한다

  송신기는 프레임 내에 1이 연속으로 5개 발생하면 그 뒤에 0을 첨가하여 (flag 필드는 제외) 데이터의 투명성을 달성한다.

  수신기는 시작 플래그를 발견한 뒤 비트를 조사하여 11111 이후에 0이면 이 비트를 제거하고 1번째와 8번째가 0이면 플래그로 인정한다. 그리고 7번째와 8번쨰가 모두 1이면 송신 스테이션이 중단 상태를 송신한다

 

HDLC의 작동

  두 P간 또는 P와 S간에 미리 정의된 명령과 응답에 따라 I, S, U 프레임을 교환하는 것으로 이루어진다. I-프레임(information frame)은 동작 초기 사용자 데이터의 정보 교한에 사용되며 피기백(Piggyback)된 양의 ACK와 전송 프레임의 순서번호를 포함하며 S-프레임 (supervisory frame)은 흐름제어, 에러제어를 위해 사용된다. 그리고 U-프레임(Unnumbered frame)은 흐름제어, 에러제어를 위해 사용된다. 그리고 U-프레임 (Unnummberd frame)은 모드 설정, 정보 전달, 회복, 기타 명령과 응답 등의 여러 가지 제어 기능을 위해 사용된다.