很多人會好奇, 1 Byte = 8 bit(s) , 那為什麼 100Mbit/s 的網路, 檔案傳輸卻不到 12.5MBytes/s 呢?
其中有幾個因素:
網路傳輸協定有額外增加的訊息: 以"檔案總管"等方式所查到的, 是檔案本身的大小, 但是透過網路傳輸時, 需要切割成小封包, 每個封包還要加上序號, 傳送與接收端的位址, 還有檢查碼等資料, 所以實際傳送的資料量, 比檔案本身還要大. 另外還有傳送品質不良而需要重傳等狀況.
由於檔案存取是透過實體讀出(如硬碟, SSD, RAMDRIVE), CPU 切割成封包, 傳送, 對方收到後轉成檔案, 寫入實體; 以最慢的過程來計算, 比如用撥接, 可能傳送過程是最慢的, 比如在區網有台 286 , 則可能是 286 解開封包較慢, 或 286 搭配的 ATA(IDE) 硬碟較慢.
所以邏輯來說, 傳檔速度絕對不是檔案大小與網路頻寬的計算, 只能就每個人的經驗來體會了.
(當然其他狀況相同時, 用 ftp 比網芳快, 是因為 ftp 架構比 smb/cifs 單純, 所以資料量較少)
1.網路頻寬是用 bps (每秒多少 bit) 作為傳輸頻寬的單位
2.檔案是用 Byte (8 bits) 作為單位
3.網路頻寬換算成檔案傳輸的頻寬, 不是只有除8這麼簡單
因為還有一些額外的負擔, 例如封包檔頭, 位元組的啟始位元與結束位元, 以及集縮比, 因此在計算上應該用除10去計算,可能會比較接近實際的情況