我能想到的在 IEEE 802.15.4 网络上使用 16 位而不是 64 位寻址的唯一优点是每帧节省了 6 个字节。内存受限的设备(微控制器)也可能有一个小胜利,特别是如果他们需要保留许多地址的列表。
但是有几个缺点:
- 必须有协调员在场以处理短地址
- 地址冲突的巨大风险
- 在其他节点不知道的情况下,可能会为设备分配一个新地址
我还缺少短寻址的其他优点吗?
您的推理是正确的,它节省了 6 个字节,考虑到数据包大小的限制,这是一个不小的数量。这也可以通过 PanId 与 ExtendedPanId 寻址来完成。
不过,您对其他一些观点不准确:
短(16 位)和简单(8 位)寻址模式以及 PAN ID 压缩选项允许在任何 802.15.4 帧中大量节省字节。您是正确的,这些节省对于 802.15.4 设计用于的内存受限设备来说是一个小小的胜利,但是这些节省的主要目标是对无线电使用的影响。
802.15.4 的最初设计目标是沿着 10 米链路、250kbit/s、低成本、电池供电的设备。
802.15.4 中的最大帧长度为 128 字节。802.15.4 中的“完整”寻址模式包括一个 16 位但 PAN ID 和一个用于发送器和接收器的 64 位扩展地址。这相当于 20 个字节或帧中可用字节的大约 15%。如果必须一直使用这些长地址,则会对可以在任何帧中发送的应用程序数据量以及用于操作 Tx 和 Rx 中的无线电收发器的能量产生重大影响。
802.15.4 MAC 层定义了一个关联过程,可用于协商和使用更短的寻址机制。通常使用的寻址是一个 16 位 PAN ID 和两个 16 位 Short Id,总计 6 个字节或大约 5% 的可用字节。
在您的缺点列表中:
我认为重要的是要指出 802.15.4 是第 1 层和第 2 层规范,而 ZigBee 是第 3 层,即 ZigBee 位于 802.15.4 之上。
该表并非 100% 准确,但我发现在这种情况下考虑 802.15.4 很有用:
+---------------+------------------+------------+
| Application | HTTP / FTP /Etc | COAP / Etc |
+---------------+------------------+------------+
| Transport | TCP / UDP | |
+---------------+------------------+ ZigBee |
| Network | IP | |
+---------------+------------------+------------+
| Link / MAC | WiFi / Ethernet | 802.15.4 |
| | Radio | Radio |
+---------------+------------------+------------+