3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
繼 google.com 與 YouTube 之後,Google 宣布其雲端平台將一併使用新演算法 TCP BBR。相對於目前的演算法,在 10Gb 的網路頻寬下,網路傳輸率最高可提升 2700 倍。 (圖片來源:Google Cloud Platform Blog)   什麼是 TCP BBR? TCP BBR 的全名為 TCP Bottleneck Bandwidth and Round-trip propagation time,是 Google 在 2017 年所提出的新型 TCP 壅塞控制演算法,在具有連網能力的電腦或行動裝置中運行,可決定資料傳輸的速度,目的在於解決網路壅塞問題。在 TCP BBR 問世前,TCP/IP 的演算法大多都是先觀測傳輸時封包是否有丟失狀況,如果有丟失則判定此為網路壅塞,而處理方式是全面降速,直到丟失的封包成功傳送為止。此舉會導致緩衝區不斷擴大,在傳輸大量資料時速度越來越慢、最後卡死。 而 BBR 主要是估計頻寬和延遲狀況,透過不斷偵測封包傳輸的錯誤率,根據總傳輸量和錯誤量的比例來決定要以多大的頻寬傳輸,降低緩衝區堵塞的狀況,進而提高傳輸速度。Google 將 BBR 應用在 YouTube 上,使全球網路平均傳輸量提升 4%,最高更達到 14%,封包往返時間減少約 33%,重新緩衝平均時間增加約 11%。 各國 Youtube 影音服務使用 TCP BBR 壅塞控制演算法後提升的網路吞吐量比較(圖片來源:Google Cloud Platform Blog)   各國 Youtube 影音服務使用 TCP BBR 壅塞控制演算法後提升的重新緩衝時間比較(圖片來源:Google Cloud Platform Blog)   各國 Youtube 影音服務使用 BBR 壅塞控制演算法後降低的封包往返時間比較 (圖片來源:Google Cloud Platform Blog)   如何使用 TCP BBR? 目前 TCP BBR 已整合進 Linux Kernel 4.9 以後的版本,所有基於 Linux 核心的發行版本只要透過更新 Linux Kernel 後即可使用。 輸入指令 uname -srm,查詢 Linux 核心版本是否高於 4.9。 uname -srm Linux 4.15.0-22-generic x86_64   輸入指令lsmod | grep bbr,如果輸出結果沒有 tcp_bbr 的話,執行下面的指令: modprobe tcp_bbr echo "tcp_bbr" >> /etc/modules-load.d/modules.conf echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr   執行下面兩行指令,且執行結果都有顯示 tcp_bbr 時代表 BBR 已啟動。 sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = reno cubic bbr sysctl net.ipv4.tcp_congestion_control net.ipv4.tcp_congestion_control = bbr   實機測試 這裡使用 DigitalOcean VPS 建立兩台 Ubuntu 18.04(Linux Kernel: 4.15),將TCP 壅塞控制演算法分別設為 BBR 與 CUBIC 來進行檔案傳輸測試。 Server Platform: DigitalOcean Cloud VPS (2 Hosts)Datacenter region: SingaporeCPU: Intel Xeon E5-2650 v4 @ 2.20GHz (1C2T)RAM: 2GBStorage: 25GB SSDOS: Ubuntu 18.04 LTS x64Linux Kernel Version: 4.15.0-22-genericHTTP Server: Apache HTTP Server 2.4.29TCP Congestion Method: BBR, CUBIC   Client CPU: Intel Core i5-3230M @ 2.60GHz (2C4T)RAM: 4GBOS: Ubuntu 16.04 LTS x64   ICMP Ping 除了第 150 ~ 250 回測試時 LAN 似乎有點小狀況,其餘時段並沒有太大的差異。   HTTP Download Test 傳輸速度方面所有時段幾乎是有提升的,最佳情況下可以提升約 80%。   下圖總結一下平均表現,ICMP Ping 平均只差 1.02 ms,而下行速度平均差 52.02 Mbps(約 55.49%)。   後記 TCP BBR 不光是帶來顯著的速度提升,重要的是僅需要透過內核升級即可使用,完全不用更動現有網路架構,若系統不需要使用特定內核版本,幾乎等於無痛升級!   References: TCP BBR congestion control comes to GCP – your Internet just got faster | Google Cloud Blog 为VPS开启BBR拥塞控制算法 | iTimothy Google’s BBR拥塞控制算法模型解析 – pior的个人空间 – 开源中国 Ubuntu 16.04 用 speedtest-cli 測試 TCP BBR 效能 | Mr. 沙先生

本文由caloskaoorg提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦