• ZigBee 3.0理论教程-通用-1-05:协议架构-网络层(NWK)


    源码文档软件硬件技术交流技术支持入口文末
    【所有相关 IDESDK例程源码均可从群文件 免费获取免安装解压即用

     

    持续更新中,欢迎关注!

     


    在这里插入图片描述

    马鞍山虽然是一个地名,但不是一个精确的地名。据统计,中国可能有二十几个地方叫马鞍山。

    对应到ZigBee网络也会有同样的问题。ZigBee使用PAN ID和扩展的PAN ID来识别网络。

    马鞍山就类似于PAN ID,Extended PAN ID就类似一个全地名,比如说安徽省马鞍山市

    ZigBee是一个低速率的通信技术,本身最大的数据传输速率就只有250Kbps,并且在实际传输的时候有MAC层头部、网络层头部,还有各种安全控制的字段等等,导致的后果就是真正有效的数据载荷占比比较低。这种情况下,如果每次通信仍然使用这个64 bit的PAN ID,就会导致有效载荷占比进一步降低。所以大部分时候的通信都是使用16 bit的PAN ID来标识目的网络,可以改善这种情况。仅在回复节点扫描请求入网的Beacon Request的Beacon报文中,或是进行PAN ID更新时,才会在报文中使用扩展的PAN ID。

    一、PAN ID

    PAN,又称个人区域网络,通过其PAN ID与其他网络分开。这是同一PAN中所有节点将共享的16位标识符。因此,这与以太网世界中的子网掩码类似,因为您通常只与本地网络内的设备通信,在这种情况下为PAN。该标识符放置在每个传出数据包中的低层MAC层标头中,它使接收该数据包的设备可以过滤出与他们的网络无关的消息。 他们可以将其与自己的PAN ID进行比较,并确定这是来自自己网络中某人的消息,还是来自恰好在此信道上的其他网络中的某人的消息,因此无需尝试解码或解密。

    0xFFFF这个PANID用于广播,那么所有网络都能收得到。

    在这里插入图片描述

    在这里插入图片描述

    PAN ID由协调器在网络创建时随机生成,或者在创建网络的时候由用户指定。因为PAN ID是一个网络与另一个网络之间的区别因素,所以它应该是随机的以确保其唯一性。建议您为PAN ID选择一个随机的16位值,以防止您的网络与该区域中碰巧存在的任何其他网络重合。

    现在,如果您碰巧选择了另一个网络已经使用的PAN ID,该怎么办?或者,如果您确实选择了一个与任何其他网络都没有冲突的随机PAN ID,但后来又有另一个网络与您的网络重叠,该怎么办?如果曾经发生过PAN ID冲突,则协议栈实际上可以检测到这种冲突并可以自动更新其PAN ID,并通知其网络中的所有节点都移至新的PAN ID,以便每个节点可以继续与原始网络中的节点进行通信,并排除冲突网络上的任何节点。如果PAN ID冲突,我们需要使用扩展的PAN ID来区分网络。

    二、扩展 PAN ID

    扩展PAN ID是PAN中所有节点都知道的另一个网络标识符。

    正常的短16位PAN ID由于简短,在空中传输的所有数据包中都有包含,但64位扩展PAN ID很少通过空中传输。扩展的PAN ID对于每个PAN也是唯一的,当16位PAN ID不足以始终将一个网络与另一个网络区分开时,它基本上用作备份标准。例如,当发生PAN ID冲突并且您要通知网络中的所有设备更新PAN ID时,将网络与冲突的网络区分开的方式是,网络中的这些设备都共享相同的扩展PAN ID。扩展PAN ID极不可能发生冲突,因为与短PAN ID中的16位相比,它具有64位。

    在这里插入图片描述
    扩展的PAN ID由协调器在网络创建时随机生成。

    这也是允许您选择网络的有用因素。如果您尝试加入一个网络而不是创建一个网络,那么您可能想知道如何判断哪些网络可用。网络之间可区分的方式不仅在PAN ID中,而且在扩展的PAN ID中。您可能想做一些特别的事情,决定只使用扩展PAN ID的特定子集,以便您可以将网络与其他网络区分开来,但不要太限制自己,因为您限制得越多您发生冲突的可能性就越大,并且如果您的扩展PAN ID曾经发生冲突,您实际上无能为力。它有点像WiFi SSID,不同之处在于WiFi网络之间的SSID可以相同,而ZigBee不同网络间的扩展PAN ID则不能相同。

    (注:任何相关问题,欢迎在文末技术交流QQ群中交流讨论。)


    在这里插入图片描述

     

    持续更新中,欢迎关注!

     

    【所有相关 IDESDK例程源码均可从群文件 免费获取免安装解压即用
    源码文档软件硬件技术交流技术支持入口文末

    在这里插入图片描述

  • 相关阅读:
    MacOS ventura跳过配置锁
    【Unity记录】【解析几何】令文本保持字符间距地环绕在圆弧上(将线段映射到圆弧上)
    node.js基本模块
    Spring Boot 集成 MinIO 实现文件上传
    深度好文:How to get started in C++!
    采购供应链可见性的详细介绍(数智化采购供应链系统)
    8、Java——四种图形输出案例
    Docker安装MS SQL Server并使用Navicat远程连接
    springboot实现全局事务管理
    ATF(TF-A) RSS-AP接口威胁模型-安全检测与评估
  • 原文地址:https://blog.csdn.net/m0_38064214/article/details/127759524