短視頻場景下的QUIC實踐
更新時間 2024-10-11 10:51:32
最近更新時間: 2024-10-11 10:51:32
分享文章
本文介紹QUIC協議在短視頻加速的應用實踐。
背景信息
QUIC由Google自研,2012年部署上線,2013年提交IETF,2021年5月,IETF推出標準版RFC9000。Google推出的QUIC被稱為GQUIC,IETF制定的QUIC稱為IQUIC。
QUIC的主要優勢如下:
- 握手建連更快。
- 避免隊首阻塞的多路復用。
- 支持連接遷移。
- 可插拔的擁塞控制。
- 前向糾錯(FEC)。
協議詳細介紹,詳情請見:HTTP3.0(QUIC)協議。
適用場景
- 圖片業務:可降低圖片加載時間。
- 短視頻業務:可提升視頻秒開率,并且降低弱網環境卡頓率。
- 直播業務:可提升播放穩定性,降低因網絡波動帶來的卡頓率。
如何驗證CDN已開啟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協議可以有效解決跨網、視頻卡頓問題,提升視頻用戶播放體驗。
天翼云平臺某短視頻客戶使用QUIC后,整體效果優化較為明顯,首屏優化20%,卡頓率降低5%。
注意不同客戶業務情況有所差異,使用QUIC后的提升情況各不相同,本文數據僅供參考。