以下内容摘自ZigBee 2015 Pro文档《docs-05-3474-21-0csg-zigbee-specification》
3.6.1.5 Neighbor Tables
The neighbor table of a device shall contain information on every device within transmission range, up to some implementation-dependent limit.

The neighbor table is useful in two contexts. First of all, it is used during network discovery or rejoining to store information about routers within RF reception range that may be candidate parents. Second, after the device has joined a network, it is used to store relationship and link-state information about neighboring devices in that network. A table entry shall be updated every time a device receives any frame from the corresponding neighbor.

The outgoing cost field contains the cost of the link as measured by the neighbor. The value is obtained from the most recent link status command frame received from the neighbor. A value of 0 indicates that no link status command listing this device has been received.

The age field indicates the number of nwkLinkStatusPeriod intervals that have passed since the last link status command frame was received, up to a maximum value of nwkRouterAgeLimit. Mandatory and optional data that are used in normal network operation are listed in Table 3.53.

大意:

邻居表应该包含每一个在传输内的节点信息。

它有两个用处:

  1. 它用于网络发现或重新连接时,存储可能是候选父节点的RF接收范围内路由器的信息;

  2. 设备加入网络后,用于存储该网络中相邻设备的关系和链路状态信息;每次收到任何信息时都应该更新对应的邻居表条目。

输出损耗域包含了由邻居测量的链路成本;这个值是从邻居最新发送的Link Status帧获得,0表示没有收到该设备的Link Status帧。

老化域表示连续多少次没有收到某个设备的Link Status了,时间单位是nwkLinkStatusPeriod,上限为nwkRouterAgeLimit(额外信息:一般来说nwkLinkStatusPeriod为15秒,nwkRouterAgeLimit为3,当nwkRouterAgeLimit大于3时就将设备移出邻居表)。

以下内容摘自NXP ZigBee 3.0 Stack User Guide文档《JN-UG-3113》

B.5.1 Neighbour Table

The Neighbour table on a routing node (Router or Co-ordinator) holds information about the node’s immediate neighbours:
 The first entry in the table contains information about the node’s parent
 Part of the table holds information about child nodes which have joined the network through the local device
 The rest of the table holds information about nodes which are neither children nor the parent (these ‘other’ nodes are only relevant to Mesh networks)

译:
路由节点(路由器或协调器)上的邻接表保存有关该节点的近邻的信息:

  1. 第一个条目保存的是本节点的父节点信息;

  2. 表的一部分保存了通过本节点入网的子节点信息;

  3. 剩下的部分保存了非本节点的子节点或父节点的节点信息(这些节点只是网状网络的其他相关节点);

在Z-Stack中ZigBee规范中的邻居表被分为了以下两个表:

  1. 邻居表
// Neighbor table entry
typedef struct
{uint16  neighborAddress;uint8   neighborExtAddr[Z_EXTADDR_LEN];uint16  panId;uint8   age;          // number of nwkLinkStatusPeriod since last link statuslinkInfo_t linkInfo;
} neighborEntry_t;// Table of neighboring nodes (not including child nodes)
neighborEntry_t neighborTable[MAX_NEIGHBOR_ENTRIES];#if !defined ( MAX_NEIGHBOR_ENTRIES )#if ( ZG_BUILD_RTR_TYPE )#define MAX_NEIGHBOR_ENTRIES    16#else#define MAX_NEIGHBOR_ENTRIES    4#endif
#endif
  1. 关联表
typedef struct
{uint16 shortAddr;                 // Short address of associated deviceuint16 addrIdx;                   // Index from the address managerbyte nodeRelation;byte devStatus;                   // bitmap of various status valuesbyte assocCnt;byte age;linkInfo_t linkInfo;aging_end_device_t endDev;uint32 timeoutCounter;bool keepaliveRcv;
} associated_devices_t;typedef struct
{uint8 endDevCfg;uint32 deviceTimeout;
} aging_end_device_t;// Statically defined Associated Device List
associated_devices_t AssociatedDevList[NWK_MAX_DEVICES];// Don't change this value to set the number of devices.  Change
//  NWK_MAX_DEVICE_LIST above
#define NWK_MAX_DEVICES   ( NWK_MAX_DEVICE_LIST + 1 )    // One extra space for parent

其中的linkInfo_t如下:

typedef struct
{uint8  txCounter;    // Counter of transmission success/failuresuint8  txCost;       // Average of sending rssi values if link staus is enabled// i.e. NWK_LINK_STATUS_PERIOD is defined as non zerouint8  rxLqi;        // average of received rssi values// needs to be converted to link cost (1-7) before useduint8  inKeySeqNum;  // security key sequence numberuint32 inFrmCntr;    // security frame counter..uint16 txFailure;    // higher values indicate more failures
} linkInfo_t;

其中关联表包含了本节点的全部子节点(EndDevice & Router),EndDevice子节点超时(在设定时间内无通信)后将EndDevice移出关联表,超时间范围如下表:

Table 3.44 Requested Timeout Enumerated Values

Requested Timeout Enumeration Value Actual Timeout Value
0 10 seconds
1 2 minutes
2 4 minutes
3 8 minutes
4 16 minutes
5 32 minutes
6 64 minutes
7 128 minutes
8 256 minutes
9 512 minutes
10 1024 minutes
11 2048 minutes
12 4096 minutes
13 8192 minutes
14 16384 minutes

时间范围在10秒到16384 分钟(大约11天)之间。

ZigBee Neighbor Table 邻居表相关推荐

  1. [转载]ZIGBEE:Coordinator中的邻居表(Neighbour Table)问题

    主节点的邻居表的大小为24,意味着主节点最多只可以有24个子节点(enddevice或router). 在主节点中的JZA_vStackEvent事件中,在网络成功启动时可以设置这样一个参数: JZS ...

  2. Linux内核分析 - 网络[九]:邻居表

    内核版本:2.6.34 这部分的重点是三个核心的数据结构-邻居表.邻居缓存.代理邻居表,以及NUD状态转移图. 总的来说,要成功添加一条邻居表项,需要满足两个条件:1. 本机使用该表项:2. 对方主机 ...

  3. OSPF的三张表(邻居表、LSDB表、路由表)、LSA、LSDB、SPF与路由表之间的关联、OSPF建立的8种必要条件

    4.2.3 路由 OSPF(OSPF的三张表.LSA-LSDB-SPF-路由表之间的关联.OSPF建立的8种必要条件) OSPF的三张表(邻居表.链路状态数据库表.路由表) 邻居表 记录ospf路由器 ...

  4. TP5.1查询用Db('不含表前缀')/Db::name('不含表前缀')/Db::table('含表前缀')返回数组;model()返回对象

    TP5.1查询用Db(('不含表前缀')/Db::name('不含表前缀')/Db::table('含表前缀')返回数组:model()返回对象 all():可直接传数组查询 select():传数组 ...

  5. linux内核的邻居表,Linux内核报文收发-L3 - Section 3. IP协议、邻居子系统主要是接收、转发和发送三部分...

    版本说明 Linux版本: 3.10.103 网卡驱动: ixgbe 网络协议注册 inet_init主要是注册各种协议 注册TCP协议proto_register(&tcp_prot, 1) ...

  6. Truncate Table 删除表内容避免产生过多日志

    数据库每天在进行频繁操作和记录,LOG文件会特别大且增长的比较快,有时候一天就5000M,每天删除一次也很不方便.有没有方法能避免生成日志或不产生日志呢?不产生日志的方法目前我还没找到,但我们在平常的 ...

  7. oracle批量修改多张表的数据,Oracle批量修改用户表table的表空间

    一.修改用户表table的表空间 1.修改用户表table的表空间:alter table 表名 move tablespace 新表空间名; 2.查询所有用户表:select * from user ...

  8. oracle 修改用户信息表,Oracle批量修改用户表table的表空间 | 学步园

    一.修改用户表table的表空间 1.修改用户表table的表空间:alter table 表名 move tablespace 新表空间名; 2.查询所有用户表:select * from user ...

  9. 2022-06-25 网工进阶(十一)IS-IS-三大表(邻居表、路由表、链路状态数据库表)、LSP、CSNP、PSNP、LSP的同步过程

    三大表 IS-IS协议与OSPF一样也有三大表. 邻居表 <R3>display isis peer Peer information for ISIS(1)System Id Inter ...

最新文章

  1. 在PHP中给表格加上css样式,表格CSS样式设置 给table表格设置CSS样式表
  2. const引用和非const引用
  3. MATLAB从入门到精通:MATLAB识别 自带手写数字集的CNN(LeNet5)
  4. 常用正则表达式,来自新浪微博的js
  5. Java方法02 递归
  6. react-native 改变webview中字体颜色方式
  7. mysql 二进制日志格式_MySQL 二进制日志格式深入理解
  8. 将Altera FPGA的sof文件和NIOS II的elf固件合并为一个jic文件以使用Quartus Programmer烧写
  9. 【EJB基础】开发一个简单的EJB应用程序
  10. 悉尼大学计算机一年制硕士,悉尼大学一年制硕士
  11. 胡灵 c语言,清华作业们男女主角现身
  12. 手机无限重启可能跟电压不稳有关
  13. 关灯后灯常亮、微亮、闪烁——多种原因分析
  14. Airport Simulation (数据结构与算法 – 队列 / Queue 的应用)
  15. 黑金花大理石_请问黑金花大理石是什么样的,有哪些特点?
  16. 通过4A系统登录服务器,JD-4A 统一身份管理系统
  17. vue-element-table列内容显示过多隐藏
  18. 安装Anaconda:出现无法连接怎么办? 以及一些基础环境操作
  19. java家电售后管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  20. 日本の有名私立大学のランキング(排名)

热门文章

  1. 编码、转码和编码格式
  2. 被编进教材的Python必须第一,不接受反驳!
  3. 4个不为人知的Excel表格填充技巧,让你在制作表格时候如有神助!
  4. Stack和Queue:后进先出和先进先出
  5. android 播放固定频率的声音,Android 播放指定频率正弦波声音
  6. 一个程序员要学会哪些东西,才能独立完成大的项目?
  7. 「JanusGraph」图形数据库 - 技术选型调研
  8. System Management Bus
  9. SpringBoot 之 Tomcat 与 Undertow 容器性能对比
  10. win10 亮度 自适应 关闭