網路傳輸能力的測量可透過各種工具進行,而這些工具的目的在於讓用戶理解他們的網路性能。許多人對於這些工具所測量的數據傳輸速率感到困惑,因為理論上的最大值和實際的測試結果之間常常存在著巨大的差異。本文將探討這些差異的原因,以及為何即便在最佳的情況下,用戶也無法完全達到理論上的最高傳輸率。
實際的測試結果通常會顯示出低於理論最大值的數據傳輸能力,而這讓許多用戶對他們的網路連結產生質疑。
為什麼測量網路的吞吐量如此重要呢?吞吐量是衡量在一定時間內完整傳送的數據量,通常以每秒位元數(bps)來表示。用戶經常會進行檔案傳輸,通過計算檔案大小與傳輸所需時間的比率來推算吞吐量,這便是基本的測試方法。
然後,使用這樣的方法計算出的數據通常會導致「良好傳輸率」(goodput)低於理論的最大吞吐率。這讓用戶誤解他們的網路連結似乎運行不正常,其實這是由於多種因素的綜合影響所致,包括延遲、TCP接收窗口大小以及系統限制。
“吞吐量並不是單一的指標,它受到多重因素的影響,真正的挑戰在於理解這些因素如何互相作用。”
在網路通信中,最大帶寬的理論計算依賴於TCP接收窗口和RTT(往返時間)的數據。舉例來說,若一個TCP窗口的大小為65,535字節,並且RTT為0.220秒,則其最大帶寬為2.383 Mbit/s。這意味著即使契約的帶寬更高,實際的測試帶寬可能仍會受到這些限制的影響。
網帶寬測試軟體通常會用來確定網路或互聯網連接的最大帶寬。這些測試常常需要下載或上傳大量數據,因此在測試期間可能會造成輕微的網路延遲,甚至導致額外的數據費用產生。
通信鏈路的吞吐量通常以位元每秒(bit/s)、千位每秒(kbit/s)、兆位每秒(Mbit/s)以及千兆位每秒(Gbit/s)來衡量。大家熟悉的千位、兆位、千兆位都是S.I.單位前綴,分別對應1000(kilo)、1000000(mega)和1000000000(giga)。然而,檔案大小的計量單位主要是字節,其中千字節、萬字節和千兆字節等稱為常用單位信息。
隨著計算機技術的發展,變得更加複雜的是檔案大小的表達方式。有些使用者可能會不清楚,64 kilobytes (kB) 和 64 kilobits (kb) 之間的差異,這導致了誤解與混淆。
“檔案的大小並不一定能直接轉換成傳輸的時間,因為每種連接均有其自身的性能瓶頸。”
對於某些設備,透過數據壓縮來改善吞吐量是可能的。許多模組和操作系統都可以有效壓縮數據,從而降低傳輸時間。壓縮越是迅速,實際傳輸的數據量則越多,但這通常會消耗更多的計算資源。
測量吞吐量時,最好使用難以壓縮的隨機數據文件進行測試,因為這能更真實地反映網路的性能,而不是因壓縮而誤導測試結果。
傳統的異步串行連接常見於許多設備,這種連接的優勢在於簡單,但其在數據轉換上的效率並不高。例如,以9600位每秒的速率進行數據傳輸,一個8位的字符實際需要10位的傳輸,則會出現過高的開銷。
隨著技術的發展,其他的傳輸協定如HDLC、PPP和以太網等進一步提高了傳輸效率。然而,在多個系統同時進行通信的情況下,傳輸的吞吐量仍然會受限於共享的媒介。
透過理解影響吞吐量的多種因素,我們更能夠識別出網路效能測試中所遇到的常見困惑與挑戰。從操作系統到協定,從數據格式到日常使用,這些都可能影響實際的數據傳輸速率。當面對不同的測試結果時,我們是否應該再深入思考這些差異背後的真相呢?