본문 바로가기
IT/기술(C,C++,JAVA)

지그비 프로토콜(Zigbee Protocol) 상세분석 - MAC Layer 편(1)

by 영감을 주는 ghostzoominn 2020. 10. 17.

직비 프로토콜(Zigbee Protocol) 상세분석

<MAC Layer>

이전글에 이어 오늘은 지그비 프로토콜의 MAC Layer에 대한 상세분석 내용입니다.

2020/10/15 - [IT이슈 및 정보] - 지그비 프로토콜(Zigbee Protocol) 상세분석 - PHY Layer 편

 

지그비 프로토콜(Zigbee Protocol) 상세분석 - PHY Layer 편

직비 프로토콜(Zigbee Protocol) 상세분석 < PHY Layer > 1. Zigbee Protocol(지그비 프로토콜)이란?  직비는 IEEE 802.15.04 표준을 기반으로 되어 있기 때문에 가장 아랫단에 IEEE 802.15.4 표준에서 정의 한..

universitytomorrow.com

MAC Layer에 대한 내용은 방대하므로 이번 글에서는 MAC Frmae Format에서 MAC header의 비컨프레임까지 설명한 후 다음 글에 이어서 데이터프레임, ACK 프레임, 명령프레임과 이후부분에 대해 설명하겠습니다.

 

1. MAC Layer

: 다양한 응용과 네트워크 형태를 위해 유연한 구조를 가지며 유연한 관리를 위해 데이터 서비스와 MAC관리 서비스를 지원한다.

MAC 계층의 참조 모델

MAC 계층에서는 2개의 SAP를 통해서 엑세스 할 수 있는 2개의 서비스가 제공된다.


MCPS-SAP(MAC common part sublayer data SAP)를 통해서 액세스 할 수 있는 MAC 데이터 서비스와
MLME-SAP(MAC Layer Management Entity SAP)를 통해서 액세스할 수 있는 MAC 관리 서비스가 있다.


또한 MLME는 MAC계층에서 유지하는 데이터베이스인 MAC PIB를 유지한다.

 

1-1. MAC Layer의 주요 기능

1) 디바이스가 Coordinator면 네트워크에서 Beacon을 생성 할 수 있다.

2) 네트워크의 beacon을 동기화한다.

3) PAN과의 결합(association) 및 분리(disassociation)를 지원한다.

4) 디바이스의 보안(security)를 지원한다.

5) 채널 액세스에 대하여 CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance) 메커니즘을 적용한다.

6) GTS(Guaranteed Time Slot) 메커니즘을 처리하고 유지한다.

7) peer MAC entity간에 신뢰성 있는 링크를 제공한다.

 

2-2. MAC Frame Format (MPDU : MAC Protocol Data Unit)

일반적인 MAC 프레임 포멧

MAC프레임은 MPDU(MAC Protocal Data Unit)라 부르며 MHR(MAC header), MSDU(MAC Service Data Unit) 및 MFR(MAC Footer)로 구성된다.

 가. MHR(MAC header)
   : 프레임제어, sequence number, 주소정보, security와 관련된 정보로 구성된다.
  1) 프레임 제어 필드 (Frame control field)
   : 전송되는 프레임의 타입, 주소필드들, 여러 가지 제어 플래그(control flag)를 정의하는 정보가 포함된다.

프레임 제어 필드의 포멧

  (1-1) Frame type : 4가지 프레임 종류(비컨, 데이터, 확인, 명령)중 하나로 설정된다.

  MAC 프레임의 4가지 종류
   (1) 비컨 프레임

비컨 프레임 포멧

 (1-1) MHR 필드
1) 프레임 제어 필드
  1-1) frame type : beacon 프레임을 가리키는 값을 포함한다.
  1-2) source addressing : beacon 프레임을 전송하는 코디네이터의 주소로 설정한다.
  1-3) security enabled : 보호를 사용한다면 1로 세팅된다.
  1-4) frame version : security enabled 필드가 1로 세팅되었을 경우만 1로 세팅된다.
  1-5) 다른 모든 필드는 0으로 설정되고 수신측에서 무시한다.
2) sequence number 필드 : 현재 macBSN 값이 포함된다.
3) source PAN identifier 필드 : beacon을 전송하는 디바이스의 PAN identifier가 포함된다.
4) source address 필드 : beacon을 전송하는 디바이스의 address가 포함된다.
5) Auxiliary security header 필드 : beacon 프레임의 security 처리에서 필요로 하는 정보가 포함된다.
 
 (1-2) MAC Payload 필드
1) superframe specification 필드

Superframe specification 필드

  1-1) beacon order : beacon의 전송 간격을 규정한다.

  1-2) superframe order : 수신기가 enable된 시간의 길이를 규정한다.

  1-3) Final CAP slot : CAP에서 사용하는 최종 슈퍼프레임 슬롯을 규정한다.

  1-4) Battery life extension : CAP 지속기간동안 beaconing디바이스로 전달된 프레임들이 시작하기를 요구 하면 1로 세팅된다.

  1-5) PAN coordinator : beacon 프레임이 PAN Coordinatior에서 전달하고 있다면 1로 세팅된다.

  1-6) Association permit : Coordinator에서 PAN과 결합을 수락했다면, 1로 세팅된다.

 

Superframe 구조

코디네이터는 동일한 PAN(Personal Network Area)내의 장치들에게 beacon frame을 주기적으로 브로드캐스팅 할 수 있다.

이때 연속된 두 개의 beacon frame 사이의 시간을 ACTIVE구간과 INACTIVE 구간으로 분할하여 사용 할 수 있는 구조이다.

Superframe 구조에서 동작하는 PAN 내에서는 ACTIVE 구간의 시간에만 Channel에의 접근이 허용되며, INACTIVE 구간에서는 모든 장치들이 sleep mode로 동작하기 때문에 Superframe 저전력 소모가 가능하다.

 

Superframe 구조

SD : ACTIVE 구간의 지속시간
BI : beacon frame의 시간 간격
※BI와 SD는 고정된 시간이 아님.

 

2) GTS(Guaranteed time slot) fields

GTS(Guaranteed time slot) fields

2-1) GTS specification : beacon 프레임의 GTS list 필드에 포함되는 GTS descriptor의 개수를 규정한다.
2-2) GTS directions : 슈퍼프레임에 있는 GTS의 방향을 식별하는 마스크(mask)를 포함한다. 수신만 가능하다면 1, 전송만 가능하다면 0의 값이 세팅된다.
2-3) GTS list : 보유하고 있는 GTS를 나타내는 GTS descriptor의 리스트가 포함된다.


3) Pending address fields
beacon 프레임의 address list 필드에 포함된 16비트 short 주소의 개수와 64비트 extended 주소들의 개수를 가리킨다.

 (1-3) MFR 필드
1) beacon payload
   : 다음 상위계층에서 beacon 프레임을 통해 전달 할 수 있도록 규정된 aMaxBeaconPayloadLength 까지의 시퀀스이다.

댓글0