如何計算TCP吞吐量

更新时间: 2024-03-17 23:32:54

最佳答案

快速計算一下從一個主機經過長距離的鏈路到另一個主機之間實際上你可以獲得的 TCP 吞吐量是多少。

使用 TCP 傳輸資料時,兩個最重要的因素是 TCP 視窗大小 和 往返延遲。如果你知道這兩個引數,你就可以計算出兩個主機間的最大吞吐量,不管頻寬是多少。

計算 TCP吞吐量的公式

TCP視窗大小(bits) / 延遲(秒) = 每秒吞吐量(bits)

舉一個簡單的例子。從芝加哥到紐約有 1G 的乙太網鏈路,往返延遲 30ms。如果使用 FTP 在芝加哥的一臺伺服器和紐約的一臺伺服器之間傳輸一個大檔案,所能期望的最大吞吐量是多少?


首先把 TCP視窗大小 從位元組變成位。這個例子中我們使用 Windows 標準的 64K 視窗大小。

64KB = 65536 Bytes. 65536 * 8 = 524288 bits

接著,把用位表示的視窗大小除以用秒錶示的往返延遲。延遲 30ms 的話,在計算中使用 0.03秒。

524288 bits / 0.030 seconds = 17476266 bits per second throughput = 17.4 Mbps maximum possible throughput

這樣的話,儘管在資料中心之間我有 1G 的鏈路頻寬,但是基於 給定的視窗大小 和 往返延遲,在傳輸檔案時我所能期望的最大的吞吐量是 17.4 Mbps。

做什麼才能變快? 增加視窗大小 或 縮減延遲。

為了增加 TCP視窗大小,可以在每個伺服器上做出手動調整,傳遞更大的視窗大小。這產生了一個問題:你將使用多大的視窗大小?可以使用上面公式的反向計算來確定最優的視窗大小。

計算最優 TCP視窗大小 的公式

頻寬(bits每秒) * 往返延遲(秒) = TCP視窗大小(bits) / 8 = TCP視窗大小(位元組)

因此在芝加哥和紐約之間 1G 的頻寬和 30ms 的延遲的例子中,可以計算如下:

1,000,000,000 bps * 0.030 seconds = 30,000,000 bits / 8 = 3,750,000 Bytes

因此為 FTP連線 配置 3750KB 的 TCP視窗大小,將會填充管道,獲得 1Gbps 的吞吐量。


伺服器增加 TCP視窗大小,其中一個缺點是需要更多的緩衝記憶體,因為未應答的資料必須儲存在記憶體中為了應對可能的重傳。另一個潛在的缺陷是效能(是不是很諷刺),發生在包丟失時,因為視窗內任何的包丟失都會導致整個視窗重傳 - 除非你的 TCP協議棧使用一種 TCP增強技術,叫做選擇性應答(selective acknowledgements),但是大部分伺服器沒有使用此種技術。

另一個選擇就是在需要更大視窗的一端放置廣域網加速器(WAN accelerator) 和 在加速器之間使用其他TCP最佳化,比如選擇性應答,對伺服器不需要特殊的調優或額外的記憶體。加速器可能也使用第7層應用具體的最佳化來減少往返次數。

減少延遲?這怎麼可能? 除非你能克服光速的限制,否則對於縮減延遲你什麼都做不了。再一次,你有一個選擇,就是設定加速器,加速器應答本地伺服器的報文段,愚弄伺服器讓它認為看到非常低的區域網延遲。因為伺服器看到非常快速的區域網應答,而不是等待遠處的伺服器應答,這就是為什麼我們不需要調整伺服器的視窗大小的原因。

舉例 :tcp的收發視窗大小為1024Byte,網路的鏈路頻寬是1Mb/s,往返時延RTT是50ms,問最大吞吐率?頻寬1Mb/S=125000 Byte/sPacket =1024 20 20 14 12 8 4=1102Byte線速的話125000/1102≈113pps 因往返時延50ms,所以1s內packet為1000ms/50ms=20次往返,小於線速113pps,於是最大吞吐率=(1102Byte*20)/125000Byte/s=17.632%

繼續學習加密貨幣

魔獸世界非主流聲望都有哪些

  我補充下  幾個戰場聲望:1.銀翼要塞2.阿拉索聯軍3.雷矛衛隊打戰場就OK  灰舌死誓者  任務只有黑暗神殿入門任務線,開始於影月谷占星者/奧爾多提供的“巴爾裡石板”,完成幾個步驟後就會被要求前往守望者牢籠的密室找到阿卡瑪。  除了任...


100m和500m的寬頻能用千m路由器嗎

理論上來講可以用1000m的路由器,但是沒這個人力要。百兆光纖使用千兆路由器無法提高有線的頻寬。百兆光纖寬頻,受制於有線介面的瓶頸,是無法提高網速的。百兆光纖寬頻,通常運營商提供的光貓都是百兆光貓。百兆光貓的上聯口是155M光口,LAN口是...


metro什麼牌子手機

華為metro1000是華為的一款光傳輸裝置,原來叫155/622H,群路為155Mbit/s光口或622Mbit/s光口。支路為2Mbit/s電口或10M/100MRJ45型網口。該裝置不支援2.5Gbit/s光口和10Gbit/s光口。...


pi會讀取哪些資訊?

pi可以讀取各種感測器、外部裝置、網路資料等資訊。因為pi具備良好的擴充套件性和相容性,在連線各種外部裝置的同時,也可以透過網路讀取網際網路上的資料。此外,pi還可以透過GPIO讀取模擬訊號、數字訊號等資訊,進一步擴充套件其讀取範圍。pi的...


交換技術的種類和優缺點有哪些

交換技術有三種,分別是:電路交換、報文交換、分組交換。它們的優缺點:一.電路交換的優缺點:電路交換方式的優點是資料傳輸可靠、迅速,資料不會丟失,且保持原來的序列。缺點是在某些情況下,電路空閒時的通道容量被浪費;另外,如資料傳輸階段的持續時間...


網際網路與區塊鏈的區別

1.網際網路是資訊機器,區塊鏈是事實機器網際網路是資訊的機器,以更低的成本、更高的效率讓大家互相傳遞資訊。區塊鏈的資料結構,以及密碼學、時間戳等技術的組合,保證了一個數據上鍊之後就不可篡改、不可撤銷,但是可追蹤。因此相比網際網路來說,區塊鏈...


EVP是什麼意思

EVP可以有多個含義,以下是其中幾個常見的:1.企業價值管理(EnterpriseValueManagement):指企業透過戰略規劃、資源配置、業務流程最佳化等手段,以實現企業價值的最大化為目標的管理方法論。2.電子現金(Electron...


pci匯流排屬於乙太網嗎

PCI匯流排不屬於乙太網,它是一種用於連線計算機內部硬體裝置的匯流排標準。PCI匯流排最初由英特爾公司開發,後來被PCISpecialInterestGroup(SIG)推廣和標準化,成為了一種廣泛使用的計算機匯流排標準。PCI匯流排可以連...


現在的顯示卡多出的一個白色介面是什麼功能

現在的顯示卡多出的一個白色介面通常是DisplayPort介面。DisplayPort是一種數字影片介面標準,用於連線計算機和顯示器,支援高解析度、高重新整理率和高色深度的影片輸出。與HDMI介面相比,DisplayPort介面具有更高的頻...


qiwi wallet的優缺點

關於這個問題,QiwiWallet是俄羅斯最大的電子錢包服務提供商之一,它提供了一種方便快捷的支付和轉賬方式。以下是QiwiWallet的優缺點:優點:1.方便快捷:使用者可以透過手機應用程式或網站輕鬆進行支付和轉賬,無需攜帶現金或信用卡。...