关于路由器使用 NLME_GetCoordShortAddr()获得其父节点地址不准的问题
时间:10-02
整理:3721RD
点击:
如题,一个协调器+两个路由器
协调器打开后,依次打开两个路由器A,B,发现路由器A的地址是0x8b3d, 父节点是0x0f32; 路由器B的地址是0x0f32,父节点是0x0即协调器.抓包发现传输路径符合.
随后我关闭0xf32即路由器B,从抓包发现路由器A的数据直接传给了协调器,但是用NLME_GetCoordShortAddr()得到的父节点地址还是0xf32.求解答?
难道是我理解的不对
对于路由器来说,父设备只是在刚开始入网时候一个媒介。
一旦入网以后,通信不一定按照父设备去走,路由器可以自己维护邻居表,路由表,完全可以自己决定路径。
当你把路由器B关掉以后,A的邻居表里面有Coordinator,所以数据就直接发送过去了。