如何计算数据包到达目的地的时间?

par*_*vez 2 networking

我被这个家庭作业问题困住了。老实说,我不知道它在说什么。

提出的问题:您正在 40 公里的长距离链路上传输 100 位数据包。我假设数据速率为 1 Mbps,链路上的传播延迟为 2 * 10^8 m/sec。
数据包从源到达目的地需要多长时间?

  1. .1 毫秒
  2. .3 毫秒
  3. .4 毫秒
  4. .2 毫秒

会是 0.4 毫秒吗?

slh*_*hck 8

给定链路速度c和带宽b,传输一个长度为s的数据包的单向时间T为:

size of packet / bandwidth + link distance / link speed
Run Code Online (Sandbox Code Playgroud)

或者简短:

s / b + d / c
Run Code Online (Sandbox Code Playgroud)

数学,你可以自己做!

为什么这个公式会给你传输所需的时间?整个事情可以解释为:

  • 第一部分是将所有位推送到链接上所需的时间。链路有一定的带宽(每秒可以推送的比特数)。您将 Bi​​ts 除以 Bits/sec,最终为您提供秒数。
  • 第二部分是转移整个事物所需的时间。链接距离是米,除以以米/秒为单位的速度,这又给了我们秒。

然后我们可以添加两个组件并获得整个时间。

注意:此公式假设没有恒定的路由延​​迟,包括 IP 堆栈,并且链接中没有可变的排队延迟,您只需添加更实际的计算即可。