2011-04-14 66 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