Networking 计算转移速度

Networking 计算转移速度,networking,data-transfer,Networking,Data Transfer,我刚刚看了一些旧试卷,遇到了一个我想不出的问题: 假设你有一个2Mbit/s链接,一条24万英里以外的电线。数据以每秒186000英里的光速传播。将一个30kb的文件从月球传输到地球需要多长时间?要传输文件,必须进行初始的2*往返握手时间 我怎样才能解决这个问题 240000/186000=1.29…秒*2= 2.58秒=2*往返时间 2MB=2000Kb 30/2000=0.015秒+2.58=2.595秒 离这儿近吗?我觉得我应该考虑以某种方式传输30Kb所需的时间,但我不确定在何处执行此操

我刚刚看了一些旧试卷,遇到了一个我想不出的问题:

假设你有一个
2Mbit/s
链接,一条24万英里以外的电线。数据以每秒186000英里的光速传播。将一个30kb的
文件从月球传输到地球需要多长时间?要传输文件,必须进行初始的2*往返握手时间

我怎样才能解决这个问题

240000/186000=1.29…秒*2= 2.58秒=2*往返时间

2MB=2000Kb

30/2000=0.015秒+2.58=2.595秒


离这儿近吗?我觉得我应该考虑以某种方式传输30Kb所需的时间,但我不确定在何处执行此操作。

我认为您应该将文件发送时间增加一倍,因为在另一端接收文件的成本相同

此外,通过链接传输文件也需要时间。此处的“2Mb”表示将文件从本地发送到链接所需的时间。所以我认为至少你的方程应该是这样的:

单程跳闸延时=240000/186000 往返行程延迟=单次行程延迟*2 文件发送时间=30/2000 另一端的文件接收时间=30/2000

时间=往返行程延迟(用于握手)+文件发送时间+文件接收时间+单程行程延迟(文件通过链路传输)

更新: 无需考虑文件接收时间。对不起,我粗心大意。 现在
时间=往返行程延迟(用于握手)+文件发送时间+单程行程延迟(文件通过链接传输)
是的,您的答案非常接近。如果我们忽略2*往返时间握手(您已经正确计算了,因此您可以稍后添加),那么答案的最后一部分如下所示

正如你所说,从这里发送到月球的数据需要240.000/186.00=1.29秒。由于所有数据都以尽可能快的速度(以2MB/s的速度)放到线路上,因此在这1.29秒之后,最后一位只需30kb/2000kb/s=0.015秒即可到达。(想象一个赛道,有3辆车在后面行驶,它们一直紧跟在后面行驶,但不会相互超车,最后一辆车会在B点行驶,比第一辆车晚x秒。这对路线的所有部分都是一样的)

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


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

好吧,这也取决于传输方式!有些传输方法会执行“我给你发这个”“谢谢,我知道了”,因此往返时间是相关的,对于每一块,与其他传输方法一样,“我会给你发送日期”“好的,我准备好了”“给你…”“完成,谢谢”,所以不要一路握手。有人能帮我编辑“2MB”到“2MB”吗?这是令人困惑的,因为网络中的B通常意味着“字节”,而在这种情况下需要“位”。不,您不应该将发送时间加倍,请参阅我的答案和“汽车”示例,以获取您的建议,已更新,并为我的粗心表示抱歉。问候:-)