近日,騰訊云頒布頒發(fā)負(fù)載均衡(CLB)率先支持QUIC(全稱是“Quick UDP Internet Connections”)協(xié)議,成為國內(nèi)首家擁抱新一代網(wǎng)絡(luò)傳輸尺度的云計(jì)算辦事商。這意味著用戶基于該協(xié)議進(jìn)行網(wǎng)絡(luò)文件傳輸時,能夠?qū)莺蛩俣却蠓嵘?5%以上,獲得更高效的網(wǎng)絡(luò)傳輸體驗(yàn)。此外,QUIC協(xié)議在切換網(wǎng)絡(luò)時連接連結(jié)的特性,可以實(shí)現(xiàn)客戶端在4G和Wifi間的無縫切換,極大提升用戶體驗(yàn)。
QUIC協(xié)議實(shí)現(xiàn)更快速的網(wǎng)絡(luò)傳輸
QUIC是由Google提出的基于UDP構(gòu)建的安適多路并發(fā)的傳輸層協(xié)議,代表了快速UDP Internet連接。作為一個新興的協(xié)議,QUIC具有非常大的勢能與效用。它通過改進(jìn)TCP協(xié)議的功能,重構(gòu)TLS(Transport Layer Security,即傳輸層安適)協(xié)議,以及吸收HTTP2的大部分特性,使其在網(wǎng)絡(luò)傳輸不變性、安適性、并發(fā)性和快速性等方面做了很大提升。
QUIC支持加密層和傳輸層0RTT(Round-Trip Time,即往返時延)握手即可實(shí)現(xiàn)數(shù)據(jù)發(fā)送,而且0RTT的成功率比擬TLS的Session ticket要高很多。在QUIC連接里,數(shù)據(jù)可以直接發(fā)送,而不消等待辦事器握手完成。
QUIC最基本的傳輸單元是Packet(信息包),加密和認(rèn)證過程也是基于Packet。QUIC Stream之間又彼此獨(dú)立,單個Stream的數(shù)據(jù)丟失不會影響其他的Stream.因此基于QUIC傳輸大量數(shù)據(jù)時,好比視頻,受到隊(duì)頭阻塞的影響很小。QUIC的擁塞控制實(shí)現(xiàn)了可插件形式,使用Packet Number代替TCP的sequence number,每個Packet Number都嚴(yán)格遞增。而且,QUIC在協(xié)議層面禁止Reneging,有效減少數(shù)據(jù)重傳的干擾。同時,它還提供更多的Ack塊,既能夠更加精準(zhǔn)地計(jì)算RTT,又能夠提供更加豐富的重傳信息。
與以往TCP連接差別的是,QUIC連接是以一個64位的隨機(jī)數(shù)作為ID來標(biāo)識。這樣即使IP或者端口發(fā)生變革時,只要ID不亂,QUIC連接依然維持,整個網(wǎng)絡(luò)和IP切換過程,用戶和業(yè)務(wù)將毫無感知。
騰訊云負(fù)載均衡率先支持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)
1. 用戶側(cè)使用的各種請求,首先接入CLB;
2. 請求到達(dá)CLB后,CLB使用ID負(fù)載均衡算法將請求轉(zhuǎn)發(fā)到CLB QUIC集群;非QUIC協(xié)議,使用用戶配置的各種負(fù)載均衡算法進(jìn)行轉(zhuǎn)發(fā);
3. CLB針對請求進(jìn)行解析,如果需要私鑰計(jì)算(好比TLS完全握手),會將部分重要參數(shù)轉(zhuǎn)發(fā)到私鑰計(jì)算集群進(jìn)行高強(qiáng)度計(jì)算。如果需要查詢Session ID或者Server Config ID,會做一些緩存查詢。這樣能夠減少計(jì)算量,也能減少握手時間;
4. 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進(jìn)行轉(zhuǎn)發(fā);
5. 業(yè)務(wù)集群只需要處理HTTP1.1協(xié)議即可。如果是自定義的私有協(xié)議,騰訊云也支持TCP/UDP透明轉(zhuǎn)發(fā),,由業(yè)務(wù)自行處理。
目前,騰訊云已在包孕QQ黃鉆頁面,游戲頁面在內(nèi)的多項(xiàng)內(nèi)部業(yè)務(wù)中驗(yàn)證了QUIC協(xié)議的性能數(shù)據(jù)。

Qzone QUIC頁面
如上圖所示,圖中紅色箭頭指向的綠色標(biāo)識體現(xiàn)該頁面使用了QUIC協(xié)議,可以看出灰度實(shí)驗(yàn)的效果也非常明顯。其中QUIC請求的首字節(jié)時間比http2平均減少326ms,性能提升約25%。此外,QUIC請求發(fā)出的時間比http2平均減少250ms,QUIC請求頁面加載完成的時間平均減少2s,由于整體頁面比較復(fù)雜,很多其它的資源加載阻塞,導(dǎo)致整體加載完成的時間約9s,性能提升比例約22%。
可以發(fā)現(xiàn),用戶在通過QUIC協(xié)議進(jìn)行網(wǎng)絡(luò)操作時,即使網(wǎng)絡(luò)頁面元素較多,也將極大的提高頁面的加載進(jìn)度,從而有效降低網(wǎng)絡(luò)延時帶來的用戶體驗(yàn)欠安的風(fēng)險。
騰訊云網(wǎng)絡(luò)產(chǎn)品中心總監(jiān)劉穎體現(xiàn),騰訊云會持續(xù)探索業(yè)界先進(jìn)的尺度協(xié)議并提供支持和優(yōu)化,以更安適、更快速的網(wǎng)絡(luò)辦事助力用戶業(yè)務(wù)在云端實(shí)現(xiàn)增值創(chuàng)新。