資料傳輸時間計算工具

由資料量與線路速度計算傳輸所需的時間。資料量通常以位元組(B)表示,線路速度則以每秒位元數(bps)表示,因此重點在於乘以 8 統一成位元。也可以輸入扣除標頭、重送等之後實際可用的比例(傳輸效率)。

資料量與線路

kB、MB、GB 每級 1000 倍,KiB、MiB、GiB 每級 1024 倍。線路速度的 k、M、G 每級 1000 倍。

結果

傳輸時間
–
資料量(位元)
–
實際速度(線路速度 × 傳輸效率)
–
在該時間內傳完所需的線路速度
–

不包含傳播延遲(訊號抵達所需的時間)與等待 TCP 確認回應的時間。在往返時間(RTT)較長的線路上反覆交換小量資料時,延遲的影響會很大。

傳輸時間計算的基本

傳輸時間以「資料量(位元)÷ 實際速度(每秒位元數)」求得。檔案大小通常以位元組表示,線路速度則以每秒位元數(bps)表示,因此要先把資料量乘以 8 換算成位元。例如以 100 Mbps 的線路傳送 100 MB 的檔案,就是以每秒 10⁸ 位元傳送 100 × 10⁶ × 8 = 8 × 10⁸ 位元,需要 8 秒。若把位元組與位元搞混,答案會相差 8 倍。

傳輸效率

實際通訊時,除了資料之外還要傳送標頭與控制資訊,發生錯誤時也要重送,因此無法把線路速度全部用在資料上。能用於資料的比例稱為傳輸效率,實際速度為「線路速度 × 傳輸效率」。在範例「以 100 Mbps、傳輸效率 80% 傳送 1 GB」中,以 80 Mbps 傳送 8 × 10⁹ 位元,需要 100 秒。在乙太網路上使用 TCP/IP 時,每個 1500 位元組的封包中有 40 位元組用於 IP 與 TCP 標頭,再加上乙太網路標頭與訊框間隔,效率約為 95%。

KB 與 KiB 的差異

通訊速度的 k、M、G 一律是每級 1000 倍。另一方面,資料量的 KB、MB、GB 過去同時被用來表示每級 1000 倍與每級 1024 倍,因此每級 1024 倍時寫成 KiB、MiB、GiB 加以區別。10 GiB 約為 10.7 × 10⁹ 位元組,比當成 10 GB 計算多花約 7% 的時間。考試題目大多會在題目中規定,例如 1 MB = 10⁶ 位元組,請依照題目的規定計算。

延遲與吞吐量

計算傳輸時間時,常常只考慮把資料送出所需的時間,但實際上還要加上訊號抵達的傳播延遲,以及等待對方回應的時間。若一次只送一小筆資料並等待回應,往返時間(RTT)會成為主要因素,即使提高線路速度,傳輸時間也縮短不了多少。把大量資料一起傳送,才能得到接近線路速度的吞吐量。

練習網路題目

以100 Mbps的線路傳送100 MB的檔案,所需時間最接近下列何者?忽略標頭等額外負擔與延遲,並設 1 MB = 10^6 位元組。

  1. A約1 s
  2. B約8 s
  3. C約80 s
查看答案與解析

正確答案:B. 約8 s

線路速度多以每秒位元數(bps)表示,檔案大小則多以位元組(B)表示,因此先統一單位。1位元組為8位元,所以 100 MB = 100 × 8 = 800 百萬位元(Mb)。以100 Mbps傳送需要 800 ÷ 100 = 8 秒。實際上因為有標頭等額外負擔,以及TCP的控制所造成的等待,所需時間會比這更長。

在1 Gbps的乙太網路上,讓IP封包的大小填滿MTU的1500位元組,持續傳送TCP資料。設IPv4標頭為20位元組、TCP標頭為20位元組、乙太網路標頭與FCS合計18位元組、前置碼與訊框間隙合計20位元組,則應用程式資料之傳輸量的上限最接近下列何者?

  1. A約949 Mbps
  2. B約973 Mbps
  3. C約1000 Mbps
查看答案與解析

正確答案:A. 約949 Mbps

一個訊框所含的應用程式資料為 1500 − 20 − 20 = 1460 位元組。另一方面,在線路上每個訊框要占用 1500 + 18 + 20 = 1538 位元組的時間。因此效率為 1460 ÷ 1538 ≈ 0.949,傳輸量的上限為 1000 × 0.949 ≈ 949 Mbps。若使用TCP的時間戳記選項,標頭會增加12位元組,效率會再稍微下降。封包越小,標頭等所占的比例越大,效率越差。

在RTT為50 ms、頻寬為100 Mbps的線路上,以收完前一個回應後才送出下一個的方式,重複100次會收到10 KB回應的請求。所需時間最接近下列何者?每次的時間設為RTT加上回應的傳輸時間(資料量÷頻寬),1 KB = 1000位元組,並忽略伺服器的處理時間。

  1. A約0.08 s
  2. B約2.6 s
  3. C約5.1 s
查看答案與解析

正確答案:C. 約5.1 s

每次請求都需要從送出請求到回應開始抵達的一個往返50 ms,加上以100 Mbps接收 10 KB = 80000 位元所需的 80000 ÷ (100 × 10^6) = 0.8 ms。合計為 (50 + 0.8) × 100 = 5080 ms ≈ 5.1 s,幾乎都是等待RTT。即使把頻寬提高10倍到1 Gbps,也只會變成 (50 + 0.08) × 100 ≈ 5.0 s。光纖中的光每1 ms約前進200 km,因此RTT有由距離決定的下限。要加快這類處理,可以把請求合併、不等回應就並行送出多個請求,或把伺服器放在靠近使用者的地方。

常見問題

用 1 Gbps 的線路傳送 1 GB 的檔案要幾秒?

若傳輸效率為 100%、1 GB = 10⁹ 位元組,則為 8 × 10⁹ 位元 ÷ 每秒 10⁹ 位元 = 8 秒。傳輸效率為 80% 時需要 10 秒。

Mbps 與 MB/s 有什麼不同?

Mbps 是每秒百萬位元,MB/s 是每秒百萬位元組,1 MB/s = 8 Mbps。下載速度常以 MB/s 顯示,而線路的合約速度常以 Mbps 表示,請特別注意。

傳輸效率應該估多少?

考試時會在題目中給定。實際上,在有線區域網路使用 TCP 時常超過 90%,而無線區域網路則會依訊號狀況與壅塞程度大幅下降。

考試會怎麼出題?

在日本的基本資訊技術人員考試等資訊類證照考試中,常出現由資料量、線路速度與傳輸效率求傳輸時間,或求在指定時間內傳完所需線路速度的題目。請注意位元組與位元的換算,以及單位字首(k、M、G)。

相關用語

吞吐量(Throughput)

相關計算工具

半導體、電子電路與資訊計算工具 →