Google 的新網路協定 QUIC,讀網頁速度會更快

作者 | 發布日期 2015 年 04 月 20 日 14:00 | 分類 Google , 伺服器
36Kr 配圖

有句話叫做一流企業定標準、二流企業做品牌、三流企業賣技術、四流企業做產品。Google 似乎在衝著一流企業的目標邁進。去年,Google 已經從以 SPDY 為基礎的 HTTP 協定 16 年來的首個更新 HTTP/2 正式定稿中嘗到了甜頭。最近 Google 又開始考慮更進一步,用改進版的 UDP 協定 QUIC 給 web 提升速度。根據它近日公布的性能評估,這一融合了 UDP 與 TCP 優勢的協定似乎提升效果明顯。



QUIC 是 Quick UDP Internet Connection 的簡稱,是 Google 制定的一種基於 UDP 的低時延的網路傳輸層協定。我們知道,TCP / IP 協定族是網路的基礎。其中傳輸層協定包括 TCP 和 UDP 協定。與 TCP 協定相比,UDP 更為輕量,但是錯誤校驗也要少得多。這意味著 UDP 往往效率更高(不經常跟伺服器端通信察看數據封包是否送達或者按序),但是可靠性比不上 TCP。通常遊戲、串流媒體以及 VoIP 等應用均採用 UDP,而網頁、郵件、遠端登入等大部分的應用均採用 TCP。

Google QUIC_36Kr 042002

Google 想到能否把這兩種協定的優勢結合起來,同時實現低時延和高可靠並將其應用到更高安全的協定上,於是就有了 QUIC。

以往典型的安全 TCP 連線(TCP + TLS)往往需要在發送與接收端先進行 2、3 輪的握手通信才能正式開始數據傳輸。而利用 QUIC 協定,如果雙方此前通信過的話馬上就可以對話(即便雙方此前未通信過時延也只有 100 毫秒,是 TCP + TLS 用時的 1/3)。此外,QUIC 還增加了擁塞控制和自動重傳等功能,所以可靠性上要比 UDP 更高。

從目標來看,QUIC 跟 SPDY(HTTP/2 基礎)很多方面是類似的,但是後者仍然基於 TCP,所以仍然會存在部分相同的時延問題。

不過這樣也許你會問為什麼 Google 不乾脆改進 TCP?根據 Google 的解釋,不這麼做的原因是 TCP 往往直接內置到了操作系統內核當中,這是 Google 所無法控制的。所以他們就拿 UDP 改良版來開刀,以期更快地測試性能改進效果。

Google QUIC_36Kr 042003

Google 從去年開始就已經在 Chrome 瀏覽器上進行了實驗,實際上目前 Chrome 到 Google 伺服器的請求當中大概有一半已經在採用 QUIC 協定。數據顯示 75% 的連接均可利用 QUIC 的優勢,哪怕預先建立的最佳化連接(Google 搜尋)採用 QUIC 後頁面加載性能仍然能提高 3 個百分點。而時延嚴重的一些 web 應用,在採用 QUIC 後的改進效果則要更加明顯。比如有用戶報告 YouTube 重新緩衝次數減少了 30%。

Google 希望 QUIC 的性能得當證明後能夠移植到 TCP 和 TLS 上面,稱未來打算將 HTTP2-over-QUIC 作為新的協定提交給 IETF。但是這顯然需要與 IETF 的配合以及長期努力。這一策略跟 SPDY 很像,都是以 Chrome 為跳板展現協定原型和效果,然後再提出作為協定草案,但結果尚待觀察。

(本文由 36Kr 授權轉載) 

如果你喜歡我們的分享和文章,請幫我們按個讚

關鍵字: , , , , , , ,

發表迴響