頻寬時延乘積的含義

2021-08-09 01:53:39 字數 1496 閱讀 3111

頻寬時延乘積指的是鏈路的頻寬(單位位元每秒)與來回通訊延遲(rtt,單位秒)的乘積。結果為位元的資料量,表示在特定時間該網路上的最大資料量--已傳送但尚未確認的資料。

頻寬時延乘積對網路效能的影響

舉乙個好理解的例子,開了100mb的電信寬頻,但由於中間一些路由器以及鏈路的瓶頸,導致ping對端主機的rtt為1s,對端的視窗大小為64kb,那麼你的發包速度很快會佔滿視窗,必須等待ack回來才能重新發包,所以你的速度大概只能有64kb/s。

假設兩台電腦百兆網口接在一起用chariot跑tcp流量,電腦的視窗大小為64kb(視窗不自動擴大)。它們之間線路速度為100mb/s,rtt穩定為1ms,那麼頻寬時延乘積為100kb (12.5kb), 小於視窗大小,那麼跑出來的速度是接近線速(100mb/s)的。如果rtt穩定為10ms,那麼理論速度為64*8/10=51.2mb/s。

如果開通百兆網,並不意味著你真正有百兆的使用體驗,這還得需要運營商優化線路,使用效能更好的中間路由器,努力降低往返時延才行。

應用程式通過socket系統呼叫和遠端主機進行通訊,每乙個socket都有乙個讀寫緩衝區。讀緩衝區儲存了遠端主機傳送過來的資料,如果緩衝區已滿,則資料會被丟棄,寫緩衝期儲存了要傳送到遠端主機的資料,如果寫緩衝區已慢,則系統的應用程式在寫入資料時會阻塞。可知,緩衝區是有大小的。

bdp 給出了一種簡單的方法來計算理論上最優的 tcp socket 緩衝區大小(其中儲存了排隊等待傳輸和等待應用程式接收的資料)。如果緩衝區太小,那麼 tcp 視窗就不能完全開啟,這會對效能造成限制。如果緩衝區太大,那麼寶貴的記憶體資源就會造成浪費。如果您設定的緩衝區大小正好合適,那麼就可以完全利用可用的頻寬

bdp = 頻寬 * 延遲 (單位: 位元組)

頻寬*延時/8*2^20 = ***b

頻寬: mebibites     延時:s (rtt)

注意:調整tcp前,必須調整core,對於tcp,udp來說不能超出core的限制

預設值:

net.core.rmem_max = 131071

128k

net.core.rmem_default = 124928

net.core.wmem_max = 131071

net.core.wmem_default = 124928

net.ipv4.tcp_rmem = 4096

87380

2691072

net.ipv4.tcp_wmem = 4096

16384

2691072

示例: 

頻寬:1.5m   100m

延時:500ms  3000ms

1.5 * 0.5 / 8 * 2^20         *****== net.ipv4.tcp_wmem

100 * 3 / 8 * 2^20           *****== net.ipv4.tcp_wmem

一般設定socket的sendbuf和recvbuf等於頻寬時延乘積。

頻寬時延乘積的含義

頻寬時延乘積指的是鏈路的頻寬 單位位元每秒 與來回通訊延遲 rtt,單位秒 的乘積。結果為位元的資料量,表示在特定時間該網路上的最大資料量 已傳送但尚未確認的資料。頻寬時延乘積對網路效能的影響 舉乙個好理解的例子,開了100mb的電信寬頻,但由於中間一些路由器以及鏈路的瓶頸,導致ping對端主機的r...

高時延頻寬的網路環境下使用Iperf測試網路效能

先梳理兩個概念 什麼是高時延頻寬乘積的網路環境 頻寬 byte s 時延 64k位元組 1 衛星傳輸 時延550ms 頻寬1mbps以上。1024 1024 8 0.6 72090位元組。2 跨國internet訪問或國際電路 時延200ms 頻寬超過2.6mbps以上。3 千兆網路已經很流行了,時...

頻寬與時延以及通道復用技術(CDMA詳解)!!!

生活中,我們經常聽到頻寬這個詞,比如家裡上網的頻寬是多少呀,50m還是100m,或者光纖是千兆的還是百兆的諸如此類。大家都知道頻寬越大,網速越快。但是頻寬和網速究竟是怎麼乙個關係,這裡來總結一下 頻寬本來是指訊號具有的頻頻寬度,比如在傳統的通訊線路上傳送的語言訊號的標準頻寬是3.1khz 300hz...