收藏 分销(赏)

ZigBee协议网络层.doc

上传人:天**** 文档编号:4713405 上传时间:2024-10-10 格式:DOC 页数:94 大小:2.26MB
下载 相关 举报
ZigBee协议网络层.doc_第1页
第1页 / 共94页
ZigBee协议网络层.doc_第2页
第2页 / 共94页
ZigBee协议网络层.doc_第3页
第3页 / 共94页
ZigBee协议网络层.doc_第4页
第4页 / 共94页
ZigBee协议网络层.doc_第5页
第5页 / 共94页
点击查看更多>>
资源描述

1、3.1网络层状态值网络层确认原语通常都包括一个参数,这个参数记录回答请求原语的状态。网络层状态参数值如表3.1所示。表3.1名称值描述SUCCESS0x00请求执行成功INVALID_PARAMETER0xc1从高层发出的原语无效或者超出范围INVALID_REQUEST0xc2考虑到网络层目前的状态,高层发送的请求原语无效或者不能执行NOT_PERMITTED0xc3NLME-JOIN.request原语不被接受STARTUP_FAILURE0xc4NLME-NETWORK-FORMATION.request原语启动网络失败ALREADY_PRESENT0xc5产生NLMEDIRECT-JO

2、IN.request原语的设备的邻居表中已经存在有地址设备提供的NLMEDIRECT-JOIN.request原语SYNC_FAILURE0xc6用来表明在MAC层NLME-SYNC.request原语失败NEIGHBOR_TABLE_FULL0xc7NLME-JOIN-DIRECTLY.reques失败,因为邻居表没有更多的空间UNKNOWN_DEVICE0xc8NLME-LEAVE.request原语失败,因为产生原语的设备地址不在邻居表中的参数列表中UNSUPPORTED_ATTRIBUTE0xc9NLME-GET.request or NLME-SET.request原语产生带有未知的

3、属性标识符NO_NETWORKS0xca没有检测到网络环境产生NLME-JOIN.request原语LEAVE_UNCONFIRMED0xcb设备确认从网络出发失败MAX_FRM_CNTR0xcc因为帧计数器达到最大值,所以输出帧安全处理失败NO_KEY0xcd输出帧尝试安全处理且失败,因为对于处理没有有效的钥匙BAD_CCM_OUTPUT0xce输出帧尝试安全处理且失败,因为安全设计产生一个错误的输出NO_ROUTING CAPACITY0xcf由于缺少路由表或者发现路由表能力,尝试发现路由失败ROUTE_DISCOVERY_FAILED0xd0尝试发现路由失败,由于缺少路由能力ROUTE_

4、ERROR0xd1由于发送设备的路由失败,NLDE-DATA.request原语失败BT_TABLE_FULL0xd2由于没有足够的空间在BTT,尝试发送一个广播帧或成员模式多点传送失败FRAME_NOT_BUFFERED0xd3一个非成员多点传送帧丢弃未决路由发现3.2概况描述3.2.1网络层概述ZigBee网络层的主要功能就是提供一些必要的函数,确保ZIgBee的MAC层(IEEE 802.15.4-2003)正常工作,并且为应用层提供合适的服务接口。为了向应用层提供其接口,网络层提供了两个必须的功能服务实体,它们分别为数据服务实体和管理服务实体。网络层数据实体(NLDE)通过网络层数据服

5、务实体服务接入点(NLDE-SAP)提供数据传输服务,网络层管理实体(NLME)通过网络层管理实体服务接入点(NLME-SAP)提供网络管理服务。网络层管理实体利用网络层数据实体完成一些网络的管理工作,并且,网络层管理实体完成对网络信息库(NIB)的维护和管理,下面分别对它们的功能进行介绍。3.2.1.1网络层数据实体(NLDE)网络层数据实体为数据提供服务,在连个或者更多的设备之间传送数据时,将按照应用协议数据单元(APDU)的格式进行传送,并且这些设备必须在同一个网络中,即在同一个内部个域网中。网络层数据实体提供如下服务:(1) 生成网络层协议数据单元(NPDU):网络层数据实体通过增加一

6、个适当的协议头,从应用支持层协议数据单元中生成网络层的协议数据单元。(2) 指定拓扑传输路由,网络层数据实体能够发送一个网络层的协议数据单元到一个合适的设备,该设备可能是最终目的通信设备,也可能是在通信链路中的一个中间通信设备。(3) 安全:确保通信的真实性和机密性。3.2.1.2网络层管理实体(NLME)网络层管理实体提供网络管理服务,允许应用与堆栈相互作用。网络层管理实体应该提供如下服务:(1) 配置一个新的设备:为保证设备正常工作的需要,设备应具有足够的堆栈,以满足配置的需要。配置选项包括对一个ZigBee协调器或者连接一个现有网络设备的初始化的操作。(2) 初始化一个网络:使之具有建立

7、一个新网络的能力。(3) 连接和断开网络。具有连接或者断开一个网络的能力,以及为建立一个ZigBee协调器或者路由器,具有要求设备同网络断开的能力。(4) 寻址:ZigBee协调器和路由器具有为新加入网络的设备分配地址的能力。(5) 邻居设备发现:具有发现、记录和汇报有关一跳邻居设备信息的能力。(6) 路由发现:具有发现和记录有效地传送信息的网络路由的能力。(7) 接收控制:具有控制设备接收状态的能力,即控制接收机什么时间接收、接收时间的长短,以保证MAC层的同步或正正常接收等。3.3 网络层服务协议图3.1给出了网络层各组成部分和接口。网络层通过两种服务接入点提供响应的两种服务。它们分别是网

8、络层数据服务和网络层管理服务。网络层数据服务通过网络层数据实体服务接入点接入,网络层管理服务通过网络层管理实体服务接入点接入。这两种服务通过MCPS-SAP和MLME-SPA接口为MAC层提供接口。除此之外,在NLME和NLDE间还有一个接口使得NLME可以使用网络层数据服务。3.3.1 网络层数据服务网络层数据实体服务接入点支持对等应用实体之间的应用协议数据单元的传输。表3.2列出了网络层数据实体服务接入点支持的原语,下面小节就是对这些原语的讨论。3.3.1.1 NLDE-DATA.request 原语该原语请求从本地应用支持层实体到单个或者多个对等的应用支持层实体的协议数据单元传输。3.3

9、.1.1.1 服务原语的语法该服务原语的语法如下所示:表3.3描述了NLDE-DATA.request函数原语的参数3.3.1.1.2 产生当一个NSDU要传送到一个对等的应用支持层实体时,本地应用支持层实体就会生成该原语。3.3.1.1.3 接收当一个不与网络连接的设备接收到该原语时,该设备网络层将发出一个状态参数为INVALID-REQUEST的NLDE-DATA.confirm原语。网络层数据实体在接受到该原语时,为传送NSDU包,需要构造一个NPDU包。在处理过程中,如果网络层数据实体在发送NSDU包之前,先发送了NLDE-DATA.cindirm原语,则将发起所有的后续处理。在构造新

10、的NPDU过程中,网络层头的目的地址域设置为参数DstAddr所提供的值,源地址域设置为MAC PIB中属性macShortAddress的值。网络层帧头帧控制域中的路由发现域设置为DiscoverRoute参数的值。如果提供的Radius参数不为0,那么它将设置在网络层帧头的radius域,如果值为0,那么网络层帧头中的radius域设置NWK IB中nwkMaxDepth属性值的二倍。网络层将会生成一个如3.7.2.1小节所描述的系列号。这个序列号可以插入到网络层帧头的sequence number域。帧头的多点发送标志位将根据DstAddrMode的值设置。如果DstAddrMode的参

11、数值为0x01,网络层帧头将包含multicast control域,该域的设置如下: (1) 如果该节点是DstAddr参数所包含的节点,那么multicast mode域置为0x01(2) 否则,multicast mode域设为0x00(3) non-member radius和max non-member radius域按照NonmemberRadius的值设置一旦构造好NSDU包,如果是单播,将按照3.7.3.3小节所描述的过程为NSDU包确定传输路由;如果是广播,则参见3.7.4小节;如果是多点通信,则参见3.7.5.2小节。当确定了NSDU包传输路由后,通过MCPS-DATA.r

12、equest原语来发送NSDU包,在该原语中参数SrcAddrMode 和 DstAddrMode都设置为0x02,表明适应16位的网络地址。参数SrcPANId 和 DstPANId应设置为MAC PIB中的macPANId值。SrcAddr参数值设置为MAC PIB中的macShortAddr值。DstAddr参数值为由路由程序所决定的下一跳地址。当TxOptions与0x01相与时,该参数值应为非零值,表示发送需要确认。在接收到MCPS-DATA.confirm原语时,网络层数据试题发送NLDE-DATA.confirm原语,该原语中的参数状态为MAC层所接收到的状态。如果在网络层信息数

13、据库(NIB)中所确定的网络安全级别标准为一个非零值,并且SecurityEnable值为TRUE,则在帧发送之前,按照4.4小节所描述对帧进行安全处理。否则,网络层不对该帧进行安全处理。如果安全处理已经进行了,但是由于某些原因而失败了,那么,将丢弃该帧,并且网络层数据实体将发送NLDE-DATA.confirm原语,该原语的状态参数为安全方案所返回的值。3.3.1.2 NLDE-DATA.confirm 原语该原语提供了从本地应用支持层实体到一个对等应用支持成实体传送NSDU包请求原语的结果。3.3.1.2.1 服务原语的语法该原语的语法如下所示:表3.4详细描述了NLDE-DATA.con

14、firm原语的参数。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.3 NLDE-DATA.indication原语该原语表示一个NSDU包从网络层到本地应用支持层实体的传送。3.3.1.3.1 服务原语的语法该原语的语法如下:表3.5描述了NLDE-DATA.request原语的参数。

15、3.3.1.3.2 产生当本地MAC层实体接收到一个适当地址的数据帧时,就生成该原语,并发送给应用支持层。3.3.1.3.3 接收当应用支持层接收到该原语时,则被通知一个数据帧到达设备,就可得到设备所接收的数据。3.3.1.3.4 网络管理服务网络层管理实体服务接入点为其上层和网络层管理实体之间传送管理命令提供接口。表3.6列出了NLME所支持的NLME-SPA原语,下面的小节详细介绍了这些原语。3.3.2 网络发现网络层管理实体服务接入点支持运行网络的发现。采用NLME-NETWORK-DISCOVERY原语来发现网络。3.3.2.1 NLME-NETWORK-DISCOVERY.reque

16、st原语该原语支持网络层上层应用该原语来发现在POS范围内正在运行的网络。3.3.2.1.1 服务原语的语法该原语的语法如下:表3.7详细描述了NLME-NETWORK-DISCOVERY.request原语的参数。3.3.2.1.2 产生该原语由ZigBee设备网络层上层产生,发送给它的网络层管理实体,请求网络层发现当前在POS正在运行的网络。3.3.2.1.3 接收网络层在接收到该原语后,将通过检查ScanChannels参数确定的信道以及ScanDuration参数所确定的扫描时间,发现在POS中正在运行的网络。通过MLME-SCAN.request原语进行扫描。在接收到MLME-SCA

17、N.confirm原语后,网络层管理实体发送NLMENETWORK-DISCOVERY.confirm原语,其原语参数为发现网络信息以及随MLME-SCAN.confirm原语返回的状态参数值。3.3.2.2 NLME-NETWORK-DISCOVERY.confirm 原语该原语返回网络发现操作的结果。3.3.2.2.1 服务原语的语法该原语的语法如下:表3.8详细描述了NLME-NETWORK-DISCOVERY.confirm原语的参数。表3.9给出了NetworkDescriptor参数中网络描述符所包含的具体内容。3.3.2.2.2 产生当NLME-NETWORK-DISCOVERY

18、.request原语执行完成后,网络层管理实体生成该原语,并发送给网络上层。3.3.2.2.3 接收其上层接收到该原语后,就可得到网络的搜索结果。3.3.3 网络的形成本小节原语定义了一个设备的应用层如何初始化,使其自身成为一个新的ZigBee网络协调器。3.3.3.1 NLME-NETWORK-FORMATION.request 原语该原语允许高层使用该原语请求设备发起一个新的ZigBee网络。并将其自身作为ZigBee协调器。3.3.3.1.1 服务原语的语法该原语的语法如下:表3.10详细描述了NLME-NETWORK-FORMATION.request原语的参数。3.3.3.1.2 产

19、生该原语由具有ZigBee协调器能力设备的应用层生成,发送给它的网络层管理实体,请求初始化设备,使之成为一个新网络的协调器。3.3.3.1.3 接收在网络中,当一个没有ZigBee协调器能力的设备接收到该原语时,网络层管理实体就会返回状态参数为INVALID-REQUEST的NLME-NETWORK-FORMATION.confirm原语。如果设备被初始化为ZigBee协调器,网络层管理实体请求MAC层首先执行一个能量检测扫描,然后在所指定的信道上执行主动扫描。为了执行扫描任务,网络层管理实体将向MAC发送ScanType参数设置为能量检测扫描的MLME-SCAN.request原语;然后,再

20、发送ScanType为主动扫描的MLME-SCAN.request原语。在主动扫描完成以后,网络层管理实体从MAC层接收到MLME-SCAN.confirm原语,并且选择一个合适的信道。网络层将选择一个个域网标识符,并且确保其不会与所选择信道的现有网络个域网标识符参数产生冲突。一旦合适的信道和个域网标识符PANId确定后,网络层管理实体将选择0x0000作为16位的短MAC地址,并且告知MAC层。为了实现该目的,网络层管理实体将向MAC层大宋MLME-SET.request原语来设置MAC PIB中的macShortAddress属性。如果NIB中的属性nwkExtendedPANId值为0x

21、0000000000000000,那么该属性将被设置为MAC层的aExtendedAddress值。如果不能找到合适的信道和个域网标识符PANId,网络层管理实体将会发出状态参数为START_FAILURE的NLME-NETWORK-FORMATION.confirm原语。如果在上层的请求中只提供了一个信道,那么网络层管理实体在开始形成网络前不需要进行能量检测扫描。主动扫描仍需要进行,确保所选择的个域网标识符不与现有网络中的标识符发生冲突。开始一个新的网络,网络层管理实体向MAC层发送MLME-START.request原语。MLME-START.request原语的PANCoordinato

22、r参数设置为TRUE。MLME-START.request原语中的BeaconOrder和SuperframeOrder参数都设置为15,表明没有超帧信标。MLME-START.request中的参数CoordRealignment设置为False。在接收到相应的MLME-START.confirm原语时,网络层管路实体将会向其上层发送NLME-NETWORK-FORMATION.confirm原语,其中的状态参数为MLME-START.confirm原语所返回的状态参数值。3.3.3.2 NLME-NETWORK-FORMATION.confirm 原语该原语返回在网络中初始化一个ZigBe

23、e协调器请求的执行结果。3.3.3.2.1 服务原语的语法该原语的语法如下:表3.11详细描述了NLME-NETWORK-FORMATION.confirm原语的参数。3.3.3.2.2 产生该原语由网络层管理实体生成,作为对NLME-NETWORK-FORMATION.request原语的响应,发送给其上层。该原语返回的状态为INVALID_REQUEST、STARTUP_FAILURE或者MLME-START.confirm原语所返回的状态。3.3.3.1.3描述了在那些条件下返回这些值。3.3.3.2.3 接收接收到该原语,上层就可得知初始化一个ZigBee协调器的执行结果。如果成功执行

24、了请求原语,则状态参数设置为SUCCESS。否则,状态参数为错误状态。3.3.4 允许设备连接该原语定义了ZigBee协调器或路由器的上层如何设置其设备允许其他设备同其网络连接。3.3.4.1 NLME-PERMIT-JOINING.request 原语该原语允许ZigBee协调其或路由器上层设定其MAC层连接许可标志,在一定期间内,允许其他设备同网络连接。3.3.4.1.1 服务原语的语法该原语的语法如下:表3.12详细描述了NLME-PERMIT-JOINING.request原语的参数。3.3.4.1.3 产生当ZigBee协调器或路由器上层希望其他设备加入或阻止加入其网络时,将生成该原

25、语,并传送给网络层管理实体。3.3.4.1.3 接收仅允许ZigBee协调器或路由器的上层发送该原语。如果ZigBee终端设备的网络层管理实体收到该原语,则将返回状态为INVALID_REQUEST的NLME-PERMIT-JOINING.confirm原语。一旦网络层管理实体接收到参数PermitDuration的值为0x00的原语,则通过向MAC层发送MLME-SET.request原语将MAC层的PIB的macAssociationPermit属性设置为FALSE。一旦收到MLME-SET.confirm原语,则网络层管理实体发送NLME-PERMITJOINING.Confirm原语,

26、将其状态值设置为从MAC层所收到的状态。一旦网络层管理实体接收到参数PermitDuration的值为0xff的原语,则通过向MAC层发送MLME-SET.request原语将MAC层的PIB的macAssociationPermit属性设置为TRUE。一旦收到MLME-SET.confirm原语,则网络层管理实体发送NLME-PERMITJOINING.Confirm原语,将其状态值设置为从MAC层所收到的状态。如果收到参数PermitDuration的值为除0x00或0xFF外的值,则网络层管理实体MAC层的PIB的macAssociationPermit属性设置为TRUE。当网络层管理实

27、体收到MLME-SET.confirm原语后,将会启动一个计时器,在PermitDuration秒后,停止计时。一旦计时器启动,网络层管理实体将发送NLME-PERMIT-JOINING.confirm原语,其状态值设置为从MAC层所得到的状态值。如果计时器超时,网络层管理实体将发送参数macAssociationPermit为FALSE的MLME-SET.request原语。任何一个由上层发出的NLME-PERMIT-JOINING.request原语,可以取代所有一切的请求。3.3.4.2 NLME-PERMIT-JOINING.confirm原语该原语向ZigBee协调器或路由器的上层返

28、回允许设备连接网络请求原语的执行结果。3.3.4.2.1 服务原语的语法该原语的语法如下:表3.13详细描述了NLME-PERMIT-JOINING.confirm原语的参数。3.3.4.2.2 产生该原语由ZigBee协调器或路由器初始化的网络管理实体生成,并且向上层发送作为对NLME-PERMIT-JOINING.request原语的确认。其状态参数既可以为MAC层所收到的状态,也可以INVALID-REQUEST的出错代码。这些状态值的原因详见3.3.4.1小节。3.3.4.2.3 接收当接收到该原语后,所初始化的设备上层即可得知允许其他设备连接网络请求原语的执行结果。3.3.5 路由器

29、初始化该原语允许一个新加入网络的ZigBee路由器开始参加ZigBee路由器的活动,包括数据帧的路由、路由发现、接收其他设备加入网络的请求。3.3.5.1 NLME-START-ROUTER.request原语该原语允许一个ZigBee路由器的上层发起路由。3.3.5.1.1 服务原语的语法该原语的语法如下:3.3.5.1.2 产生该原语由新设备的网络层管理实体上层生成,并发出给网络管理实体要求将设备初始化为ZigBee路由器。3.3.5.1.3 接收如果不是作为网络ZigBee路由器的设备接收到该原语后,网络层管理实体将返回状态参数为INVALID_REQUEST的NLME-START-RO

30、UTER.confirm原语。为初始化一个路由,网络层管理实体向MAC层发送MLME-START.request原语,MLME-START.request原语中的BeaconOrder 和 SuperframeOrder参数值设置为15,表明beaconless操作。MLME-START.request原语的CoordRealignment参数设置为FALSE。当网络层管理实体收到相应的MLME-START.confirm原语,将向上层发送NLME-START-ROUTER.confirm原语,其中其状态值与MLME-START.confirm原语中的状态值一样。只有当MLME-START.c

31、onfirm原语返回的状态值为SUCCESS时,设备开始作为ZigBee路由器开始工作,包括数据帧的路由、路由发现、接收设备加入网络的请求。否则,设备不允许做这些工作。3.3.5.2 NLME-START-ROUTER.confirm原语该原语返回执行ZigBee;路由器配置初始化的结果。3.3.5.2.1 服务原语的语法该原语的语法如下:表3.14描述了NLME-START-ROUTER.confirm原语的参数。3.3.5.2.2 产生该原语由网络层管理实体生成,在接收到NLME-START-ROUTER.request原语时,向上层发送该原语作为响应。该原语返回的参数值为INVALID_

32、REQUEST或者为MLME-START.confirm所返回的任何状态值。3.3.5.1.3小节描述了在哪些条件下返回这些值。3.3.5.2.3 接收接收到该原语,上层就得到ZigBee路由器初始化请求的结果。如果网络层管理实体已经成功设置,其返回的参数状态为SUCCESS,否则,参数状态为出错信息。3.3.6能量扫描该原语定义了设备的上层如何操作能量扫描3.3.6.1 NLME-ED-SCAN.request原语该原语允许上层请求本地信道进行能量扫描。3.3.6.1.1 服务原语的语法原语的语法如下:表3.15详细描述了服务原语的参数。3.3.6.1.2 产生上层产生该原语要求:管理信道的

33、能量扫描3.3.6.1.3 接收如果是连接到网络的设备接收到该原语,设备将停止接收任何新的NLDE-DATA.request原语,返回错误代码INVALID REQUEST。完成未解决的NLDE-DATA.request原语。一旦完成了未解决的NLDE-DATA.request原语,设备将临时停止网络操作,进行能量扫描。网络层管理实体向MAC层发送参数ScanType表示为能量扫描,参数ScanChannels和ScanDuration根据网络层管理实体请求设置的MLME-SCAN.request原语。3.3.6.2 NLME-ED-SCAN.confirm原语该原语返回上层请求能量扫描的结果

34、。3.3.6.2.1 服务原语的语法该原语的语法如下:表3.16详细描述了该原语的参数。3.3.6.2.2 产生该原语由ZigBee设备的网络层管理实体生生成,作为对NLME-ED-SCAN.request原语的响应。其状态表明从MAC层收到的MLME-SCAN.confirm原语所返回的状态。ScannedChannels表明那个信道被扫描了(1=信道已扫描)。EnergyDetectList包含信道扫描的结果(0x00-0xff)。其值与MAC层硬件表示为dBm无关。 (e.g. -185 dBm .70dBm)参考IEEE802.15.4-2003。3.3.6.2.3 接收接收到该原语,

35、上层得到能量扫描的结果。3.3.7 设备同网络连接该原语给定了设备同网络连接的方式:(1) 通过联合方式请求连接网络(2) 直接请求连接网络(3) 如果成为孤点设备,请求重新连接网络3.3.7.1 NLME-JOIN.request 原语该原语允许设备上层通过该原语以直接或间接方式请求连接网络,或者当设备为孤点设备时,请求重新连接网络。或者在一个网络中为设备改变操作的信道。3.3.7.1.1 服务原语的语法该原语的语法如下:表3.17详细描述了NLME-JOIN.request原语的参数。3.3.7.1.2 产生设备的上层使用该原语请求:(1) 通过使用MAC层连接过程请求同新网络连接(2)

36、直接使用MAC层孤点过程请求连接网络(3) 在成为孤点设备后,完成设备位置确定,并且重新连接网络(4) 为连接到网络的设备改变操作信道3.3.7.1.3 接收如果收到该原语的设备已经同网络连接,并且RejoinNetwork参数为0x00,则网络管理实体将返回参数状态为INVALID_REQUEST的NLME-JOIN.confirm原语。如果收到该原语的设备目前还没有同网络连接,并且RejoinNetwork参数为0x00,则设备尝试连接由参数ExtendedPANId所指定的网络。网络层管理实体发送MLME-ASSOCIATE.request原语,其中参数CoordAddress设置为在它

37、的邻居表中的路由器地址,满足如下条件:(1) 路由器属于参数CoordAddress所标识的网络(2) 路由器对连接请求开发,is advertising capacity of the correctdevice type(3) 当按照3.7.3.1小节诶所描述的计算方法,所计算连接成本最大为3时,设备收到帧的链路质量。如果设备存在于邻居表中,且满足上述条件,原语MLME-ASSOCIATE.request中的LogicalChannel参数设置为邻居表中的地址,该地址与协调器地址的潜在父节点地址相对应。CapabilityInformation参数的位字段如表3.18所示。这里所收集的性能

38、信息作为网络信息库的属性nwkCapabilityInformation存储起来(见表3.42)。如果多台设备满足上述要求,网络信息库中的nwkAddrAlloc属性为TRUE,则连接设备将选择最小深度的父节点。如果在邻居表中不存在符合条件的设备,则网络层发送状态为NOT_PERMITTED的NLME-JOIN.confirm原语。否则,网络层管理实体发送状态与收到MLME-ASSOCIATE.confirm原语中的状态相一致的NLME-JOIN.confirm原语。如果RejoinNetwork参数的值为0x00,且参数JoinAsRouter的值为TRUE,则设备将作为一个ZigBee路由

39、器运行。如果参数JoinAsRouter的值为FALSE,则设备作为终端设备,不参与路由选择。如果设备接收到该原语,且参数RejoinNetwork值为0x01,则发送MLME-SCAN.request原语,其参数ScanType设置为孤点扫描,ScanChannels 和 ScanDuration参数与NLME-JOIN.request原语的参数一致。网络层管理实体接收到MLME-SCAN.confirm原语,则发送NLME-JOIN.confirm原语,如果设备没有能力找到要连接的网络,其状态值为NO_NETWORKS,否则参数状态为MLME-SCAN.confirm原语所返回的状态值。如

40、果没有同网络连接的设备接收到该原语,并且RejoinNetwork参数值为0x02,则网络层管理实体发送状态参数为INVALID_REQUEST的NLME-JOIN.confirm原语。如果当前与网络连接的设备接收到该原语,其RejoinNetwork参数值为0x02,则设备试图重新与当前的网络连接。在这种情况下,当下面情况为真时,网络层管理实体通过向它的邻居表中的路由地址发送重新建立网络连接请求命令初始化重新建立网络连接:1. 路由器有能力接收JoinAsRouter参数定义的设备类型2. 当按照3.3.7.1小节描述的计算方法,所计算连接成本最大为3时,设备收到帧的链路质量。3. 如果网络

41、信息库中的属性nwkAddrAlloc值为0x00,并且由多于一个满足上述两个条件的潜在的父节点存在,则连接设备将选择最小深度的树根。如果设备存在于邻居表中,且满足上述条件,重新连接请求命令的目的地址设置为潜在的父节点的网络地址。参数CapabilityInformation位如表3.18所示。这里的能力信息如网络信息库中属性nwkCapabilityInformation所示。(见表3.42).如果在邻居表中不存在符合条件的设备,则网络层发送状态为NOT_PERMITTED的NLME-JOIN.confirm原语。否则,网络层管理实体发送状态与收到重新连接响应命令状态参数值一致的NLME-J

42、OIN.confirm原语。一旦设备成功同网络连接,它将把网络信息库中属性nwkExtendedPANID的值设置为连接网络的PAN标识符。如果设备接收到该原语,且参数RejoinNetwork值为0x03,设备试图把操作信道改变为参数ScanChannel所提供的信道。如果在参数ScanChannel中,提供多个信道,网络层管理实体将发送状态参数为INVALID_REQUEST的NLME-JOIN.confirm原语。否则,网络层管理实体发送NLME-JOIN.confirm原语,其状态参数为从转换的信道接收的状态参数值。3.3.7.2 NLME-JION.indication原语当一个新设

43、备通过联合方式或者按照3.7.1.3.3小节所描述的重新连接的方式连接网络成功后,就发送该原语通知ZigBee协调器或路由器的上层。3.3.7.2.1 服务原语的语法该原语的语法如下:表3.19详细描述了NLME-JION.indication原语的参数。3.3.7.2.2 产生在通过如表3.31所示的MAC层的联合方式成功的将一个新的设备连接到网络或如表3.36所示的网络层管理实体的重新连接方式将设备重新连接网络成功后,ZigBee协调器和路由器的网络层管理实体生成该原语,并向其上层传送。3.3.7.2.3 接收设备上层收到该原语就可得知一个新的设备已经成功地连接到本网络。3.3.7.3 N

44、LME-JOIN.confirm原语设备上层通过该原语可得知其请求连接网络的结果。3.3.7.3.1 服务原语的语法该原语的语法如下:表3.20详细描述了NLME-JOIN.confirm原语的参数3.3.7.3.2 产生网络层管理实体接收到NLME-JOIN.request时,对其NLME进行初始化,并生成该原语,发送给其上层作为对网络连接请求原语的响应。如果连接请求成功,则状态参数为SUCCESS,否则,状态参数为错误代码。如INVALID_REQUEST、NOT_PERMITTED、 NO_NETWORKS或者为MLME-ASSOCIATE.confirm 和MLME-SCAN.conf

45、irm原语所返回的状态值。这些状态值的情况如3.3.7.1.3小节所述。3.3.7.3.3 接收正在初始化设备的上层接收到该原语后,就可得到各种连接方式请求的执行结果,连接方式为联合方式,直接连接方式或古典连接方式。3.3.8 直接将设备同网络连接该原语定义了ZigBee协调器或路由器上层利用直接请求的方式,将另一个设备同自身网络连接。3.3.8.1 NLME-DIRECT-JOIN.request原语该原语给出了ZigBee协调器或路由器的上层如何请求直接把另一个设备连接到自己的网络中。3.3.8.1.1 服务原语的语法该原语的语法如下:表3.21详细描述了NLME-DIRECT-JOIN.

46、request原语的参数。3.3.8.1.2 产生ZigBee协调器或路由器生成该原语把新设备直接连接到自己的网络。这个过程不需要任何传输。3.3.8.1.3 接收网络层管理实体接收到此原语后,将会尝试把参数DeviceAddress所给定地址的设备连接到邻居表中,而参数CapabilityInformation设定了加入网络后设备的运行能力。在执行协议中,alternate PAN coordinator位为0。如果设备作为ZigBee路由器,那么其device type位为1,如果为终端设备则为0。如果设备的电源为交流电源,则power source位置为1,否则为0。如果设备在空闲期间,设备接收器打开,则receiver on when idle位置为1,否则置为0。如果设备具有安全操作能力,则security capability位置为1,否则为0.如果网络层管理实体成功地把连接设备加入其邻居表,则发送状态参数为SUCCESS的NLME-DIRECT-JOIN.confirm原语。如果网络层管理实体发现所要加入的设备已在其邻接表中,则发送状态参数为ALREADY_PRESENT的NLME-DIRECT-JOIN.confirm原语。如果网络层管理实体不能将新的设备加入到邻接表中,则发送状态参数为N

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 网络/通信

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服