QUIC協(xié)議實現(xiàn)更快速的網(wǎng)絡(luò)傳輸
QUIC是由Google提出的基于UDP構(gòu)建的安全多路并發(fā)的傳輸層協(xié)議,代表了快速UDP Internet連接。作為一個新興的協(xié)議,QUIC具有非常大的勢能與效用。它通過改進TCP協(xié)議的功能,重構(gòu)TLS(Transport Layer Security,即傳輸層安全)協(xié)議,以及吸收HTTP2的大部分特性,使其在網(wǎng)絡(luò)傳輸穩(wěn)定性、安全性、并發(fā)性和快速性等方面做了很大提升。
QUIC支持加密層和傳輸層0RTT(Round-Trip Time,即往返時延)握手即可實現(xiàn)數(shù)據(jù)發(fā)送,并且0RTT的成功率相比TLS的Session ticket要高很多。在QUIC連接里,數(shù)據(jù)可以直接發(fā)送,而不用等待服務(wù)器握手完成。
QUIC最基本的傳輸單元是Packet(信息包),加密和認證過程也是基于Packet。QUIC Stream之間又相互獨立,單個Stream的數(shù)據(jù)丟失不會影響其他的Stream.因此基于QUIC傳輸大量數(shù)據(jù)時,比如視頻,受到隊頭阻塞的影響很小。QUIC的擁塞控制實現(xiàn)了可插件形式,使用Packet Number代替TCP的sequence number,每個Packet Number都嚴格遞增。并且,QUIC在協(xié)議層面禁止Reneging,有效減少數(shù)據(jù)重傳的干擾。同時,它還提供更多的Ack塊,既能夠更加精準地計算RTT,又能夠提供更加豐富的重傳信息。
與以往TCP連接不同的是,QUIC連接是以一個64位的隨機數(shù)作為ID來標識。這樣即使IP或者端口發(fā)生變化時,只要ID不變,QUIC連接依然維持,整個網(wǎng)絡(luò)和IP切換過程,用戶和業(yè)務(wù)將毫無感知。
騰訊云負載均衡率先支持QUIC協(xié)議
早在2016年,騰訊云便對QUIC協(xié)議的特性及性能做了一個全面的測試,測試結(jié)果證明QUIC的優(yōu)勢對比HTTP也較為突出。例如,在頁面元素比較少(12個元素)的情況下,相比HTTP提升9%,相比HTTP2提升42%,相比HTTPS提升52%;在頁面元素增多的情況下,相比HTTP提升36%,相比HTTP2提升47%,相比HTTPS提升64%。
用戶接入騰訊云CLB并使用QUIC協(xié)議時將通過如下步驟:
QUIC接入架構(gòu)
- 用戶側(cè)使用的各種請求,首先接入CLB;
- 請求到達CLB后,CLB使用ID負載均衡算法將請求轉(zhuǎn)發(fā)到CLB QUIC集群;非QUIC協(xié)議,使用用戶配置的各種負載均衡算法進行轉(zhuǎn)發(fā);
- CLB針對請求進行解析,如果需要私鑰計算(比如TLS完全握手),會將部分重要參數(shù)轉(zhuǎn)發(fā)到私鑰計算集群進行高強度計算。如果需要查詢Session ID或者Server Config ID,會做一些緩存查詢。這樣能夠減少計算量,也能減少握手時間;
- CLB接下去會將QUIC/HTTP2/HTTPS協(xié)議統(tǒng)一轉(zhuǎn)換成HTTP1.1請求。由于QUIC使用的是UDP協(xié)議,HTTP1.1使用的是TCP,UDP協(xié)議的內(nèi)容經(jīng)過轉(zhuǎn)換后會使用TCP進行轉(zhuǎn)發(fā);
- 業(yè)務(wù)集群只需要處理HTTP1.1協(xié)議即可。如果是自定義的私有協(xié)議,騰訊云也支持TCP/UDP透明轉(zhuǎn)發(fā),由業(yè)務(wù)自行處理。
目前,騰訊云已在包括QQ黃鉆頁面,游戲頁面在內(nèi)的多項內(nèi)部業(yè)務(wù)中驗證了QUIC協(xié)議的性能數(shù)據(jù)。
Qzone QUIC頁面
如上圖所示,圖中紅色箭頭指向的綠色標識表示該頁面使用了QUIC協(xié)議,可以看出灰度實驗的效果也非常明顯。其中QUIC請求的首字節(jié)時間比http2平均減少326ms,性能提升約25%。此外,QUIC請求發(fā)出的時間比http2平均減少250ms,QUIC請求頁面加載完成的時間平均減少2s,由于整體頁面比較復(fù)雜,很多其它的資源加載阻塞,導(dǎo)致整體加載完成的時間約9s,性能提升比例約22%。
可以發(fā)現(xiàn),用戶在通過QUIC協(xié)議進行網(wǎng)絡(luò)操作時,即使網(wǎng)絡(luò)頁面元素較多,也將極大的提高頁面的加載進度,從而有效降低網(wǎng)絡(luò)延時帶來的用戶體驗不佳的風險。
騰訊云網(wǎng)絡(luò)產(chǎn)品中心總監(jiān)劉穎表示,騰訊云會持續(xù)探索業(yè)界先進的標準協(xié)議并提供支持和優(yōu)化,以更安全、更快速的網(wǎng)絡(luò)服務(wù)助力用戶業(yè)務(wù)在云端實現(xiàn)增值創(chuàng)新。