HDLC 프로토콜은 OSI 2계층인 데이터 링크 계층의 표준 프로토콜이라 할 수 있다. 현재는 잘 사용되고 있지 않다. 그 이유는 주소(Address) 부분이 8bit 밖에 되지 않아 256가지의 호스트만 접근가능하기 때문이다. 그러나 HDLC 프로토콜은 데이터 링크 계층의 표준처럼 인식되고 있기에 살펴볼 가치가 있다.
기본용어
호스트 : 데이터 통신을 위해 연결된 컴퓨터
주국(Primary Station) : 명령(Command)을 전송하는 호스트
종국(Secondary Station) : 명령에 응답(Response)하는 호스트
혼합국(Combined Station) : 주국과 종국의 기능을 모두 가진 호스트
명령(Command) : 주국에서 전송되는 메시지
응답(Response) : 종국에서의 회신되는 메시지
HDLC 프레임 구조
Address : 일 대 다 환경에서 호스트를 구분할 때 사용한다. 주국은 Address에 종국의 주소를 넣고 종국은 자신의 주소를 넣는다.
Control : 프레임의 종류를 구분하는 용도로 사용된다.
data : 크기가 가변적으로 바뀌고, 네트워크 계층의 패킷이 캡슐화된 것이다.
CheckSum : CRC 오류 검출 용으로 사용되는 부분이다.
01111110 : 프레임의 시작과 끝을 구분하는 용도로 사용된다.
프레임의 종류
프레임의 종류는 Control에 따라 달라진다. 프레임의 종류에 따라 Control의 8bit가 어떻게 구성되는지 살펴보자.
1) 정보 프레임(Information Frame)
Seq : 프레임은 흐름제어를 할 때 슬라이딩 윈도우 프로토콜을 사용한다. Seq는 흐름제어시 정보프레임의 송신용 순서 번호로 사용된다. 3bit 밖에 안됨으로 0~7까지의 숫자로 프레임의 순서 번호가 정해는데, 만약 프레임의 개수가 8개를 넘어가면 순서번호가 중첩되는 경우가 발생하여 혼란을 발생시킬수 있다.
Next : 피기배킹(Piggybacking)을 이용한 응답기능으로 사용된다. 피기배킹은 호스트 간의 데이터를 주고 받을 때, 정보 프레임 안에 응답(Response) 데이터도 넣어 전송하는 것이다. 그러므로 수신 측은 정보 프레임을 받는과 동시에 이전에 자신이 송신한 데이터를 상대가 잘 받았음을 알게 된다. 이때 Next 안에는 잘 받았다는 증거로 다음에 전송받을 프레임 순서번호가 적혀있다. 그러므로 해당 프레임을 수신받으면 Next에 적혀있는 순서번호의 프레임을 전송한다. Next도 순서번호가 적혀 있으므로 3bit를 할당받는다.
P/F : 주국컴퓨터가 다수의 종국 컴퓨터를 제어하기 위해 사용된다. 이는 P/F 부분의 1bit가 1인 경우 의미를 갖는다. 주국에서 종국 컴퓨터 중에 데이터를 전송할 컴퓨터가 있는지 조사할 때는 1의 의미가 여론조사(Poll)를 의미한다. 종국에서는 주국으로 데이터를 전송할 때 P/F를 1로 설정하여 주국으로 부터 전송허가를 받았음을 알린다. 이를 Final이라 한다.
2) 감독프레임(Supervisor Frame)
감독프레임은 정보프레임에 대한 응담 기능을 수행한다. 정보프레임은 Control 비트열이 0으로 시작하지만 감독프레임의 Control 비트열은 10으로 시작한다.
감독 프레임의 종류는 중간에 2bit에 따라 결정된다.
00 : 긍정응답으로 다음 프레임을 받을 준비가 되었음을 알린다. (RR : Receive Ready)
01 : 부정응답으로 Next 필드에 재전송되어야 하는 프레임 번호를 저장하여 전송한다. ( REJ : Reject )
10 : Next 필들 앞 번호 프레임 까지 제대로 받았지만 더 이상의 프레임 송신을 받지 않겠다는 의미이다. ( RNR : Receive Not Ready )
11 : 선택적 재전송 방식에서의 부정응답으로 사용된다. Next에 재전송되어야할 프레임 번호가 저장된다. ( SREJ : Selective Reject )
3) 비번호 프레임(Unnumbered Frame)
비번호 프레임은 순서번호가 없는 프레임을 정의한다. 주로 연결을 제어할 때 사용되는 프레임이다. 연결에는 3가지 종류가 있다.
1. 정규 응답 (Nomal Response)
주국과 종국으로 이루어져 있어, 종국은 반드시 주국의 허락을 받아야만 데이터 전송이 가능하다. 주국이 종국에게 SNRM( Set Nomal Response Mode) 명령을 보내고 종국이 주국에게 UA(Unnumbered ACK)로 응답해야 연결이 성립된다.
2. 비동기 균형(Asynchronous Balanced)
주국과 종국이 아닌 두 개의 호스트가 동일한 힘을 가진 혼합국으로 동작하는 경우의 연결모드이다. 둘 중 하나가 SABM (Set Asynchronous Balanced Mode) 명령을 보내고 상대가 UA로 응답하면 연결이 성립된다. 대표적으로 LAPB(Link Access Protocol-Balanced) 프로토콜이 이에 해당한다.
3. 비동기 응답(Asynchronous Response)
주국과 종국 같은 불균형 연결모드이나 종국이 주국의 허락없이 데이터를 전송할수 있는 권한을 갖는다. 즉 P/F 비트의 지정없이도 종국에서 먼저 SARM (Set Asynchronuous Response Mode) 응답을 보낼 수 있다. 응답을 받은 주국은 SARM 명령을 종국에게 보내고 종국은 UA로 응답함으로써 연결이 성립된다. 대표적으로 LAP (Link Access Protocol) 프로토콜이 이에 해당한다.
참고자료
쉽게 배우는 데이터 통신과 컴퓨터 네트워크
저자 : 박기현
출판 : 한빛아카데미발매2016.12.26.
'CS > NETWORK' 카테고리의 다른 글
[Network] VLSM ( Variable Length Subnet Mask ) (0) | 2023.09.14 |
---|---|
[Network] 서브넷 마스크 이해하기 ( Subnet Mask ) (0) | 2023.09.14 |
프레임 구조 (0) | 2021.06.24 |
이더넷(Ethernet) (신호감지프로토콜) (0) | 2021.06.24 |
슬라이딩 윈도우 프로토콜 (흐름제어) (0) | 2021.06.24 |