HDLC protocol

2019. 3. 15. 17:08cs/컴퓨터 네트워크

HDLC protocol(High-level Data Link Control)




1대 1 혹은 1대 다의 통신 기능을 제공하는 프로토콜이다. 역사적으로 IBM의 SDLC라는 것을 ISO에서 업그레이드 시켜 HDLC가 만들어졌다고한다. 


HDLC 프로토콜에는 세가지 형태로 이루어져 있다. 




1. 주국: 명령을 전송하는 호스트이다. 


2. 종국: 명령에 대한 응답을 회신한다. 


3. 혼합국: 주국과 종국 기능을 모두 가진 호스트이다. 


HDLC는 비트 프레임 구조로 이루어져있다. 

비트 프레임은 아래와 같은 구조로 되어있다. 


ㅇ Flag 필드 

모두 '01111110' 비트의 구성으로 되어있다. 이런식으로 적어서 프레임인 것을 구분할 수 있다. 


ㅇ 주소 필드 

주소필드는 받는 사람의 주소가 적혀있다. 주국이 만들경우 받을 종국의 주소가 입력되고 종국이 보낼 경우 보낸 주국의 주소가 저장되어 있습니다. 

주로 8  비트로 이루어져있으며 7비트만 주소로 이용하고 마지막 비트를 확장용 주소로 사용한다.  


ㅇ 제어 필드 

프레임 종류를 나타냄 

흐름 제어, 오류 제어에 나타냄 


ㅇ 정보 필드 

I 프레임과 U 프레임에만 있음 즉 사용자 정보 또는 링크가 있다. 


ㅇ CRC 필드 

오류 검출용 


ㅇ I-frame(정보 프레임)

- 정보와 제어필드를 전송한다. 

제어필드에는 seq, Next, P/F의 필드를 만들어 전송한다. seq는 송신용 순서 번호를 뜻하며 Next는 응답용 순서번호를 뜻합니다. 

P/F는 P가 1이면 주국에서 종국 F가 1이면 종국에서 주국으로 의미한다. 


ㅇ S-frame

- 송신 순서번호를 포함하고 에러 및 흐름 제어를 수행한다. 

제어필드에는 seq와 type이 존재한다. type은 2bit로 이루어져있다. 2bit라서 당연히 01 00 11 10으로 나타낼 수 있다. 4가지 타입이 있는 것이다. 


ㅇ type 


00: 긍정응답이다. 


01: 부정응답이다.


10: 흐름제어 용도로 잘 사용되고 있지만 데이터를 받을 수 없음을 뜻함.


-  11: 재전송에서의 부정적인 응답을 뜻한다.


ㅇ U-frame

- 오로지 링크의 정보만을 갖고있다. 링크 자체의 관리용으로 많이 쓰이지만 비연결형 데이터로도 쓰인다.


- type 2비트와 Modifier 3비트를 사용하여 5비트로 구분할 수 있다. 

ㅇ Uframe 종류


- SABM: 비동기균형모드로의 연결설정 명령


- SNBM: 정규응답모드로의 연결설정 명령

- SARM: 비동기응답모드 로의 연결설정 명령


- DISC: 연결설정 헤제 명령


- REST: 비 정상적 프로토콜 동작에 대해 리셋 수행


- FRMR: 비 정상적 프레임 수신 거부


- UA: 비번호프레임 명령에 대한 응답 


*비연결형: 연결 설정없이도 트래픽을 교환할 수 있다. 


*정규 응답 모드: 불균형 모드를 뜻하며 호스트 하나는 주국이고 다른 것은 종국이다. 종국에서 데이터를 보낼 때 주국의 허락을 받아야 하는 것을 뜻한다. 


*비동기 균형 모드: 두 호스트 모두 혼합국으로 등장한다. 양쪽에서 명령과 응답을 보낼 수 있다. 


*비동기 응답 모드: 불균형 모드로 주국의 허락없이 데이터를 보낼 수 있다.