0

使用tcpdump,我转储了大约 2800 个传出数据包和同样多的相应传入 ICMP 数据包的跟踪。然后,我用一个简单的减法计算每个传出数据包的RTT

事实证明,即使我的时间戳之间没有重复(传出、传入,甚至合并在一起!),我的RTT中总是有几百个重复。我觉得这很奇怪。

它与浮点精度有关吗?我尝试使用 python 的内置float和 with numpy,但我得到了刚刚描述的相同结果(我set在 Python 中检查了重复项)。

编辑: 这是一个 RTT 出现 4 次且时间戳不同的示例

# a contains timestamps for outgoing packets
# b contains timestamps for incoming answers
# c contains corresponding RTTs (c[i]=b[i]-a[i])
OneRtt = 0.002665996551513672
>>> indices = [i for i, x in enumerate(c) if x == 0.002665996551513672]
>>> indices
[737, 1711, 2499, 2713]
>>> b[737]
1369237439.238884
>>> a[737]
1369237439.236218
>>> c[737]
0.002665996551513672
>>> b[1711]
1369237485.874826
>>> a[1711]
1369237485.87216
>>> c[1711]
0.002665996551513672
>>> b[2499]
1369237524.170485
>>> a[2499]
1369237524.167819
>>> c[2499]
0.002665996551513672
>>> b[2713]
1369237535.293074
>>> a[2713]
1369237535.290408
>>> c[2713]
0.002665996551513672
4

0 回答 0