직비 프로토콜(Zigbee Protocol) 상세분석
<MAC Layer>
이전글에 이어 오늘은 지그비 프로토콜의 MAC Layer에 대한 상세분석 내용입니다.
2020/10/15 - [IT이슈 및 정보] - 지그비 프로토콜(Zigbee Protocol) 상세분석 - PHY Layer 편
MAC Layer에 대한 내용은 방대하므로 이번 글에서는 MAC Frmae Format에서 MAC header의 비컨프레임까지 설명한 후 다음 글에 이어서 데이터프레임, ACK 프레임, 명령프레임과 이후부분에 대해 설명하겠습니다.
1. MAC Layer
: 다양한 응용과 네트워크 형태를 위해 유연한 구조를 가지며 유연한 관리를 위해 데이터 서비스와 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프레임은 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 필드
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 저전력 소모가 가능하다.
SD : ACTIVE 구간의 지속시간
BI : beacon frame의 시간 간격
※BI와 SD는 고정된 시간이 아님.
2) 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 까지의 시퀀스이다.
'IT > 기술(C,C++,JAVA)' 카테고리의 다른 글
지그비 프로토콜(Zigbee Protocol) 상세분석 - MAC Layer 편(2) (0) | 2020.10.20 |
---|---|
지그비 프로토콜(Zigbee Protocol) 상세분석 - PHY Layer 편 (0) | 2020.10.15 |
c언어로 두 개의 연결리스트를 하나의 정렬된 연결리스트로 합병하는 프로그램 (0) | 2020.09.27 |
c언어로 쉽게 만드는 합집합, 교집합, 차집합 간단 예제(코드포함) (3) | 2020.09.24 |
Shell/Merge Sort(TopDown/BottomUp) 실행시간 비교(코드첨부) (0) | 2020.09.20 |
댓글