iT邦幫忙

9

試說明: 為什麼檔案傳輸跟網路頻寬不能直接換算....

很多人會好奇, 1 Byte = 8 bit(s) , 那為什麼 100Mbit/s 的網路, 檔案傳輸卻不到 12.5MBytes/s 呢?

其中有幾個因素:

  1. 網路傳輸協定有額外增加的訊息: 以"檔案總管"等方式所查到的, 是檔案本身的大小, 但是透過網路傳輸時, 需要切割成小封包, 每個封包還要加上序號, 傳送與接收端的位址, 還有檢查碼等資料, 所以實際傳送的資料量, 比檔案本身還要大. 另外還有傳送品質不良而需要重傳等狀況.

  2. 由於檔案存取是透過實體讀出(如硬碟, SSD, RAMDRIVE), CPU 切割成封包, 傳送, 對方收到後轉成檔案, 寫入實體; 以最慢的過程來計算, 比如用撥接, 可能傳送過程是最慢的, 比如在區網有台 286 , 則可能是 286 解開封包較慢, 或 286 搭配的 ATA(IDE) 硬碟較慢.

所以邏輯來說, 傳檔速度絕對不是檔案大小與網路頻寬的計算, 只能就每個人的經驗來體會了.
(當然其他狀況相同時, 用 ftp 比網芳快, 是因為 ftp 架構比 smb/cifs 單純, 所以資料量較少)


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
Ken(Bigcandy)
iT邦大師 1 級 ‧ 2014-01-30 15:53:24

讚
圖文並茂更讚愛你

0
player
iT邦大師 1 級 ‧ 2014-01-30 18:44:22

1.網路頻寬是用 bps (每秒多少 bit) 作為傳輸頻寬的單位
2.檔案是用 Byte (8 bits) 作為單位
3.網路頻寬換算成檔案傳輸的頻寬, 不是只有除8這麼簡單
因為還有一些額外的負擔, 例如封包檔頭, 位元組的啟始位元與結束位元, 以及集縮比, 因此在計算上應該用除10去計算,可能會比較接近實際的情況

0
zuyan
iT邦好手 1 級 ‧ 2014-01-31 22:42:18

還有檔案多時造成讀取效能的瓶頸...
則是其他限制的因素之一
在流量超大的網站也要將這個因素給考慮進去

我要留言

立即登入留言