如题,由于在使用过程中,终端节点需要能够给任意一个路由器发送数据,因此终端节点需要知道任意路由器的16位网络地址。现在有两个思路:
1、终端节点在建网中或建网后的某个阶段建立一张所有路由器的16位网络地址表用以发送数据时查询网络地址。请问有没有什么思路或机制能够让终端节点建立并动态更新这么一张包含所有路由器的16位网络地址的表。
2、终端节点每次要给某个路由器发送数据时再调用ZDP_NwkAddrReq,实时通过Mac地址获得对应的网络地址再保存。但这个时候ZDP_NwkAddrReq会发一个广播播,会不会对网络有影响啥的?
YiKai Chen:
1. 基本上好像沒有什麼好辦法,如果要做,可能必須由協調器廣播搜尋所有的路由 器然後终端节点再到協調器去取
2. 广播容易造成網路壅塞,如果不常調用還好,要是經常性的,建議用單播
Susan Yang:
目前协议栈内并没有现成的包含所有路由的表,您需要让路由节点入网后自己上报地址到协调器,然后终端再去协调器获取路由地址。关于第二点同意YiKai Chen的说法,建议您使用单播