1、什么是QUIC協(xié)議
QUIC全稱:Quick UDP Internet Connections,是一種實(shí)驗(yàn)性傳輸層網(wǎng)絡(luò)協(xié)議,提供與TLS/SSL相當(dāng)?shù)陌踩裕瑫r(shí)具有更低的連接和傳輸延遲。QUIC目前的主要應(yīng)用于http協(xié)議,基于QUIC的HTTP/3協(xié)議(RFC9114),除了擁有HTTP/2的各項(xiàng)優(yōu)點(diǎn),同時(shí)由于QUIC的特性,在弱網(wǎng)環(huán)境下?lián)碛懈鼜?qiáng)大的性能優(yōu)勢(shì)。QUIC由Google自研,2012年部署上線,2013年提交IETF,2021年5月,IETF推出標(biāo)準(zhǔn)版RFC9000。
QUIC的主要優(yōu)勢(shì)如下:
1)握手建連更快
QUIC建連時(shí)間大約0~1 RTT,在兩方面做了優(yōu)化:
傳輸層使用了UDP,減少了1個(gè)RTT三次握手的延遲。
加密協(xié)議采用了TLS 協(xié)議的最新版本TLS 1.3,相對(duì)之前的TLS 1.1-1.2,3允許客戶端無(wú)需等待TLS握手完成就開(kāi)始發(fā)送應(yīng)用程序數(shù)據(jù)的操作,可以支持1 RTT和0RTT。
對(duì)于QUIC協(xié)議,客戶端第一次建連的握手協(xié)商需1-RTT,而已建連的客戶端重新建連可以使用之前協(xié)商好的緩存信息來(lái)恢復(fù)TLS連接,僅需0-RTT時(shí)間。因此QUIC建連時(shí)間大部分0-RTT、極少部分1-RTT,相比HTTPS的3-RTT的建連,具有極大的優(yōu)勢(shì)。
2)避免隊(duì)首阻塞的多路復(fù)用
QUIC同樣支持多路復(fù)用,相比HTTP/2,QUIC的流與流之間完全隔離的,互相沒(méi)有時(shí)序依賴。如果某個(gè)流出現(xiàn)丟包,不會(huì)阻塞其他流數(shù)據(jù)的傳輸和應(yīng)用層處理,所以這個(gè)方案并不會(huì)造成隊(duì)首阻塞。
3)支持連接遷移
什么是連接遷移?舉個(gè)例子,當(dāng)你用手機(jī)使用蜂窩網(wǎng)絡(luò)參加遠(yuǎn)程會(huì)議,當(dāng)你把網(wǎng)絡(luò)切換到WLAN時(shí),會(huì)議客戶端會(huì)立馬重連,視頻同時(shí)出現(xiàn)一瞬間的卡頓。這是因?yàn)椋琓CP采用四元組(包括源IP、源端口、目標(biāo)地址、目標(biāo)端口)標(biāo)識(shí)一個(gè)連接,在網(wǎng)絡(luò)切換時(shí),客戶端的IP發(fā)生變化,TCP連接被瞬間切斷然后重連。連接遷移就是當(dāng)四元組中任一值發(fā)生變化時(shí),連接依舊能保持,不中斷業(yè)務(wù)。QUIC支持連接遷移,它用一個(gè)(一般是64位隨機(jī)數(shù))ConnectionID標(biāo)識(shí)連接,這樣即使源的IP或端口發(fā)生變化,只要ConnectionID一致,連接都可以保持,不會(huì)發(fā)生切斷重連。
4)可插拔的擁塞控制
QUIC是應(yīng)用層協(xié)議,用戶可以插拔式選擇像Cubic、BBR、Reno等擁塞控制算法,也可以根據(jù)具體的場(chǎng)景定制私有算法。
5)前向糾錯(cuò)(FEC)
QUIC支持前向糾錯(cuò),弱網(wǎng)丟包環(huán)境下,動(dòng)態(tài)的增加一些FEC數(shù)據(jù)包,可以減少重傳次數(shù),提升傳輸效率。
2、QUIC協(xié)議在天翼云全站加速產(chǎn)品中的應(yīng)用
目前,天翼云全站加速產(chǎn)品已開(kāi)放使用了七層協(xié)議的QUIC,其工作原理如下圖所示,主要應(yīng)用在客戶端與全站加速平臺(tái)邊緣節(jié)點(diǎn)的交互,主要適用于弱網(wǎng)環(huán)境下的傳輸優(yōu)化。
3、適用場(chǎng)景
如果您希望在弱網(wǎng)環(huán)境下?lián)碛懈叩男阅埽绺斓氖灼痢⑹装斓膫鬏斝剩梢允褂肣UIC接入全站加速平臺(tái)。
4、全站加速產(chǎn)品支持的QUIC類型
目前,天翼云全站加速產(chǎn)品同時(shí)支持IETF QUIC和GOOGLE QUIC,以方便不同的客戶接入。
?GOOGLE QUIC支持的版本號(hào)為Q043、Q046、Q050。
?IETF QUIC支持的版本號(hào)為h3-29和h3-v1,IETF QUIC是互聯(lián)網(wǎng)標(biāo)準(zhǔn)版本,強(qiáng)烈建議您使用IETF QUIC。
5、注意事項(xiàng)
如果您使用瀏覽器接入,請(qǐng)使用支持QUIC協(xié)議的瀏覽器,如Chrome、Microsoft Edge等。
如果您使用自研App接入,則App需要自行實(shí)現(xiàn)QUIC協(xié)議棧或者集成支持QUIC協(xié)議的網(wǎng)絡(luò)庫(kù),例如:quic-go、ngtcp2、quiche、quant、kwik、aioquic、picoquic等。
-
UDP協(xié)議
+關(guān)注
關(guān)注
0文章
70瀏覽量
12774 -
WLAN技術(shù)
+關(guān)注
關(guān)注
0文章
23瀏覽量
9300 -
Quic
+關(guān)注
關(guān)注
0文章
25瀏覽量
7320 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
41000 -
TLS
+關(guān)注
關(guān)注
0文章
44瀏覽量
4278
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論