在上一篇教程中,小编就已经简单的为大家介绍了无线个人网里面的蓝牙技术。那么在这篇教程中,小编会继续为大家介绍另外一种技术,那就是ZigBee技术。
三、ZigBee技术
不知道大家有没有听说过ZigBee技术呢?其实ZigBee是基于IEEE802.15.4开发的一组关于组网、安全和应用软件的技术标准。简单来说,ZigBee就是基于IEEE802.15.4标准的低功耗局域网协议。根据国际标准规定,ZigBee技术是一种短距离、低功耗的无线通信技术。ZigBee和802.15.4这两者的角色分工就等同于Wi-Fi和802.11的关系一模一样。在802.15.4标准里面定义了PHY标准低速WPAN的MAC,然而ZigBee联盟则对安全标准、网络层协议以及应用架构(Profile)进行了相关的标准化,另外海制定了不一样制造商产品之间的互操作性以及一致性的测试规范。
1. IEEE802.15.4标准
那么小编就和大家一起来探讨一下IEEE802.15.4标准吧。在这一种标准里面所定义的低速无线个人网(即LowRate-WPAN)主要包含了两种的设备,也就是简单功能设备(Reduced-FunctionDevice,RFD)以及全功能设备(FullFunctionDevice,FFD)这两者。然而在FFD里面就会有3种工作模式,这可以作为一般的协调器(Coordinator)、设备或者是PAN协调器。但是大家要注意一点,那就是RFD功能非常的简单,仅仅只可以作为设备来使用。就比如说:电灯开关、被动式红外传感器等。大家都应该知道这一些设备其实是不需要发送大量的信息,一般来说只接受某一个FFD的控制而已。FFD就可以和RFD或者是其他一些的FFD通信。然而RFD仅仅只可以和FFD进行相互的通信,RFD之间是不可以进行互相通信的哟。
现在小编就为大家演示一下LR-WPAN网络的拓扑结构吧,具体的拓扑结构如图所示:
在星型拓扑里面,仅仅只有在PAN协调器以及设备之间才可以进行通信,在设备之间是不可以互相通信的。当一个FFD被成功激活了以后,那么它就会开始建立属于自己的网络了,并且还会成为这一个网络的PAN协调器。在无线信号可及的范围里面,假如说有非常多个星型网络,那么每一个星型网络就会使用唯一的标识符互相区分,各自独立地进行工作,然而和其他网络没有任何的关系。
一般情况下,设备都都会和某一种应用有关系的,这可以作为通信的接受者或者是发起者。当然啦,PAN协调器也可以运行某一些应用,但是它的主要角色就是用来接受或者是发起通信的、除此之外,还进行管理路由。大家都应该知道一点,那就是PAN协调器是PAN的控制器,其他设备都需要接受它的控制。一般来说,PAN协调器都进行插电工作的,然而一般的设备都是用电池进行供电的。那么星型网络就可以用来PC机外设管理、家庭自动化、玩具和游戏,以及个人健康护理等等的网络环境了。
星型网络和点对点网络这两者之间有一点不一样,这一种网络里面的全部设备之间都可以进行互相的通信,仅仅只需要处于信号覆盖范围之内就可以了。当然啦,点对点拓扑也可以构成更加复杂的网络,无线传感器网络、监控网络以及工业控制、资产跟踪网络以及库房管理、安全监控网络以及智能农业网络等等,以上这些通通都可以通过点对点拓扑来进行构建的。另外一个方面,点对点网络也可以构成自愈合、自组织的AdHoc网络。假如说我们需要构成一些多跳的路由网络,那么这就需要得到一些高层协议的支持才可以进行了。
假如真的要使用例子来说明的话,那么小编使用点对点拓扑构建的簇集树(clustertree)网络作为例子演示给大家看。这一种网络里面的大部分设备都是FFD,仅仅只有少部分RFD可以连接到树枝上然后成为叶子节点。当然啦,任何一个FFD都可以作为协调器来为我们提供网络里面的同步和路由服务。但是在这里大家要注意一点,那就是仅仅只有一个协调器是PAN协调器。PAN协调器比其他的设备拥有更加多的计算资源,它建立了网络里面的第一个簇,并且还要将自己的PAN标识通过信标帧广播给邻近的设备。假如说是有两个或者是多个FFD竞争PAN协调器,这就需要高层协议对竞争过程进行仲裁了。接受信令帧的候选设备就可以请求加入PAN协调器建立的网络。假如说已经得到了PAN协调器的许可,那么新的设备就会成为一个孩子设备,并且还会将其加入的PAN协调器作为双亲设备添加到自己的邻居列表里面。假如有一个设备不可以加入到PAN协调器管理的网络,那么它就一定要继续搜索其他的双亲设备了。
最简单的簇集树就是单个簇了,大型网络都可能是由互相邻接的多个簇构成一个网状结构的。那么在网络里面的第一个PAN协调器就可以指导其他设备变成一个新簇的PAN协调器。当有其他设备慢慢加入进来的时候,此时网状结构就已经形成了,具体的网状结构如图所示:
在上面的图像中,大家可以看到有很多的线条,这些线条所代表的意思就是孩子以及双亲关系而不是通信流。那么多簇结构又有什么优点呢?它的优点就是将覆盖的范围扩大了。当然啦,他也是有缺点的。它的缺点就是增加了通信延迟。
在这里,小编就为大家提供一下802.15.4的体系结构吧,具体的体系结构如图所示:
大家可以看到图像是由两种颜色组成的,分别是深色和浅色。其中深色的部分就是802.15.4所定义的MAC以及PHY规范,而浅色的部分就是归ZigBee联盟管理的。物理层(即PHY)包含RF收发器以及底层管理的功能。那么我们只需要通过物理层管理实体服务访问点(PLME-SAP)以及物理数据服务访问点CPD-SAP)向上层提供服务即可。
在802.15.4-2006标准里面,主要定义了4种物理层,具体的物理层如下所示:•
1、2.450GHz:这一个物理层是直接序列扩频(即DSSS),主要负责偏置正交相移键控(O-QPSK)调制,它的数据速率高达250Kbps。
2、868/915MHz:这一个物理层是直接序列扩频(即DSSS),主要负责偏置正交相移键控(O-QPSK)调制,它的数据速率高达250Kbps以及IOOKbps。
3、868/915MHz:这一个物理层是直接序列扩频(即DSSS),主要负责二进制相移键控CBPSK)调制,它的数据速率高达40Kbps以及20bps。
4、868/915MHz:这一个物理层是并行序列扩频(即PSSS),主要负责二进制相移键控(BPSK)调制和幅度键控CASK)调制,它的数据速率高达250Kbps。
但是在这里大家要注意一点那就是:其中有两个868/915MHz标准(ASKPHY以及0-QPSKPHY),这都是在2006标准里面新增加进来的。
在MAC子层里面为我们提供了两种服务,分别是MAC管理服务以及MAC数据传输服务,这两者都是通过MAC层管理实体服务访问点(MLME-SAP)以及lMAC公共部分子层服务访问点(MCPS-SAP)向上层提供服务的。
除此之外,MAC子层还为我们提供了两种信道访问方式,简单来说也就是无竞争的访问以及基于竞争的访问。对于一些低延迟的应用又或者是一些要求特别带宽的应用,PAN协调器就需要为其分配保障时槽GTS(即GuaranteedTimeSlots),这样子的话,在保障时槽里面就可以进行无竞争访问的操作了。
基于竞争的这一种访问方式主要是应用了CSMA/CA后退算法,而且还划分成为分时槽的以及不分时槽的这两个不一样的版本。其中,不分时槽的CSMA/CA协议就会应用在没有启用令牌的网络里面,当一个设备需要进行发送MAC命令或者是数据帧的时候:
(1)我们必须要需要等待一段随机时间;
(2)假如说信道是闲的话,那么就会随机后退一段时间,接着才进行开始发送,要不然的话就转为③:
(3)假如说信道是忙的话,那么就转为①。
在启用令牌的网络里面,我们就一定需要使用CSMA/CA协议的这一个分时槽的版本了。这一个算法和前一算法的竞争过程基本上就是一模一样的。不过还是有小小区别的,主要的区别就是后退时间要和令牌控制的时槽对准。当设备要进行发送数据帧的时候,我们第一定位个后退时槽的界限,然后执行以下的操作:
(1)首先我们要做的就是先等待一段随机数量的时槽;
(2)假如说信道是闲的话,那么就需要在下-个时槽开始的时候马上发迭了,要不然的话就转为③:
(3)假如说信道是忙的话,那么就转为①。
在这里,小编就为大家提供一下PHY分组的结构以及MAC数据帧的图像吧,希望这对大家有所帮助,具体如图所示:
接下来,小编就和大家简单的解释一下对于每一个字段吧,具体的解释如下:
(1)地址:这一个字段大家可以使用64位的长地址或者是16位的短地址。
(2)帧长度:这一个字段主要向大家说明一下PSDU的总字节数。
(3)前导序列:这一个字段主要的作用就是用于信号同步,然后就根据调制方式的不一样就可以使用不一样的长度以及符号。
(4)FCS:代表的是16位的CRC校验码。
(5)帧起始定界符:这一个字段主要指示分组数据的开始以及同步符号的结束,然后就根据调制方式的不一样,那么它的模式以及长度都会不一样的。
(6)辅助安全头:这一个字段主要说明了认证、加密以及防止重放攻击的算法,和PAN安全数据库里面存放的密钥,大家要注意咯,这一个字段是可变长的哟。
(7)帧控制:这一个字段主要说明了帧类型(000代表的是令牌帧、001代表的是数据帧、010代表的是应答帧、011代表的是MAC命令l帧〉、是不是需要应答、是不是最后帧、地址模式、以及压缩的PAN标识等等内容。
(8)顺序号:这一个字段代表的是数据帧的/ll)Ji序号用于与应答帧匹配。
2. ZigBee网络
zigbee联盟是一个高速增长的非牟利业界组织,成员包括国际著名半导体生产商、技术提供者、代工生产商以及最终使用者。这一个联盟是由Emerson、Ember、Freescale等等12家控制设备以及半导体器件制造商发起的,所加盟的公司已经多至300多家了。它的主要任务有哪些呢?现在我们就一起来学习一下吧,具体如下:
任务一:主要促进了ZigBee品牌的全球化市场保证
任务二:主要管理ZigBee技术的演变。
任务三:为我们提供了致性测试规范以及互操作性
任务四:主要定义ZigBee的安全层、网络层以及应用层标准。
接下来小编就为大家演示一下ZigBee联盟指导委员会所定义的ZigBee技术规范(2005)吧,具体的协议栈如图所示:
在这一副图像里面,主要就是描述了ZigBee网络的可利用的服务以及基础结构。在图像最下面两块分别是IEEE802.15.4定义的PHY以及MAC标准,最上面的则是ZigBee联盟,定义的应用层以及网络层,其中的应用对象就是由网络开发商进行定义的。另外一个方面,开发商为我们提供了很多种应用对象,这样子就可以满足不一样的应用街求。ZigBee网络层(即NWK)为我们提供了建立多跳网络的路由功能。在APL层里面已经包含了ZigBee设备对象(ZOO)以及应用支持子层(APS),初次之还包含了各种可能的应用。APS的作用就是对各种应用以及ZDO提供相关的服务。zoo的主要的功能就是为我们提供全面的设备管理,
现在我们再来说一下ZigBee的安全机制吧,它主要就是分散在NWK、MAC以及APS层,分别就是对NWK帧、MAC帧以及应用数据进行相关的安全保护。另外APS子层还为我们提供了维护以及建立安全关系的服务。ZigBee设备对象zoo管理安全策略以及设备的安全配置。
大家都应该知道,ZigBee的MAC层以及网络层这两者都是使用了高级加密标准AES,以及还结合了认证以及加密功能的CCM*分组加密算法。分组加密,也有人称之为块加密(即BlockCipher),它主要的操作方式就是把明文按照分组算法划分成为128位的区块,对于每一个区块分别进行加密,那么大家就会看到整一个密文形成了一个密码块链。
那么小编就为大家简单的介绍一下ZigBee协调器管理网络的路由功能吧,它的路由表如图所示:
其中的地址这一个字段是采用了16位的短地址,3位状态位指示的状态具体如下:
(1)0x0:正在活动的状态。
(2) 0xl:正在发现的状态。
(3) 0x2:发现失败的状态。
(4) 0x3:不活动的状态。
(5)0x4-0x7:正在保留的状态。
在ZigBee中主要采用的路由算法是按需分配的距离矢革协议AODV。当NWK数据实体要发送数据分组的时候,假如说路由表里面并不存在有效的路由表项,那么我们第一步所需要做的就是先进行一下路由发现,并且还需要对找到的每一个路由计算通路费用。
现在我们先假设一下长度为L的通路P是由一系列设备[D1,D2,...,DL]组成的,假如说我们使用[鸟,D;+1]来代表两个设备之间的链路,那么通路费用可以使用下面的公式进行计算出来,具体的公式如下:C{P}=ic[Di,D;.i)
其中,C{[D;,D;+i]}所代表的是链路的费用。链路l的费用C{l}则使用下面的函数进行计算出来,具体的公式如图所示:
其中,Pi代表的意思是在链路l上可以进行分组提交的概率。
由此可见,链路的费用和链路上可提交分组的概率的4次方是成反比的,一条通路的费用的值则位于区间[0...7]里面。
小编结语:
以上是今天考试认证的教程了,为你介绍无线个人网,希望这对你有所帮助。如果你也有这样的需要,那就赶快来学习一下吧。如果大家喜欢编程学习网教育的话,不妨可以推荐更多的朋友来哟!