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.

协调器未能及时响应MAC ACK给终端设备

如下图所示,终端设备发数据包给协调器时,未能及时收到MAC ACK导致终端设备一直重发数据包。

是否能够调节某些协议栈的参数来保证协调器(路由器)的MAC ACK的及时响应呢?

或者这是由于“随机退避”的策略导致这种现象是必然存在一定概率发生的呢?

  • 截图無法有效分析,請附上你的抓包档
  • 你好!PSD抓包文件请见附件,谢谢!

    具体的设置如下:

    1. 协调器 1个
    2. 终端设备 1个
    3. ZStack版本:2.5.1a
    4. 禁用了15s周期的网络信息广播(当然没有网络信息广播的情况下,这种错误也会出现)
    5. 终端大约每60ms发送1个包给协调器,协调器收到数据包之后发送包告知终端已经收到
    6. 发送速率较快,目前在实际测试过程中发现可能出现如上图的错误,且出现错误的时间随机性较强,有时候几分钟就出现了,有时候3个小时出现。

    https://e2echina.ti.com/cfs-file/__key/communityserver-discussions-components-files/104/20190512.7z

  • 可以標記一下你抓包档的哪裡可以看到你說的問題?
  • 抱歉,我没有标注好。问题出现在499232ms处,如下图所示,位于timeline的相对位置我也用紫色彩笔标出。谢谢!

  • 你的抓包檔看起來就是协调器沒有回應终端mac ack,然後终端就啟動重新入網機制;你說你的终端大约每60ms发送1个包给协调器,协调器收到数据包之后发送包告知终端已经收到,但是我看你的抓包檔好像终端並不會等协调器收到数据包之后发送回應再送下一包,你這樣的機制可能需要把60ms发送間隔再加大到100ms看看狀況會不會好些
  • 发送间隔通常需要100ms。最好在发送端可以在AF_DATA_CONFIRM里面控制。