This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

home 1.20 AddrManager中MAC 超时未删除



协议栈使用home 1.20

开加密

网络架构如下:

一个协调器,一个路由器,两个终端

1.其中一个终端的父节点是协调器,另一个终端的父节点是路由器

2.在协调器端看到两个终端的MAC地址,这是正常的。

   路由器下Assress Manager里只有一个父节点的MAC,也就是协调器的MAC

3.此时我关掉路由器下的终端,一个小时后,协调器端的Assress Manager还是存在已经断电终端的MAC地址,并未清除

4.随后又关掉协调器下的终端,一个小时后,协调器端的Assress Manager还是存在已经断电终端的MAC地址,并未清除

   但协调本身的Assolist中已经无此终端的信息了

  • 所以说如果子节点长期没有父节点通信的情况下,根据Child Aging功能,父节点会把节点信息从Association List并没有去AddrManager里面删除

  • 那什么情况下会从AddrManager,里把MAC删除?

    还有一种情况,在加密状态下,终端的MAC地址都会存到Coord里,此时路由的AddrManager里没有此终端的MAC地址(终端是通过路由如的网),

    我在协调器端用AddrMgrEntryRelease释放此终端的MAC地址,可以释放,当终端再次通信时MAC也不会回到Coord端,而是出现在路由器的

    AddrManager里.

    按照现在的机制,如果我入网设备一定是不会出问题,假设我有设备坏掉时,用新设备替换时,如果替换的设备过多会造成AddrManager满,此时就

    网络就瘫痪了.