Safire 知識庫

在 Safire,同時測量輸送量和合格輸送量。

輸送量是數據遍歷鏈路的速率(在網路上傳輸的總比特率)。

Goodput 是應用程式級輸送量,定義為應用程式層在用戶端到伺服器(上游)和伺服器到用戶端(下游)方向傳輸的每單位時間內有用的應用程式數據量,不包括協定開銷位以及重新傳輸的數據包。有效輸送量始終低於輸送量。

有效輸送量和輸送量之間的區別在於,輸送量是對流經連結的所有數據的度量,無論它是否是有用的數據,而有效輸送量只關注有用的數據。輸送量測量(例如路由器介面統計資訊報告的測量)無法區分流經介面的數據的性質 - 只是位已經過去了。輸送量與有效輸送量不同,因為輸送量可能包括不需要的數據(如數據重新傳輸)或開銷數據(如協定包裝器)。

在 TCP/IP 的情況下,重新傳輸是因為 TCP 數據沒有及時到達接收方。接收方通過 ACK 向發送方發出信號,表明數據已接收。如果發送方未收到數據塊的預期 ACK,它將重新傳輸該數據。重傳是頻寬的浪費;相同的數據遍歷連結兩次絕對不是Goodput的一部分。儘管發生重傳的原因有很多,但它們經常發生在介面擁塞期間。這意味著,雖然一個完全完整的介面已經最大化了它的輸送量,但它很可能沒有最大化它的好輸送量。事實上,介面擁塞的數據衝擊越大,重新傳輸的次數就越多。

除了重傳之外,協定開銷(數據包和幀標頭以及圍繞應用程式數據包裝的其他數據)也被排除在良好輸送量測量之外。雖然有效輸送量不是網路設備提供的常見衡量標準,但數據分析軟體通常可以生成有效輸送量。

導致質量低於輸送量的因素:

  • 在擁擠的網路設備(如防火牆、交換機和路由器)中重新傳輸由位錯誤或丟包引起的丟失或損壞的數據包。
  • 傳輸層流量控制和擁塞控制。
  • 協定開銷:傳輸層、網路層和數據鏈路層協定開銷通常包含在輸送量中,但不包括在 goodput 中。