主要观点:mtr 是结合 traceroute 和 ping 的网络诊断工具,可确定到目的地的路径并持续更新,还能计算路径上每个跃点的往返时间(RTT)及其他相关指标。
关键信息:
- mtr 指标计算需数据包返回,丢失数据包仅反映在丢包率中,RTT 是数据包往返时间,与 latency 概念不同。
- 抖动(jitter)指示 RTT 的波动程度,标准差与 jitter 功能类似。
- 在 mtr 的[ui/net.c]中计算指标值,如标准偏差在代码中被称为“当前平均值差异的平方和”,到达时间抖动被称为“估计方差?”。
- 给出了 mtr 测量的示例值,包括 JSON 输出和实际提取的 RTT 值,还展示了用于计算指标的 C 代码及数学公式。
重要细节: - C 代码中通过
process_ping
函数处理每次 ping 的 RTT 以更新数据结构中的指标,post_process_measurement
函数计算实际的标准偏差。 - 数学公式详细说明了 RTT、抖动、最佳 RTT、最差 RTT、平均 RTT、标准偏差、几何平均、最差抖动、平均抖动和到达时间抖动的计算方式及示例。
- 测量中使用了 old smartphone 连接 Freifunk 路由器并 ping Burble 的地址,pcapng 文件包含了相关数据,且测量成功进行了 IPv4 和 IPv6 版本。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。