测距源码 - 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测量通常比单向延迟测量更准确,因为它不依赖于两端时钟的严格同步,仅依赖于单台设备时钟的稳定性。