0

を使用tcpdumpして、約 2800 の発信パケットのトレースと、それに対応する着信 ICMP パケットをダンプしました。次に、各発信パケットのRTTを単純な減算で計算しました。

私のタイムスタンプ (送信、受信、またはマージされた場合でも!) に重複はありませんが、RTT には常に数百の重複があることがわかりました。これは非常に奇妙だと思いました。

浮動小数点の精度と関係がありますか? Python のビルトインと を試してみましfloatnumpyが、説明したのと同じ結果が得られました ( setPython での重複をチェックしました)。

編集: これは、異なるタイムスタンプで 4 回表示される RTT の例です。

# 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