什么是QUIC協議
QUIC全稱:Quick UDP Internet Connections,是一種傳輸層網絡協議,其安全性可以與TLS/SSL相媲美,并且具備更低的延遲。QUIC目前主要應用于HTTP協議,基于QUIC的HTTP/3協議(RFC9114),除了擁有HTTP/2的各項優點,同時由于QUIC的特性,在弱網環境下擁有更強大的性能優勢。QUIC由Google自研,2012年部署上線,2013年提交IETF,2021年5月,IETF推出標準版RFC9000。
QUIC的主要優勢如下:
- 握手建連更快:QUIC建連時間大約0~1 RTT,在兩方面做了優化:
- 傳輸層使用了UDP,減少了1個RTT三次握手的延遲。
- 加密協議采用了TLS 協議的最新版本TLS 1.3,相對之前的TLS 1.1-1.2,TLS1.3允許客戶端無需等待TLS握手完成就開始發送應用程序數據的操作,可以支持1RTT和0RTT。
對于QUIC協議,客戶端第一次建連的握手協商需1-RTT,而已建連的客戶端重新建連可以使用之前協商好的緩存信息來恢復TLS連接,僅需0-RTT時間。因此QUIC建連時間大部分0-RTT、極少部分1-RTT,相比HTTPS的3-RTT的建連,具有極大的優勢。
- 避免隊首阻塞的多路復用
QUIC同樣支持多路復用,相比HTTP/2,QUIC的流與流之間完全隔離的,互相沒有時序依賴。如果某個流出現丟包,不會阻塞其他流數據的傳輸和應用層處理,所以這個方案并不會造成隊首阻塞。
- 支持連接遷移
什么是連接遷移?舉個例子,當你用手機使用蜂窩網絡參加遠程會議,當你把網絡切換到WLAN時,會議客戶端會立馬重連,視頻同時出現一瞬間的卡頓。這是因為,TCP采用四元組(包括源IP、源端口、目標地址、目標端口)標識一個連接,在網絡切換時,客戶端的IP發生變化,TCP連接被瞬間切斷然后重連。連接遷移就是當四元組中任一值發生變化時,連接依舊能保持,不中斷業務。QUIC支持連接遷移,它用一個(一般是64位隨機數)ConnectionID標識連接,這樣即使源的IP或端口發生變化,只要ConnectionID一致,連接都可以保持,不會發生切斷重連。
- 可插拔的擁塞控制
QUIC是應用層協議,用戶可以插拔式選擇像Cubic、BBR、Reno等擁塞控制算法,也可以根據具體的場景定制私有算法。
- 前向糾錯(FEC)
QUIC支持前向糾錯,弱網丟包環境下,動態的增加一些FEC數據包,可以減少重傳次數,提升傳輸效率。
工作原理
目前,天翼云全站加速產品開放使用的是七層協議的QUIC,其工作原理如下圖所示,主要應用在客戶端與全站加速平臺邊緣節點的交互,主要適用于弱網環境下的傳輸優化。

適用場景
如果您希望在弱網環境下擁有更高的性能,如更快的首屏、首包,更快的傳輸效率,可以使用QUIC接入全站加速平臺。
全站加速產品支持的QUIC類型
目前,天翼云全站加速產品同時支持IETF QUIC和GOOGLE QUIC,以方便不同的客戶接入。
- GOOGLE QUIC支持的版本號為Q043、Q046、Q050。
- IETF QUIC支持的版本號為h3-29和h3-v1,IETF QUIC是互聯網標準版本,強烈建議您使用IETF QUIC。
注意事項
- 如果您使用瀏覽器接入,請使用支持QUIC協議的瀏覽器,如Chrome、Microsoft Edge等。
- 如果您使用自研App接入,則App需要自行實現QUIC協議棧或者集成支持QUIC協議的網絡庫,例如:quic-go、ngtcp2、quiche、quant、kwik、aioquic、picoquic等。
配置說明
如您需要配置使用QUIC協議,請提交工單給天翼云客服,由其幫您配置。
提交工單時,請您提供如下信息:
| 參數名 | 說明 |
|---|---|
| QUIC版本號 | 配置需開啟的QUIC版本,例如:H3-v1。 |