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

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

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

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

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