测距源码 - darkking1112/styleguide GitHub Wiki

参考

pages/viewpage.action?pageId=77409162

rtt.c

ntp 方法

主要用于基于NTP(网络时间协议)测量网络延迟的单向延迟和RTT(往返时间)。

  • NTP模式(单向延迟估算):

    • Device端发送数据包,其中包含发送时的本地时间戳 (snd_ms)。
    • AP端接收数据包,记录接收时的本地时间戳 (rcv_ms)。
    • AP端计算单向延迟:delay = rcv_ms - snd_ms。
  • RTT模式(往返时间):

    • Device端发送数据包,其中包含发送时的本地时间戳 (snd_ms_initial) 和一个序列号。
    • AP端接收数据包,记录AP端的接收时间戳 (rcv_ms_ap),然后立即将包含原始序列号、Device发送时间戳和AP接收时间戳的数据包发回给Device。
    • Device端接收到AP返回的数据包,记录Device端的最终接收时间戳 (rcv_ms_dev_final)。
    • Device端计算RTT:RTT = rcv_ms_dev_final - snd_ms_initial。
    • RTT测量通常比单向延迟测量更准确,因为它不依赖于两端时钟的严格同步,仅依赖于单台设备时钟的稳定性。

主要函数