在數位時代,網路速度似乎是每個人都非常關心的話題,尤其當我們進行速度測試時,結果往往不如預期。許多用戶懷疑自家的網路狀態,不免產生疑問:為什麼我的網路吞吐量無法達到應有的水準?
網路的吞吐量通常是透過多種不同的平台工具來測量的,這些工具的測量旨在揭示背後的理論及測量中可能出現的問題。
很多人關心的是通訊鏈路或網路接取的最大數據吞吐量,通常以每秒位元(bit/s)為單位。一般的測量方法是將一個「大型」文件從一個系統傳輸到另一個系統,然後測量所需的時間。計算則是將文件大小除以傳輸所需時間。
然而,這種測量方式很可能得到的結果是「良好吞吐量」(goodput
),而這一數據值遠低於理論最高數據吞吐量,這讓用戶誤以為通訊鏈路出現了問題。
實際上,網路吞吐量存在多種開銷,包括延遲、TCP接收窗口大小及系統限制,這些都意味著計算出的良好吞吐量不代表能夠實現的最大吞吐量。
根據流量控制的基本理論,吞吐量是由TCP接收窗口大小(RWIN
)和往返時間(RTT
)所決定的。即使理論上應該有較高的帶寬,但在單一的TCP連接中,由於這些限制,所測得的帶寬也可能受到壓制。
帶寬測試軟體旨在確定網路或互聯網連接的最大帶寬。測試通常通過試圖在一定時間內下載或上傳最多數據來完成。這個過程可能導致網路傳輸延遲,甚至可能攀升數據費用。
吞吐量可以用位元每秒(bit/s)、千位元每秒(kbit/s)、兆位元每秒(Mbit/s)和吉位元每秒(Gbit/s)等單位來測量。
由於人們常常會誤用術語,如將帶寬、吞吐量及速度交替使用,這樣的混淆容易導致誤解。不少使用者可能認為他們的高速互聯網連接可以在一秒鐘內傳輸相應大小的文件,但實際上並非如此。
一些設備可以透過壓縮數據提高傳輸效率,特別是在傳送高度可壓縮的文件時。然而,這種隱形壓縮的存在則並不容易被察覺。
在測量吞吐量時,最好使用不能被壓縮的文件,如隨機數據的文件,以避免額外的變量影響測試結果。
網路的傳送效率還會受到各種協議開銷的影響,例如常見的異步串行連接。在這種連接中,數據的編碼和傳輸方式會導致附加的開銷,使數據傳輸速率遠低於理論值。
例如,在異步串行連接中,假設的9600波特率實際上由於開銷的存在,傳輸效率只有9600/10,這意味着每秒只能傳輸960字節數據。
現今網路傳輸中,文件並不僅僅是複製到HDLC或PPP幀的數據字段中,還有另一層協議,譬如IP和TCP,它們各自會額外增加開銷,最終可能會影響整體的吞吐量。
儘管我們無法完全消除影響吞吐量的所有因素,但通過了解其背後的運作原理,使用更優化的傳輸方式,選擇合適的協議,或許能在一定程度上改善測試結果。
所以,當你下次進行網路速度測試時,是否也會反思這些影響是否在你的結果中有著潛在的角色呢?