通过Wireshark来了解Zigbee协议

简介

此文主要配合Wireshark实际抓包配合来讲解Zigbee的数据结构来加深认识,但是实际抓包未能抓全所有数据类型,有待补充。

     ZigBee是一种新兴的短距离、低速率无线网络技术。ZigBee技术的命名主要来自于人们对蜜蜂采蜜过程的观察,蜜蜂在采蜜过程中,其舞蹈轨迹像跳着“Z”的形状,由于蜜蜂自身体积小,所需要的能量小,又能传送所采集的花粉,因此,人们用ZigBee技术来代表具有成本低、体积小、能量消耗小和传输速率低的无线通信技术,中文译名通常称为“紫蜂”技术。

物理层(PHY)

IEEE802.15.4协议的物理层是协议的最底层,承担着和外界直接作用的任务。它采用扩频通信的调制方式,控制RF收发器工作,信号传输距离约为50m(室内)或150m(室外)。

两个PHY层,提供两个独立的频率段:868/915MHz和2.4GHz。

1)2.4 GHz频段

该频段为全球统一无需申请的IsM频段,有助于ZigBee设备的推广和生产成本的降低。该频段物理层通过采用高阶调制技术,并用码片长度为8的伪随机码直接扩频,可获得更高的吞吐量、更小的通信时延和更短的工作周期,从而更省电。

2)868/915 MHz频段

为了避免干扰,欧洲采用868 MHz频段,美国采用915 MHz频段作为ZigBee的工作频段。这两个频均均采用了差分编码的二进制移相键控(BPSK)调制,用码片长度为15的M序列直接扩频。由于频段比较相近,对信号合成器的程序稍作改动,就可使用相似的硬件,从而降低生产成本。

物理帧格式:

前导码

起始分隔符

物理头端

物理服务数据单元(PSDU)

前导码(4字节):用于符合同步。

起始分隔符(1字节):用于帧同步。

物理头端(1字节):指定了物理服务数据单元的长度。

物理服务单元(<=127字节):用于负载数据,与以太网帧相比,属于低数据量。

媒体访问控制层(MAC)IEEE 802.15.4

遵循IEEE802.15.4协议,负责设备间无线数据链路的建立、维护和结束,确认模式的数据传送和接受,可选时隙,实现低延迟传输,支持各种网络拓扑结构,网络中每个设备为16位地址寻址。

  1. 产生网络信标
  2. 网络中设备与信标保持同步
  3. 支持PAN的连接和断开连接
  4. 网络安全控制
  5. 利用CSMA—CA机制进行信道接入控制
  6. 处理和维持GTS(Guaranteed Time Slot)机制
  7. 在两个对等的MAC实体间提供可靠的链路连接

网络协调器(coordinator):

全功能设备(FFD,Router):可以支持任何一种拓扑结构,可以作为网络协商者和普通协商者,并且可以和任何一种设备进行通信,也叫路由节点

精简功能设备(RFD):支持量型结构,不能成为任何协商者,可以和网络协商者进行通信,实现简单。

 

MAC报头包含目前要发送的消息的MAC 帧控制字段、信标序列号 (Beacon Sequence Number, BSN)和寻址信息。注意,如果消息是经由路由发送的,它可能未反映消息的实际源地址或最终目标地址。该报头的产生和使用对应用程序代码来说是透明的。

 

数据传输模型

设备到网络协调器

网络协调器到设备

点对点对等传输

 

帧结构定义

信标帧

帧控制域

序列号

地址域

附加安全头部

超帧描述

GTS分配释放信息

转发数据目标地址信息

帧负载

FCS

超帧字段:持续时间,活跃部分持续时间,竞争访问时段持续时间;

GTS分配释放信息:将无竞争时段划分为若干个GTS,并把每个GTS具体分配给某个设备;

转发数据目标地址:列出了与协调者保存的数据相对应的设备地址;

信标帧负载数据:为上层协议提供数据传输接口。

 

数据帧

帧控制域

序列号

地址域

附加安全头部

数据帧负载

FCS校验

传输上层发送到MAC子层的数据;

MAC服务数据单元:数据负载传送至MAC子层;

MAC帧:MAC服务数据单元+MHR头信息+MFR尾信息。

 

确认帧

帧控制域

序列号

FCS

 

 

命令帧

帧控制欲

序列号

地址域

附加安全头部

命令标志符

命令帧负载

FCS

 

 

命令帧用于组建PAN,传输同步数据等;

命令帧有9种类型;

0x01

Association Request

0x02

Association Response

0x03

 

0x04

Data Request

0x05

Data Response

0x06

Beacon Request

0x07

Beacon Response

命令帧的功能:把设备关联到PAN,与协调器交换数据,分配GTS;

命令帧的具体功能由帧的负载数据表示。

 

网络层(NWK)

作用:建立新的网络、处理节点的进入和离开网络、根据网络类型设置节点的协议堆栈、使用网络协调器对节点分配地址、保证节点之间的同步、提供网络的路由。

 

网络层数据实体(NLDE)

提供数据服务,以允许一个应用在两个或多个设备之间进行传输应用协议数据(APDU);

  • 通用的网络层协议数据单元(NPDU)
  • 特定的拓扑路由(星形、网状、簇状网络)

网络层管理实体(NLME)

  1. 配置一个新设备
  2. 开始一个网络
  3. 加入或离开一个网络
  4. 分配地址
  5. 邻街表发现
  6. 路由的发现
  7. 接收控制

网络层帧结构

网络层广播包

 

网络层信标包

 

网络层数据包

 

网络层命令帧

未捕获完全,待补充。

Command Identifier

Command Frame

Command Option

0x00

 

 

0x01

Route Request

 

0x02

 

 

0x03

 

 

0x04

 

 

0x05

Transport Key

 

0x06

 

 

0x07

 

 

0x08

 

 

0x09

 

 

0x0a

 

 

0x0b

 

 

0x0c

End Device Timeout Response

 

 

 

 

 

 

 

 

 

 

 

 

 

应用层(APL)

应用层主要根据具体应用并由用户开发,功能为发现该器件工作空间中其他器件的工作,并根据服务和需求在多个器件之间进行通信。

 

应用支持子层(APS)

作用包括维护绑定表(绑定表的作用是基于两个设备的服务和需要把它们绑定在一起)、在绑定设备间传输信息,定义一个设备的作用、发现网络中的设备并确定它们能提供何种服务、起始或回应绑定需求以及在网络设备中建立一个安全的连接。

 

Command

描述

参数

0x00

Read Attributes

 

0x01

Read Attributes Response

 

0x02

Write Attributes

 

0x03

 

 

0x04

Write Attributes Response

 

 

应用层框架(APF或AF)

是应用设备和ZigBee设备连接的环境。

 

ZigBee设备对象(ZDO)

作用初始化应用支持子层、网络层和安全服务文档;从终端应用中集合配置信息来确定和执行发现、安全管理、网络管理以及绑定管理。

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值