ZigBee协议网络层Word文档格式.docx
《ZigBee协议网络层Word文档格式.docx》由会员分享,可在线阅读,更多相关《ZigBee协议网络层Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
NLME-JOIN-DIRECTLP.reques失败,因为邻居表没
有更多的空间
UNKNOWN_DEVICE
0Pc8
NLME-LEAVE.request原语失败,因为产生原语的
设备地址不在邻居表中的参数列表中
UNSUPPORTED_ATTRIBUTE
0Pc9
NLME-GET.requestorNLME-SET.request原语产生
带有未知的属性标识符
NO_NETWORKS
0Pca
没有检测到网络环境产生NLME-JOIN.request原语
LEAVE_UNCONFIRMED
0Pcb
设备确认从网络出发失败
MAP_FRM_CNTR
0Pcc
因为帧计数器达到最大值,所以输出帧安全处理失败
NO_KEP
0Pcd
输出帧尝试安全处理且失败,因为对于处理没有有效的钥匙
BAD_CCM_OUTPUT
0Pce
输出帧尝试安全处理且失败,因为安全设计产生一个错误的输出
NO_ROUTINGCAPACITP
0Pcf
由于缺少路由表或者发现路由表能力,尝试发现路由失败
ROUTE_DISCOVERP_FAILED
0Pd0
尝试发现路由失败,由于缺少路由能力
ROUTE_ERROR
0Pd1
由于发送设备的路由失败,NLDE-DATA.request原
语失败
BT_TABLE_FULL
0Pd2
由于没有足够的空间在BTT,尝试发送一个广播帧或成员模式多点传送失败
FRAME_NOT_BUFFERED
0Pd3
一个非成贝多点传送帧丢弃未决路由发现
3.2概况描述
3.2.1网络层概述
ZigBee网络层的主要功能就是提供一些必要的函数,确保ZlgBee的MAC层
(IEEE802.15.4-20PP)正常工作,并且为应用层提供合适的服务接口。
为了向应用层提供其接口,网络层提供了两个必须的功能服务实体,它们分别为数据服务实体和管理服务实体。
网络层数据实体(NLDE)通过网络层数据服务实体服务接入点(NLDE-SAP)提供数据传
输服务,网络层管理实体(NLME)通过网络层管理实体服务接入点(NLME-SAP)提供网络管理服务。
网络层管理实体利用网络层数据实体完成一些网络的管理工作,并且,网络层
管理实体完成对网络信息库(NIB)的维护和管理,下面分别对它们的功能进行介绍。
321.1网络层数据实体(NLDE)
网络层数据实体为数据提供服务,在连个或者更多的设备之间传送数据时,将按照应用
协议数据单元(APDU)的格式进行传送,并且这些设备必须在同一个网络中,即在同一个内部个域网中。
网络层数据实体提供如下服务:
(1)生成网络层协议数据单元(NPDU):
网络层数据实体通过增加一个适当的协议头,从应用支持层协议数据单元中生成网络层的协议数据单元。
(2)指定拓扑传输路由,网络层数据实体能够发送一个网络层的协议数据单元到一个合适的设备,该设备可能是最终目的通信设备,也可能是在通信链路中的一个中间通信设备。
(3)安全:
确保通信的真实性和机密性。
3.2.1.2网络层管理实体(NLME)
网络层管理实体提供网络管理服务,允许应用与堆栈相互作用。
网络层管理实体应该提
供如下服务:
(1)配置一个新的设备:
为保证设备正常工作的需要,设备应具有足够的堆栈,以满足配置的需要。
配置选项包括对一个ZigBee协调器或者连接一个现有网络设备的初始化的操作。
(2)初始化一个网络:
使之具有建立一个新网络的能力。
(3)连接和断开网络。
具有连接或者断开一个网络的能力,以及为建立一个
ZigBee协调器或者路由器,具有要求设备同网络断开的能力。
(4)寻址:
ZigBee协调器和路由器具有为新加入网络的设备分配地址的能力。
(5)邻居设备发现:
具有发现、记录和汇报有关一跳邻居设备信息的能力。
(6)路由发现:
具有发现和记录有效地传送信息的网络路由的能力。
(7)接收控制:
具有控制设备接收状态的能力,即控制接收机什么时间接收、接收时间的长短,以保证MAC层的同步或正正常接收等。
3.3网络层服务协议
图3.1给出了网络层各组成部分和接口。
网络层通过两种服务接入点提供响应的两种服务。
它们分别是网络层数据服务和网络层
管理服务。
网络层数据服务通过网络层数据实体服务接入点接入,网络层管理服务通过网络
层管理实体服务接入点接入。
这两种服务通过MCPS-SAP口MLME-SPA接口为MACB提供接口。
除此之外,在NLME和NLDE间还有一个接口使得NLME可以使用网络层数据服务。
表3.2
FigureS.1TlieWVKLayerReferenceModel
5LDE-SAPPrimitive
Request
Confirm
Indicncion
NLDE-DATA
33.1.1
3.3丄2
33.13
3.3.1网络层数据服务
网络层数据实体服务接入点支持对等应用实体之间的应用协议数据单元的传输。
列出了网络层数据实体服务接入点支持的原语,下面小节就是对这些原语的讨论。
Table3.2NLDESAPPrimitives
3.3.1.1NLDE-DATA.request原语
该原语请求从本地应用支持层实体到单个或者多个对等的应用支持层实体的协议数据单元传输。
3.3.1.1.1服务原语的语法
该服务原语的语法如下所示:
NLDE-DATA.request{
DstAddrMode,DstAddr.
NsdiiLeiifth.
Nsdu.
NsduHandk.
Radius,
NoiimtiuberRadius.
DiscoverRoutt.
Secwiit^Enable
表3.3描述了NLDE-DATA.request函数原语的参数
Table3.3NLDE-DATA.1equestPaiametets
Name
Type
ValidRange
Descriptian
D^AddrModf
Integer
0x01or0x02
ThetypeofdestinationaddresssiijjpliedbytheD^tAddrparatnetei.ThismayfoneofthefollowDigtwo\Tilnes:
0x01=16-bitmulticastgroupaddress0x02=16-bitNWKaddressofadeviceorald*bitbroadcastaddress
DsbXddr
16-bit
Address
OxOOOO^OxFFFF
Destinationaddress
NsdiiLengrh
aM3xNLA.CFr?
LmeSize
(nwkcMAC:
F对n址Overhead+mvkcMinHeadeiCherhead
TlienumberofoctetscomprisingtheNSDUtobetransferred.ThishasbeenmodifiedfromfileaM^MACFrameSizeliiiutspecifi亡dhitheIEEE802.15.4specificationtotaktmtoaccountrh^rthfZigbeenetworklayerdwnotusetheextendedaddressingmodes.Theeffectofthisisto丘亡亡theuini^tdportionoftheheadertobeusedforpayload.
Nsdu
SetofOctets
Thesetofoctetsconipn^mgtheNSDUTobetransferred
NsduHaiidl^
OkOO-Oxff
ThehandleA^ociatedwithtlwNSDUrcbetfansininedbytheNHTKlayerentity-
Radius
Unsigned
0x00-OxfF
Thedistance,inhops,Thataframewillbeallowedrotraveltliroughthfnetwork
Table3.3XLDE-DATA.requestPaimeters(Continue<
l)
T?
Te
Description
NoiuneniberRjidius
0x00-0x07
Thedistance,inhops,thatdmulticast丘am亡willberekiyedbynota
luemberofthegrovip:
Aalueof0x07istt'
tat亡uifrnin^
DiscoverRoute
0x00-OsO1
TheDiscoverRoutepaiametermaybeu探dtocontrolroutedisomy
forthetnnsitofthi^frame(seesub-clause3,73.5):
0x00=suppressrout亡diico\wr
0x01=enableroutedisccyvery
Stcunn-Eaable
Beakan
TRUEorFALSE
TheSeciuiryEnabkparanwrermaybeusedToenableNWKlayersecurityprocessingforthecurrentframe:
Ifthesecuiih-levelspecifiedinthtNIBis0.ineatiingnosecuritythenthisparameTecwillbeignored:
avalueofTRUEdenotesthatthesecurin'
proce^ungspecifiedbyrhe$ecunrylevelwillbeappliedandavalueofFALSEdenotesthatnosecuritywillbeapplied
3.3.1.1.2产生
当一个NSDl要传送到一个对等的应用支持层实体时,本地应用支持层实体就会生成该
原语。
3.3.1.1.3接收
当一个不与网络连接的设备接收到该原语时,该设备网络层将发出一个状态参数为INVALID-REQUEST的NLDE-DATA.confirm原语。
网络层数据实体在接受到该原语时,为传送NSDU包,需要构造一个NPDU包。
在处理过
程中,如果网络层数据实体在发送NSDU包之前,先发送了NLDE-DATA.cindirm原语,则将
发起所有的后续处理。
在构造新的NPDC过程中,网络层头的目的地址域设置为参数DstAddr
所提供的值,源地址域设置为MACPIB中属性macShortAddress的值。
网络层帧头帧控制域
中的路由发现域设置为DiscoverRoute参数的值。
如果提供的Radius参数不为0,那么它
将设置在网络层帧头的radius域,如果值为0,那么网络层帧头中的radius域设置NWKIB
中nwkMaPDepth属性值的二倍。
网络层将会生成一个如3.7.2.1小节所描述的系列号。
这个序列号可以插入到网络层帧头的sequencenumber域。
帧头的多点发送标志位将根据
DstAddrMode的值设置。
如果DstAddrMode的参数值为0P01,网络层帧头将包含multicastcontrol域,该域的设置如下:
(1)如果该节点是DstAddr参数所包含的节点,那么multicastmode域置为0P01
(2)否则,multicastmode域设为0P00
(3)non-memberradius禾口maPnon-memberradius域按照NonmemberRadiusl的值设置
一旦构造好NSD包,如果是单播,将按照3.733小节所描述的过程为NSD包确定传输
路由;
如果是广播,贝惨见3.7.4小节;
如果是多点通信,则参见3.7.5.2小节。
当确定了NSDU包传输路由后,通过MCPS-DATA.request原语来发送NSD包,在该原语中参数SrcAddrMode和DstAddrMode都设置为0P02,表明适应16位的网络地址。
参数SrcPANId和DstPANId应设置为MACPIB^的macPANIc值。
SrcAddr参数值设置为MACPIB^的macShortAddr值。
DstAddr参数值为由路由程序所决定的下一跳地址。
当TPOptions与0P01相与时,该参数值应为非零值,
表示发送需要确认。
在接收到MCPS-DATA.confirm原语时,网络层数据试题发送
NLDE-DATA.confirm原语,该原语中的参数状态为MAd所接收到的状态。
如果在网络层信息数据库(NIB)中所确定的网络安全级别标准为一个非零值,并且
SecuritPEnable值为TRUE则在帧发送之前,按照4.4小节所描述对帧进行安全处理。
否则,
网络层不对该帧进行安全处理。
如果安全处理已经进行了,但是由于某些原因而失败了,那
么,将丢弃该帧,并且网络层数据实体将发送NLDE-DATA.confirm原语,该原语的状态参数
为安全方案所返回的值。
331.2NLDE-DATA.confirm原语
该原语提供了从本地应用支持层实体到一个对等应用支持成实体传送NSD包请求原语
的结果。
3.3.1.2.1服务原语的语法该原语的语法如下所示:
NLDE-DATA.ccnfinn{
NsduHaudle.
Status
TxTime
表3.4详细描述了NLDE-DATA.confirm原语的参数。
Table3,4>
JLDE-DATA,conflrmParameters
T\Pe
NsdiiHandle
0x00-Oxff
ThehandleassociatedwiththeNSDUbeingconfirmed
INVALIDREQUEST.MAXFR>
ICOfNTER.NO.KEY.
ba5ccmOUTPUT,ROUTE_ERROR.BT^TABLE_FULL.FRAME_XOT_BUFFEREDoranystatusvalue%reniniedftoiTiHuuriiysuiteorrheMCPS-DATAconfii'
mprninrue(see[Bl])
Thtstatusofthecorrtspotidingrequest
TxTtme
InTeger
Implementation沖亡uifk
ArimeindicationforrhetransmittedpackerbasedonThelocalclock.Ilierinieshoiddbebatedonthepoint
foreachtransmittedpacketinagivenimplementationThisvalueisonlypro^idtfdifmvkTimeStajnpisstttoTRUE
3.3.1.2.2产生
该原语为本地网络层数据实体对接收到NLDE-DATA.request原语而产生的响应。
Status域将反映相应的请求结果,详见3.3.1.2.3小节。
3.3.1.2.3接收
接收到该原语,开始设备的APS?
层将被通知传输请求的结果。
如果传输成功了,那么
status参数为SUCCESS否则,status参数表明传输的错误。
3.3.1.3NLDE-DATA.indication原语
该原语表示一个NSD包从网络层到本地应用支持层实体的传送。
3.3.1.3.1服务原语的语法
该原语的语法如下:
NLDE-DATAindieation{
DsrAddrMode,DsrAddr.SreAddr.
Nsdu,
LmkQiialirx1
RxTnne
表3.5描述了NLDE-DATA.request原语的参数。
Table3.
5>
LDE-DATA^itidicationParameters
DstAddfMode
ThetypeofdestinjitionaddresssxippliedbytheDstAddrparameter:
Husmayhaveoneofflitfollowuigtwovalues:
OxOl=ld-bifmultKastgroupaddress
OxO2=lC-biiKWKaddressofadeuceorr16-bitbroadcastaddress
DstxA.ddr
16-bitAddr邸
OxOOOO-OxFFFF
Thedestimtictiaddr亡臂wherethe
NSDLJisseat
SrcAddr
l<
5-bi:
Deviceaddress
Anyvaliddeviceaddressexceptabroadcastaddress
TheindividualdeviceaddressfromwluchtheNSDUoriginated
Table3.5NLDE-DATA.in(1icarionParameters(Conthmed)
NsduLength
aMaxMACFiameSize-(n^'
kcNIACFlameOverhead+nwkcMmHeaderOverliead)
TlienumberofoctetscomprisingtheNSDUbeingmdicattdTinshasbteiimodifitclfromrheaMaxhLACFraiueSi2elimitspecifiedintheIEEES02.1S.4specificationrotakeintoaccountThattheZigbeenenvorkhyerdoeshotiwetheextendedaddressinginodes.Theeffectofrlu$isrcfree廿址unusedpoiiicmoftheheadertobeusedforpayload.
Serofoctfis
=
TliesetofoctetscomprisingtiltNSDUbtuigmdicated
LinkQu泊icy
Inreger
Tlielinkquali^indicationdeliveredbytlwXLA.Conreceiptofdnsfranit3$aparameteroftheMCPS-DATA,uiditarionpriniiti\-e(see[Bl])
RxTime
Inipleniematioaspecific
Atin址indicationfordierectivtdpacketbasedoil(helocalclock.Tlierimeshouldbebasedonrhepointforeachreceivedpacketon»
gnenitnpleinenfation.Thisvahieisonlyprovidedifn^klirrjeStampissettoTRUE
3.3.1.3.2产生
当本地MA(层实体接收到一个适当地址的数据帧时,就生成该原语,并发送给应用支持
3.3.1.3.3接收
当应用支持层接收到该原语时,则被通知一个数据帧到达设备,就可得到设备所接收的
数据。
3.3.1.3.4网络管理服务
网络层管理实体服务接入点为其上层和网络层管理实体之间传送管理命令提供接口。
表
3.6列出了NLM所支持的NLME-SP原语,下面的小节详细介绍了这些原语。
Table3+6SumiiiiinofthePrimiriT巧AccessedThrouglithe?
*LME-SAP
Sub-clauseNumberinTliisSpecifiration
IndlcatioD
Response
NLME-NETWORK-DISCOVERY
3.3.11
工322
NLME-NETWORK*FORltL^TION
3331
33.3.2
NLME-PERMIT-JOINING
33.41
33.4.2
NL