0

我有 ping 几台机器并记录时间的代码,它针对各种数据包大小(1kb 到 100gb)执行此操作,但我想知道如何计算网络的延迟,如何实现?

这是我用来测量 ping 的代码:

我还如何测量系统的带宽?

谢谢你们的帮助!

4

1 回答 1

3

在延迟和带宽完全恒定的理想情况下,这只是一个线性问题:

delay = packetsize / bandwidth + latency

有两个变量,带宽和延迟,所以你至少需要两条不同的记录来解决它。但是,我建议为许多数据对计算它们,例如取所有结果的中值。

我认为求解上述方程应该很容易。如果没有,请随时询问。

更新:如何求解上述方程

Let
y1, y2 values for delay
x1, x2 values for packetsize
a := 1/bandwith
b := latency

y1 = a * x1 + b
y2 = a * x2 + b
=> b = y1 - a * x1              [1]
=> y2 = a * x2 + y1 - a * x1
=> a = (y2 - y1) / (x2 + x1)
Now put it in equation [1]:
=> b = y1 - (y2 - y1) / (x2 + x1)

现在你有b延迟和1 / a带宽。

于 2013-03-26T14:16:42.357 回答