你可能沒聽過 Google 的 QUIC,但如果你是 Chrome 瀏覽器用的用戶,那可能已經在用了。 Google 本周宣佈近半數 Chrome 瀏覽器對 Google 伺服器的呼叫已經使用 QUIC 了。
這代表什麼?QUIC 是 Google 在 UDP 協定上所實驗的低延遲性網際網路傳輸協定,UDP 協定常用於遊戲、串流媒體及 VoIP 服務。 QUIC 全名為「Quick UDP Internet Connection」。
在通訊協定中,與 UDP(和 QUIC)地位相當的基本上是 TCP(TCP/IP 的組合是網際網路的核心通訊語言)。 UDP 比 TCP 輕巧得多,但錯誤校正能力也不如 TCP,這表示送出訊息的伺服器並不會和接收訊息的伺服器保持通訊,檢查封包是否順利送達。這也是為什麼 UDP 很適合用於線上遊戲。這些服務的額外負載 (overhead) 不能太高,才能降低延遲性,而且如果伺服器未接收到你最新的滑鼠動作,也無需多一、兩秒的修正時間,因為動作會流暢帶過去。但你不會想用 UDP 來呼叫網站,因為你無法保證資料能成功傳得過去。
利用 QUIC,Google 希望能整合 UDP 、 TCP 的長處與現代化的安全工具。

一個典型的安全 TCP 連線一般需要 2 、 3 趟來回瀏覽器才能真正開始接收資料。而利用 QUIC 瀏覽器可以立即開始和伺服器通訊,只要雙方之前有通訊過。 QUIC 還加入一些像是壅塞控管和自動重新傳輸等新功能,使它比單純的 UDP 更可靠。
Google 的 SPDY 後來變成 HTTP/2 標準基礎,後者與 QUIC 目標多所一致,但 HTTP/2 仍然是跑在 TCP 之上,因此也會碰到類似的延遲性問題。
你可能想問為什麼 Google 不乾脆在 TCP 上改進就好,還要另起爐灶?Google 指出這樣做的問題是 TCP 支援往往是內建於作業系統核心,這樣一來 Google 就無從掌控。「QUIC 讓我們得以測試與實驗新概念,並且更早看到成果。我們希望 QUIC 若證明可行,它的功能可以整合進 TCP 及 TLS 。」由於目前 Windows XP 的市佔率還不小,因此這個目標並非一蹴可幾。
如果 Google 設計出全新的協定,那麼組成網際網路骨幹的所有機器都必須要能夠相容,但現在已經有 UDP 協定了。
Google 表示,Google Search 使用 QUIC 可使平均網頁載入速度加快 3%,這聽起來好像不很多,但你必須記住 Google Search 本身最佳化的程度已經相當高了,其他網站,特別是高延遲性的 web 應用的成效會更明顯。以 QUIC 連到 YouTube 的使用者表示觀看影片時重新載入緩衝的次數減少了 30%,而且因為 QUIC 壅塞控管與 UDP 上封包補遺 (loss recovery) 的功能更精進了,一些原本連線十分慢的使用者也因為 QUIC,網頁載入速度也見提升。
Google 表示計畫未來將 HTTP2-over- QUIC 提交 IETF 作為新的網際網路標準。
在某些方面,這和 Google 之前推動 SPDY 的作法如出一轍。它也是一開始把 SPDY 導入 Chrome 和它自己的伺服器上,再企圖推動成新一代的 HTTP 。
如果你想測試你的 Chrome 是不是用 QUIC 連網,這裏有一個瀏覽器擴充程式,它的 QUIC net-internal 狀態訊息可顯示 Chrome 使用 QUIC 的所有使用細節。
Source: TechCrunch

3 comments
Steven Liu
2015-04-20 at 18:31:58
兼收~ ><
太強了吧~ (Y)
ChihWei Chen
2015-04-20 at 21:21:50
早該如此了….. 分那麼多幹嘛
Pingback: Google 將推動 QUIC 協定 - Tsung's Blog