网络层作用:
加入和离开网络
应用层安全
到目的地址的路由框架
发现和维护设备之间的路由
发现直接的邻居
存储相关邻居的信息
APS层的作用:
根据两个设备的服务和需求,维护绑定它们、存储着它们匹配能力的表格。
转交设备之间的消息
群组地址定义,移动和过滤组地址信息
64 bit IEEE地址和16 bit NWK地址间的映射
分解,组装可靠的数据传输
ZDO作用:
定义了网络中各设备的角色
启动或回复绑定请求
在网络设备间创立安全的连接
在网络上发现设备、并决定它们提供的服务
名词解释:
Application object: 应用层最高层部分的组件,由制造商定义并实际的执行应用程序。
Binding: 在一个原endpoint和一个目的endpoint间创建一个非指向性的逻辑连接。
Attribute: 一种代表了物理变量或状态的数据实体。利用命令在各种设备之间传递。
Cluster: 是涉及到属性的命令结构内的各种属性的容器,或者是不涉及到属性的命令结构内的消息的同义词。 比如说,ZigBee Device Profile定义了各种命令和响应,它们都被装在cluster这样一个容器中,并且被赋予了cluster标识符用来枚举每一个命令和响应。然后每一个ZigBee
Device Profile消息被定义为一个cluster
Cluster identifier:cluster的标识符。在创建一个绑定表格的时候,cluster标识符被用来指定输入和输出。
End application: 运行在设备的1~240endpoint上的应用程序。这些应用程序和网络及zigbee协议没有联系。
Component: 由物理对象组成的组件。符合application profile。
Endpoint:一个单元中的特别的Component。每一个zigbee设备支持多达240个这样的Component。
Endpoint address:分配给endpoint的地址。除了一些特别的,这些地址都是分配的,64位的IEEE地址和16位的网络地址。
Extended PAN ID: 网络中独一无二的64位的PAN标识符。在给定的区域中存在PAN的相互重叠时,这些标识符也必须是独一无二的。这些标识符被用来避免不同网络间的PAN ID的冲突。
节点:
endpoint:
设备的
简单描述符:
复杂描述符:
用户描述符:
网络地址(16位):网络层分配给设备的,并且被网络层用来在不同的设备间路由信息的地址
IEEE地址(64位):
API:
Common IF:
Profile:设备描述的收集,它们合起来组成了可以合作的应用。比如说一个节点上的恒温器和另一个节点上的炉子交流,它们合作组成了一个应用于加热的profile。
Protocol data unit: 两个对等实体间交换的数据单元。
Unit: 分享单一的一个single ZigBee radio的组件或组件的集合。每一个Unit有一个独一无二的IEEE地址和网络地址。
Node: 附着在一个单一的unit上,分享公用的802.15.4 radio.的独立设备和应用程序的集合。
(网上搜索开始)
1.Profile
Profile: a collection of device des criptions,which together form a cooperative application
规范:就是为了多个设备,各种厂家的设备,可以互连,互通,而制定的约束。
例如:远程控制开关规范
2.Cluster
Cluster:is a container for one or more attributes
Attribute: a data entity which represents a physical quantity or state
在许多中文资料里把它翻译成“簇”。
例如:
颜色:就是cluster
红,白,清,蓝,紫,黑:就是attributes
也可以,这样理解,温度就是cluster,温度值,具体的就是attributes。
在通信时,首先基于温度,这个cluster,这个属性来进行通信,具体传输的就是温度值这个属性。
从颜色的例子,就可以好理解,为什么一个cluster里,有多个attributes。
3.Identifier
简称:ID,可以理解为“标识符”
就是具体某一项东西的一个代号
就好像一个具体的人,要给它起个名字,有一个身份证号,这个身份证号就是ID
4.帧类型
总的帧类型,有两种,分别为:KVP 和 MSG
KVP: key-value pair (键值对)
MSG:Message service type (报文)
定义的两种传输数据的帧格式,前一种帧有严格的传输格式,每次传输的都是固定长度的内容,后者对格式要求不严格,可以说是相当自由,只要不超过最大帧长度就可以了。
(网上搜索结束)
功能:
Multicast Communication(多播、组播)
多播提供多对多的路由,多播地址是16位的多播组标识符,每一个设备有一个多播表来指示这个设备属于哪一个多播组。一个多播消息被送到一个特别的目标组,凡是在自己的多播表中列出了这个组的设备都可以收到这个消息。只有数据帧能够多播,命令帧不能多播。多播帧有一个mode flag来指示他们是非成员模式(non-member mode) 或者是 成员模式(member mode)。成员模式的多播是在目标组的设备成员之间进行的。成员模式的多播被记录在BTT中。非成员模式是从一个组外设备向一个组内设备传输多播。Multicasts
transmitted by members of the destination multicast group are always in member
mode. Multicasts transmitted by non-members are in member mode if they have
previously been transmitted by a group member and in non-member mode if not.
Broadcast Communication
网络中的任何一个设备都可能对网络中的许多其他设备申请一个广播传输。广播是由本地APS底层实体申请,利用了NLDE-DATA.request原语,并把DstAddr 参数设置为Table 3.50中的广播地址。
原语NLDE-DATA.request(函数NLDE_DATA_request):
参数中,DstAddrMode没有用到。
nsduHandle为INVALID_NSDUHANDLE和NWK_ROUTED_NSDUHANDLE时,都会NLDE_DATA_confirm(nsduHandle,NWK_INVALID_PARAMETER);
进行组播还是广播由参数DstAddr决定。
关于NLDE-DATA.request:
如果未连接设备收到传输帧的请求命令,将丢弃该帧,并向其上层发送状态为INVALID_REQUEST的NLDE-DATA.confirm原语,通报其错误状态。
建立一个新的网络的过程:
NLME-NETWORK-FORMATION.request 启动一个新的网络的建立过程
MLME-SCAN.request 到MAC层进行信道能量检测扫描
再主动扫描,寻找合适的信道
MLME-SET.request 为这个新网络选择一个PAN标识符,将这个值
写为MAC层macPANId属性。
选择一个等于0x0000的16位网络地址,并且设置MAC层的macShortAddress PIB属性,使其等于所选择的网络地址
MLME-START.request 给MAC层开始新的PAN操作,启动PAN
允许设备与网络连接:
NLME-PERMIT-JOINING.request 使用此原语后,网络层会使用MLME-SET. Request设置
MAC层的macAssociationPermit PIB属性
连接网络:
NLME-NETWORK-DISCOVERY.request 要求扫描信道
MLME-SCAN.request 请求MAC层执行一个主动扫描
NLME-JOIN.request 网络层在邻居表中搜索一个合适的父设备进行连接
NLME-START-ROUTER.request 如果设备是路由器
重新连接网络:
NLME-JOIN.request
直接方式连接网络:
NLME-DIRECT-JOIN.request
设备自己从网络中断开:
NLME-LEAVE.request
关于断开设备:
ZC要断开子设备,它下面所有的ZR都会断开子设备
ZC、ZR要自己断开时,会发广播
原语:
关于NLME-ROUTE-DISCOVERY.request(路由发现请求原语)
只能ZC或ZR调用
ZED调用时为无效请求
DstAddrMode为不0,DstAddr为广播地址时,为无效请求
没有路由能力的ZR、ZC调用时,并且DstAddrMode为1或2,为无效请求(没有路由能力)
单播路由发现(DstAddrMode = 2)的初始过程在3.7.3.4.1中描述
多播路由发现(DstAddrMode = 1),先检查该设备是否属于该组。若属于改组,返回成功的confirm,并终止处理。若不属于该组,将在当前设备和目标组之间初始一个单播路由发现。
DstAddrMode为0,将开始多对一路由发现,在3.7.3.4.1中详细描述
如果路由发现命令帧在MAC层发送成功,并且DstAddrMode为0,网络层会立即发送NLME-ROUTE-DISCOVERY.confirm表示成功。否则,网络层将会等待路由响应命令帧或路由发现操作超时(3.7.3.4)。如果在超时前收到了路由响应命令,则会confirm成功。如果超时,则confirm路由发现失败。
文章评论(0条评论)
登录后参与讨论