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