HDLC 프로토콜

원래벌레·2022년 4월 8일
0

💎 HDLC 프로토콜이란 ?

간단하게 이야기해서 HDLC 프로토콜은 비트방식의 프로토콜로 스테이션 간의 통신에 사용되는 프로토콜 이다.

💍 HDLC 스테이션

1) 주스테이션 : 명령 전송
2) 종속 스테이션 : 명령 응답
3) 혼성 스테이션 : 명령,응답 모두 전송

💍 HDLC 프레임 형식

| Flag | Address | Control | Information | FCS | Flag |

1) Flag : 01111110 의 고유한 패턴을 가지고 있다. 프레임의 시작과 끝을 구분 할 수 있게 해준다.
2) Address : 프레임을 수신하는 종속스테이션(목적지 스테이션)을 식별하는데 사용한다. 주스테이션이 모든 종속스테이션에게 데이터를 보낼때는 11111111을 넣는다.
3) Control : 제어영역으로 I,S,U등의 프레임이 있다.
4) Information : 정보영역으로 I프레임 또는 U(일부)프레임에 존재한다. S프레임에는 존재하지 않는다.
5) FCS : 오류가 있는지 확인을 하는 영역이다. 16비트로 구성된다.

💍 비트삽입(bit stuffing)

  • 목적 : 정보 필드 안의 01111110 비트와 flag 비트와의 혼동을 피하기 위해서 존재한다.
  • 절차 :
    1) 만약 정보영역 안에 1이 다섯개가 들어오게 되면
    2) 뒤에 0을 삽입한다.
    3) 그리고 이 정보를 읽을 때, 만약에 1이 다섯번 나오고 그 뒤에 0이 나오면 그 0을 삭제한다.
    4) 또는 1이 다섯번 나오고 그 다음이 1이고 그 다음이 0이면 프레임의 끝으로 인식한다.
    5) 만약에 6번,7번 모두 1이면 오류로 본다.

💍 HDLC 프레임의 종류와 동작

종류 :
1) 정보프레임(I-프레임)
| 0 |  N(S)  | P/F |  N(R)  |

P/F : 폴/파이널
N(S) : 보내는 데이터의 번호
N(R) : 받고자 하는 데이터의 번호

2) 감시프레임(S-프레임)
| 1 | 0 |  코드  | P/F |  N(R)  |

  • S프레임은 피기백하는 I프레임이 없을 때, RR프레임을 보내서 ACK 한다.

  • RNR : RR이 올 때 까지 더이상의 I프레임의 전송 중지를 요청하기 위해 사용됨

  • RR, RNR, REJ 프레임에서 N(R)은 다음 기대되는 I프레임의 순서번호를 표시하며, SR 에서 N(R)은 오류로 인해 못받은 특정 순서번호가 된다.

2-1) 감시 프레임 내의 P/F 비트 사용
1) 주스테이션은 종속스테이션에 대한 폴을 하기위해 RR 프레임 내의 P비트를 설정
2) 종속스테이션은 보낼 데이터가 있으면 I프레임을, 없다면 F 비트를 설정하여 RR로 응답함
3) 주 스테이션은 종속.혼성 스테이션의 수신대기 상태를 확인하기 위해 RNR 프레임에 P비트를 넣어 보낸다.

2-2) S프레임 맨 앞 번호에 따른 프레임의 종류
1) 00 = RR , 2) 10 = RNR, 3) 01 = REJ, 4) 11 = SREJ

종속.혼성 스테이션 - 수신가능 : F비트RR, 수신불가 : F비트RNR

3) 번호가 붙지 않는 프레임(U프레임)
1) 링크의 연결과 해제 등 여러 가지 제어 기능을 위해 사용
2) 순서번호가 없으며, 번호를 가진 I프레임의 순서나 흐름을 바꾸지 않음
3) 5비트의 코드 부분이 존재하여 총 32가지의 메시지를 보낼 수 있음

💍 순차번호 N(S), N(R)

1) N(S)는 0~7을 돌면서 프레임의 순서번호를 매김, 3비트 영역에 해당되는 프레임을 한번에 보내면 다음 프레임 전송은 기다려야함(윈도우)

2) N(R)은 RR프레임을 예시로 들었을 때, 0~N-1까지는 잘 받았고, N을 달라는 식의 내용임
I,S 프레임에 있고, I프레임의 N(R)은 피기백 기능을 제공함


profile
학습한 내용을 담은 블로그 입니다.

0개의 댓글