3.6.2.1. Cấu trúc chung của khung MAC
Khung chung MAC bao gồm 3 phần chính:
- Tiêu đề đầu của khung MHR (MAC header). - Tải của khung (MAC Payload).
- Tiêu đề cuối của khung (MAC Footer).
Hình 3. 14: Cấu trúc chung của khung MAC mạng Zigbee (IEEE 802.15.4)[4,tr51]
Tiêu đề đầu MHR (MAC Header) :
- Trường Frame Control: Trường này có độ dài 2 octet (byte) chứa các thông tin như: Kiểu khung, chế độ bảo mật và các cờ điều khiển khác.
Các giá trị trong trường điều khiển khung được chỉ ra với các giá trị : 000 là gói Beacon, 001 là gói dữ liệu, 010 là gói ACK, 011 là gói lệnh MAC. - Trường Sequence Number: Trường này có độ dài là 1 byte chứa dãy số
định danh của khung.
- Các trường địa chỉ: Các trường này cho biết định danh của PAN đích (Destination PAN Identifier), địa chỉ đích (Destination Address), địa chỉ nguồn (Source Address), định danh của PAN nguồn (Source PAN
Identifier).
- Trường tiêu đề bảo mật phụ (Auxiliary Security Header): Trường này có độ dài không cố định và chứa các thông tin để xử lý bảo mật, được sử dụng khi trường con Security Enabled của trường điều khiển khung được đặt là 1.
Trường tải của khung (MAC Payload): Trường này có kích thước không cố định, chứa các dữ liệu cần truyền tải của từng kiểu khung.
Tiêu đề cuối khung (MAC Footer): trường này có độ dài 2 byte, chứa mã dư vòng FCS 16 bit.
3.6.2.2. Cấu trúc của các kiểu khung khác trong tầng MAC: Khung Beacon:
Hình 3. 15: Cấu trúc khung Beacon của Zigbee (IEEE 802.15.4)[4, tr51]
Cấu trúc khung Beacon cũng bao gồm 3 phần như cấu trúc chung của khung MAC, tuy nhiên phần tải có thêm các trường sau:
- Trường đặc tả siêu khung (Superframe Specification): Trường này có độ dài 16 bit, chứa các thông tin như thứ tự Beacon, thứ tự siêu khung, khe CAP cuối và các cờ điều khiển khác.
- Trường GTS: Trường này có độ dài 8 bit, chứa các thông tin như: Số lượng bộ miêu tả GTS và cờ điều khiển cho phép truy cập GTS. - Trường địa chỉ đang chờ (Pending Address): Trường này cho biết số
- Trường tải của Beacon: là số byte muốn truyền lên lớp trên của khung Beacon, tối đa là aMaxBeaconPayloadLength byte.
Khung dữ liệu:
Tương tự như cấu trúc chung của khung MAC: Bao gồm 3 phần và có cấu trúc như sau
Hình 3. 16: Cấu trúc khung dữ liệu của Zigbee (IEEE 802.15.4) [4, tr56]
Khung báo nhận (ACK):
Cấu trúc của khung báo nhận trong mạng Zigbee (IEEE 802.15.4) như hình dưới và không bao gồm trường tải dữ liệu (Payload)
Hình 3. 17: Khung báo nhận ACK trong mạng Zigbee (IEEE 802.15.4) [4,tr56]
Khung lệnh MAC:
Cấu trúc của khung lệnh MAC khác cấu trúc chung ở phần tải Payload, có thêm 2 trường như sau:
Hình 3. 18: Cấu trúc của khung lệnh MAC trong Zigbee (IEEE 802.15.4) [4, tr56]
- Trường dạng khung lệnh (Command Frame ID): Cho biết khung lệnh là loại khung nào.
- Trường tải khung lệnh (Command Payload): Chứa tải của khung lệnh Mạng Zigbee (IEEE 802.15.4) hỗ trợ các lệnh nằm trong tầng MAC như sau:
Bảng 3. 2: Định nghĩa các lệnh MAC của tầng MAC trong Zigbee (IEEE 802.15.4)
Command Frame ID
Lệnh Mô tả
00000001 Association request Yêu cầu liên kết (gửi từ RFD)
00000002 Association response Phản hồi liên kết (gửi từ FFD)
00000003 Disassociation notification Thông báo phân tách liên kết
00000004 Data request Yêu cầu dữ liệu
00000005 PAN ID conflict notification Thông báo xung đột ID trong PAN
00000006 Orphan notification Thông báo bị mất liên kết
00000007 Beacon request Yêu cầu gói beacon
00000008 Coordinator realignment Tổ chức lại Coordinator
00000009 GTS request Yêu cầu khe thời gian GTS