2011-04-14 72 views
0

刚刚在看一些旧考卷和跨越的问题,我想不出来:工作了传输速度

假设你有一个单独2Mbit/s链接24万英里的电线。数据以每秒186,000英里的速度传播。将一个30kb文件从月球转移到地球需要多长时间?要传输文件,必须发生握手的初始2 *往返时间。

我该如何解决这个问题?

240,000/186,000 = 1.29 ... secs * 2 = 2.58secs = 2 *往返时间。

2MB = 2000Kb。

30/2000 = .015secs + 2.58 = 2.595secs。

这是否接近?我有一种感觉,我应该考虑以某种方式传输30Kb的时间,但我不确定在哪里做到这一点。

+0

那么,它也取决于转移的方法!一些传输方法做“我给你这个”“谢谢,我知道了”,所以往返时间是相关的,对于每个块,和其他人一样,“我要给你发送日期”“好的,我准备好了” “你在这里......”“完成了,谢谢”,所以不要动摇整个过程。 – BugFinder 2011-04-14 08:30:12

+0

有人可以帮忙编辑“2MB”到“2Mb”吗?这是令人困惑的,因为网络中的B通常意味着'字节',而在这种情况下需要'比特'。 – 2011-04-14 08:31:41

回答

1

是你的答案是非常接近的。如果我们忽略2 *往返时间握手(你已经正确计算,所以你可以稍后添加),答案的最后部分如下。

正如你所说,从这里发送数据到达月球需要240.000/186.00 = 1.29秒。因为所有的数据都尽可能快地放在线上(所以在2MB/s),在1.29秒之后,最后一位到达只需要30kb/2000kb/s = 0.015秒。 (想想有一辆赛车跑道上有3辆彼此相继行驶的赛车,它们彼此紧挨在一起,但是彼此并没有超车,最后一辆赛车会在第一辆赛车后的第一个赛车后x秒钟到达B点。路线的所有部分都是相同的)。

因此,数据在1.29 + 0.015秒= 1.305秒内完全接收。

现在添加您的往返握手时间(2.58s),总时间为3.885秒。

+0

anks为您的建议,已更新,并为我的疏忽感到抱歉。问候:-) – 2011-04-14 08:47:48

+0

啊,不要担心它:)。 – 2011-04-14 08:53:51

1

我认为你应该将文件发送时间加倍,因为在另一端接收文件的花费相同。

此外,通过链接传输文件也需要时间。这里的'2Mb'表示将文件从本地发送到链接所需的时间。所以我觉得至少你的公式应该是这样的:

signle_trip_delay = 240000/186,000 round_trip_delay = single_trip_delay * 2 file_sending_time 30/2000 = file_receiving_time_at_the_other_end 30/2000 =

时间= round_trip_delay(手发抖)+ file_sending_time + file_receiving_time + single_trip_delay(文件穿过链接)

更新: 不需要考虑file_receiving_time。对不起,我的疏忽。 现在 时间= round_trip_delay(手颤抖)+ file_sending_time + single_trip_delay(文件通过链接传播)

+0

不,你不应该把发送时间加倍,看看我的答案,以'汽车' – 2011-04-14 08:35:09