QUIC在短視頻場景下的最佳實踐
更新時間 2023-10-11 15:06:49
最近更新時間: 2023-10-11 15:06:49
分享文章
本文簡述QUIC協議在短視頻場景下的最佳實踐。
什么是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發生變化,TCP連接被瞬間切斷然后重連。連接遷移就是當四元組中任一值發生變化時,連接依舊能保持,不中斷業務。QUIC支持連接遷移,它用一個(一般是64位隨機數)ConnectionID標識連接,這樣即使源的IP或端口發生變化,只要ConnectionID一致,連接都可以保持,不會發生切斷重連。
- 可插拔的擁塞控制:QUIC是應用層協議,用戶可以插拔式選擇像Cubic、BBR、Reno等擁塞控制算法,也可以根據具體的場景定制私有算法。
- 前向糾錯(FEC):QUIC支持前向糾錯,弱網丟包環境下,動態的增加一些FEC數據包,可以減少重傳次數,提升傳輸效率。
全站加速產品支持的QUIC類型
目前,天翼云全站加速產品同時支持IETF QUIC和GOOGLE QUIC,以方便不同的客戶接入。
- GOOGLE QUIC支持的版本號為Q043、Q046、Q050。
- IETF QUIC支持的版本號為h3-29和h3-v1,IETF QUIC是互聯網標準版本,強烈建議您使用IETF QUIC。
適用場景
- 圖片業務:可降低圖片加載時間。
- 短視頻業務:可提升視頻秒開率,并且降低弱網環境卡頓率。
- 直播業務:可提升播放穩定性,降低因網絡波動帶來的卡頓率。
如何驗證已在全站加速上開啟QUIC功能
- QUIC協議暫不支持客戶自助開啟,如需使用,請通過提交工單給天翼云客服,由其人工操作開啟。
- QUIC屬于雙邊協議,需要客戶端同步支持。如您已開通QUIC功能,可以使用Chrome瀏覽器或者基于Chrome內核的瀏覽器來訪問對應網站域名,并在瀏覽器開啟開發者工具進行抓包驗證。目前較新版本的chrome瀏覽器已默認開啟QUIC。
一般情況下,Chrome瀏覽器和服務器端協商使用QUIC協議要經過如下步驟:
- 首次訪問,客戶端會先發起正常的TCP請求。
- 服務端如果支持QUIC,會通過響應頭部返回alt-svc信息告知客戶端自己支持QUIC及對應版本(如下圖),其含義是服務器在443端口開啟了QUIC,最大緩存時間是2592000秒(30天),支持的QUIC版本IQUIC。


- 下次訪問,客戶端會同時發起TCP連接和QUIC連接進行競速。
- 一旦QUIC競速連接獲勝,則后續會采用QUIC協議發送請求,如果在瀏覽器進行抓包(快捷鍵F12打開開發者工具),可在Protocol列查看其具體的協議,如下圖所示,這里顯示的h3即表示采用的是IQUIC。
注意如果沒有Protocol列,右鍵點擊Header Options,勾選Protocol列即可。


- 如遇網絡或服務器不支持QUIC,客戶端標記QUIC為broken。
- 傳輸中的QUIC請求立即用TCP進行重發。
- 5min后嘗試重試QUIC,下一次嘗試增大到10min。
- 一旦再次成功采用QUIC,會把broken標記取消。
典型客戶案例
隨著短視頻業務的飛速發展,視頻平臺更加注重視頻的播放效果,QUIC協議可以有效解決跨網、視頻卡頓問題,提升視頻用戶播放體驗。
天翼云平臺某短視頻客戶使用QUIC后,整體效果優化較為明顯,首屏優化20%,卡頓率降低5%。


注意不同客戶業務情況有所差異,使用QUIC后的提升情況各不相同,本文數據僅供參考。