CS/네트워크

[데이터통신] 3. Data Link Layer(DLC 프로토콜)

소-은 2024. 4. 17. 20:54
728x90

앞서 Data Link Control의 기능을 알아보았다. 이 기능들은 프로토콜로 구현되는데, 이 프로토콜들에 대해 알아볼 것이다.

이 책에서는 HDLC와 Point-to-Point에 대해 소개하고 있다.

 

High Level Data-link Control

HDLC는 bit oriented 프로토콜이고 point-to-point 통신과 multipoint links 통신도 가능하다. 이는 두 가지 전송 모드를 갖는데, NRM(normal response mode)와 ABM(Asynchronous Balanced mode)이다.

  • NRM : primary에서 명령을 보내고 secondary에서 응답하는 방식, Point-to-Point, Multipoint link 둘다 가능
  • ABM : Point-to-Point, primary/secondary가 명령을 보내기도 하고 응답도 보냄

 

Frames

세 가지 프레임 종류를 정의하고 있다. 모든 프레임의 주소에는 secondary 주소가 저장되어 있다는 점을 기억해야 한다.

 

I-Frames

유저 정보와 컨트롤 정보(흐름, 에러 제어 정보)에 대해 전송한다. 따라서 Piggy Backing을 한다고 할 수 있다.

 

그중에서도 컨트롤 필드에 대해 알아보자.

프레임의 첫 비트가 0이면 I-frame으로 판단하며, 첫 비트 이후 3bit는 N(S)라 불리는 프레임 Sequence 번호가 들어있다. 마지막 3bit는 N(R)이라 불리는 ACK 번호가 저장되어 있다. N(S)와 N(R) 사이에는 P/F bit가 저장되어 있는데 이는 primary에서 secondary로 향하는 것(poll)인지, secondary에서 primary로 향하는 것(final)인지를 저장한다. 따라서 컨트롤 필드를 읽으면 어떤 프레임인지, ACK 번호를 읽으면서 sliding window protocol을 구현할 수 있다.

 

S-Frames

윈도우 크기와 같은 컨트롤 정보에 대해서만 전달하는 역할을 한다. 

 

I-frame과 마찬가지로 컨트롤 비트의 첫 2비트는 어떤 프레임인지 구분하는 역할을 한다. 마지막 3bit는 N(R), 즉 ACK 번호가 담겨있다. 첫 2비트 이후에는 2bit의 코드 비트가 있다. 이는 S-frame에서 어떤 타입을 정의해둔 필드다.

  • 00 : receive ready(RR)
  • 10 : receive not ready
  • 01 : reject
  • 11 : selective reject

 

U-Frames

Management information을 전달하는데, reserved field로 동작하는 code 필드가 있다.

 

 

Point-to-Point

인터넷 액세스 전에 사용했던 프로토콜이다. Charater-Oriented frame을 사용하며 Byte Stuffing 과정도 포함되어 있다.

 

PPP는 7개의 필드를 가진다.

  • Flag
  • Address
  • Control
  • Protocol
  • Payload field
  • FCS
728x90