本文原地址:https://blog.csdn.net/tainjau/article/details/81634681

IEEE802.15.4工作组致力于无线个人区域网络(wireless personal area network, WPAN)的标准化工作,制定的IEEE802.15.4标准规定了WPAN网络的物理层(PHY)和媒体访问层(MAC)

那么接下来的物理层和mac层都是以IEEE802.15.4标准来学习的。

文档下载路径在:https://download.csdn.net/download/tainjau/10578440,里面包含了上述文档和zigbee网络层应用层的资料。

zigbee相关文章链接:

第一章:zigbee学习笔记之简介(上)

第二章:zigbee学习笔记之简介(下)

第三章:zigbee学习笔记之物理层和mac层帧格式分析

第四章:zigbee学习笔记之网络层帧格式分析(上)

第五章:zigbee学习笔记之网络层帧格式分析(下)

【ember zigbee】zigbee协议栈相关文档学习笔记系列


1、PHY层

PHY层的数据包分为SHR,PHR和PHY Payload

SHR(Synchronization Header):用于同步数据的

PHR(Physical Header):包含了帧长度信息

PHY Payload:包负载,即实际内容(发送给接受设备的数据和命令)


2、MAC层

MAC Frame定义了四种结构如下:

信标帧、数据帧、应答帧和MAC命令帧。

帧类型是由MAC层前面的Herder中的2个字节的FrameControl来决定的。

除此之外,FrameControl控制字段还有其他用途,相应位代表的意思如下:

其中:第0-2位表示帧类型:000:信标帧、001:数据帧、010:应答帧、011:命令帧。

第3位表示安全使能:体现在该帧是否有密锁保护MAC的有效载荷。

第4位表示数据待传:1:表述当前数据还没传输完成,发送端还要接着传输数据给接收 端,因此接受设备还需要发送请求来获取数据。

第5位表示确认请求:1:表示接受设备在接受到该帧的时候,需要回复一个确认帧来表述接收到数据。

第6位表示网内/网际:表示是否在同个PAN网络中传输数据。

第10-11位和14-15为表示目的/源地址模式,00:没有目的地址,01:预留,10:16位的短地址,11:64位的长地址。

2.1、Beacon frame

其中Beacon Payload对于NWK层是可选域。

简单来说,信标帧用于同步网络中的设备。在信标网络中,协调器通过向网络中的所有从设备发送信标帧,以保证这些设备能够同协调器进行同步(同步工作和同步休眠),以达到网络功耗最低(非信标模式只允许ZE进行周期性休眠,ZC和所有ZR必须长期处于工作状态)。

这里我截取一段抓包器抓到的beacon包的数据,可以看到超帧描述(superframe specification)、保护时隙域(GTS Fields)和未处理地址区域(Pendling Address Filelds)这几个区域还是有很多细节要讨论的,这里我现在也不是很了解,留在将来学习吧。

2.2、Data frame

下图是MAC层数据协议单元(MPDU)的通用帧格式。 数据帧由高层(应用层)发起,在ZigBee设备之问进行数据传输的时候,要传输的数据由应用层生成,经过逐层数据处理后发送给MAC层,形成MAC层服务数据单元(MSDU)。通过添加MAC层帧头信息和帧尾,便形成了完整的MAC数据帧MPDU,其帧结构如下图所示。

2.3、Ack frame

最简单的MAC帧,不包含任何Payload,向发送设备表示已经正确的接收了相应的信息。Ack帧非常小,只有5个字节。

还记得之前提到过的FrameControl控制段中的第5位表示确认请求位吧。这位如果被设置成1时,那么接收端收到之后,就需要回复一个ack,来表述接受到数据了。

看一下Ack的数据帧

2.4、MAC Command Frame

Mac命令帧是细化了通用MAC帧的帧载荷域,是这几种帧格式中较为复杂的

在ZigBee网络中,为了对设备的工作状态进行控制,同网络中的其他设备进行通信,MAC层将根据命令类型生成相应的命令帧。

区别命令帧的关键在于命令帧标识符(command Type)描述如下:

由于每个命令帧后面的载荷所携带信息不同,这里我就不做一一记录了。关于物理层和MAC层,还是基于《IEEE Std 802.15.4-2003》文档。


将来还是得买一本关于这类的书来学习比较稳妥。


http://www.taodudu.cc/news/show-3694019.html

相关文章:

  • MAC层与llc层的区别
  • 以太网 MAC子层
  • LTE RLC/MAC层作用学习
  • [4G5G专题-95]:MAC层- 调度 - 无线资源调度概述
  • MAC层总结
  • 以太网MAC层基础知识学习
  • 【图解计算机网络】物理层和MAC层的亲密关系
  • [4G5G专题-56]:L2 MAC层-逻辑信道到物理信道的映射、MAC层包或PDU格式、MAC层复用与解复用
  • 二、MAC层和MAC地址
  • 网络协议 3 - 物理层 和 MAC 层
  • 物理层和Mac层的区别
  • MAC层与llc层的大不同
  • 计算机网络-物理层、MAC层
  • LTE MAC层
  • 1.数据链路层(MAC层)
  • MAC层
  • 以太网的MAC层
  • Repeater重放攻击
  • java数据包重放攻击代码实现,Web服务的重放攻击的一点想法
  • 会话重放攻击
  • 登录重放攻击_什么是重放攻击Replay attack
  • ETHW重放攻击
  • session 重放攻击_关于接口的重放攻击
  • 记录一次小项目中的重放攻击与解决方案
  • https能防重放吗_HTTPS如何防止重放攻击?
  • 打造千万级流量秒杀第十课 Web 安全:如何解决重放攻击和 XSS 注入?
  • 【API 接口设计】重放攻击
  • 重放攻击及抗重放
  • Web安全防范--防止重放攻击
  • java防攻击_Java请求中关于如何避免防重放攻击

第三章:zigbee学习笔记之物理层和mac层帧格式分析相关推荐

  1. 王道《计算机网络》第三章数据链路层 学习笔记

    数据链路层 链路层的功能 链路层的两种信道 局域网.广域网 链路层的设备 数据链路层的功能概述 数据链路层的基本概念 结点:主机.路由器 链路:网络中两个结点之间的物理通道,根据传输介质的不同分为有线 ...

  2. 第三章 分组-学习笔记

    第三章 分组 # 导入需要的模块 import numpy as np import pandas as pd 一.分组模式及其对象 1. 分组的一般模式 分组操作常见于生活中,例如: 1.按照 性 ...

  3. head first python(第三章)–学习笔记

    1.介绍基础文件,输入,输出 open() 打开文件,一次传入一行数据,可以结合for循环和readline()来使用 close() 用来关闭open打开的文件 the_file = open('s ...

  4. ZigBee学习笔记——(三)ZigBee无线传感器网络通信标准

    第三章 ZigBee无线传感器网络通信标准 一.ZigBee 标准概述 二.ZigBee 技术特点 三.ZigBee 协议框架 四.ZigBee 网络层规范 五.ZigBee 应用层规范 六.ZigB ...

  5. Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25

    Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...

  6. 传感器自学笔记第十一章——三色RGB学习笔记+高感度声音检测模块+KY-010光遮断传感器+TCRT5000循迹传感器+倾斜模块

    作者:GWD 时间:2019.06.28 三色RGB学习笔记(开关量类传感器) 一.学习要点:无 二.手册分析(开关量传感器) 1.产品用途:RGB LED 模块由一个贴片全彩 LED 制成,通过 R ...

  7. Zigbee学习笔记

    作为一个硬件从业人员,虽然不是从事物理网行业的,但是多少得了解一些,以下是笔者最近学习Zigbee的笔记,包含了Zigbee基本知识,正确的学习方法. Zigbee无线传感网络 先搞清楚IEEE802 ...

  8. 计算机网络学习笔记之物理层

    计算机网络学习笔记之物理层 通信基础 背景知识 基本概念 数据.信号与码元 信源.信道与信宿 速率.波特与带宽 ★ \bigstar ★ 奈奎斯特定理(奈式准则)与香农定理 ★ \bigstar ★ ...

  9. 第三章 进程管理笔记

    第三章 进程管理笔记 20135109 高艺桐 3.1进程 1.程序本身并不是进程,进程是处于执行期的程序以及相关资源的总称. 2.执行线程,简称线程,是进程中活动的对象.每个线程都拥有一个独立的计数 ...

最新文章

  1. UVA 10746 Crime Wave - The Sequel
  2. 汇编: 使用ds data
  3. linux 入门教程
  4. 场景文字识别的算法创新与应用,来自百度的技术前沿
  5. 移动端页面rem+media写法过程
  6. electron 打开调试_构建基于 iOS 模拟器的前端调试方案
  7. 安装erlang没有bin文件夹_RabbitMQ的安装和使用
  8. Tableau可视化学习笔记:day03-04
  9. linux内核syscall_define6,linux中添加系统调用
  10. RS-485 通讯协议简介
  11. ORB_SLAM2编译build_ros.sh时报错([rosbuild] Error from directory check: /opt/ros/kinetic/share)
  12. IT人的求职技巧 中山大学新炬网络校园宣讲会
  13. 机器人设计之一简单机械设计
  14. UVa12325 宝藏
  15. 社区疫情防控的微信公众号文章排版必备素材集锦
  16. 【C++】栈的应用:逆波兰式的实现
  17. CUDA PTX ISA阅读笔记(一)
  18. java英语自我介绍_java自我介绍英语口语
  19. VC2008 Redist依赖安装 win10下报1935失败解决
  20. 多渠道归因分析:python实现马尔可夫链归因(三)

热门文章

  1. SpringBoot 入门小程序
  2. JS获取电脑分辨率大小和网页大小
  3. JAVA读取xls文件和xlsx文件
  4. Linux下如何切换用户
  5. android Room初步使用
  6. 计算机软件模型改进,基于改进Kano模型的服务优化研究_樊根耀.docx 计算机软件及应用...
  7. 【直播回顾】技术大咖揭秘网络通信中的数据安全
  8. El表达式+jstl标签
  9. js计算五行相生相克
  10. 韩束母公司上美集团欲赴港上市,曾因虚假宣传被罚款110万元