Google現在於自家的公有雲服務HTTPS負載平衡器提供QUIC協定,而QUIC的好處除了快速建立連線外,還提供多工串流、改進封包遺失恢復以及無隊頭阻塞(No Head-of-Line Blocking)。GCP的負載平衡器會自動與客戶端協商使用QUIC協定,當客戶端不支援便會無縫退回HTTPS連線。

QUIC為快速UDP網路連線(Quick UDP Internet Connections)的縮寫,由於TCP(Transmission Control Protocol,傳輸控制通訊協定)的交握太過繁瑣,嚴重影響網路應用的效率,於是Google利用UDP (User Datagram Protocol,使用者封包通訊協定)來加速網路傳輸。當網頁客戶端使用TCP與TLS協定時,需要2到3次的伺服器往返通訊才能建立安全連線,而在交握之後瀏覽器也才可以開始發送請求。QUIC的優勢為當雙方過去曾經建立連線,那麼之後就不需要進行任何交握,便能直接開始傳輸資料,此舉大幅提升網頁載入效率達75%,透過QUIC觀看YouTube,進行重新緩衝的機率少了30%。

Google從4年前開始就在其部落格、網頁搜尋或是YouTube等服務使用QUIC協定。雖然像是Google搜尋這類的頁面通常經過良好的最佳化,也都會預先建立連線,但是使用QUIC後,仍可以提升全球頁面載入時間8%,在延遲較高的地區更可提高13%以上的效率。

QUIC內建加密功能,使用像是AES-GCM以及ChaCha20等AEAD演算法,確保連線隱私以及資料完整性,而且會對未加密的標頭進行認證,有心人士無法竄改訊息的任何部分。與HTTP/2類似,QUIC能在單一連線上進行多工多重串流,只不過HTTP/2使用TCP協定,容易發生隊頭阻塞,當其中一個封包遺失時,所有其他的串流都可能受到阻擋,而QUIC使用UDP的好處就在於丟失其中的封包,頂多影響包含該封包的串流而已。

即便連線不可靠,QUIC也不會讓其中一個請求影響其他請求的速度,Google提到,對於延遲很敏感的網路服務,QUIC將能提供更快速地連線,尤其適合行動網路或是Wi-Fi的無線網路環境,因為即使網路訊號衰退,請求也不會逾時失敗。GCP的使用者,現在可以在控制臺中,設置想要使用QUIC的IP以及連接埠,如此便完成啟用。啟用後負載平衡器會自動與客戶端進行協商,當客戶端不支援QUIC,負載平衡器也能無縫繼續使用HTTPS。

Google努力的讓QUIC變成網頁通訊標準, 網際網路工程工作小組(IETF)於2016年11月建立了QUIC工作小組,而將在今年完成第一版的草案,QUIC v1將支援HTTP over QUIC,並使用TLS 1.3作為加密交握,未來還計畫增加部分的可靠性、多重路徑以及支援像是WebRTC之類的非HTTP的應用。

熱門新聞

Advertisement