본문 바로가기
컴퓨터 네트워크

컴퓨터 네트워크 18장 - HDLC 프로토콜 -

by ChocoPeanut 2017. 4. 23.

컴퓨터 네트워크 18

- HDLC 프로토콜 -

 

이번 장은 HDLC 프로토콜에 대해서 공부를 하는데 이렇게 특정한 프로토콜에 대해 공부를 하게 되면 다른 프로토콜들을 이해하는데도 크게 도움이 된다. 하나의 프로토콜의 구성이나 기능을 알게 되면 이와 비교해서 다른 프로토콜은 어떤 기능이 추가, 삭제되며 구성은 어떻게 변하는지를 파악하면서 공부를 진행하면 될 것이다.


HDLCHigh-level Data Link Control 프로토콜로 컴퓨터가 일대일 혹은 일대다로 연결된 환경에 데이터의 송수신 기능을 제공한다. 역사적으로 SDLC(Synchronous Data Link Control)라는 IBM SNA의 데이터 링크 프로토콜이 있었다. SDLC 프로토콜을 ISO에서 발전시켜 HDLC로 발표를 하였다. HDLCLAP(Link Access Procedure)로 발전하고 이는 다시 LAPB(Link Access Procedure-Balanced)로 향상되었다.



HDLC 프로토콜을 사용하는 호스들은 3가지의 형태로 구분할 수 있다. 주국(Primary Station), 종국(Secondary Station), 혼합국(Combined Station)으로 나누어지게 되는데 주국은 명령을 전송하는 호스트이다. 종국은 명령에 대한 응답을 회신하는 호스트이고 혼합국은 주국과 종국 기능을 모두 지닌 호스트이다. 주국이 종국에게 명령을 전소하고 종국은 주국에게 응답을 회신하는 형태도 동작을 한다.


HDLC 프로토콜을 사용하는 프레임 구조는 비트 프레임 방식을 사용한다. 프레임은 다양한 필드로 나누어져 구성 된다. 프레임의 시작과 끝을 알리는 플래그(01111110)를 사용한다. 주소 부분에는 일대다 환경으로 연결된 환경에서 특정 호스트를 구분하여 지칭하는 목적으로 사용된다. 일대일 환경에서는 명령과 응답을 구분할 수 있다. 데이터 부분은 가변의 크기의 전송 데이터를 나타낸다. 체크섬은 CRC-CCITT를 생성 다항식으로 하는 오류 검출 용도로 사용된다.



컨트롤 필드 값은 세 가지로 나누어지게 된다. 네트워크 계층에서 내려온 패킷을 전송하기 위한 정보 프레임(Information), 정보 프레임에 대한 응답 기능을 수행하는 감독 프레임(Supervisor), 연결 설정의 제어와 관련된 비번호 프레임(Unnumbered)으로 나뉜다.


프레임들의 필드를 살펴보도록 하자.


Seq는 정보 프레임의 송신용 순서 번호로 사용이 된다. Next의 부분은 피기배킹을 이용한 응답 기능으로 사용된다. 수신된 프레임 번호가 아니라 다음에 수신을 기대하는 프레임 번호가 제시된다. Type은 감독 프레임과 비번호 프레임에 존재하는데 이 값을 통해 SABM, UA, DM 등등으로 Type을 나누어준다. P/FPoll/Final의 약자로 일반적으로 주국의 명령 프레임에서 사용될 때에는 Poll이라고 하고, 종국의 응답 프레임에서 사용될 때에는 Final이라 한다.

 

정보 프레임Seq, Next, P/F의 필드를 가진다. 또한 맨 처음 비트를 0으로 가져 정보 프레임인 것을 나타낸다. Seq는 송신용 순서번호를 가지고 있다. Next는 응답용 순서번호를 가진다. P/FP1로 설정된 경우 주국에서 종국에 데이터 전송을 허용하는 것을 의미하고 F1로 설정된 경우 종국에서 주국으로 데이터 전송을 하는 것을 의미한다.


감독 프레임은 맨 앞의 필드가 1로 되어 있어 정보 프레임이 아니라는 것을 나타내고 다음 비트가 0이 나와 이것이 감독 프레임인 것을 알려준다. Type의 경우에는 2비트를 가지고 있어 4가지의 종류로 나누어진다. 00일 때는 긍정 응답을 01은 부정 응답을 나타낸다. 10일 때는 흐름제어의 용도로 정상적으로 작동하고 있지만 현재 데이터를 받을 수 없다는 것을 의미한다. 11의 경우에는 선택적 재전송에서의 부정 응답 기능을 지원한다. 감독 프레임은 데이터를 보내는 역할이 아니라 응답의 기능을 수행하므로 Seq에 대한 값은 필요가 없고 다음 프레임을 요구하는 Next만 존재한다.


비번호 프레임은 순서 번호가 없는 프레임을 의미한다. 첫 번째 비트와 두 번째 비트가 모두 1로 설정되어 비번호 프레임인 것을 알 수 있다. 비번호 프레임도 여러 종류를 가지고 있는데 Type2비트와 Modifier3비트를 합쳐 5비트를 통해 종류를 나눈다.

SAMA은 비동기 균형 모드의 연결 설정을 요구하고 SNRM은 정규 응답 모드의 연결 설정을 요구한다. SARM의 경우는 비동기 응답 모드의 연결 설정을 요구하고 DISC는 연결 설정 해제를 요구한다. RSET은 리셋 기능을 수행하고 FRMR은 프레임 수신을 거부한다. UA는 비번호 프레임에 대한 응답 기능을 수행한다.

이제 구체적으로 비번호 프레임의 연결 설정 모드에 대해서 살펴보자.



정규 응답 모드는 불균형 모드를 의미하며 호스트 하나는 주국이고 다른 하나는 종국이다. 종국에서 데이터를 전송하려면 주국의 허락이 필요하다.


비동기 균형 모드는 두 호스트 모두 혼합국으로 동작한다. 양쪽에서 명령과 응답을 전송할 수 있다.


비동기 응답 모드는 불균형 모드로 주국의 허락 없이 종국에서 데이터를 전송할 수 있다.


 

LAPLink Access Protocol로 비동기 응답 모드로 동작한다. 연결 설정으로 주국에서 SARM 명령 전송을 하고 종국에서 SARM 응답 전송을 한다.

 

LAPBLink Access Protocol-Balanced로 양쪽 호스트가 혼합국으로 동작하는 비동기 균형 모드로 설정되어 SABM 전송으로 연결이 설정 된다.